The branch, scox/strace has been updated via 9e8f1a71428e1266d47d8cf4a809257c363b1933 (commit) via 2ad04d13ca374ad23978e3869604ada84f03cb94 (commit) via 45147410465dfc606c31cfa699ce713fde14f28c (commit) via 99972adf78af3e7bdbbfe0fd0f562f9a7952d2a3 (commit) via 8f531a8d1f9b9b9061368ddd89d1b7e7aafe9e38 (commit) via 31aceee86308321c2ef299e50773d0043e458e7f (commit) via 109be305bb6acf7604f95411f333549f33a673bb (commit) via f11acc5ec0b9cd35e3582b8f9eef6be5d3c59ad7 (commit) via 9e237747bd1fd7b371fed5edb91dd9baace4b2dc (commit) via bcecc11da243fe5c333f9d2d914663d09f4b868d (commit) via 8a6b075bc07f66678ed0176f895847df3ea7fcef (commit) via ddea148b3da27eb681504bf341f45abb7a74580b (commit) via f86e17aacf47c7b49ed0f6b23a481784f3946133 (commit) via bc52d49c1d0e9b5d196132efb41addaf0bddad4f (commit) via 0632eeea6eb1096fe7ddbd7f81bd74b360d1f511 (commit) via 715537181e9ba6ab371265fc4455d89533202fc5 (commit) via 2eac3da184459607a476ebb5dcebd6e0acf9fefa (commit) via 4dd4e6394509d58685daea52cc6947c45fd7ee9d (commit) via 9819647a63bfca45a879650ac23fe80f51b89edb (commit) via 58a211d2602df0a39779c84a344b1b4d12deb2d0 (commit) via b50c9f31661be05bcd73fb1158e02f606e696948 (commit) via 931d03b75aa934abc10a70f1aa3ca1192f32ed3d (commit) via fd71a3756e2dd1eae116d77dc5ec58391c4840d8 (commit) via 563c7eef61a1835973b857eaa7372ec66fc91d64 (commit) via 0aaca1d90a2f9f075852b2ea5907937cca037044 (commit) via bbae6b11eb3a3c4a4c2f589d6c2b30e3c6b97c04 (commit) via 50cab6efce0f96fb1901595dc7a516de865f9c80 (commit) via bb20ccab70b378cd3f9cdb6a4c84e2d350e2de8f (commit) via 8e6a5953e1ddb327d870b79e6ccd2fd4a92d6fde (commit) via a4749e56cacefdc1a571231744a9b87a3f5458b9 (commit) via e60f4d3bdac25f02875afe36b7436bc2dfbbb978 (commit) via 713f1b445a18af04eafbf8df6f844bed8243963f (commit) via a31abe80ea4c45b544f3ae04bc63ccaeba530e0f (commit) via 833d985d1c7f69f953a5c7ddcf2af1d001504961 (commit) via 12dfa12a3cfd4552c0cc4d7b271ab3e9c439589a (commit) via 9446bd8ad68d5e20151f3066104b575534c9ecda (commit) via 675accbdcb5b50182a10dd112b7179b5b6337191 (commit) via 470678d7c92df4c016c6b4d8dadbd5d5e86cb5ff (commit) via 814fa4f632006dace09b131021b949021dfb58bf (commit) via 3c6dd3d1c76a4a55555a2df85140ede39e8363cb (commit) via a1fb41caab99ca970a595af4fee7915019d2e9a3 (commit) via 34156b23862e9719355569182d594c7a9e38047e (commit) via e8bf1ce461df242811e49de807f85c2e7ae17b77 (commit) via d54cfd762b060ad167bd8e947e4ea212c0eb9b83 (commit) via 396ce9988361a812ec620ac392839dbb9594db62 (commit) via 285e3f99c77510344021b1252c594b28fe7971e8 (commit) via a4bcd733712abd892aa7fe0d79a3f999b461f119 (commit) via 3ba2ee38a648b7f52e77700325b26137f6332fe2 (commit) via c175004a5380168cf16b489d58c9402ff3d75039 (commit) via e2b7af7242c99e503747a43775d94beda90cb24e (commit) via 8b578f9c7626f57f5adb9e4a52f5b0d6c8f6e0a0 (commit) via 87f7ab7b84c5c423f11e8ad0ebefd69e9d08c401 (commit) via 1cc62f2e4443384e300586683aa1f8197c81cbc5 (commit) via e1c3a3737536c57e43d4ad693341717e326f4e17 (commit) via e8d8cce69b34481a27562267d94a1aff19b05518 (commit) via 33ea299c25134ce23805faa6b2b1e7fe6327f6bb (commit) via cdcda965ea4c70c80b9f8c294597e991417ff9d5 (commit) via 38642de318119d116c47eaff52ad9a7edb032c11 (commit) via 656efb5e2691b2bd29573d9985d20206c47b6927 (commit) via 92dcebf3fa5ccc1cae8fcb93eaf08ffea52957e2 (commit) via 68b9ac18cf6ae8d76828357982c106d57c695ad4 (commit) via 0b4d000cc4e8e77c823e43fb547aa5e3a7247e87 (commit) via b555fb21f98143582541e1a3bf58695037ca617b (commit) via 1443936e967d4a0a49acb8756e3f808dc3628318 (commit) via f32a4a593963d4c377fd59f4164c9df2cd6a7590 (commit) via 64f57f3d7d7b8e7bf9f57caa1389ac5ee3ecfec7 (commit) via eb77c9df9f6d2f7aa644a170280fe31ce080f887 (commit) via 664306bcceb99fbe021ceb701a7192d62234f327 (commit) via a66cf75c9cbd7ee9abfd3ca2f3a82fb32ba83387 (commit) via cd53832b008b25222ec55bf947e3700528ee0814 (commit) via b4e093995600e8f482c10467379f9395b4871ca2 (commit) via c1230d1bab8e36e1aa40f3bbadcef9b5d9ddc041 (commit) via 4d5d104997da3b7beaaf7920caee40dcff8a78d9 (commit) via fd332753fa7050bb9d7c89147e32d285099fe402 (commit) via 9c3adfb9a409a240bb4cf087f0adeb8b1472f67a (commit) via 80e24d09860dbeba7d435b4a4f0990f85dbc084e (commit) via 6a0b3457ee0c51fcc0708b630cc3cdd66226e9a6 (commit) via 6cf3675653e477ae0755195171a6a256a2aa8ac0 (commit) via 431f22cc098a118a862412c1bac1a8aa1bc6ceb7 (commit) via 7f53228719a0111e41c66da6c9c3b2ed1fd2aab9 (commit) via 30a7953dbfe3659c7bdc5b9b4c96f46903cb0254 (commit) via 727a29badd95a68d08b86fec0b98702ce756c660 (commit) via 5c87f94bb85e5b8e715aa7f947ecc602960f20ee (commit) via 55d5520ae35a2b0ce788bd6d43dd619043e887f7 (commit) via 8d1015a887c18c363d9bd707b13348daf4e5f556 (commit) via c2e863866d9b206c387d8fdc0f1bfa9f246e4355 (commit) via 98a17ece013cb94cd602496b9efb92b8816b3953 (commit) via cad26cec079bf79d078bb92ecc6b7cf1df2e5845 (commit) via a3d7226832e5750211ec300c5929dc0f035a3661 (commit) via 8fc91c409847f0d4e3e4cdac8161158fafd78636 (commit) via b0d99ba9e9c7d7967b53e271e683b7563b710dae (commit) via 9da2bd6ac9b1c15f6ba4f6e87fc8571aee8efa18 (commit) via cd948f5b2be612b784591dbe438dc518f6b80d61 (commit) via b50a8b9a916ea2fe1379bcd8f122feef8129a0e9 (commit) via 36033ef57cd048588f9a3d5523712147066421f2 (commit) via b3279b601e67ce47263082ef86cfc86e25607c5e (commit) via e418a61a67a3476826259163383e5deb661042cc (commit) via 29be4d9dee1263b36e33421dd8ea69b9b7308391 (commit) via 974e68446388769f023c6c9bfb1e67ed75199618 (commit) via c8ee3f04a66141d5fa930cd77bc53ac0bc17de32 (commit) via 82b5e646c22b25862debc68a30d44957a9e5e3d3 (commit) via e0a7911fa24e838e3e11481903dbe9c3970306d0 (commit) via d321477b39b44f2b55834ceae7911563d9f5db15 (commit) via 12615cba8411c845b33b98cc616439c66a34f03a (commit) via 0d4cad90ca7c4394a1799efaa79c784f84a18161 (commit) via 6951e9f3e219cb6867beccb48dde39530e48d582 (commit) via 4c39bc03545798694b4ed2a5cd5caedd7ce3cc50 (commit) via fd2b4de5e63ad5994baf9c57b5d0c49d1f1dd4e4 (commit) via d7ded98f4cf9891cf04fe6af5c90b6af6709dff8 (commit) via 77c6f5fcdae65da0428ff75fa81059f1b5271cf0 (commit) via 8a61382623e271fe2df0fe8f7558ea545db8b561 (commit) via 8d619c01db64c533df3ffc706b694f293347f0d8 (commit) via 81ab84fd6cdaab121988e0c424f8cdc0ae472e14 (commit) via 232bfb8644f0a083969d8359a37bc23764642611 (commit) via f2cf6173f33bbb562881c571bfecd129fe94b158 (commit) via 7ca18ed6d22398dd3009ba72d3a1e7747e40753d (commit) via 93b4691f0fe1f8249de3c3f9d2e271cb0ba3254e (commit) via 71733a7bf696fd54b1c75a2c9c16fd61819c0ddb (commit) via 3d907528ca584b522125ce4ac818f45dfe7a9a24 (commit) via 500f01a0e2f79d64cc08011ad70c6ffa1e1c7694 (commit) via 7ed29001c4a965520f6a243ec7ad41c156f96a20 (commit) via 5c849b222b154cd5f481fee9d6f3971bd2eeddc2 (commit) via afde3032dde478a2bbb2e0c4b0cb4256b27eb949 (commit) via b971899198607b844f5a37e39dc561766c3b331a (commit) via 0b0eff8b1d8b4fe51ad3a14f60816f98bc0e963a (commit) via e8138a6b782685a5b5b262b793cea90ebaec1d37 (commit) via b69e1ff3507b3ba841f59dcf9bb121fcdd78044e (commit) via ac732bc9fd501d1e9288b6087848cc3ecabafe0c (commit) via bfcc0eba9e66f3793feecc059f80e97d03dbdbef (commit) via b352ceb6b4fc9f026944d307704076d1e6894de9 (commit) via 50db9ef4c014d28dd64b2d660b043a40224a1a27 (commit) via ee67fd7f3f6ca78eede2862e309c0bcf266bbd7e (commit) via 0a640d719684f25bdb88ae60148c6978e6131701 (commit) via 0e139b87870258ce666826efd14fafd543c778d0 (commit) via fe1a5cad302b5535030cdf62895e79512713d738 (commit) via 8c246a60c08d82066b16973bcd622e671300eb02 (commit) via a76dc3b7705c5c85efc00521ebfac49e80c3fedf (commit) via 4df46df7a4643c0f6f93a2739c4b7bc0e83bcdce (commit) via 20784627bfe0a33e954f8af786eb3a518ace5dff (commit) via bea556ab08927862bc2e052d3b93f1d82055d37e (commit) via 35ed81d4f45855b98ea0c517b396662c3ae2a8c5 (commit) via 79b8d3b090bcbfbcffa8bdd195476c6db172273b (commit) via f47998d69f8d290564c022b010e63d5886a1fd7d (commit) via 51d21d60b37f1e1a0aa6fd1f5439b22591fa6d5f (commit) via 88f5cc8cf8606478832c7d0d7b74755f3f625015 (commit) via 0a163825df5e98ad55de13eb3d3534d875943047 (commit) via 6d0f8100c1a3053c967bec716e34b65dd054cc39 (commit) via f19c7ff839d7a32ebb48482ae7d318fb46ca823d (commit) via 2849d19feb458ade67cdcc6a82f0e7b1be99b46b (commit) via 405b61965ff7608840cfda36083c1be1f926ccdb (commit) via 420ecd9ce8a3d61f950bf24d8d7b8827d09f59db (commit) via 45a0eaf77022963d639d6d19871dbab7b79703fc (commit) via 102def4da826b3d9e169741421e5e67e8731909a (commit) via ab419ddbb2cdd17ca83618990f2cacf904ce1d61 (commit) via 8e3152af14a91df65af8e922a0e8e77c60ed99ba (commit) via 5a77b1b49f49cc5cfdb30727d8fc1bf456cad429 (commit) via 0dbfcfffe9abbc5198bce95eb8c66b6bc9b364be (commit) via ba37fe2e8b13194a1ef216f4224d7521e748e1cf (commit) via 3399f1b3030c3419859f1230bc66a981154d176d (commit) via 270b9329b713fdc166f95dfa3a0a2f72f3a49608 (commit) via 192c2bfbd7a6d4b2069f6b94b020d274a483c198 (commit) via 1f38083f425e03faf55595414daf291306738222 (commit) via e1748c54a200f45d6e88c232ca97171be23ba0b0 (commit) via 38cf168be5816b098cc05abffc482fc905db86a2 (commit) via f6efe3f842e72e23ec6d8a57d683ce90d2e89785 (commit) via 925047fed0d6ab86e6fe86d3e22e1aa9dde7b3eb (commit) via df80d00c5f4da112b6803ce472c1396c0c4a342b (commit) via b8265d61940e9e61db1c7d48c9981b50670d81a2 (commit) via 4051d2d65a73f02cfd2baebf8803fe2880dbd76c (commit) via d6677607c2e96c28178467894fa3fe9ba6db7c27 (commit) via 1a088a2e2628409832326254ce1c42ccf671e847 (commit) via e4c2619ad1f31cf73d275b027e8c0cf9c6e9597a (commit) via ac85e67c053f1555def2c111962f4e68740794f9 (commit) via 91ae256e33f7c068443d877fe3e2b2ffd91cf60b (commit) via fe19e45ff30986ed0751332b2128c0737efd2838 (commit) via 7806cea72329a354c36ed8b2177d03f9d5e2673f (commit) via 84371624ada07e6f107ee14c48a609466055fe0d (commit) via 22ad8107d35d833db000e5a5050c0f53af7af51f (commit) via bacb77d0188ff37bacdbb211edd7e2419406b864 (commit) via 74b3c713184abb8e07f92c4e069ebafde78c0a0e (commit) via 0667c506823489f2fab1938d3fc8ee27f8a7c651 (commit) via ba543ca5afafed5bda2db52e8f424f20ff605173 (commit) via b04480b11925aff2a1d2fbca30908801fd46c7f3 (commit) via 2c6ac8d7ce6e018168c17b11d978b25dba721554 (commit) via 2bc69f2588c0beef39a56f057f61f6a063ed4405 (commit) via 1f1ae3a34faf8217bd253fa12b4d0abaaa42c2d2 (commit) via 0b347048e7e33070212a408dc2371075ee60b556 (commit) via 33d64ca5db656f1f377de18f94403d8b3b91e3a1 (commit) via 08acaf5caf47225ff94dc5e64ce8edce6664615a (commit) via 94c18618a8e29894a7b3104375e0510d71a568fb (commit) via f63085d15f05eb296744ba634edfc68ca806e578 (commit) via 812cd6eb0502fa87b6e1d3e751ac2e9239680cf4 (commit) via 841ef605eed1e91c1ef450e6931216644999f04d (commit) via 89eb3c547018af6a41ce9b3614cc2ab9a679168b (commit) via 6f3b1098e820cef84709ef71c287c4b72e6c671b (commit) via d500b4f23fc329f5c8cce6ee8fa3629c0f130038 (commit) via 4de5434b694fc260d02610e8e7fec21b2923600a (commit) via c69f6b80965608480be970c3c42f9da1b08a3ef0 (commit) via c4b90788516fd431c86c22deac5001d6c4648227 (commit) via 66e6f0b760c2480e4ebdac8169adcee1fc31f689 (commit) via 48dcd4ea064ae86364dacbf4dd7f035fba56151c (commit) via 8df73d5cc3a87101f3bd254f33820fcce61bc971 (commit) via feceaa596ebd1da9d8315c8ce74e45df4384da15 (commit) via 08ea4a7805705668c2c4c63b858b6641d052f7e7 (commit) via 63a33118e05a84fbae40cbe3ef955b52bad359a7 (commit) via d53eec4ef86cf85841ceaec7db99753827f2beee (commit) via 640be958cd6bdc339211f29851e69a297033e172 (commit) via 0e0dd7f1e8b64efff9a981d0421ffeaeff70cd20 (commit) via 933e62b1c17b1cf396f8bf8e17a066d03226533e (commit) via bf2dd8d7cf4114b8a60dbb83b340f76b9b2474d1 (commit) via dc86962bf15e7b8dfdcebc17d83b9b48be0bd9cb (commit) via cf8d3709ebe8895591cb3bd5c8f79bdaef9f194a (commit) via 0930cb3021b8078b34cf216e79eb8608d017864f (commit) via 2bf2bf23da5237f465fdbb759657aeb7825a08a3 (commit) via 8bca297856b2e54ac093674554f6abd82e7ce6b0 (commit) via 032c98ec5206ac120374aa9d990c1d58bee976a4 (commit) via f9c49bffe616013ba97f679afd3446a8c87d80a7 (commit) via fe4ba873246386204af4da6bcadd8c01bb7f86c7 (commit) via d4330bde6891c74498cea8866ce9992181798861 (commit) via de564eb5cc8c67fc38f9910937935eef5ebc17d8 (commit) via fbe61a3661b083a666e6550b3b0c2de364e6d4a6 (commit) via a9597defaf39e2277c4c5ff510e708f226f54fbc (commit) via 30653a8a7da3e7b7d3b17b0bd8ffe7c6d40b7193 (commit) via 8ecfd7bd4acd69213c06fac6de9af38299123547 (commit) via 33b031ce7a9b8b1b7c729518af965b7cb70a1cd6 (commit) via 2cb2ba9a5b7fe39f30604650efa64cff05cb72e4 (commit) via 673fe0f0a7a0624819f1b4cdc289f43691567e91 (commit) via 43f6cd0588a735c202934789d67b6ed4302f255d (commit) via 8ab159a96565be6e60f8d88ba3a4638116f7e9d3 (commit) via daff3a48c17625ade8b57cf770fc77b4c1815df2 (commit) via 163cffefafb1d427ab46603d98bbfc45e813c9a0 (commit) via eff98030f90d3dab4c7d133ab0b0cb02d1921543 (commit) via 104fefeebb544b7745bb353b63110afa46119647 (commit) via a97330e723cf3c639a951329ac5fe2797528249b (commit) via ff6054520cc86ac2f34c21bcc2e44ede50b56cdc (commit) via af4bcb4ce6939da1738c847a06789d2223b67ca4 (commit) via 3fd229a447cd28a70bfd921f617bc6c3553b8fdd (commit) via 2ac435d46608be7ef90f80aaf9ff48443aea571e (commit) via 68dfbb92ef5f013a315d652c88ede2082c16a88e (commit) via 13c60ad7e1211ee1dfbf6bfb5e35110a33e4eed5 (commit) via 70d561813cd4da84109395c36662a187411a4d97 (commit) via 58bbcd02dee8ba018b97706c068ed8ed7afac15d (commit) via 04fd5eed91c0a960e1706fb627912ad6350ae391 (commit) via 1c2649ed7481881cb963bb53251a79bfb8b1047e (commit) via 35dc7e6b77c6d379dda8072e9f0b88a24c008d06 (commit) via a0c3048e3f397a595a14208e82e21399131f782b (commit) via a51bb70c8a1570f2e6fa74432578bcdf7f2785aa (commit) via 74792ff782431ec6113b9a8a8e85b95f46094c7f (commit) via ed65e20bc7cd18406081cf5ba29f9c9bccd4e52f (commit) via 498f740792fe0edd2955c5cee6bb864f60a5b173 (commit) via 9f6b697b0efd4ba4e2cb21ac17d2b18a23f81abd (commit) via 780f601cf3bfd2eb141c2ea32b673b5bd0956a33 (commit) via 80f3ac5d61a5d01d7cf951de0e24ecdc71c545cb (commit) via f3e660db14a0a95f3953496d8beb7c58ef34c6d5 (commit) via 64029e93683a266c38d19789e780f3748bd6a188 (commit) via 7358942661ccb0ea1e819fd2f5d47914cebf0aa2 (commit) via 5d695627883b32cf33adb529c8fc7271b46dcf55 (commit) via 1b9e270b09c140464a7892c95c28eafa812c6b08 (commit) via e0c3dfa2eebcf862d45b05f363a81f57ca30dead (commit) via 00bee008e9f7d0b3adf3278962450944653787f8 (commit) via c258c396faa626a4c7929a5ec97ee9b294073c5e (commit) via 25cbdcbbc5d2d4ca834790b1d370fe5159b560de (commit) via 9e1698c6186a3239479058d2abe195a384d5ee6e (commit) via de3e5eca9908ef76b53a091c356be4855dcfd1e1 (commit) via add5ded5e476918ef8b05823801531de2f51fa9c (commit) via 51e78fc5fa21870d415c52f90b93e3c6ad57be46 (commit) via f9e48344d54f45368a5e449fb2ccca70a723cd3a (commit) via a8a5dbcab8df0b3a9e04745d4fe8d64740acb323 (commit) via 2a8be20359dba9cc684fd3ffa222d985399f3b18 (commit) via 2fb009bbd1d65a837e5032e744ba30b49c7f472a (commit) via 9e9b8787e962890a5df7ca109e40e87697610cb0 (commit) via 7a9569281a63e472750e3b7b481e2cdf5c931ed8 (commit) via e04caa70901ed44eb9537ccdbd286fe9b0a46ce2 (commit) via ce3a1736b59a05128049459fcd6c91c221f40257 (commit) via a4e78aa5fed5ba2cc343c76b78d062291a6fb659 (commit) via f8740dc531c006311ee9f7287180550fe46a94ab (commit) via d1c86cff1ecdd1027bd224d38f2161196e9955fa (commit) via dad0c3bfb5e32ff3f2a03830dc189fe207c7ae00 (commit) via 7fadb25d6faf2665305016ceb4aeaeeb86015569 (commit) via 23f233a595dc7d8b9a6ababe7c4527f743c0cec1 (commit) via 96643e35c077ed36c74b231ceefa4c30b3b02e28 (commit) via d951f98b3c8bf202571327d8679ae30ca1da9fdc (commit) via b8c888478d517a39d8b0104857d573e47620a3d1 (commit) via ef789dc484a35159ad825c98c4a2502f2097aed7 (commit) via 3fba72f7612c071f07fc7e65887bd1e8e056e272 (commit) via 795afcbbb4b6c9a47597b9da57221b1bf9fdc88f (commit) via da4ae14a4d1614015f6e8d4a37df1b882806630a (commit) via b926417afaea99ed17663e06d6654d0048536017 (commit) via 1f88d0c87c37d3a15fa6376335e8b0d1c79d85aa (commit) via 1f041c6edf49a896b99db253066fce427a7d2264 (commit) via 07f5f4c683879e844d20d0d4963bbaf1b7cd47b9 (commit) via c8e98e3692cec125b92c995d8f881d9bdf1fac00 (commit) via f2c1801f6255a3f9f483ae2f07c7d7da0ddae4af (commit) via 1c4f3780f7d939402cfe555007ebff45c8e38951 (commit) via 4677effd9e320d9f09337ef17bf0dc0377a9e8ce (commit) via 5c4481cc9bf9dfec3c35aaf5d95b08542ab8970b (commit) via 96b1ad866b1c861f772c5a11b556766c73c3d1ab (commit) via d2f7dcb218cc281288a5c3ea800a186c68f9d2ae (commit) via 3e1b4df89cfa5171c52245d79434774f4b570ae1 (commit) via 5ca8c39f059b30991b7090e7a662e4eb35d11133 (commit) via e79497a160f38368688107520d7d1bd0aeafc1c7 (commit) via 3453e7e409f44a79ac6695589836edb8a49bfb08 (commit) via 6afcf761c2d8ffcb04ede75d1e670042e196bc5b (commit) via 22068491adac735905948fd4c2e9aaacf9e22e06 (commit) via 9fdd7193e7fd041e9ff311a69dc02aecef53070f (commit) via 3f2cf4dcd578d60fcdbbc28e720badffe8c15661 (commit) via b35334aa98b75e4e166d30d673fd3bf1238dc7b7 (commit) via fef1b2933d911476c52418ae7c207d94e13ebb97 (commit) via 4f9bdf7fa52ba0d520647d0b69fe94e523fabf56 (commit) via dca0df07ae4ab31c51a40edeb3e5cda7587f9beb (commit) via 6d0a6093c5fe82eb4c2b67d3d10fa44eeb0bc98b (commit) via 875e539851bb2702f3292f819e220545a8776242 (commit) via a4cf95167c83c0b8c9dcd55f475a3b028eb883fc (commit) via 8634679f82df75cf482b0c0814c2b3865da91d22 (commit) via f35d5adea1cee8ce9141ad85a7e59d008c2e4d42 (commit) via 1dffa580e7e083a43216fd7cbcadd72c760cf29d (commit) via 5e70ee0905a848701bb929a66f84ff2e212cfa81 (commit) via 4dd1b46077b2ae7331f274f7888733de5166445c (commit) via 20562150d8a894bc91657c843ee88c508188e32e (commit) via d359392f976d48b04a27e6a09b5b61846b0727f9 (commit) via 0101665f864383147448c5871a67286a3f7a9a28 (commit) via ad69edbb4b230582ecd1863e68d0c2044f5ad901 (commit) via 780942fc2422d80a49b748e484890f11db31f49e (commit) via 10657c047e4e0257440c80fda5f4e23a3452616c (commit) via fb9bbfd7f2d39a1d4850fcf0f63ef1f077f55e4b (commit) via 34c0fc000f5202dc8f5feeb35d682913ee508230 (commit) via 1887ae7304dced5b081ee200a9e27fbb8f180143 (commit) via 23e463ed7c0d289e2291aaefd576bf02efd98df8 (commit) via e66cfcef729d758a5e605d57600530ad9b1bb9c3 (commit) via bde90be2cddc06371ee80a258bf6855d0f346324 (commit) via 4f5d2536289c0aedc3234f1bff6e9f4284f267c5 (commit) via a68f4cd235a36776d3d9fea7291163b8d8e35869 (commit) via 755b748fd9fbee8cad2e55535d23298e8ac76b15 (commit) via 1d4823943d92e7fccb0616f885c029d9952cfb0e (commit) via 7e84b55d8f973b011f55f604a76c2d1d989d0b6b (commit) via eae424aef0b14e1765602088ac866b95d14d4a22 (commit) via ca98345e0b3fda08ae79e4cb07632eab84ef6ef2 (commit) via c8d3f93237d77f76d14e09e44bc770ce9428b0e4 (commit) via 527b9e87ac1915aec4c26f96951c3b49a145bc88 (commit) via 8e90d6d2c2f84abf25efc669e10efa3ae29b1039 (commit) via 007d2fe43e27fa38a0bc1e22c5f5fb4ee945830d (commit) via 2398abf8bca3563ddab4bd41c710af8027fe2919 (commit) via 53c30c89d160e83ba3870693a9b32363c6811ede (commit) via 64a336ac134ebd7f9452a7088e90e29551465251 (commit) via c1168a2f66553cd4730931cf59e3be8378a1a03f (commit) via eb528ad18b276117cb1016edbb12419819786366 (commit) via 3d5b1c0abe2c80ee454ad3057de8317579fd7c26 (commit) via a0389de085c9caca66ec53bcf7faf830cbf24b89 (commit) via ff34e6ae3867a5686b53ce3b69584c1c3b553d7d (commit) via 6bb8890e2ccf2b1ae7860fcb6fe4579c4aa9ebf6 (commit) via 05c71722fc5d9407d712b58b80eaf469ffbc406f (commit) via c74e7cb96ffc525b0218cd329c292aacb16f94f8 (commit) via 714e9a954a2e4123dcb26bb8da850e1344de4f5f (commit) via 0411fca5ec2a6adb96ed768f70ed468435d778ea (commit) via ab16fcd743b8fc963e736f7d00e3c2f039ce0d56 (commit) via 2936af90155cf7f7647b4886dc5b9568d15ca298 (commit) via c834917fda58d9e4cd72b67f7793e2f429ccce57 (commit) via 854b8506815f7786b3c82f7824557e7f32a64ac5 (commit) via 12b164e9a96f75ffd030d04a7633dfbb64862806 (commit) via 7c619dbdae11bead6f85863b7ce25f8b8610c59d (commit) via 358ffcf28cf6e7c23311e91869ada4c480527d93 (commit) via 43b7e92b0c73d693d3b656b84b2a1181e40477ca (commit) via 3795e814428a269a3528d3d9a86da957449fc5b6 (commit) via 4176f14d9c9e509425bffc01404c751e238b1f01 (commit) via a95746f91769c0f65e9393ff83aad0871d1a666b (commit) via 224d30d393654ff0689429505a3e725cdad1cca5 (commit) via 15ec67475f486077ccb45d80c46416bf4949e053 (commit) via dd2037827180f69e7e312a2080affcbb03c98d70 (commit) via 105cd1d7a6a7e6c5dce2e2eb32cdbfacc221a5d0 (commit) via c82a2e6ff60596266e7c1a419f8e81cb7a0ae2b3 (commit) via 7f0bd4202c239b44b22645b9ae31fc0eeade1da3 (commit) via 6424bdfcfc3af751531b927ad3549916d98d8763 (commit) via 79c1bf3c71fcf5d453733ee45321e3fbc57b04b2 (commit) via f37bc8b13c898fa39731c20d8565b24e006c13a8 (commit) via 2283a21049cdefb87cdd0f11df367266e3e029d1 (commit) via f67ffa6a785bee26bc23550670f85c6db578641f (commit) via 5f9aecea0dfd9e8b0a728c332e8ddb105bae6054 (commit) via fec3f4ea46c3f27206df97f379da3b70d4306cf2 (commit) via 9fc3183f0f8ab8ec85f0e5f65bae9e18ddf545a0 (commit) via 115d0c14437a07c686e58d8c0bf30755fb379c68 (commit) via ca60b3af44a74d2f430870ffbabc8ce158721dc4 (commit) via d354055e6ee0b2640006e1b9f900eb0e91a6883c (commit) via 853924149dfc2a3b67fda0a491dc5716d7322a74 (commit) via 896ee09882933a707d2adef76aaa184249e8de05 (commit) via 57dbb3afed804c8e0c350563339f5f3de2ded910 (commit) via 7504c64dd98ef6c85b15599a0d267a5179b70f50 (commit) via 5ef237932919a19fe85f70fc37f7d3a0660b7665 (commit) via 3d6e0c015aa832f00ccd4fe3f5f43b90357258e8 (commit) via 49b036f1e0616b57294d85b06d3eb001b34f9958 (commit) via e95bc8bb1dd5c7f55b3abf0fb1ee73c0c6b5596e (commit) via 28fc25e06b449be061ceacf868e9040b14464aa3 (commit) via a05f27b68934c2ea3efa028a0af2cd968db1bd2d (commit) via 551703cfd409faca433626a0af077a43011381b7 (commit) via db72737006fc383cb8838bf7f3dc8e641e60c38f (commit) via b5a9bfbebec0a42d3c5b4fe3b7a62bd31cecc440 (commit) via ae778caf097e08497f2e9218cf68b254b8da38f1 (commit) via 2b4ad2fe4300489fd40dbe07e1675ff1cf0bee58 (commit) via fd3ba736db19d4c7cd928f3735329339a8c8ef47 (commit) via 39a24317ac65837663ce1e1b0adcf880758ddc8e (commit) via f5769a2c696affc3ae1274e2329777d7d4d7e8be (commit) via 1c1e54f6b4b6de83aa3f31e6584f5bb4d6242930 (commit) via fb4fa9469c5f5d87a956d45ed3b36fecc1fc31b9 (commit) via e6b5f1e9f5aace67505b4eff43570c82b56139b9 (commit) via 6031ac352c05c5c9f44e24fa1c5a8222a7a7d02d (commit) via 65773341ee5ad9e2882fcb1aed7c3096e6b4f190 (commit) via 1db88d2272a776200db950c2af46e64e98ef056b (commit) via a44294f5ed9fe09fdfc9427f6f83677843590524 (commit) via 0c0a40e0abb9f1a584330a1911ad06b3686e5361 (commit) via 948f29603949cca8ccf581e0a09c08576d52c7b2 (commit) via fa0bb0c9f598d524305b889e0625781bb9fc9179 (commit) via dfc616fa26e8ee363a6dbf748dd9490896679412 (commit) via f24ff6e9b5adc7983c3ad7cf28375eb49921b3ed (commit) via a767a1c4d3c7c5dd2f32cc106a21c1e01eddebcc (commit) via 4daf19021fef36767e70845608a8a2c3b4d72f99 (commit) via 0192e8aeeb1f54ba10318d1b5a838749e20d233b (commit) via b8426d169d3f8ab820f3bdaf45fbc64f8bb827ed (commit) via 95475e5d6b7529309ca804fdc2c2e04d654c3978 (commit) via be9a9af90654c29c2e90375a64b4d18ef75c56a0 (commit) via c6a1c98cbc7cea017f030b3fb9c3f9581ee4ec33 (commit) via 3def145413e9707c985fa9c1dfda0682be750e55 (commit) via dbfcd05365abb8c919517df8b6d718bb85b0aefe (commit) via c475f569191cc0257bf0959c3475ca08644125b1 (commit) via ddb77fcccbbff14d6426d01357942e88d240dfbe (commit) via 17f6ade235fc96b4e572b5251b344d426c5f1cd5 (commit) via a466edac5f9913e3373e59335607e9666a0ac8c7 (commit) via fa9d2bd6b819ce143c149cee83456fa9dfe729b4 (commit) via 16de26a611b78bd353af5b86ce67ace81ec1bfec (commit) via 53b6d6f5b2d8681cc4a061e05fe28ef896900908 (commit) via ed3162adc45291b3de496be25911ebfd39f43a36 (commit) via fbaf61ad525eb2818598b699d44df32e46583925 (commit) via cf93e9c2cf8f8b2566f8fc86e961592b51b5980d (commit) via 4206c05ea1542c413a4a361c29cbbd206861946c (commit) via 3d282ac37064ec0105d3aa3f379f7fb8af98759c (commit) via 8c93fae61550ee343ad15e98a6636c56bcb0dc9d (commit) via 8674be792462bc4469b04723484c63ab4c7ad895 (commit) via 30838132997e6a3cfe3ec11c58b32b22f6f6b102 (commit) via 4ee9b0c53a8055b869dfe424846bc00eb0cd0c8f (commit) via 343a4a21eba7383a023140c33a5763ae1d547fc2 (commit) via 79b32f4a3a109321cb9a99014293b0ade57535ab (commit) via 07147793e678dac92f6a16f140678f9a5aed21e7 (commit) via 23be8da7396ffc4d5492d976e244daaa543eaac9 (commit) via 7307a73aed246eaccec9277b11e045f974322796 (commit) via 13db92d3f48cbd6784f50bbd0ce10220e0d48ee4 (commit) via 7e00df65a4e3e281604acab2450812a5fb275743 (commit) via 7f0cfc6eb8bbead5c9a1ff3a8dec11d93304f5ad (commit) via aa654ee8f830ca0d4d31bad0ff18b9e6261267fd (commit) via 3d50f1706348142d0ad64cd9fad044e68951655e (commit) via b567ca638c274e27969975403b885973af9ccae6 (commit) via 48219c6a06091b873f39c64c5df12ba7ec37a2e0 (commit) via 73f1bd769a5216b3debc1025faa62a466c5a1e68 (commit) via 8b11311136c0acb5c4d3fbc9c1c92f259feb6beb (commit) via 7e69672e4dfa532607e4ecef99623680264a87b3 (commit) via 57c2a98a4c7e5ad4e62c876eb5cebe9d17a51ad0 (commit) via e98ee8c458f3a8405eb93e71b00f801b4bbe3635 (commit) via 725e299974632e529be8b9c004a72118240da9f1 (commit) via 2afffa7f629da4c07510014098294d1fd141f5c7 (commit) via 9f235e09e4d3dc6820e2d667200fe09b3e73b623 (commit) via 5031d0ae0b9fb1a42eb8ff9d2b5098a56774cee1 (commit) via b4c0d1a440d054cd198041ddf0ba43b83794186f (commit) via 7a6d2b458f95030f433a0dcdabd5cda7ee695a9b (commit) via 40f03055a23b7d77e18e14264046d8e21b6abf67 (commit) via c9e0a7e333107ad140d9e15110f8820115921555 (commit) via 8ff71a9c80cfcf64c54d4ae938c644b1b1ea19fb (commit) via 3ff2c72e14b7f4381c785ee35608c2812ef8610e (commit) via af81c43b51e17c597c8eb5bfaa02fa7f5f6dbe72 (commit) via 206c1947c1cb8e4ac6abb8e6803c762200167cde (commit) via aff4a1199121481fdecbd34c63dca5ef87efe6c6 (commit) via 6eb5dbce1e29e74a3ed1661fa8634d455e41f34a (commit) via 62b1765c90ddce54c04a97caac86425d50f2cc56 (commit) via ae292b3afc0fce65c12014d2cc4621d7a0e661fd (commit) via da658607ed24bc5a4dcfcfb56b6e1440ccab33d2 (commit) via d35da542a7a7f62b909cef636f69c9da928e7d9b (commit) via 4e2b18982ade10897e62590896a1dec496269877 (commit) via 461464f22632163209937ba5128d1f9f32554ea3 (commit) via 04e2a1829ea137ac23ac96e98fd60f9d720dcdcb (commit) via d5f787c2bc90793c1d781b7291758e77067daad5 (commit) via 03751133023c5623cf60f8d3222cb79a376331f9 (commit) via ec6f095abc396e60f46e1b4724d0eb2e4d18213d (commit) via d839b9149957d9a8842c368caf97ef378d8c97af (commit) via e6cd1dc1e6c0d081382ee21c156b205204efc75b (commit) via c12d9fa2afe7abcbe407a00e15719e1a1350c2a7 (commit) via a4b9568c7ee95891de6f5ba846f2d1aaf61569cd (commit) via 0b1352e04caa6b562a532354dc48f775e6a1135b (commit) via 8c9604b6a2c553bc1edc6d80b934b99112292e58 (commit) via 6fa52824c316091c2beb22fceed9ba96d17f37c4 (commit) via 8588b356927dabd582d1d67f87a161027cb2aed1 (commit) via a0a8a9340dc79116297627a0884c6a01543e4b34 (commit) via e6213e09ed0ef6ee40d00981c38baac6964aa95b (commit) via cb5248409d7a5a10748c2aa70824ecddf2f913d5 (commit) via 2d844eaf9c60832756cff80af67e16969c0e11fc (commit) via c7c4d3fa80d2fef74fd4bd6b1e22c0399b19455f (commit) via ee841dd8fee73c355587533027aecc8983bd5478 (commit) via 117f580a97f721465d62d0630594dafdcd89e4e8 (commit) via dd848631cb96f7d25270faeee4c9736577230a29 (commit) via 1a3389079dd5c93419846f44d42027a526ce19cf (commit) via 4a137fec2e1a8a6372da8fca1040ee582c62f78d (commit) via 8ff03f0bfbf0dc7d125f6ea0b844636c0aba74f6 (commit) via a1cd91dc2f4e369983fab631f18e96f5e46119bc (commit) via e08ef628a7e3098699ec6939584e2c9f7a9e1952 (commit) via 43276309ded887327f434374b37572d1bc0778eb (commit) via 57d5aa265f50b8c8c1ebbe4e67285aa9f5a53369 (commit) via 19f1fffecd5359a9858151154d3de848f20a5990 (commit) via e6d9d9285574ba3e157a29bd40cf6ab4bbaeeaf0 (commit) via 808325d203f629208ed1988c8a90321c470ebcff (commit) via 94c8b7253a5e165ee92f7302f3247764d69b55e5 (commit) via db1337cc8300bb44f8ccf9dced3e122b6e50b4c9 (commit) via 0a9db5ad8a6c49cec7adb7e3ef29c558fcfbf11b (commit) via 3c7aa30778a1615d88c13508c04138ef2499112d (commit) via 8743a9cdd20055e02a20c24c37b5312e3e626691 (commit) via 752312ba4e53fea8e77ae240a35a7b508c6ca619 (commit) via 65e65158c50dd7e7a5fbc9dcdad9da6df31e01c4 (commit) via f4bab6ff22a0ddb799c1c492117a15fe0501ff1e (commit) via db4cc66567397498a9e9eaedb8d0bb8889744ef7 (commit) via 6e809f2dfa65fff42e3ab20e0d7490454288bbcc (commit) via cbaaa0cafcac0630c6f07f81663a1b10a4e197a0 (commit) via 3c3741435f315fba956bbace8c4991215e283510 (commit) via 8ffb70eb57f527817840ff33982c085b0bec86bc (commit) via 99bcaeaf0ff692348194ed6f30162c3a0cfb9655 (commit) via 4abd8e8de725118c4b01cf71556ffcb4367344f8 (commit) via e643ed088a085f35b724413140846f739413a78a (commit) via b47b60aad847ba86b7fa7cd77e18ee8af7418f09 (commit) via e8d88459e6f60c13c83c3b640ccc495402e36eaf (commit) via 04ade4bc669b28b3994197d154cb392515c758d4 (commit) via a3a6aef4090ca13d065d116f5d77f4e3f7bcbf9a (commit) via f70e088ff4ebf79a4bea45e84a8b042706e6e083 (commit) via 6c414b69235baf00bd8846cef4d31d8b42436c16 (commit) via 2fabdf3381dfc4bc89f6339c3db3e4bfe7ca8b14 (commit) via 982d0151e9ada98e2b5577f9af797b396e48f815 (commit) via 47275900adcda29161e2853179c1fbde4da4c86a (commit) via 98e10ffadbeb42c5adef14c1d5dd4093d57d57a1 (commit) via 6057dc97e4df5ca9692ddd948798eaa543c74cc7 (commit) via a000f8817b32eadd4aeadf9185634350a59e6649 (commit) via 606cc04085a08f5e04eda6ef67f516bf81b691a1 (commit) via 6865c0435a54e6d5f1fcc5cdcd56895e9a3c5484 (commit) via 70df6fc9bc9e114f46532dbe58caa98e495b119c (commit) via d20dee9efad3c23c9098f03ac785037572258483 (commit) via 5074ad8a66ab2e955cf3ae4dba5773d5aa67b29b (commit) via b4b08fa2aa25f245c77921ad2405c15d30e421ed (commit) via fe75f42ee15944a0d14d3d42b242676fc2417352 (commit) via 87b240d48512fa30aab8b5963914a9093009fd68 (commit) via 1fcd7e871c38ac1049dd5d5509ea1f11a456bf16 (commit) via a4cd947aca23d58966ead843e120f4c19db01030 (commit) via 556059dd13a8a9a30b23eacbefbe7b85e74ce7b7 (commit) via bf326452537c11deece2aabe16b6b9d62388a2d9 (commit) via ca5f750004aa313131b15e648d4b862cbc4ba18c (commit) via 2361b0fb1d99e9c0b97f4c1f42f89f862d757128 (commit) via 7d2215128b84d9dec4a264021427343d895fdc6d (commit) via 97e67fc62045723db7af6d323ce9c428666ab6f5 (commit) via 803c08d083556154cd4d27368e58b359e9de8b93 (commit) via 5b4cbbe357aaf6462a68e1a15c9532dd3d01e06d (commit) via db68fbe2f946cb36359c8672548fde198f812c4e (commit) via 74d3fbbb3e35129526392718b63df41be3b0e88b (commit) via 0ae1a3211adcb8e7518b0b656b2309ebbc45e9ae (commit) via a40bf0c2e93daac4ae4ce7dd1c43ab6135e76720 (commit) via 4a3fe98f885a2d1db804584e7ea265ab3ccef4d7 (commit) via 098b2108a2b61531c0bc8ea16854f773083a95d7 (commit) via 80ca5f98b86c9b209f392cb52dde8b8471856c5a (commit) via 319dbdfbb78d82470498704bca21729e057464f2 (commit) via 1256af7d1afb123c15ae3935de4470becdf7c512 (commit) via 508d0c9b5945d30bcf163b9b88213d277949e9a8 (commit) via 5be12fc1ad9e47e82bd8902ad6a1f71946c58805 (commit) via 41d1ab6a6d96937fd0db04e53746f93f53687807 (commit) via 79f0fa25b95fd82122ee76d61fded661cc3ece87 (commit) via 57f6375ec10415fc26bbfaf4fdc19effb313a06d (commit) via 2589a7e59bdd0c3f9647bf79e5d0ab107216f976 (commit) via a760eb41aac52948ac28f4a47563565396a7c37a (commit) via e90426589d7c783b7e458162baaac1431fc33bd5 (commit) via 9caa306f8020d5c9bfa84b88f4922f60763ea77a (commit) via fb6ce599e05d86784e357c3d387c8785dc16a07f (commit) via 6a8da8866974e139642b4bb41d7c252d509fd2a0 (commit) via c7f279191fd49f9e4e302cb65268e6df595f2761 (commit) via 0f407ee9f45d704dfed7207f2e2122cfa197ff70 (commit) via 2fbbbee5e78e590ecee718e8da4f229fb59fe9c5 (commit) via 2b02b9a2abfc773ad3cce49ecc36c37a1a84bcc9 (commit) via 963c68aa4af4bf9448aa1d2ee03fc13cc88da0f5 (commit) via 64e025c3a16d05c640d20192ac32728b05ee0415 (commit) via 47603f888def989f5dcb370f84420cf0484d53e2 (commit) via 0001cfd00ce30c5a06c938eb0fb203451870ef85 (commit) via be4b452e28df8a18cbb7f3af929512722b003ba1 (commit) via d09a13943b71ac9b2212e93fa578925bb025f1f3 (commit) via 07599e13ac3a65c5dfb692bf9891758463949cfc (commit) via 1ee3e48715c188bab4db68476b54161535839d6a (commit) via a5f580e51a77f278b66e87d7d1784225aae51cbf (commit) via 49d5d12d0e5b80afc376c6bb9be4976efb53425c (commit) via f5eb1d70fb8ed38290413acae2617fe899a1663c (commit) via dbbc8b7e629fa666affd9a3f475d0bf6e5264677 (commit) via efb192033ad82855bcfab207f8494e8b1f3e243b (commit) via 64c49ab3fb5eea7ba382cf7b0955795ae15e06e5 (commit) via 07d5e9534b11ea9df17eb9d01799000a10c7567f (commit) via d276ec695e8954330e922807d6886b8212d6323b (commit) via 031e33500e82fb8ef525595ea684473774dfc669 (commit) via 4cb3152d95f08b054e5b74f0cc5c8dff019b3a8a (commit) via f117a62c5debd8a46fb4f76eba784d433d1bb875 (commit) via 88f22c34d0f39ee4aca87940bff2cbf47e64b9d7 (commit) via 4aa8e6c2387e796649279c2190cd499b579d028c (commit) via 3c025cfe5efc44eb4dfb03b53dca28e75096dd1e (commit) via 3e68067fb2d59ea93ea95d713a6c27b635332912 (commit) via c221b2f7708017593d572cf90560dc305bc3bf51 (commit) via ed84881fcfd45edfee0d3f9e9af0d3eb3bafe362 (commit) via d6be54ef73eacaaf5bf28bafc7dfebc80ebac832 (commit) via de1ec836c8cc4eeb68e3e4eb8223eeff9840546e (commit) via 6f1107b59311300cb44379022f19af42db98b1e4 (commit) via c0934311c7d1275cfab63df6472c860b9a746621 (commit) via e2fc52e745757a11f7a4a256984cabbe5474f55a (commit) via 5e8754f90abbbf832987477eea4ee91a9d2f694c (commit) via 8ec235834d454a66a89fe16bc62e11497eb79078 (commit) via 1f5d1570c0eaadbb72d450211f70b24c4c23ac8e (commit) via d91e9ea81dce83259f2a7f32f43876373f3e7981 (commit) via cc330e39bc938cefd4cfc581639177ef4c6bcbe3 (commit) via b9c50e9a9ac48662b2132583c52d46976efb3512 (commit) via 736ade86ea3dd3df31120b6c617d64c88bcc86c1 (commit) via 2963898f38dab323a9e381d7c41a26b9c3498882 (commit) via 849cba3b83f8b808521ef5b1aaa8fb33c04bd9fa (commit) via 27a9fec6aa2637715a4631f79fb46372a37f868a (commit) via 9da10427ddcfae7313c462f729407e0c7c59e2d8 (commit) via 0d2a583976a87221d11c2639ede8f764e0c26059 (commit) via 05c6bdc1a935243d19eb9dc3799321c96b660d68 (commit) via e7b5068cc22f1a5707a9fd0310234b8d7300f227 (commit) via fb5af5e335202bc94c292c83eaa328633cd5d924 (commit) via 521b499b963562793e5dbbcc1df8357cdf2757a7 (commit) via 4a5a194ae8a871a781d4cdc73c7ba3ae7deafbaa (commit) via f5a476a7b19f43dce8d15ae3e5deb7027f71ab7b (commit) via a154931ef1ef1c588c0e7da5e5fd4658c5dd28f5 (commit) via 60c0454d3dda99635d331f6002f3f04fe34546a7 (commit) via 088a96da059ce14fe1dff369873b1dcf7151e29a (commit) via 22eb9e92ea9b5fd1ed83cfc093d7da6d18643149 (commit) via 23c4651c060c123493de004ef61d8ed052d46113 (commit) via f9853190c8d90e9f7d43fae90478a0db291f9c03 (commit) via 78f8307c93755eb581c20ba049f1b092f161d513 (commit) via a5c5eda7e412aa7f3cb843cd48b3b4c0101718a0 (commit) via 1aac008f1c2f0a239b7ba26efe9d6b68044cddf8 (commit) via 332cf4c9251a31f0addc2ce2970c9a8bb0c16f96 (commit) via 0653638f9f0efdb1561db8e2faff2580e09658af (commit) via 424da6cf3b30b889ff577b1babd09777148dc0e0 (commit) via 95f39a5b2755e5aaaceb6248e585f8a593542331 (commit) via 16b9eb7bfa56f060d183aa44165bf75cb3c414d8 (commit) via d8ce91275e421dfe57aa4e79bb9a58824c155e96 (commit) via 0d81f350ec01630ef7cd9ae4385a1dc504c54d73 (commit) via 57aff202b4b17a05d73e71680a26fe12a817f110 (commit) via fb44b1a737ee7d53d5d88c4f2a3d449e8084d6c2 (commit) via 2a62dfa93f1980fd8d5b0651753c550942fa30b6 (commit) via d1908f2d6b9f161b6a31449e83e1b671acb99620 (commit) via 9da4dfd6816fa2198bd80fd6a7b12fef4d6c8361 (commit) via b8c876004b48a05bd1117731e3c60e1f13093b5f (commit) via 96b6697fd807428f3832bdab1527ad55156e88d7 (commit) via 7235dd9f9092d719121a635f73ae2c72102f0263 (commit) via 739ab2e92e1840c9285f3cfce1f1236c0fa68730 (commit) via d82b3862f1218134f5301ed990c6db48fcb82b2f (commit) via cc5a5ae5b7ea576bb8bf4bbebeaa70366851eacd (commit) via 137be54029ed2d2fc95120bba2af88311e5a198a (commit) via deee88e9810fe5a3e73b071713ff6fa03b5c016d (commit) via f1628857d783fee0171f16f1bad0b7816460dec5 (commit) via af39b1c216ffb11e6ca8e8607b00749e0fc1ab41 (commit) via 4f075c06a3adbccdc2712c3e24afc7d4814149c7 (commit) via 081bca4d622143b229cf02a1dda4afb9b457eefa (commit) via e4a62c65fa8fe6a48b6ff564f45c1ac535f10f14 (commit) via 2b69821e70c7f648fa31f5d5110021a156158432 (commit) via 5e627001a08badbcbc890400cf620eab5534ff52 (commit) via e920c014ecd9fbb630c76576d2771aa4631d93f7 (commit) via 8410d65b77164d020a45cc9aa17a0147dc76862d (commit) via fcc9b044b7f563023633a9964810e76f4cde40d4 (commit) via d53d543682d9add652a82d267681cf6426aded42 (commit) via 8dc9fd87b0965f24e21922f295c4af9c3f624985 (commit) via 3322c5d9a102f9af099bd87cc65a1e2a70f91c78 (commit) via ba2bf2aaba97866f4c9c67239666916caa7bb150 (commit) via dd083ee23d23903e8bc595b64aa8ea62379491cd (commit) via 618a8fdba6fc86a6ed88df257bf5f44d85e9071b (commit) via 6c9d681b07e32d07f7ca0774360be62bbf065b82 (commit) via 70f95c89a14485b148251a126ba0de48e412b327 (commit) via 8744470deabb6a2fae35be0f66c60ee4ba094c1d (commit) via 78a3b0fab8200fdca2b1b934645c29e7bd502d36 (commit) via 23e60e7a4ea772eabb6ae4788913e228763755cf (commit) via 20a4d0bd98969ddbfead7288e6027639dcbd9a21 (commit) via b6f00d89c7f960d427c908be30379086e079b4eb (commit) via 2542e49e21e6b7270f72c7be0fc4ff1a986371da (commit) via 0d9a433be406220413671495a9b0fab577a48b5e (commit) via ec8da87a225ae9f86cf47765bcc56d6afa30d835 (commit) via 23a29771e0a435fe7fb3df00ae2feefb38557f44 (commit) via 5c889512f325e0447a6182f70cfa7e1d9e407167 (commit) via b986869b6605e45044626c5b3111390ac4e70b82 (commit) via d431d6279bdcd475feb921a3aa8ecf0cf3ffc6a6 (commit) via be192bc284b329fa0b38646bd3df9a02b880a704 (commit) via c8c81635739435a31860ff5f1e49743d80321f43 (commit) via aef9346c25b0a0c665bce793c00797f5ab82ed37 (commit) via 0c8885885ab1d62971bbae22d4b5e335c31b19c9 (commit) via 7ea65f08fa1b8279b65133a958de02fe84767eb9 (commit) via 7eb65fafed7b50511f52664e98e22b20eb697197 (commit) via 6e1453f681aeec2ef6e3d4fb42f10df9da2a8cd2 (commit) via 4d1c6335455aeeda9de8a5eb58998f919ea35a1e (commit) via dab999b116b507ad431c70fab0a28074dfea29df (commit) via 3d58e1fcfbedad71be7e539dfa2045ab2768f013 (commit) via 4a9699735b04d4629bd3dc418c265e7f0bc1f9ce (commit) via f891966ff66639673a5207b94bd68ec928fb68bc (commit) via 4bb3c591b258d12dd0f743e538b7214cbb92ebf7 (commit) via e9d644e8fb2e7fa2f61e4b978f75881d906e0dbc (commit) via 9a8d6a757d29ad8c80dc7640ac902d722b1b473f (commit) via 5e8a54c6c4c753b6bbd447c74f5df8707bb0a06c (commit) via 2550e95256ed7bbb1a4579ec4bd379417ad59b23 (commit) via 0f60cce3e191b9e72e7577a0da73ecc5e9ba353b (commit) via 6c0d3bdec7f1728a064a916145c6d79058e6e3d7 (commit) via b4a3a7b44c98a9f78a27bd34d0d98741a0446e23 (commit) via 0cb8eedc9173b873db7a8990fb780d9fdeb1f41e (commit) via 40bac49b63b2f391eb702e1fc18229472c0deab7 (commit) via 43135d3b15ce10a786704f9bb4736d834d6581a8 (commit) via a869991180094d4cbeb0bd2f275fc7b30e513fb7 (commit) via ff3a05b3f87093e5ac2bcd5e510bca4bebf1bef2 (commit) via 0b3f9efc044d2971aa0d9bb39a4c76678bc4ea6d (commit) via c67f2e1518a829c4ae4f346c316701ef5d56a30f (commit) via a0dc02a6df86011462293cc11b4e35c0f18effd0 (commit) via 385e5b9039d12d3c2ab25023e827ee9a681c1aad (commit) via fdad7678b74a170ead1ef967007be087435715f7 (commit) via 4c971803c4fb225b029420f812229941beabd42e (commit) via 450629c8d5a968844271bb02b13d159f6a69ceb1 (commit) via 078a020797210f4d8f9491bbfe16ec31e9efb652 (commit) via fcaad03cc027ec2cdf7f2cff70d792867d43c57f (commit) via 7e41c8db84bc6f74843dda40ae443d41977c0d20 (commit) via 63e8c3daad1eae11cef5b6d1833507d9d4d6b0c0 (commit) via 4dedf84da98ca7dcb9fc80895044d09b5787c1f0 (commit) via c2a031c5822b4256f116254def47b9887c230e68 (commit) via 3553eadc8cb5f087ea0fb72ebdd1c52264304e0b (commit) via 7243d0118af6f72e3e72db1eb66941fec4530963 (commit) via 2a90824133f9d46970c9c52b68ef2ccbeb6389ac (commit) via f6c4e3e8a3af94fbecce2a38d3fccc0980616c6d (commit) via 73c13fe69a4275433544533a610275861346ef44 (commit) via df28970fcc741fa744a51aece29bb755c20eceab (commit) via 4d3928d7e0a141e0fb16405d33b375cbe2f13123 (commit) via 7a6dbc2fdb2323c35e981f93236f323e9d7c0b24 (commit) via b0f492b90f3d13da8ac80437e6ecb9a87db4a75b (commit) via 2362e7f76adb395df19c867cd27c75f77a0ade6f (commit) via 9108bc33b1ca0b2e930c0cce5b1a0394e33e86be (commit) via bd782c07b914f28fd927cec42eacd8adcf556dca (commit) via ac8cb70f3690b4eace1325c7ff918dce9073da7c (commit) via a693765e23934996abbe4e44c4ba28eabdece4f9 (commit) via bdc6c06e3b08ec48ec5ee2174dedc846969c36fd (commit) via 716c08de28589a5560b3337f1b935ed84a49b5e5 (commit) via 36eb4c5f9bbe675a4522a763652f463e5519a955 (commit) via 4f4aedebed5397ba285c2abcd13fa0206d8af291 (commit) via 0e745c601150523093323c3fc77835604221a634 (commit) via ea92689a179c8c03af2ae46989339336d1dd48cd (commit) via bc672693ccec6ef2faa057726b06e9515339bb74 (commit) via 160fc977b6f33e5ef51f6c1f3cdcb57965c522c8 (commit) via ad202fcc2277f351d41d4d4e897ad4f6d7c9f043 (commit) via ead9aa39bfc80007336bc96c6374df7f79341485 (commit) via 999700cd99a227bd6848e95cdc99117b2185e84c (commit) via 5fe3f3e4633df1ea76ff24a2732d7c73dc983b90 (commit) via 858d8004b05b572c07a414ae3933299976880bab (commit) via 5445ebae0e94658741668188e91f430a798b1fa4 (commit) via 416a69af890a34e58c722ae2e6fe218438fcf3b7 (commit) via 9d24df82ece4e87a0328173d6bd31cb9ff558bb4 (commit) via 626887ddc306b336e1406cf661f23398bed8be66 (commit) via 90c745dc545408a6a3115ff97485672826649ade (commit) via 3bf9c013e4a7b72aaa7e242e163a776ad7347c26 (commit) via 65b3d26e7d53ea03eb99791dd324d56c599f4c99 (commit) via d3d8724aac2f207467b1004b1424fed0446b6f8a (commit) via 1885053bcb12dd05a6f129146cf514e966082c27 (commit) via b4f183d23ec5f99765f0d6c64c1e3139e1d54093 (commit) via 8406672eca8d008dc0324198ec2f653a16fb9d21 (commit) via ec40cf90a02ebe3e2636ffa92245677e18233917 (commit) via 7bc02706c3e23b58e1a74ca47fada84fc68699c7 (commit) via 70ab8ccd4f382a6c7e59c523c22b07fe03a95f52 (commit) via 896a7aa6a119ce9d4872de87dabb81176489b1a3 (commit) via dd33d41d54654093fb5e0ac7a6edd0c6a8c998dd (commit) via 2cd0bfe0549d796b210bee0f4e80c326815cfad0 (commit) via c645cda49e2b5fcf35773089d1ae16d6fc3481c6 (commit) via 39e7af3e4b4e6c9f39d8d58cae73a2d307e6e1a1 (commit) via 3d9c8f6b3f033a6092425b7344647fb51dbed5c6 (commit) via ed60adf0a31db8ebc95edd09088465470a296671 (commit) via bbbbbceebc342d583057a11d88bae85f451cd904 (commit) via 7a815dd566f3dd32435ac73aa0a0cc948d525e06 (commit) via bbf6c6b8ca19efd7b0c9bf789bbafc1262a27517 (commit) via d98fc15be2b8dd5699c1852db7d9d979231123dc (commit) via da3c873831707454d45cee6705075b27a1732f09 (commit) via 3da65cd27e9b36ab205ce7820ce566534272da22 (commit) via a9eafb08b3f3dd4cd59757f0b99b44e896d620f1 (commit) via aa7bca9b2e30cf128966631382731369f7b753d8 (commit) via 772758ac42a5717d2c2043cc36aa6600c2bfc120 (commit) via 4575aaa96412f01f6158057aa602312360c5b6e4 (commit) via 450d1e88e32ef433f25959358521c953050f0037 (commit) via 9644dc3a478d9ae85f1ca327ab3fa5ac0ce9fe64 (commit) via 59adbf5d03f5d9380f9870e22262c59f5f9beec8 (commit) via 2b1ffcfd6fe5b88d50b6ad1c2ab3e9623ede5e35 (commit) via e94802301b37de0e75e9329a96b0e70d38e5ead9 (commit) via fc811edd39fcdf6e52c95ebd2d975debee700223 (commit) via 2d5f09ec45f81a9c89a98c4629662d812774dfd0 (commit) via 26457a9cf3c0ae49a3a2d0d0d0f25e2658b5f0d4 (commit) via bfb218e3e404a6168888df51c03827eacde9ceea (commit) via b0ceb98aec8e1ab610deea9fee9ee75c5911bbc0 (commit) via 12a0d0f66172b9504e29000fa4f4e5c34109d6db (commit) via 2cd65cb935bcf1511c7e7bb77ce7bd46234300db (commit) via f53ad3cf2b2dc34114a9b74439da5a418ac40e3d (commit) via 14732552e70bcb0c85093c404a7091627eea4e38 (commit) via 7dd36a6f1ca92cd4ca4776064c604cda7755bc44 (commit) via 44c2eb66808a928b8101f1b880f3482312cbcc1e (commit) via 38cf70ca4d7adaad7ef085ce34e24e1e0bbee945 (commit) via 334d4ced42d3d54a70a19f1323ff41c5a5f4ff5e (commit) via d0abeec8d45514fbec790f27e3cadceb576df9b5 (commit) via d3f467568f08dc18e6ed871c58a71f15cc0323f1 (commit) via d1012b8e33aaebe988aaf0723d26ddef9e155dbf (commit) via 17658d46e48ad4a7f6fb850422639b06c9d963aa (commit) via 4e2aa472847923f94b99f138d7fc4c77796f8239 (commit) via 9eef0608951ba0e551dd6dd079ce1e20bae11f6b (commit) via ae739fe7b8cffac2332666d62ad37cab679a7758 (commit) via 467dc1e2ea5a8b300b61194aa8565829ce7d65bc (commit) via 6d52907e226ade45d5f5196eaed8386affda5156 (commit) via 6f4286c4f7193606fd6200e46b152ff0934f9cc2 (commit) via 3da64fe404031c093e8b59565d935fed214e28c1 (commit) via d000b7630e07e808098cbf079c9cdf6c891e6e5e (commit) via 9758a8f84b245f42cfa85be7a65b0728eabca491 (commit) via 1461bdac5c1034467d7095b6d109689e02d03987 (commit) via ebf983a4447174210bcf40e1df4f2a7533b2c99f (commit) via 86b9fea102b36b9147d581f2fff3f495e9dd7601 (commit) via e8a648884df318b3c6be170ecdc9c42f79e56bd0 (commit) via ac1e2e51c0927676dc87f0e090c6d8e4c42f297e (commit) via 4e57b456393946cb4f90131b78e162cdec903c8a (commit) via 4895f384b47628c8c354dccbb0bfab45b8c33984 (commit) via ae19acf3201ee0b921cde8e70e278fe123e82105 (commit) via c8455dc98666030e930cddd8178b1b4074749b04 (commit) via 6efa941c381b603fbf9d0f951eff87bcb805fa94 (commit) via a4497d2f8486502ab5140ec5168d5f13ec375155 (commit) via 06d743b72334ad4f9297c206290a47c261aa8e5f (commit) via 66b09c7ea97ffa4e0a175393fa7a8f240b00fbde (commit) via 9dcbfff1e02778bac6fb723640724c38001a8f0a (commit) via 9cf7e5687f823a1009d25cb25ff653ee8372e517 (commit) via 46807bf45106af5523ad06cf84e7b825dcb9f089 (commit) via 706704c88344314646e4edcc0840cb18a9cb4c82 (commit) via 487096bf0bd5499b1d23ecbe5fd64f9f0079c0b5 (commit) via 08a8fe2ffd9766877a74a52922b4391d37e85491 (commit) via fe22d84fe472a5a1f19c56cf0f888c86a635dee7 (commit) via c44deb735ef492f8799cbb35c5f2566fc2dba19d (commit) via 865dcc8a4d397e4d9d032785e8ff318e28355d76 (commit) via d203b41ac79b011d63bc1e2467f9c8a81f468eed (commit) via ba1c4c6fee7e8794481412fd8604462f04b2765f (commit) via 8ca28cdfbec3efd7dab10f13919dc0b1cf778ded (commit) via be2d111a878e1422c921226bc7714131a5c470fa (commit) via d604f19adeb96f96213f4825e56053fac50723c6 (commit) via 7d140d1a0be24da37c9103ed6cac98b0017829d9 (commit) via ae3a7c47e6a95d69a09838c11f9fd3c9cbb25cb6 (commit) via a6b786da4e3353bf634ec7d9c7bffbd7569e73c6 (commit) via f41078422a4381d4943f36aa1ef95b1d7c85ee7e (commit) via 7ba3ba91a3dbc43f7ff16c4899f7f1cbef056db0 (commit) via 2e72a56e451cf26fb01712d6004d3b6a70749756 (commit) via 506b86a4f5fe2aff90e62940a07c9e275d406cd4 (commit) via 503c367dc237e6fec46d0b8ccf3e74f7406b3260 (commit) via 89fbedf3abc90b62fbb7f08782ed78d87b3fccaa (commit) via 12582533306990c9406aedd960fa411c317a67de (commit) via bfb1e8c15a6b7d02cd0b9a124d01722a07ebf09a (commit) via 2ecae92e2372102ac0fa774fce4c4c0d6f8c85f5 (commit) via c1854f1d5a8fb5d86c7ac6d118348759cfa8c393 (commit) via 2cdcc33021214e77c2c185aa78ad4f9ae1b9e565 (commit) via 3b7b80752fdb3544b5d822f477dc5a9863959393 (commit) via 495143533ad95369811391c6e3c6dadd69d7dd67 (commit) via 07aff30e92ead6c6d662462efc6ebdf83c6b8de3 (commit) via 1bc60e562458b1e1c25be808a62adb1cb6c20ff0 (commit) via 26fb3983d7062c6f6bc43028ae2074cc29d22c7e (commit) via 67943c005fafa4397535766787b4fbda338ac07d (commit) via 2a50366ded329bfb39d387253450c9d5302c3503 (commit) via 08887f4a644fb31fd04faa4208c523dbf9b4f93b (commit) via a97b53dda99526d7c2890aeb9637008790cbdfa9 (commit) via 98641896ad52915448c0dd1ab4b4bbe23148a582 (commit) via 0c76e06d5cc83a42ec05a377c3b3c211c8e85151 (commit) via b7fd65b9dc0a9f132fba362493ec21dadc2994d7 (commit) via a616bb94509c22c96ae8bf1432ec28a7f3e31778 (commit) via facbd8bd3d6d51c907494a269dc13a2a0a75bc4e (commit) via 988daa317c01a610b5298bbcd80be8642ee66094 (commit) via 8e92e6d4b214ea9e0169cb25f3716c912f828e9e (commit) via d871f3f48388d57721d8077e281041ed16a745cf (commit) via ab9e342807d132182892de1be1a92d6e91a5c1da (commit) via 1dc9e2d63e37839ff1768346b2e3f52e338baba5 (commit) via 7cf9ebc6958462c3ef1372071d1ced5dae7bef3c (commit) via ae1f3b64e5818eed2354aa43740d4324ca18efcf (commit) via a9925d4f9982ad897bc85f98076e5924e70232b1 (commit) via 48e30f5238c70e738f44474d595c476ef4e4ec38 (commit) via ad3a68e9b9b01fbdc09854fb7fd655db652c482f (commit) via 0cfbf43085c4191f3f4b4b4a834f1e19bf42d4a9 (commit) via 946d3d10e7609e074be30db8662cb9c4a3d8961d (commit) via 9cdfd9a26ef63ef2fee58c0e7475b5373b61e5d1 (commit) via 18cdc6d8f8e8b55e84783e0a2b5a80b41a0e917b (commit) via b7dc48b4a8006abb552c5e7d22f9841c86f2537d (commit) via 6f36b6d29fdff5be77ec6dfdac693d5e4b5dee50 (commit) via bd923e510884a92514a4f9d90d79592d248d5d92 (commit) via d7f449c026181e14162a67407842462e4bc0d8bd (commit) via 19449d7c67690c641b1ec9c13ff3531677a5afcc (commit) via 9c973a29df61c411e24ce51b13401333c6f6e0e7 (commit) via 11459a79d97842a64961a35472bb8d67ed0fcf22 (commit) via dbd534fee4a3d6479e4a84f0cd79bd188d94f4d0 (commit) via db850b68654e26232a1fbd8c182ce0b4dfc52a23 (commit) via 52a187f8e78eeaefa38bdaff04aae1fd9a69d788 (commit) via 3c77f97eb0825f5808f4a3a01aa5cc2fcffd5ed4 (commit) via 90ad36544c2fe5ecc423d99058116514d9fe718b (commit) via aff4e1751ffeae9684b80d5f528ee07bac34a5f8 (commit) via 06ab921988f5dfd64630a0b92d05dd94792e0a08 (commit) via 83c8d318d1aefecf3cc43015226c10bf4126df87 (commit) via 3a53fb12c870d67537c883b9abd80d6a4ba408ff (commit) via 7c5c05effd92cc5732bee527303077fc2e6b62af (commit) via 5ff2bbae198cbd615885f26aa7d065b8cec8c278 (commit) via e5bbcd0f04911d671d0c43d57df9886c06018705 (commit) via 57285adece935b4c827d02eae10c6ae6d60c92fc (commit) via 6404ab993797d1d6cd3d9e97cc281e3cb6226c12 (commit) via f40f4a11d12025d18be2b0f9072f6ddcc94d3cdb (commit) via fdbac7d8d1c9403a857db6e0c1dc92ce7bb65925 (commit) via 83202f7ae849e538c04656923312d0eab32f6cea (commit) via 5c720ed8861b461193a507e61e3665b1cc840055 (commit) via 411baa470ef354e50b488c0c736ac7af8d856ded (commit) via f384a1f025084a4a6370d7ada6dc7198ad3454e4 (commit) via f7309df20c4e787041cedc4a6aced89c15259e54 (commit) via 9d4a934ce604afea155c39f06834cdbc47e92a6e (commit) via ff36536c9273734af6f84832b583c10f44c5010e (commit) via f6f9ed015ea683ee2b00591aa31a4cacedb7a810 (commit) via a9fc784bacd65a47c0d524c4a048453d1d32d765 (commit) via 045cf012860ed0fd6c01892505cab747ee27a21d (commit) via 09ce46f230fee766c386384cd1f5672d12fde276 (commit) via b825f3a90e33ab6f333d12d676d51419f8fed77b (commit) via 9c61296405d4299b7000e445a6e07c0232bb0342 (commit) via 7d11235d04ded4832430cd40013ca785a3896e4d (commit) via 87d6a7aa931f2bd4cfe784344b6a2cd595f6f2c9 (commit) via 8a99096f31142d7a58962066c801a35b4c5c8bfa (commit) via 5c831bb1eb6b22cd1705b98188b7d1b0633e7c54 (commit) via 4485a1c1d8d2b4a20fca2e2b7d1aabcff383b222 (commit) via 528e15722bf67d126e17218708c0314bcfadbf6a (commit) via 96d68bd48c77fa44e517c3380ee8f224cbce00e5 (commit) via df136d64fa2fd23052d7a5fcb7059c29d8e6385d (commit) via e81b4c933c1b88e29f4b27627dd9ea0bf9189944 (commit) via 99f8774ccaca5b1bfa4a035c6c705bc7ef47e75f (commit) via 8f9ea98bebb629f0e6993be015f042bf45dcdd18 (commit) via 71f6efc44e1bc525313f62dc6e30b4706fc644d3 (commit) via 877877f5d5a7484601d79ad965d8e41af7c4596b (commit) via 3a12c78d1491c4877928e7294c8cdbe8171dfeed (commit) via a7f25a84f4cc1df5248c46346337f19a2a66af5a (commit) via dc1f2887c513c4c2110d2d997ab33ce36b9696fc (commit) via 296956befef3711ed458c7cba8041fde0dab9c50 (commit) via a04b9d62a234923826e431a209d396a628661548 (commit) via 4277c4b87addb5354cc47b98d7a73e44cfaf22c2 (commit) via 3df3a985a475db004706d64f83d9085f99053611 (commit) via aa6f3694ce867884e43d1c0406c64df08ea24bd3 (commit) via 05abfc39c719e740530000059bb963ad33462479 (commit) via 02d7a79e1b93240729a52246432d9a84583bcf82 (commit) via 5a6996172e6294ea37054b1a9caa3a923a8fe399 (commit) via 63741043bde141c20f0a08dada84ed7bdf333d99 (commit) via 6af0448446f9212df4dc62e7618174d5d3f5e43e (commit) via 2fd43d7870803bf0713f76118cc0fcb89407e873 (commit) via db1e1b45b417dc3e7d37f401828afa18328d8508 (commit) via b6523c37fb52fc38da6e152328341caffd793749 (commit) via 821a26825bdcb96358a51f5c2140475951429470 (commit) via 5bd18990b01406ff41dc44d92db1c34018b61923 (commit) via 953473375500a809fbb3eca3efa4dbb670c3a32f (commit) via e968fc9b638e48a89e9a96804896c88a400e9be1 (commit) via b01474366f651f3ea3eed4038e1e0b37588d243d (commit) via 99c2d522f7a7259947aa84c1b385a7c8147fa46c (commit) via 05d0e962f08af24f18cc79b890a68176b42bcb78 (commit) via 3f6ff4799bc50e6030bb707b2b2b525fcfdd2216 (commit) via 1a6204c9a73d10fe65c0b0b54d542cf73d156a56 (commit) via 3fbbcf473a59df74a0b5d9ee343169f778fbd054 (commit) via 5e7f20ca9a7abc3fa8e053643eaa422dc9fbf3a4 (commit) via 39aac631baa1c5c540d16e45b64c2813a14f95b0 (commit) via 425699f52d8fb875c2197b202b9e05bdc09d0115 (commit) via 4aae6e5abddb84e1225cfd696b8fd2c6832f9fb6 (commit) via 2688aab226c6d8871af4cf53ea5651e06f104744 (commit) via dbf8be89edf7b6443fa0b7d31ca6d6ad202fadae (commit) via c48dadc9a87f4fc3408987fc4dbd312bed50da9c (commit) via 3ed12f02a20a487ce46b463746c52c2905e16c03 (commit) via 13755f406d6615e0750213edb04a023ec2ba7b9b (commit) via 3e1d3d8c2494c021718ba957e83395958ee08a0f (commit) via 1584354913285389063622a39f845851f332eb9a (commit) via b5bddbbbbcece5d52115bd3e1299cec2a3b362f0 (commit) via 8094f49a4dd9679c294e6254e928ea75c229aa95 (commit) via 8a28fa1b4beb3b4c77c9b3963f1e32235591470d (commit) via d0042c6ed311694e791ecea8c132b3f01278b7ee (commit) via 36a900f483789dc2ec4bfd31386e29b52fd2e019 (commit) via 09a8cc152be1b6ad2e309ac2d61caa5a4a1c3a54 (commit) via c198a1ecf835c5896ef810ebe1ded06729039dcd (commit) via e256144888a28eae9326f86cd95282b807aa2f6a (commit) via e30985fa2b495a6b932e1376f287cb51252572d7 (commit) via 3cf2b6691cef024f7cdb48aaec5fab5189e1cffa (commit) via c25179e71fee952ace322ce26b3fe6b722ec77f9 (commit) via 4a9f7d653c089fdd8ca66a51caab7c9687f50cd1 (commit) via f03fb29221a00c294e14850f1fa1af343cded926 (commit) via 103da91bc083f94769e3758175a96d06cef1f8fe (commit) via 50320b1d4a1dd06db70aeea485e0ffd9871548e0 (commit) via a67ae9b01af7eb2b1f8e5c517338a4b12167ce40 (commit) via 1aa4214141d30f99f941266a3bedbc332d674c04 (commit) via cb86a42aba5b6e1c135433e1c0c26223fd0f7a7f (commit) via 33633d9f5b138a211405d482436db2f7661b190e (commit) via 07cc045019bf655b84692465232e9f0faf7d868f (commit) via 11cfdeb3863c5ddf8e773147e6cf5a14de15aee8 (commit) via f61cfa0740987a13a1e14242b3039caba73e901e (commit) via 5abe0f0cc79a753b80bde28d9c0c7fec9bff3c10 (commit) via 472fa5eec2cc521ad5ea37091ea2424ea46552ae (commit) via 1c28969efcca7c214e41c496f599bc4de2c56dbe (commit) via 1424ad867742286be44932bf29720539add19ae0 (commit) via ae2387feae3f0798dd77c98a7107fdec38a99fe3 (commit) via fa77b93ab76cae42e9394592d7474c795bb28f7e (commit) via 6ff00b5e12e7256738d9a4dac66e5a7745b771ea (commit) via 7a8655d2bbdc788786cb28e925e1d4303cd960b0 (commit) via e951d5ca3d73cfd71a002b91c16d6036240213e6 (commit) via ef6ba1ed0d7831c35cd241c382ed3026c156b641 (commit) via fb66cde8a42a383b111f0f1f48eb9f6daf9d736c (commit) via eb41b24898e9858852c98f9275e7a4adee860d7b (commit) via c8f2dc0dc967222673d71a0493958a587c53ae3c (commit) via 629cfaf1b0fbb32a985607c774bd8e7870b9fa94 (commit) via 2409af1e94de228ccd7a1d34deb954541fbfa37c (commit) via d0ba5758c269263a6cabfbb69ee23358ebdbe9cf (commit) via 463c08d160e55d6eaf0f9bc3729781ce90f4de3f (commit) via dba7455e76f87abe81cc9e4e9b1f979c1da02846 (commit) via a05b9f5e1eb8f01eea23eff3902fa57f1f28a4e1 (commit) via 4570c3d98c0a35e52fa4117d07b78d4f461b6f26 (commit) via b8891f8d622a31306062065813fc278d8a94fe21 (commit) via 7d8a31665739412395f6dd370d2279acd322e78e (commit) via 906c6f2c54425f18eccb30e3ae54cbe620f0fe86 (commit) via 29e6f4745eca5ed82c7dcde09cb0bdde1f8a2eaa (commit) via 51b79795294ad32c7bfeafaebe4c921db75491ed (commit) via c708f4d256f1f1a92310fcb323a108d95d5fd5da (commit) via 37cc0caeca4c9a8552370040f4cfeaeceaa03369 (commit) via 5842d7025f1307a2fb37ae5c4f25fdacfb827d35 (commit) via d19969ffbfda0576fab881e0b00c2fefae3aa8df (commit) via 129eb0f1f16dc7a49799a024a7bcb109d954a1e7 (commit) via 1286ab788188bb8f0b0da2a3def4641fb3817f10 (commit) via 469d3b57cef3d9e02d4bc584a9cc814ef22cdb4e (commit) via 370e4b5079ff8d62be3adee7396948d4c5795091 (commit) via cd4d353f812a3ecb29cabf0e62319253daf510fa (commit) via fe57a8c9f51516feb4fe999d2ff079157db42c26 (commit) via 5b73b52bccfc73172bc472c1e223f54f07a3e858 (commit) via 2bb9bbe2e8faa7fd9ee156da0254605720eb16d6 (commit) via 16065af1b0497ea33b53948dfd1f64f551787959 (commit) via c93cb6280f66565c7ab3dd3077227f8a0039d678 (commit) via 6af79d7b5a21a40c4036541fbfa821f9d1260ebf (commit) via 1f75763aa1bfe2f998f4347f0de436092a126980 (commit) via 7974897237f7708d440c45bc74cdfb70a2db8124 (commit) via 52948f01e4a11f5fcebdca112036f907ac69e7ad (commit) via 4ae976d1df96aee0ecd97ea1235efc4490562932 (commit) via 02e9e7f7e2bed3b82cb6541f566caf07256b9b2f (commit) via 8a6d4234503bfe1c656d8cd335cac828507df9a3 (commit) via 08994e1ddcc8e5e1e003602409662ae799a1ff30 (commit) via 63b4ecf76fec65c6853ea01ffab31642533801e9 (commit) via fa758a70467c37cfe7b261e1dc20d431be3db62e (commit) via b358827438360cb5d04fbc59d594583fb506ba65 (commit) via 3c3bb0580be0027a1c7187b78c747af74dcfa884 (commit) via 33cb30a1f932b5a211aa319a01783d4957ae5d57 (commit) via 6cf212b445b4222bef4f74544896a3be332d5a12 (commit) via 9e7f3bbbbf5a13e879a4cc3cfa958412ffac0d9d (commit) via 4a1b91eabbe77f4d906a0895121d76a0653c3cf3 (commit) via 506f5c41cab71dbc3e562ba367d2dc6b355b64a6 (commit) via 16f808ec99b141bf03091d3b309a335c68d4e9e0 (commit) via d7154a8d08b142d1258dc2e4189ff0d00cd26493 (commit) via a45389f60d4372bdb3484e432935f3169037d88c (commit) via 54691107334ee13f3237e0f754d458c52d5b145e (commit) via e3d39609d16dccfef8fd1f02090fcd1df82736df (commit) via 491993044ba6cfb2b0fc93c8b3032d5c91cccda5 (commit) via be3e27bb5554e45d54d7cdc74353dda246239475 (commit) via 5fbad1b90943710ff622e119d1ac6211fda500d0 (commit) via 380618d68a2b4ee60cebf3941d11a5af4e0aeee0 (commit) via 4b17aefe753a8d62ccd491b6a39dabdc69e91445 (commit) via 29d17e4773334ae60ffac7ea7f92d507c23b70f6 (commit) via 56522fc5af76ec88f650d8d305c0aa3d669c2849 (commit) via 1d97232ae3655ad4f2661af34f4fa6038d492a25 (commit) via 7b8d9e8cec30b366392aaebc513063eff0115548 (commit) via 67ce483baa43121a17195efe4b14a183e9fd8232 (commit) via 4174bfff8a88f21659446cf631dbbbad615b4a9e (commit) via f47194a9cde616ed1c207d618d4827d1216ef650 (commit) via 2ae0bdddef8193e3d2ffc352f4fc035808b5fce4 (commit) via f5e263426f1f191ae85584a82dd793cfd3c951e9 (commit) via da90fdf9936c532665e2a743d2fc5cf5e8f6816c (commit) via f82863d797e461b936dff2b659a3aa65088ee87e (commit) via 5d3a462f05cba5b0c0c96de899b84fb84155c760 (commit) via 01bcaf636ad0b1d5fe44a21917ec900af86072a8 (commit) via e2b7fbc46d08605bd2807678475e01be42e589e6 (commit) via c265869848bc3f3715161ed4174d7ae73e495fc3 (commit) via 04e65276fa99a0de996142b054bb76f8491ae103 (commit) via 47e6f81c7c269ab5ef2b3004bb5ebe0de5cfb969 (commit) via f02806be1ff3d25fdf4d9e06ced33c4b138458aa (commit) via 898ade12ee835c3a55460ae4fe311f40a01cf586 (commit) via 49ddb0fbdad2bdf5ff4fcbcf50470f16c0f1f34a (commit) via bb71536f2841449252952ac4f759c1e0eca7e137 (commit) via cf4088a92f240b01e6db8f39a5a3abfa918f6f2c (commit) via 6018c5acdf8b33b8f816de4757045379485f6ad6 (commit) via a0de763e32b381369896fef63d221376f29a9113 (commit) via 3b20124b3d6df31b5bde0f6bcd718cc40de8d49b (commit) via b0a7723d29ddd39345a4af30c130ebc89c623d21 (commit) via 8c8807f43924ec0f936b9bb59fd73d8fa4956e9e (commit) via c486b6106a31e442cba13c74a103aad8463bbd20 (commit) via 494f80a9321dccb939bf39afed66649702b563fe (commit) via c51f6a54c28aaf2039f95553ff897338475fe8bf (commit) via 374fd1fd7b9bbefc15c003f14f4229ccbfc1bfc8 (commit) via d5e9a511c4bbb25a7e6844169aa9e5b3fc7ef453 (commit) via 996d693a07973411897103a36e89bccee6c94479 (commit) via 157663703656814c751998747faadf41711e51ec (commit) via f4e80e1301f916ae7952abaf4ff1ebeac00951b3 (commit) via 8d49165d8382e29bff8d60d208934596e3994305 (commit) via c7213af9b3e47d3341f95fe24549681029a53853 (commit) via 17cbafdbbef78d7e05ade53d4cc867fa8ac2f432 (commit) via dcc0660f04bb74948299fb33c98620cfd1ceabb2 (commit) via dd40ce22d01afa0676d2eb5163d77ca3262e01f9 (commit) via 2376f038d10f901d3e1a2777407f350e4e54d284 (commit) via 0ee6c332f36222a73abee41bc5168bacf78c9189 (commit) via bef891d212194e71264a6276094efffddb06c586 (commit) via e2e31f1039e614b11277f5f1acc4182cd7fd3f2c (commit) via 7a54636a02e089436f69446a631451593ffeca30 (commit) via d5f4da5e334dc4d87d7751a816c15d2bf4db3d43 (commit) via 2d38991535ecfcd092f3c57da84844efc3d49877 (commit) via 241e64e3b42cd9eba514b8e0ad2ef39a337f10a5 (commit) via cbb09508e4b515501273288aaa11a8ef5e15e0ff (commit) via bfe2e011c004b88687ae4514cfdb00072a9cee63 (commit) via 0e6f30610fdb50b4974b349ed3673b744d03e9a9 (commit) via 804d27291b2922f01fe5cc2d9ae759533d4a2f6f (commit) via 80e649fcac86101a8a4581317e867e89de015d28 (commit) via 0baae8dbd38534c0f3dcedc7b9204bbc8f18de1b (commit) via ab209f6fa9dbaf0d3d0c42e2a8f14bf3ff7dfce8 (commit) via 74c72eac237232e9c23c2b4e21d24941d804dae9 (commit) via da6580e59c5c2c5dda086f9c407688e79377e49e (commit) via 4a2125f531114e80d68334a67f2d4ea2335a865d (commit) via 6b213a4778fae60d40257aee37c3fdec837ea574 (commit) via b80a981d0867f554d382eef9fc16081b12ac0543 (commit) via ddb7060226028e5e18c340a6d072337ead3209cd (commit) via b37dd3bcaac70cede547ba41fdac7878a0f4c67e (commit) via e148f09d75af9e5c6af5136fee3a5a298114d41f (commit) via 93b8bea4143cafae79076076c64aaa4c46a9b73c (commit) via f62f6af5da07eba0ac5425365da3d82c43f3445c (commit) via 1d376700df2476d8a8ca4fa503bdcfb0b425b683 (commit) via c233e9c641a84e69603bd94d0e85050c361b64a6 (commit) via 5ac045503de7dde6793b318f89d251addc161f66 (commit) via 7ea05a7b634a895128e87c8c71e8e611758cd4bb (commit) via 3c65e5b31cb5587773deff979099435b9687a0f4 (commit) via a60f3166aa946336c68e7a873d5eed6061b5733c (commit) via 56ba65a04713fd8ff23908d4c57f75427317b8bb (commit) via 3ba174474d3cc063d6b7abf0bfdd6021bbaf8a90 (commit) via 232a00325b0f97e108014148c68ae314e90cbb36 (commit) via 3391569f218cd5d05e96769f47559d5828be3acd (commit) via 8095d2f70e1a982c006f306be1a9e1c892758914 (commit) via db841b6fcd8b3bc2e6d6774e81c14dfbb9ac815d (commit) via 0458ca44409420c3d5cdbbb21561ee71fd930d31 (commit) via 79f5b65e3e7b10d914b1328ce6e9ad7c9ae39c63 (commit) via 8f153adc1db75601619dbead97fdbe621fbf69b0 (commit) via 4c6933327e2e30c97ea4e49dc6f7e0f48941fd6f (commit) via 4581dc8297381651284e2f4a9f835eebcc6f2328 (commit) via fbb1d502eeae135dbe6ac3b0b122e574a9b888d6 (commit) via db3410f80f793189d3c8afb8b80951333d3fe007 (commit) via 442a6ce858c0da0c5fba3eeb57a646254adf107a (commit) via 43cc6c3adb7f6ac45c06011f439ed06161d1d770 (commit) via f559b440bb6dc6eb853125039dfaaee84f3a7522 (commit) via 5f32791e1ea970cabd6ca764f1cc282d9e8fef22 (commit) via 625cbd7ac121a6df6d237c8368262f6634fb61ab (commit) via 86b15c32040ae35c74e84b18f7b65dea94436458 (commit) via cf769ed505ed9b3eca24df67bb9cfc0adc1a033f (commit) via 8282b7ad0dfaffce380cb668dc2a8ca473758760 (commit) via 755908cce568d1cb5f2a3f1cc64472ed43eef8b5 (commit) via 7091c612013ed63fedabc26b1662c87071e41fd6 (commit) via c30be56ebf7989e36f5c7d4a703cb00f7d4ca2ab (commit) via e387da76fc6ee61f6bc30edfa1210be173e96db4 (commit) via 3a5f2a48ffe3941396d7a19d9398c9a4945b4e5d (commit) via 557e56be2648db13cd5d9876f702ba119ee9e7fd (commit) via 42dc7699a26be0157c438dcaeb89da38287c6d2d (commit) via 6592ceed489043051d02d41dc71f51e8ef8aa6f0 (commit) via d3554ec1ed057f4ecfee35d4bec81f9d5a545cb1 (commit) via 972450a72cb9e75a5dda614d29b04bf738d38cb0 (commit) via 11a322db5c8bc23009e97af30180d6b14d86dbd3 (commit) via afca762f598d453c563f244cd3777715b1a0cb72 (commit) via a38137289e91fd548fc27fb6566a439233b94d65 (commit) via 0984c34e7683e1e987eaf4f9e057b678cb67efa6 (commit) via 012ab4137393b948e7d5c9eb7e0124296eba72f2 (commit) via c6c6149af440c3032eb7d02c2852907c61aac470 (commit) via a1a31cb8dce7d1bfa7878dc08c28af330ef2ed69 (commit) via 15bf30027bcb167833a0ca2c619c03f177ef1ba4 (commit) via 7eb1a66c26b57803bb4245f84cf15278297bb649 (commit) via c691de6a16a87adc686ce5cd6c9be54ee0b1a8c1 (commit) via d5c928c05356b22af08450bf43b262ccc1b1d8ee (commit) via 27724bad005cd734eb0b990205d315f8e2d3bd35 (commit) via ce73f310150418a9a1625ab60a527d959096a9e2 (commit) via 056dec39ed11e0027ae399018c3fef3a719718b9 (commit) via 4735f0edf4265e3e260e10a12921baf17987a020 (commit) via 0909f342a21207c0b096e8caa7462b1c6809298e (commit) via 117a0e996dab2abae985a2b4251ebfb092955dc8 (commit) via 3fd217186c573ccbe22ad1512578fd316cd7870a (commit) via cb2366c198d4c22b4bae6fca8f9ab4b0234c64aa (commit) via 8a67aaa8186ccfa10374027d0b3645548eb5f30c (commit) via b4792091ca60bd865064a501d50661f522e26636 (commit) via ec74dcd894ce3087dad2b6d0da96c572d5e0c7c6 (commit) via a700e753e5b019fb5d783c4e15cb29f165a339d3 (commit) via 8b411ff8d537ae34f1336ba1e9694d694ddde27d (commit) via 5d691c8829d0e5c4c4b9cfb147c8a873ce18085b (commit) via edb0470b99a9f399ccb5d666173c4315f6cb02c0 (commit) via 6cccc9a89160455aab634784c231af4590d943f3 (commit) via 652788a73137d8c16ac67a0cf9a8e51dd336d09e (commit) via 8419ee5331d5b3253d2bfe1a039f12a167292dfc (commit) via ccdac490bb3b568e88626afc84017c79e2d086e7 (commit) via 43130d6f969cebcd407e210fd06e565647401ba9 (commit) via 77d6f1aa16685bc715c95decf6e3d3ae2e70dbc1 (commit) via 2c722d18f32b1c1f82c7546b1e41edec47d88dce (commit) via 5985ac614d7e8ae65faadf62e9302c1c096b5647 (commit) via 6b84eeb21628a89b40c985b527d3d5db7806c93c (commit) via 2150c3ef045a525b1d74c06eb8b0811621f264e3 (commit) via 0ec44fc067ca71f968a4fedda1c17cba2e5ad0ca (commit) via 81cc346dc98678c5d196c7110795d8f2edfd8f50 (commit) via 2c99ee5c4f44d52258fa176563cc6a4cfbf0069d (commit) via 530fedbcbf61b6d74c76a8ba720fe29d98896831 (commit) via 6a976300e78cf6c90b5b70626ff1b28f495d8bab (commit) via c0015d4497e0057536b5ec7e0fed8f8bca07572e (commit) via e62cca7ccb9ea47d18a0812a2c27f00e5048367b (commit) via 905eb0e293820ae91941100ebed291a8f74e1f12 (commit) via b248663fe5654192101fc95dbe0cbfb389564359 (commit) via ad96220cc73a2daa24b1d2b2e4afed557879e6f4 (commit) via 0a8288f78ad4d8d273b3dc7ab10b0fd43464d0aa (commit) via 3ac21baa8498d3aa9951f79e2c3336d532eeff7b (commit) via 4ad422a6354ee4c9a5c6e0236b4f9ded36039bb9 (commit) via 4869c5854e255b545447fdda31a6f1a69d937fee (commit) via b63ea3389dd991ebdaefe3ee264855ad923cf700 (commit) via 1074bc6d41f480e9e7b8f2e68f778225da2559b7 (commit) via 1b115e8e0e051d65d0747f0a8a84eb6453866729 (commit) via 6cb624f8a02a844885025dd6d756f9dd1d380023 (commit) via ff27d0737ef0c9433a6a7c83c1e678ac57a27699 (commit) via 1e65a4a40e778e1eb58fb5d3b8d00be879f7ee63 (commit) via 31375626546b074268b2e1ccc7b52704b04bdb6c (commit) via 6a15ecf5e0538ba416f6578403fceb9e5af98120 (commit) via 7f1f7e23939adc7d71036a17fc6081e3af7ca585 (commit) via 027a4c30d03e3f434ddfa61e7f026e3b15f83daa (commit) via b84f59efc6d6d8e97135a1b92ca224d1b2cffe16 (commit) via 4ef4710f5c3e417dc43057e10d7675699bb38431 (commit) via 5c1eda30f55e9c543de26fec0246f4d7655c81e4 (commit) via a780ef4f27f8bc44082be81fdbee44bb11f1049c (commit) via ef2ddb33bd29a7c4f7027b9e37e55c74c15af825 (commit) via 9451a3b9a1af46cbe988c3a2cf4c4754d7e84143 (commit) via bc7b042bcb22320ddc1b54d45b6a1d264dcbfbe6 (commit) via 5759ebb3b35f4bff8aba7ba06e8b0eb88d9d0831 (commit) via 3606ccab0fea904adce8487ce4b2b26253a861e7 (commit) via a14c4daab2fe90612e63169425e74098e74d5f28 (commit) via 0a2323003c1ecc356252426f6ed3f45309849ad3 (commit) via 1fe75df7eb1fcdf56bbf3041b473bd9a80120054 (commit) via 6a70eb7d9bf1646e7a7379eb8efdba30c2cb9c92 (commit) via 529c08b25ec7b9ba2a0b94083a08ec8d1a6e5528 (commit) via 78da84f9940586202deb4e43decea6d32d237080 (commit) via f880fcab1ae7713037ec85a56268f853fe6ca835 (commit) via 64b5847236593f23564bd37afb0ea503f751165c (commit) via cde3679eb5aca10a6d09f6aa4f846ac99a3371dd (commit) via 45a28947f3fe5693560e9a1d6373807a9e82c04a (commit) via 55cc53e98b86d9be559073c4f062735e2099d1fb (commit) via 639eff935742fda1f8d5fd629dc877eda9975c96 (commit) via c7ab0aef11d91b637bf091aa9176b8dc4aadee46 (commit) via 4c7333b308f5178813745f40e641231efb1cb763 (commit) via 31445d1036f7fc41de2724cb016913c9b1461bb1 (commit) via a6f88f6e4458e672b8a72ee0c0998fdc79cf601e (commit) via 16ff70ddd430b63ca4dd68bf1d52828f2ed4f030 (commit) via cb19713281c69c3625dd447a0c2ce539761989e2 (commit) via c597cc3d6eb76802dd079b1262f2d425e07da3eb (commit) via 1cb83cac9a8974bdb12aac90018ad1165ba86274 (commit) via 9143e72c6d4ddefbcb41c0f6361ad140354145ef (commit) via 04879304dea94c02f19fa5c219d2cbee6269f9af (commit) via 12863263d6f610ec161aead53df89586787b2ce4 (commit) via a79eaed6a5075ca062d6d8ff3d7a5ccce5d1908f (commit) via 2fb5be8dac9db623ef6e2a61b1f5b09fd246872b (commit) via bd59a6313dbbf349dff197975f1b6a78be51b7d6 (commit) via 7f5cad304773ecbfe8b390e0b5d79fe11edb2a6b (commit) via f0a85b07061964d6c608e6280ce61aa3fed1eabf (commit) via 76d3a78a498e814fa1fea713091849cba7896f7a (commit) via c7df3df443db7b1840735c86a38e00243a2902f7 (commit) via 1123588c0bf1d777a3eb9c01f2370473a14a1ca5 (commit) via 71feec82131fd692711dc773b1f9ae9365b51432 (commit) via 500c05ddbe989926d6b1298bfc88e6788426e0ef (commit) via 5270eddc6ed6b5d8e4e2817491bb44b784fa6f81 (commit) via be570f06848d262853de218e0b24245c93cb402b (commit) via 1594e052d4fec8690b6bfabd369bc030135eb91a (commit) via 624940689a97573ed1e24ae054dcb2fd6906f557 (commit) via 3541979fff2861c9537f299e31ac17a436bf1228 (commit) via 8c49aa89abb92516dfc3507b540f736ca6339c0c (commit) via 42ecac1732194293568ab6093c742ca74c1dbdf6 (commit) via 7153abac62fd8d7f20a307c85e3aa77a020ffc42 (commit) via aa4bd7e6aef39f3d9264901fbb31473bd639bdd5 (commit) via c3c5e486808bc473d1642bb4ba84d80689c8fca2 (commit) via 8d4c0995eb0996fdbc0ee490317e3765a94723d7 (commit) via 4b8377e7dbd9e53149268685ba4810a7b09fb0cb (commit) via 055303e28f70880f7b2c3e44df0ba7646fc85cf8 (commit) via 2af4d0d938d76e96ccb862a23d05862154262de9 (commit) via 8a8c916960b0e1b00a5d323fc478f4b4ef1072f5 (commit) via 8f7fc65182f74dfa8e2aa9f81a1cdf786a3bdbe6 (commit) via 9dcb0ba4457b8845fb704635e824471bf1faf092 (commit) via c8ad9b9a31aa3e6039567fc1f152dd454c946d5f (commit) via 8fd32c1ce66c66b02b2eb506a038cfc615aad1cb (commit) via 31278b5193ea6025c09110aef2d67d81a952ebcc (commit) via e5fd1493fd9c2d8d55fd15b9bd6539781ee56209 (commit) via 981e0c0c1aabcd78409184c79e8f88b5de918e38 (commit) via 14ccceb2e24df7defd5264ec3d078f79ecfa1b76 (commit) via 5d3c3a68c3ffe37c06a7a8dad30c19241bd39f7a (commit) via 1998086d5436499e8eaf16772e300459662c3d7c (commit) via 4c7549492b301d7d118379c3e98afc0b364d1935 (commit) via 6497f1dd035530c483fdae22aaa6fcc715775f58 (commit) via 97a34db94284f42829e5e5c9c4fa65b216739bcb (commit) via 872899f1efeda1e93ed569d322c6b2ee85ce885c (commit) via 61658d78f08920e6afe7b43bcaa287521da196aa (commit) via f5a1cdde80a5cc5f1b86be7e94fb062d3fd4aca9 (commit) via dc7fc9ab5dc4afe62af8703a26968acf08b4437e (commit) via a47a3dc8fb3512865a0115e86fc901758a62e0eb (commit) via 25289ac1670fb164770b0753116b1e909beed4cb (commit) via e83f4d97504515f8c5f290eeb25eac87cca6892f (commit) via 674e55f7b11e4d3ac6d321cdb0b70c68f24fe564 (commit) via c451bb34ae8bd2d0669bd563366883cfbcf0de9b (commit) via ad1cc4e492e51ff334df81b5e8610f91b50e373a (commit) via f311ba7ed84d66ae2cd77bd969747d7ab959d866 (commit) via cba05feb51cb97f75f9a7814b081ce45245ac7b2 (commit) via e0e5e971ae89da1ded13013bb7378dc5f09363af (commit) via d20e98ab59ea49d3f90bf05ac7b16c0d3588ce41 (commit) via 2e48456f0236d39b6de98feb7168f56cef155912 (commit) via 269965964e8a6586a07912a60e08eeb0053bfb2a (commit) via fe75810f8e0cc33384f22d0479506711d4014c60 (commit) via 724436fccb68156ff53b7b03cb7f41547a65c30c (commit) via 6821842f15efaec045d9e38f115af01ddffdaede (commit) via bb11866d6a635fadb9285d18e2fb819d2de2c28c (commit) via 01b5d12f284e1ce5a1441ce6ac383a59f3e4b05a (commit) via a5628fa8443f2182fcd799e03de31d1f8759df83 (commit) via 56ad703d56ffe5dc55d5e719a6ec41fd6cf9bfbe (commit) via c524414837791938eb5aed58a3334c4f8e04fe4b (commit) via d8dab05495df17d8c961be8913e7a1e152670382 (commit) via c530603c59efb5630ce67446be64d42c0522fee2 (commit) via 4a91d0ba307eb24eb87ad27f4ea8fcde823c3e61 (commit) via 4423fa967210f4132b81d5fe80a1f6f3ec0ab1c8 (commit) via a7d0f0f000b39269c25509a22a12549c6ef26b1f (commit) via 6242c6a690ce8e18aad711103902bfff00cc2757 (commit) via 4e5b2f8961a385056922f45a5cbb02bbbad4a737 (commit) via 538ccc4a222e8da14236fb5639ffe6b5ed1931a0 (commit) via 1b919490e8ba30bf1d6941df0ed112b0e557017e (commit) via 94d401b8b88a76b1372ce44e805516756a4f737b (commit) via b14b7ff14ffe911ec562004304841cf7d2775a19 (commit) via db40acb0bed088872837f916029d8800c33f9f94 (commit) via 1ea5da02629b4bf9c4cea50aee189f94fa7d1a3b (commit) via f51e0e20bd303a9b366084ac719db10978402713 (commit) via 9b960ba18c83e3f9aad16fe8bf845f5c469712bd (commit) via d7e15655a40e9133a1cbf53ea071f82cd6745ac8 (commit) via 26a57c9256d7ec2b4da2f1d85a9fba830948dbd9 (commit) via d2a107e3f9e84808ae0860693f1c488b1e3f5559 (commit) via 15a9e13e521ec3acb4bd3616f349b9d19780cd48 (commit) via 0e998d966be13e548721109a4e44b2887fc5cb24 (commit) via cc6bcb548d67a5a0a7223d81bd43c299312320c8 (commit) via e38504b39279fa86cbb2c4a45ab8ec34e3aef90b (commit) via e99b03dcf42606425eab8bd12eadb8aa4007f35a (commit) via f2907e49910853edf3c1aec995b3c44b3bba8999 (commit) via fd79271bd9dd6bb1626fb6f5ec3a415dc24950b1 (commit) via 057302ceb3b1c171afe9bfa24642af208a60b6e9 (commit) via a50c11c666e07b922d64aa5bb2747f180ce17c03 (commit) via b8a6ced79668ec8af3180e50b76f7517ebbab0d9 (commit) via 8d2c8c3d17926826864f4b739362f66af547428f (commit) via af0bfb9c4283ce80fe37ad6360d12cae8ec38696 (commit) via 1825c89e221b1bf80e73e858f1f2afcfe51272dd (commit) via 12f09816cecc4e4ee7574a86846b3a17adbf7904 (commit) via 14c80123c05ad7cbb52fbb5d35c08b46a0e72d7f (commit) via 156f2c001e22dfeee69c92bdb380d5eb28a3de78 (commit) via 30e5322741b7cb8fe90bec43ab93eecceaaec0e7 (commit) via 471b9d15076fffb738f1bc6fcea41d0dcb59c947 (commit) via b638b5d57fafc84a8dc0ff91d7579a3c24aad90c (commit) via eac61af65bcd24a48633da375527eb3f36ab47ed (commit) via 41823f29a811bb250ae274652281a6294fdc2530 (commit) via c0c468d562649df0f695737262b6230b7a56a4bb (commit) via a05a5b64cf33d36d93a92fd03ae900e18dbe5572 (commit) via f2075844e2d4dc0f3f0d15b1acf20651f19cbb33 (commit) via 3e4ce31cb84b1b28dacaa5bb577da1e9d2740891 (commit) via 4119873a48042e532f7485b84cca83ea0bf1fcf6 (commit) via c0867626d277101afcead91e94f20cbe89a3aced (commit) via 6d3c4956402409b711738f2c0afc02f6c9d5782e (commit) via 41206e32fb909ebacf6db009fc1f177bde74a652 (commit) via b9c04e5a8289507fdeb783c337f59a76ff491685 (commit) via de52b9607d2623f18b7a7dbee3e1123d8d63f5da (commit) via 75acb4867dc8bdd701983af6899d823c9e2e53a4 (commit) via c76a8ea36c9567b2b194285ceeae29bbfc26b20a (commit) via cd2bb709940d33668fe6dbe8d4ffee0ed44c25e6 (commit) via 991ff2922affa0b3afb837d2246d01f0c1fdb364 (commit) via 356819b6bcc793afea9495243c588da989b4e6e1 (commit) via 49af4b7012b682470bba3d66262bd34f48b9f500 (commit) via 262e07d0115adc08cf7481689d9d146a01ee5bb8 (commit) via ee9439704485a1e9413470fe2634b164fa31644f (commit) via 369c9167d47e69aad2e260cc1db17f8c894c138b (commit) via fd1ae9058720aa2738cc4852647097dd89c2bb88 (commit) via 44cee4fdf46a13b63d90ed706c815d9c81e972e3 (commit) via f2ffa92bbce9dd5fbedc138ac2a3bc8a88327d09 (commit) via ecdc3a72c89e43e0e13c5478723b4f70b3964e9f (commit) via d95d3aef9e63242e732e293e1f081d40d0d27eda (commit) via 2512d7efdf49a1b8953932626bfdfa1da2367d9d (commit) via be1b6474f0d471c01f5c4d1f33e4f13df9ffb82c (commit) via 291f9a9643f87fa4eb6a7c280eaa3877c11e3a1f (commit) via d81a3eaff36b41ed67758a119a6864b50f60a60d (commit) via ed6dfe517ee323ed631aa8b9816289ea35219409 (commit) via d4d429d589c4d6a4450146fbcac8e1aad445114d (commit) via 39b27ab6ae77d4fe1735417f2de90eada658dc6b (commit) via 1b47b6a21896902a959becf9f06650612a9cb0cd (commit) via 41827fc34de3463891160a9d57df9f5c58c0b65f (commit) via 0c6aef226ede6ef6547adb170fb5afb002e96257 (commit) via 6317728958287f0876f04941267de5d87eefa578 (commit) via e76f78a05299f34605fc8ffa8b371a50b9446bab (commit) via 9a14af7b1a6765a353d4bf710d267a1c47a162fb (commit) via 189366cd86ce2e5758c27054b7f62d1f769a0825 (commit) via 68ad5fb9aa5ea8d00f95a19cd0c3ab211fb21f83 (commit) via 141ec9f67f11a34bae5953b2923bb71fc74dd52f (commit) via 4c4e7ad46ed77f552e2624d2f711c0ce51714395 (commit) via 7ab6656f274b450942deb8800257c0d2e060fa84 (commit) via bd583225a52f920f71e417ef87092d25553dc85e (commit) via e11078da44268a4813ed81a27853143af86c3e24 (commit) via ac0734dea70e4d3d548ebd9282e88d65947b28a9 (commit) via 9a325b7b3ff056647de536941eaba911d1d794ad (commit) via a33ccfc7afd9e32dd310f54d04719efeec8df342 (commit) via e0c547d14ae1d5c06b59178f4b1dd1f5e08b3feb (commit) via 30aa13067f70ba1d11c35d13be753118c457842c (commit) via 791755f59dde1d1bc191fd3742d32929091dec83 (commit) via 2822b09ff6024d042f1258194d6938c5a401b4fb (commit) via 2db70efacd3f8f208a1ab7946c34f79fae33092b (commit) via 2393a7e3e6b3ec51bc404c6adebffea5db9f04b1 (commit) via eca4b721468e239a6a1ca7c9bd9c967085067dfe (commit) via e4a882f4b042bf44bb2668373132be2b678dfe47 (commit) via 75cbc781e371279f4403045be93b07fd8fe7fde5 (commit) via b7a08269ca53323c5fe190370da281358dfee6b2 (commit) via 1021d1cb1214771711c61117ba0923c73a3ff431 (commit) via bb69498c61638ea88b626f78e911afa74ed22da6 (commit) via c1080aae0f87ad55d1fc6003c76dc093b3c0749d (commit) via 79d89b552486a1f65b803115c8f99a93cc5c7486 (commit) via 71300e2c0c24442979a3d01b8423cfaf8ea83003 (commit) via 5127f207329b795f865234f4461b230d159e2a22 (commit) via 719d8288507d9f35c76bdeed5b597348bd345883 (commit) via 6706f7706241eda253d26ce4c927dd5bed4942a7 (commit) via 155ea1bc92f5c9b34aa5251045d08d6409ca1de9 (commit) via add4131108de4b4a0f3003cb542e9548914fbed1 (commit) via 750ea5ed38abbda8a6f25e276bff3dfc8e4ce0ee (commit) via a2575bec2413d361c6ecfc4aecb2a31c86123f95 (commit) via a1893a821c4a2e953d13b97360b85650f2127134 (commit) via 2e7a29d5701d6b320cddf0b1677116d2fe49587b (commit) via 6d72d289c4718c72f36880876d7460d6da4fa21a (commit) via 6c04fd9b2fb4396c0189cb414ce598161ac8673e (commit) via 8e7767e3f782c46451a548d708f5582669d7a6d7 (commit) via 514cd3a0f589fa48ca7bc9504c36436c0cbefcb2 (commit) via bfd60e344c8001910825a358ad674003738ebb6b (commit) via 8ea3acd6262f066f651b250826eb2c476de42dd2 (commit) via 385e4d0f27945ef38e19a8fd3ec4cd76ff3b87a5 (commit) via cea6ffbd06a6ebb5c21cb51e7775b8ebb5e34f38 (commit) via 1ced1a5f108fd0a0c88d2298dbdd2dd2a2ee38f0 (commit) via 334cd8a780840d6aee86790fe2fe5f02fe56edf6 (commit) via bb29b84d8c2cc2e91f8dec7f7eb64f03470bd03c (commit) via 25eb8346acc04b10d62295eb4c67c928b01a8aaf (commit) via 00431a78b28f913a9d5c912c49680e39cfd20847 (commit) via 33bab475a6984afedac8a036b3bb40b5555b4127 (commit) via d388f64333fb977c1b975cb9d26c762b143f4cb9 (commit) via 8363f9d5f2fab2c8b5a25c35c572f0426a716b66 (commit) via 57c0d77c2ce5e583dab322e05f8291bcbad0ccd3 (commit) via 0d0b0ea29af6abc0790d22f843a3d0cb09424a3a (commit) via 6ff79ccd1ca06a4c557ee81b73e0a535b9fd6001 (commit) via 302abd6e9facdfec3473e19ff65a5479f850ad62 (commit) via f00674fe074f6ea778503a50132c3214a9c6aec8 (commit) via 19f3f25f370fbf7f5c2aa12a909d57f6e38ee2da (commit) via 6077de0645ce12a9c4e99f8839a846b42a535b0a (commit) via 1d554008b3747c6ccaa8e3a08cc797cfade242f3 (commit) via b939d8a0dedbe0f0667500e1741e25baf03fe64c (commit) via fc6141f097056f830a412afebed8d81a9d72b696 (commit) via c6643fcc058d6b4aebca75818fbbb705837a9fa3 (commit) via ebb1332297da904a4adab0d3696a5512604f5edd (commit) via 160d1b3d74593bf42155da24569f54a6e7140f65 (commit) via 4ef2c1b90ecca33c2948b7b009860767d64c6398 (commit) via c8dc28bcc04532f3074a827dc940c033be4be4e7 (commit) via 27ab04240bb40e052f288b2960fb99210b6f67b1 (commit) via 7c69913eaa31cdec6bdc9e7709f7d01f81ef8c55 (commit) via 789ff5b6c26ce7e4ebfcfa5a9a695407c17fa4ea (commit) via 6a382bceadc7228d20746079570a15f115e55d0c (commit) via a4eb69274d3b220b6ec22d019a8994e136f9dce5 (commit) via d0ac1c44885daf68f631befa37e3f3bad318fbbf (commit) via d856f9a8d64ef35b66000c42981f2f66f133d794 (commit) via 6ae502670996ec6e8b574dbaa4577d79fa9e9799 (commit) via 61b04dd04ac2c64d455bc6e17f08a106305b06b3 (commit) via 3a075e5628e345701902fd696b4f27941a6b87d0 (commit) via 39e07931b1be69b13acb8322687f825bd00afe91 (commit) via f63b508a8709da08448ea68c9db7c5d9f168da0c (commit) via e31716b076446c171d2fcd6a4d4ab7d04e618525 (commit) via e054112458e12cb562cf84cabcb1970ca5ef1ff1 (commit) via bf2977b5f3d25779cdc06ba79c05244d70bd8b59 (commit) via c4eb05ff9a3739378f8a846751da4d0e221b4c8c (commit) via f709fabb61246953e68ae46478a3b269c0615fce (commit) via 668eb2f045ea535976cf484355831a8808b5ff35 (commit) via 309822ca289d602b9f9baf4760329ddd08b1d204 (commit) via 06424eac62da949519c0c641fbc3e8372a9c7f0b (commit) via b4be9fadea469e2c937c81a8f1d3243206f9bcfc (commit) via 3f0dbd670b59aade6224aadcbc3a1943a4645a68 (commit) via 69d340c68449f238fe665abf4a3a7989cd2d8376 (commit) via db67d458959d211835f78d8f2aebb5ae84eb42e7 (commit) via f57a3bca61357a599be99552aaa6084bd8276682 (commit) via b0f49e3fd776bd64d55c76f001f353c1327d3001 (commit) via 978588dc5854b02dc24e0eed18741415176753d8 (commit) via 37f980dc03cc85795ea2e4de4ca69d3d7d1153c7 (commit) via 77236b8349e95c869179b1efa4e6c2ee5c878141 (commit) via ed1299fe460812ad4bbdc2192d0c0cbeba3d6b66 (commit) via 02895270ec7243f46ea3e84dc385515533dc0139 (commit) via e9902bfc28b80190c76ffe5fad3bb73fd4a2ba28 (commit) via 17a1cc89b5706f0ad8142ab85d62bce33249e905 (commit) via 0fe3a558306ba4792c96e7258bd7209a206e2867 (commit) via fd8079f900805d333e4b39657b8da1bb13dfe8cb (commit) via 8887b88af8e3cba76ed9f28c7ee8eef78ead36ec (commit) via 7010835a6c5fd3679feae7e6345f2f10d4d761b4 (commit) via c8e17638904b9cbe845ddf9a7b08149f9db63866 (commit) via 479b3ef4a35ce578417af4619c5e87477e658333 (commit) via 5785bb826b2618831af26bc19cf7db2c80efc380 (commit) via 8199b8f4d45b2240d09142f1df70849dda2cc638 (commit) via 55c748a1c01f33cec0f762969db1bae457e8bcca (commit) via b9a3c020eab9f6e73a439592b3ba8f8cdadcaa1e (commit) via 6f20c942c3dbc08d02f74e4d508e19f8617bc5e3 (commit) via 8993072900ae3980957f704a1e3e033a22a4dcac (commit) via 74fdb8ff707f0a02b587630324d29c0755e6b5d5 (commit) via 87a8eca781910ec2079426f309145be18df8106c (commit) via 0dbfed25e9d4a01ea3f57b76d77ffbd8c066de0d (commit) via 14897d65b5a279684289bf6b99136de60c31f1c0 (commit) via 5d9a06087942ddf4f9ab724b5b4c1a45507d8321 (commit) via 1f6f5dba57ffbc073b1ead89647288feaaed2caf (commit) via 7b045207d1b8980add1c87b643504e3ef987e7a2 (commit) via 11ae5818f76e0af4dcf7ee069e0756ccf6901ebe (commit) via a898ca0e0c5893c58b60a7f76225d104df240549 (commit) via 1d39de443a38448226ffc408290c17c54c598c39 (commit) via 70ee000084aa4fdfc00bd5284a024b65023dad35 (commit) via 11f4b608e6977e7800fbe5625c542be8cf7e241b (commit) via 7f923b7fd2a7c55f2337b3b79a2b2081a7bbe22b (commit) via ff91d2f0e20fc91b6b101a0b20cbd38ab2d7fb50 (commit) via ab89b5a57cff984d1edbcb6ca19c8f4a77c511a8 (commit) via 7be6cc928461bce11f52c01653b1eb916ecfbb8e (commit) via 730c31740a69eaee73e0fc5430d80daa683c26e7 (commit) via a08ac84b963facb4c4a85c4d5df057d44e2a276d (commit) via c75d3d4144fa8b5312bf581451bf800251b7bd71 (commit) via 7a486e6d2ec4aff56cf280dbad18f3f651f45714 (commit) via 62c808aef64d77d5585f54c792ebe3f388a960a9 (commit) via c75c496d6db058628694329fed8a40fffb17fb54 (commit) via 1840d81a201932a2d5ad5b089aad85943a5a0a82 (commit) via 9516f85aea1d9a34d1cd3f59b7b9eeb590e58c70 (commit) via defd21729f1ceb51999afcb342310835f8ab2faf (commit) via 1d3bf4a0a07d0758842fa5cc584b95771e7c226c (commit) via 212b9bc7b4cfa7702005928dc3bffb3ba3a6e19a (commit) via d89c18895bfdbf092ff34fd7c593cdab4105b5cc (commit) via 7b23e0874de0b15fdb33fdd2e8c3563ff67a4f60 (commit) via 69c67a0b2a93ba8c431d1ebb90d57a1e4d0ec3a1 (commit) via 90b345f613e3ae8b21d2b5efd00a6970f57e578e (commit) via 41fc26a2cbc1dc1d08da003d363b2b5821f62076 (commit) via 092a534fe14be3eda270256fb2799fd893a1f57c (commit) via fefa175e8f518f17121a1870270a415c851cbacc (commit) via 5a485b38994ca09481863fa509cff4643552e1ed (commit) via b91ad3ff949be78a43653b6138cbd515d4bdb637 (commit) via 65d4cadafd7d9d5bb84810cde98a8c3a007a0594 (commit) via f868386e72baad6f35d4288f433266e03ed2753d (commit) via 9c861883169cb9eec4581ab6db3a1b711e79ee10 (commit) via 953edf2b6cfe765ca7176c414e9f63aa62bdb09c (commit) via 1ddbba9df5fda9b1af5306fe182a5f1c3197f53a (commit) via 219605fd6adadadfd40234e39254077e044741d0 (commit) via 71b73764977a3895b0dda3e7260eece7a8d3e60c (commit) via 65a68903e2294fcd1a5496a4fe467a5b28dc0f27 (commit) via 4360561f5a326d9765cf1d95e5f779c5ab51045e (commit) via d14b92bf8a7f4c57eb6c5fca559c7bbb8a747358 (commit) via 835dcf92618e294d3c6c2bedd94af712809c96a3 (commit) via aac0d564cea04b1c5f386e8cea924ca59057e8b4 (commit) via 09897e3330d41699b6146f9b8767734f92587dcc (commit) via 405918449085378e96dc841a3d536ce161ce1539 (commit) via 77ad7394454c29cc7a4a865cd226491df457f6f6 (commit) via 191cca638351fcaf9bee93a396bd4f8b74f915eb (commit) via c5d0225d250b4c6537a0d22f0a89975834bfd294 (commit) via d68033ea86780183c2a2a28077fe495acde5887c (commit) via 653e0a1e047b00d77bf9b094f06a9781d6d45589 (commit) via 2f8b83ee9629c41a171d795ff600cccb00e1b119 (commit) via 30d42fef63b418428c92f6081172e0e5d62b6d36 (commit) via 6341380d5cb8e645d79953a24701219a048f426f (commit) via 03349c934525d0f78a3f971a351b1202ea21ec94 (commit) via ecf99cc09236316db27fd8ffaedca864f81ea081 (commit) via aeab512851bf6ed623d1c6c4305b6ce05e51a10c (commit) via 5045b3d78903d1f6faa4cb511fa801e50dfacf48 (commit) via 2f4f025ff15b900706c8597060003a506107cf23 (commit) via 7ebd13590ca56ba32350dbfd1b66c5dc2468268e (commit) via c2a0f9293adfad7fc1ee6a264f2f4f2a29872e64 (commit) via 343b0027aed57c5a2d499e7e6e228608969a10be (commit) via 8dcc53b37f4fe4797825c2a43bb1fb3df56b30d1 (commit) via cb36699271e2f3308b6f1aa40086950111308020 (commit) via fd161d860f1df7140153eab4726705cc3e2727b0 (commit) via 4f652d7b9a15cd3aae25de38f51baafe7e529646 (commit) via 13e3c6088e4456ed27dfdf9127c20d252895d874 (commit) via a1740ee1573d6e0e21692f815b322e3d062bbbee (commit) via d6ca69cddc3fc6ef61fdfe3c3803d13b0b4e13e9 (commit) via b6a8c27bb8fb383be6f57724eb9aafa9f2f83aa5 (commit) via 8b88a78e63526b84d540b9c7d5f459593a248d5e (commit) via c7110220be62590222e35525dda499902ee49a89 (commit) via 2a9b2c1abe29e1063240604d2464b8de9a46011f (commit) via 63bad7b636870e3a0af4fc97cc2b8ec5c2603a41 (commit) via 066b621238bb79de517564284ec58e99fb33e6bd (commit) via fc6041a7763e330413b7a6e7f77c38cbf2b67793 (commit) via 527278f3360dde3e5439b8d10f3f635155b35aca (commit) via e5a77256e8961294b3ea7d483124834311ca363b (commit) via eb5c42e511321b51849735a6d2762941fd5d6520 (commit) via 08f22593f0069b1ed00fb4fa18b696064a1cef54 (commit) via ce72cd46ec611fe6440053f282b1b6cb7e977ff6 (commit) via 773ff7907c05313aebbcd5e8319e5b869ac4f792 (commit) via c61b06a19a34baab66e3809c7b41b0c31009ed9f (commit) via 115f7325b5b76450b9a1d16848a2a54f54e49747 (commit) via eb6af80922a56b67228f7564facc4cb4aa44a0ae (commit) via 5c4ce239a3ab9263163a0fe8e7487b39a41c43d1 (commit) via 27b0767593284f97384b3597ebd211164f8c8b47 (commit) via 8347745522002d5c0093bac584a2eaf9386ad219 (commit) via 112ba8675ec7756ef8065feb655df2d4f39ee731 (commit) via 84e219e23cfb7d2632dec0d1c3ac2d942b620882 (commit) via e6d079c2fb797e84d7d234f9c8277fbe4558213b (commit) via 54d343a24019367e85bb2e90966f2da483868637 (commit) via 178d6a638693d1a7a66b0553f16b1df95b4f27ee (commit) via 4b8e28c79356265b2c111e044142fb6d6d2db44e (commit) via 8255c61b8ad5ac933672d26e5c9454aaf09ccaeb (commit) via 95da9854466ada2572b42f5528711a06a2d42db1 (commit) via 62b74cb8b00ca2b42de30ceff4d2f1552b77a10d (commit) via baf00c2d75351de7a42dae32aea3a71c8902cd25 (commit) via c12a5089640109567e2e06f0c5d2d1bf4fb3f5eb (commit) via 23081219bfe58dd07b1e0a110728d7195155d0e2 (commit) via 214b073cedadbdc7a0d272dc5ede79a5ab7785ea (commit) via 3c5cd5c3b4dcb88da4ff980186b63fa169ba9263 (commit) via 59f413d5412217c5c6f9e25d0279a1997426d60a (commit) via 1332a1400145b5cca04c4d1ea77e0191d8dc5727 (commit) via ba2d2bb24ea593c7fb17f51ef23f122064bb17d7 (commit) via 39bfb9373c5cca78948c94174d46891c1a3d3613 (commit) via ff183b0d8287db69c9fe9ea63cc1fdb51f392f78 (commit) via cf7a5066b92552b62ca4d247c241a19d1a6e599d (commit) via 137b5cbd204241ec47873c353cf7e41b47182d53 (commit) via b15fe636afad8bfef76940823bed96f2c1860c30 (commit) via 41c60b4b2668947726fb5762de95d57b931a3200 (commit) via a1313186709b5d714c44f9a7d4e93ee36de5ef84 (commit) via 7b640f726819bedab1515ce49f03c0de26193b3b (commit) via 98e69eb381347eb06dfedaa0b185ad26818ce5cd (commit) via 49265499d81d40ed07b71481749f35f209521f5a (commit) via 55b6c9849624fc105539e08222fb8ff128a5f7e2 (commit) via 3513a6bb20ef286e303367d4ef4963b5dab877cb (commit) via e9cb46ab59ff2ea94a7fd9fa857a084d3a9b8b39 (commit) via 8e817061976910fd1ac7bb8f689dbd96123ea593 (commit) via 55e99962b24d9f2dc8a64b473259ca12e369fd20 (commit) via a737d952e0a9122dd0d439ba2a2ca531b070e6bd (commit) via e86ca25fd6cc06488c9dda936cf83f0fcdf6b58b (commit) via c1ec8cea7ff53eb76cb7c354b813c67fde755409 (commit) via bc8453a7bb617a5f14a465516f9f87c2ab6e05d5 (commit) via 739e8682ff1cffc2809c91853efeef232d29e582 (commit) via 3a00b02d277023ccfc5ccba3fcd4bae7aa485a49 (commit) via 733bd0abdd059beff9d2c3be94fcd3b72fd44aaf (commit) via dfd27d41831853da1c7694e2d9e765eccbed22cf (commit) via 44846f29ab3a5fdab229cb63d9cd42323ed85767 (commit) via 4787f4a5860864337c4f1261713b9462b79ea16a (commit) via e0c7f900259ee54a6fdbc5d4103f30209dbec1bc (commit) via 647957107595c7f8209686577739240b7a222aba (commit) via 030157d8a65afcc6292a4d3d183b816ed2ff7c57 (commit) via 61a9a607b5f515c50c0a13d7e1b6bdf9d20d295e (commit) via 984ee559a26e138d8bcc1f850c1cacb9eded2b1c (commit) via 7729052b5377bfbf1c5ec5eaab59dd5071d4c5b1 (commit) via 8a60efe714e636c9f958058a8dfb12de81bdcbfa (commit) via 4b2dfa9d877a919e05817e6bfa4eda3addaf1b34 (commit) via 122394f1476b1c925a281b15399119500c8231c1 (commit) via 95228a0d790f16deae3436e18f41b70fc711a5b2 (commit) via 22467434fdc240e7c166f77f371909a8a07fc358 (commit) via 5b372a4d35bd5874c1a6db2b89f42c7ed3097c63 (commit) via e4554bf70235e3ebb10521ddbcbb2bf17abe4865 (commit) via 5969f0dba74e17c694faf333b120f1e0b95783ed (commit) via 0034eed03a7428c4902244a33a286763bca65016 (commit) via 4a4459db18a8dfa5745e129ea5cd654f8db0f2f0 (commit) via 61367c61574e4d1f422e0f560672c4e63116fd7a (commit) via 34a79281e4bd5d1a7f1d22a5a5be1ac2db56a3fc (commit) via 73e1c03f93f0294b464dc2b67de1f9aaae84838d (commit) via e4c4a59b48b2cec10cffac4f562937de00cb5f3f (commit) via 73bb0000525a67694c1e8921e7c34ee0d985787e (commit) via 46a45e9d5b067e484971e3972fa3eae0a224324f (commit) via b66f5587de2a096f357124b20376b2bab980238b (commit) via 6aa7d72401387cacc5a7699520045ce9083a526a (commit) via 4f0420fdabda76f462bd29a02d9be575e0e0cce7 (commit) via 502fe83eb549476fac09ec62c7fd66447791ba2a (commit) via dca08e1fe158d04517ba3ddd7ece9dd1596c8e8c (commit) via 10eaee5f56611ce5f92ccd305849c0cc6addd130 (commit) via 0b8835861cde41744a08f215b48fccd135815b63 (commit) via 0b47d9858ca0805cd52ba959276d08899c7b9f8c (commit) via 0ec9f11447514a797ae13760825fa45f9deedd8c (commit) via 222312d359fe0a68f8583ba315583ee8cc94f252 (commit) via 1869e86f2eb13a9e1d1c42b97cdb98fef88afd83 (commit) via fdbe37e35fed48091296434652101a63fa4360cf (commit) via 421acf18739edb54111b64d2b328ea2e7bf19889 (commit) via f7c6f42310233479ea6339430b7c1ca1f9ec68e1 (commit) via a9660a6f4063c7e1fb892ec709c954c56896ab8d (commit) via 5294170687db7d997a00f88b765ef353121aa441 (commit) via 51af6fa066ee6e4ce0ef203678b3281d71f29cbb (commit) via 64cc34d87089ff24b43e0a8760be132b7afa6f34 (commit) via e7ec8713ec12a633fcdfc5524c9ee050389b6f9d (commit) via bcb430e4cd5bcd913813236536031f1fc7f72aee (commit) via 894882e344735ace5231f179484086f7697d27cc (commit) via 10b2ded43caa3298cded1df8b620caaaee3f9209 (commit) via 4f7deebe0c56863f0c97edfe9ac9931dfdfc8f0a (commit) via fe1658217f3f55c5fb2943715536302ff170e952 (commit) via 92e68c1d65f844c0027f471a0c9e1722d781ef7d (commit) via ac98f9e2275ffcca560eaa0bddd282a1ff94fc28 (commit) via 03fce1c78c01a9b0e30e91be60e7af717a10bb2c (commit) via bb3b5316332875b436b4a88d1ec6968eba46a870 (commit) via 46207bf3b5b9880804ee4b527cc22b314eb5daba (commit) via b8283aea9e599f17dbae7f52223994e3a9168143 (commit) via 121dac5822d98459343bde74d5235b988206d965 (commit) via 099bb8fb97d79d03a20926d6014a5fc27a5ca75e (commit) via d7460de3eadeb5b7665ad8569f54e59eccdef378 (commit) via 41a883c8edf98e86176d007bc8ad1c86c9675528 (commit) via bf259e253f0d27323756fb434ba6e94d50846021 (commit) via d525a99be1b02dda6c69007e31dd06f276378aea (commit) via da505cff6e29b18244dc9f6886bcb4d436263dee (commit) via 29f943408122a7cffa25abb41def99833436f097 (commit) via 716b8bc52eef6044f1ff361e3e2eeb9307849034 (commit) via 753ff9bd837e2ba183e3ff789847a81221561392 (commit) via 5ca3b2605cc9ab5b33032c6478147366be60cd95 (commit) via 3173aa2fc212389268f76433e70b35116a936a8d (commit) via 09a5e1b570eefbc029939fd43c99152996060d95 (commit) via d8dab6c3bbe6432ff20237e621f2f3a3d30d4d4b (commit) via 3c69da406c72423afa4bd0e4fc4c805ec0b944a1 (commit) via 277eb7f64ae0c949715751a382350368ef14e95e (commit) via 629dabe3b731c6194499652301935f34c3c20e0c (commit) via f9885f5602476e402626bf305d6bc328eaf626c3 (commit) via 39f0c2040f13ae0eb3405b8cf2ff6491c6f354a5 (commit) via d392224a0942df2f23b1149a71f62afc7f34beb8 (commit) via a974b5ec9a253d330290d132098065b77f29bd36 (commit) via c8a15b78e676b9101045b729a38128cbe5673701 (commit) via 55063ddb8e9a3179b65047db21f4c8607782d075 (commit) via 02d016b71fd38648fad589c1557b83135b1dd552 (commit) via 7c9ee61b9f5fcad94fda11af1ab7469d78f17fbe (commit) via 0a8ba311d0c4facef158af3d79c78489d5efcc4b (commit) via ffb2b66cabe9deefefa1312ef0b7bb064656e611 (commit) via bf212be198a7dd7700e08862f241ed85f88408e3 (commit) via 99806209a4f89fc76d338982239ab8c214df4b4d (commit) via 0cab2f1e91f92130c5e0d89a99ce639ebd8ec1b0 (commit) via 784e4b3e80c1093203ae1a0da33be7a670942713 (commit) via a3c25011e4b0519dca984d23a8a2843b92b9ce2c (commit) via e80ae1906b63e092f3900addbc869f0836f8d71d (commit) via 45f25d6c83c31a48a01ef8293bb3978f5e58e653 (commit) via d9f6d7f8b636a2b32004273143d72a77d82b40de (commit) via da05d921f0b7b9f9f07ac4e78ee228e7ecf847e0 (commit) via 08163f025e414bd3cebe0adac83ed4a7ce13625e (commit) via 9ef6d1e31f380349c8f329d1adb47ee53ec1f6c2 (commit) via a8be540e8ae8d16da5854c75d4724f3875aeba2e (commit) via ff1cf532dbabdee0d34974a77809bf2fa23d43a5 (commit) via 7ff8817441fcebe3d32343dbd9d514366bfe8e23 (commit) via de54e1a5d231c5857e870acc788f9b843ff5f050 (commit) via 2ac237e52beb08e09037ff917924319246b5ea6d (commit) via b98664d3862579c5a0d23901b1e2fc1f595f39ff (commit) via 4e9668d0d1ddad73af7c20a92a00704fbea2a8d9 (commit) via 43ba33c7689a9eeb20a3c36ecb9867574963ee0e (commit) via 2b9496b2b4781b21bc30a70337e24205f8a923d8 (commit) via 81e25b7c91efcc3ff54605b11859375a5c885c8b (commit) via f2a3bd7da2bcd3a4d7ff33bec738f2ef1c0dacc4 (commit) via 035522c0228be33b2124ada2f178187e7e53aa6c (commit) via 35f1fea3fcd44546a6cf074029c284c64ad25b3c (commit) via 7e947ad3438b2954e0bd248fd2c95a86bd9fe33b (commit) via 6b8edb5101861228778b7c2d014e20c5ba0c156a (commit) via f5db4863f51b83bc6b54504d61e1731011cfdec2 (commit) via cc0be08f80d4348e8f81471c80409710c4d4cd1a (commit) via 9607784ac00f9278094e962963f6271472b1dfca (commit) via 0e9a6b2f040e016c9dd7f9841a0272e488ed2fd5 (commit) via 43c3a0e4735033ed2fe3a4cb65f911cee69f55ae (commit) via 9d6eea31325e4027b5f035e941864fa6d780a8ca (commit) via dd194f6b36727987dc7f0d707512bd886982099c (commit) via 440b7aece49b9a1e9ff4537214134c3cd06425d9 (commit) via de44f5a73576b426b32b605e0d5016d4fae9b4b1 (commit) via b1b60145aedb8adcb0b9dcf43a5ae735c2f03b51 (commit) via 0ec848ad25bb77edd9c9c3c097c3dd5b8874a6c0 (commit) via 0fb2aaa15e04238644471f7d89be3667784b19c0 (commit) via 2c3305f6b0432e37d26ce7761d0c4415ab5ca911 (commit) via 1d75a65809b49d41e97518b99c551a4bb2517500 (commit) via d078308a2ed1290e587b4365e2d7382d951a26af (commit) via 7273b5fc4baef93f8caaed678476e8cb3625338d (commit) via 2e077f5e67aeff78e096a250bd225cd4658a35dc (commit) via bd64614eb737096f40b976fb505ddd42e7f1614c (commit) via 241db429d5735ae8875e38991c82204b310c2ff5 (commit) via 215f527155ea776fff3f2f836d5da1e300e8c370 (commit) via 7455c018e45766ab7193cbd45f98f781e0dc7d84 (commit) via 29e11a0437ec618a8799dd152ee8a7b9bb9c172b (commit) via 34a87bb07a4a3b2202fc25167a6b0f12575edc87 (commit) via bae363f1146378207e1dffe5f23845644a1d0b7a (commit) via 75d74ccace05f6166a45dbaa352abf753891d3be (commit) via e54bb2a017cde382a38ca68464e287893a009dd2 (commit) via e4439e4346ec0d2cb0e65b497d26382e1054c93b (commit) via 98553ad33eba6353b0e4181ae51dfdf2d7e652ac (commit) via 122b53ea6a99c8811fb9cb84869b949b1ac55b22 (commit) via bc18fbb575437dd10089ef4619e46c0b9a93097d (commit) via 790217f6736cc0f0a177a681ba1c7cc5f995cfe7 (commit) via 6f46ac8531ead61003c96b8e2fa6a383ea8d8c58 (commit) via 15b6611c69f6fdb7a20cd50d33d9acf8c5c32037 (commit) via c0c9f665d9d4cdcef59cc7951396d843a7ea6a48 (commit) via 22ca247e9e29c11ccfc99b5d187c7dc925608b78 (commit) via 184cde7552b5434196b8380be23b39ff4a5a17e6 (commit) via e39db4db7c553ae1c4aaf158cd0ebf3cf6d478fb (commit) via 284a0e3cbffa92ee5c94065fcdd5a528482344fc (commit) via b1aed5de0cc075ab5061453f88cedbf2d3e97ff6 (commit) via 205f121826140cccbead2078006fd2545a87bce7 (commit) via 59f66be3aca7ef310c1d4464e93b251fe87135e0 (commit) via 50c65c2d60b371b8b85a804a5a71bf967ba9b355 (commit) via 2dd50e74b7e313e0cb3ada6da2649b1020f9f46c (commit) via 97373b2eba6077d5059370a95931b93a8b118813 (commit) via 941036f4ffb95a553fd1a0c44313d72ddcf5cbf0 (commit) via 7ff8cb8c51adec9cd1b461f9b670223d01223fef (commit) via 7f99954970001cfc1b155d877ac2966d77e2c647 (commit) via 400174b12a46fffbfad7c2504c33bb3ac29f3ef9 (commit) via 3063847f29cb83bae0cdf018c2dca68b65a50780 (commit) via 6487709f3fca687ba1420b6487db5cd1e7cf8cde (commit) via d3d02dee8d33ef46ed91b3e87ea1b377b14ec845 (commit) via 1d143c36eedc0f0b124e6aa6fb3b98b1e6ff74b0 (commit) via ce1e8424c69793139ec8d2a60c4a21ab136ae9e0 (commit) via 7b4ae824289504c173a597e86a00ceab452095b7 (commit) via 011b32fd4270fb7111ee1f63695ccd44562ee7df (commit) via 4bba0fb1c6d391a217c25e44398a7e1c7090155f (commit) via 8722de9c419c98ce2fb1f294097244c0bc45e030 (commit) via 0b4395434942ecc6f3006004784d19d9a4fbbf55 (commit) via 29e0f0a144fcabb6fa088c58b49e5924d7c43967 (commit) via 838c49a4f3df728ed08bb77fb86ebaf199747b04 (commit) via ddfe970e6bec29f779a60b071f12590e53cfe6eb (commit) via b17992c1c02a2d8a832a887c2de23a7f3ab869f8 (commit) via 58f0c71853f98afe623ab89c4362682885905ebb (commit) via 809276d28ad0212dd5a3f9074090e1425e5e4d8e (commit) via 3e6188349fbf16e9da69837e5e1211537805e422 (commit) via fe10fe3131e688d528877706db1e98e15434c0dc (commit) via 1a87f0eedcf3fb54b665d6c92007c721c6b25218 (commit) via 1d7611244c140a1a08f3365cd5881120eba7749d (commit) via 49d519ec2fe80b48f404c0209b41bf8fee47cf39 (commit) via 1624c9ca3fd32bf25b2cb63f99270abe41f718f5 (commit) via 06333fea767dc1eaf88ac286293fcbaa0ef2de9e (commit) via 921222e2e8e8427c6a609b1ff66265dceb0d07eb (commit) via 3acb7083a675fb3077739a2ae41a4a4cd6ef9cc3 (commit) via 7cf7fcc83ca9fb4c4b591b3142bcf12e6e8a2aa5 (commit) via ff329288d503d392de11f34ce64c7fdd3c62e50f (commit) via 0255c1a349ebd368c4c1bafd95118e7cc71eb973 (commit) via f9830ec1655e7cc2aa88c9c34a20503978d9dc88 (commit) via 7d02540ab73206249779ced77a6abe0be156442e (commit) via 561a72d4ddf825ffaf8e88551e9bd6707cd6c59f (commit) via 4e6ff0e1b86f736ba20a5034509ffe9f8f05b971 (commit) via ea33cd9290063d977fb2c31ea6a8567da585ab88 (commit) via 0726fcc61a8b7c943de513ec598b2189c5f67715 (commit) via 810ed4db984d378ca9c8e3d152966fb81c23ef95 (commit) via 1678bd35a35a3bace2d4aee39b64d96c638651f0 (commit) via 293b4d4fe9f8a9624531fdd37f365d1b683d4623 (commit) via aa82c0d347b6380c0d80263be0613bca88ca4536 (commit) via 679ca9753b0176852bb28bac335eb9f0d3e70d95 (commit) via ee7545fe36b20119c41124ae664804ec7f4f825c (commit) via 2d79090eabe8aa972b07cb71a3dd73ef9498acfa (commit) via 864bb26cb34ce6f0a85f83ed38757d5512d07b2a (commit) via c3533c4c7c5db84b27e4dc8994a3c3a893077c03 (commit) via 4ec0995016801cc5d5cf13baf6e10163861e6852 (commit) via 9bc935ef3380a2d471b9447e2bf8e61297654e2f (commit) via 85bd2d83f8a3d813718418df11c2bee2a50c1274 (commit) via de7bbc27f9f3f1bdd2fb5c0cd1912937370b6362 (commit) via 861d86514a78b9215a67275e15c30242ccc2d7c8 (commit) via 9933dc52736dd349503e00a68cd0b9be4388f5a9 (commit) via c64c5aae285146dce98f651d175f2ad1a437074f (commit) via cf4912ae570ceae019b344785e4eeaf8cf273df3 (commit) via 67e6f569eb32332b8a70a919b0b14012247d320a (commit) via 3afc23a6817c7f9da663ec87e9387bdd8ac33ae7 (commit) via 1524450719d3867e10fc6a8dbc051b8dc7924898 (commit) via 451953fa440aa0ade02b652159155fae689483a3 (commit) via e540a5a22319f2ab5661db882639839d1d867542 (commit) via 633cf2548bcd3dafe297e21a1dd3574240280d48 (commit) via 702dff05e5fb05b05246dd04cb22b5802bb94f50 (commit) via 55271bf969c2c09b98aecd97b36170fbf76c3fc4 (commit) via 1a34f210bb9389e58d93caf4384800934fc7113a (commit) via 6688183925d82d4049931e95bc4e963ab66e770d (commit) via 58ed5c38f52511e73c9748b86c319320177fb0ca (commit) via 190852c8ac75cb62a737c58edfadfb0e1fcef78a (commit) via 7dbac825b09f0847e608b50c80db816ef20d9315 (commit) via 906994d9d50eb40dc89a5bf0830e15ed10938641 (commit) via 637b19704cf8325875de8df4f8b000197d261e3b (commit) via 8727de56b0dbe25b7b4a3bd04f72ac41992463ed (commit) via a45a8f9178448171b51d9fc80d45ede73e99e399 (commit) via 6fe88226c25fa3fdea506538688897272d42822b (commit) via d0ad159d6848fbd42f5c213f8b051735793101e4 (commit) via 06cfb1c89510d08217da8b3ccea05ecd4cdb5bc6 (commit) via 37d9e0623102352e0ae27c311760a9e6569ae5e0 (commit) via 60cb2c8a331ed8e4ad20afc51f9cdb3d8d18a869 (commit) via 493ffac5aad8c39215702435c2506fd4d3077191 (commit) via 84f9f8c33021593afd79fc89cc419db44f7bc112 (commit) via a7287b941e83afd99d8d1054730a9b28e4b57460 (commit) via b4560c7d159f598c82a64b214e30fd00d88aa1fb (commit) via 53db9cf9fc363fd8ab3a9d97cdcb2ea1f639a243 (commit) via 937d92afc38858e21bf2a8dca1262959ee26d7f0 (commit) via e6f372ba661bb0d8eec1e22a6dc1ad9937336e4d (commit) via 7402fbcae1c282e27aafd5c5c90aca7eabbdf45c (commit) via 10d980882987d8cd9b2e34651faceff29176148b (commit) via 8ee22052f690c007556b97eed59f49350ece5ca9 (commit) via 886d542809fd73fba55ba72da1bd64ba50164222 (commit) via f413a91378902aadbe4e338a6dc8f33f5f7148a0 (commit) via 7785df4880f3828db8cf1715038127e6b858a670 (commit) via 968ae51bac6201d2c63e0c2b4405832dca0795f0 (commit) via 95a6d23566165208853a68d9cd3c6eedca840ec6 (commit) via a87a64780fde9dc8d1c3af8eda93fc1b878cd3cf (commit) via c0a30a9f0ab48fd7cb0fed0cd6710fe478650a7f (commit) via 75c0a438994f00240ecd1baca3e3c11cc3b219e5 (commit) via aff689d36d66dd45a59008f3778d3d22e3cfcb9b (commit) via ce887586b48acd02080c36d5495891116f886e8e (commit) via 2ceb7719f763b9e541a379d8ac7d53a72794fdd4 (commit) via ce4ec1a9b6c442a9feefa18dd8734372a718665c (commit) via 7bd8862c3ad0ee291d27837ae3cd30288a00b922 (commit) via fe5bc53b24ea5b61b1ff280b737db5ed14c00142 (commit) via 57930ca905fa38203fb62d8786bab4fc6cf42a44 (commit) via 6ec91bb19f9b4dc97f11c695f193990732f70192 (commit) via 82cd47d5d1d9b90fb4c74a3119cb39472d36b11c (commit) via 85e26832a019ffc00dad9f1eb7e670b85c8eca7f (commit) via 449b1ac7ad5f3da9ef689c91144aa057cb253df6 (commit) via 15c9ffd6977a93869243dce04988cbaa8340bb00 (commit) via e3829d13f6d0615f663d2a85ef4281a4365a947c (commit) via da0e15638de59238ad811cdc3cc1d1a7803829c7 (commit) via 0019cd49ca954c03737cef3a8ee60c233d081d35 (commit) via 565e0edacc48c86adfb12515ed6911c08c1f64d9 (commit) via 621846f4e258167be2147894e013c85e42de1447 (commit) via 86a73007627a3c52d1c624ed430ac0e74fb8cc3e (commit) via 4e6fe7477a4e9260777cbaa01f70df7ae5f063bb (commit) via 56bcdbea2bed27ea83bf0e4fe472ab744b4beaa1 (commit) via a913fffbdee21fdd50e8de0596358be425775678 (commit) via 60b3cef2e49ba72dea55181a8ad0cb8dbf3f8a5b (commit) via 7a2c85f25977ff9b11728ba85b1417538e22c246 (commit) via 295dc222a712b700d9afa7e2462a68b866b120e1 (commit) via 1263a9d5f1c6198cdb4e73bafe86ca451d35684d (commit) via 12973681f5d46a2407a8dc97c3352fa6c9971716 (commit) via e2fc72e2c594968084b936bc5dc4702a2c0694f8 (commit) via a3b60e4588606354b93508a0008a5ca04b68fad8 (commit) via 45fe4a03b495f778013f0a0deb06512913e1955b (commit) via 05bc7456b872b81044d3b0e7c4d74c1de57217fd (commit) via 2f433492bd9dd3af10aab8d92dc0bfbf8ff6c5e8 (commit) via 9be2ae8fc6b908746d9d7ebaf77aec8abba5dd2c (commit) via f0b3976bdcd29e308bed185630a24806037a717c (commit) via 862d101ada6b6e8496e545c0bcd801cf8b9a46c1 (commit) via cb7de75eb33b2ceda391c903cac5e5ed63933b99 (commit) via 49d83361cda4614f571f46c6bc0464092daf3dc9 (commit) via ade72a3453670d518ba14fe47bc7a64df81ce766 (commit) via 2be4d7f0e0f733ba0acc2120fdff62bd83fb8b3a (commit) via 69b6ecb049143078f43a9372b68ac90a4601dc8c (commit) via 11859c310cd6b6fd892337a5ee1d36921e6d08d8 (commit) via bf27f0e2c76839af8524e053cca271934150a90c (commit) via 089a949083dcd5c679376033e975d54093007408 (commit) via 602f16570454a1597c2af28af66852133432d1f2 (commit) via a27ca19c95ad3ebc5bd73f072facdd71b5a976ad (commit) via d1e9de16dfb8237307e12945be5a1010e91a4dd2 (commit) via b5e2df0d1ab9d62dc6708fcad94c6f0649f7892d (commit) via 4ea17de8f1985273215b515d48fbd59b2ced3cd1 (commit) via 9b0797e268d96e8b46c328792aec3d6289585aa2 (commit) via 3be08ea4728b56d35e136af4e6fd3086ade17764 (commit) via bd732259bd3bec9494a2f1f39f74255dd4a9be85 (commit) via 7c8be091a26540a834797715434820112cec838e (commit) via d9f719f1adb653ab40a55e4c1b8c300215b400ff (commit) via 135340afdf3b333cde11e4429fb16271d5170335 (commit) via 57810aa7e8032c598897454daea14ed17df0f89d (commit) via ad6a4e2dd69f9d343864181b638e166ff1458861 (commit) via f6ac5f3d63e03a81c4ff3749aba234961cc9090e (commit) via 3fffc0701a26bc0baa563fdc793cafb3d3f02a93 (commit) via 6798487f5bc66ab9c34ad81fa28ba25d32a00bd9 (commit) via c1955e179201e76330a10c400bfa92cab2afbee0 (commit) via b5c8fcb1b40a61be5015b02e8cf456a56c258b5d (commit) via 77d3c63b0dc9d275a87d4ea2191ebd3830f6ca4a (commit) via 0489430a0e1a3ea302c22c540f3629e471591f23 (commit) via d966ab2dc5c10626a1389c87e9bcf924a99e9dfb (commit) via b3ac5c6c286c5b5c1909628e85754edfb403cf1a (commit) via 8e4bd9922ae37809021ca660782295fc2de3ee73 (commit) via b5778783adc7c3e69b02b95d77a08285c6259982 (commit) via 1063beb58c9a2f69913682b6923b08e6a7d192aa (commit) via 1632f8baf04e7351f387e58957fc04498d90987d (commit) via e31efe56455e4a0e84d2157e942e51f8ac94e9fc (commit) via 0ca1fc291305ee1701b8236c0e26e8d8c5eaf0a2 (commit) via 767619365467fd825c6f3906a49d97a7a6afafd6 (commit) via 2d33446d4d58edcf993f42957cfe9627c88f112f (commit) via f3c6ababac34f3a291997f8d5ea6a63949b58b87 (commit) via 40c03530b197d8d6ef550283ecd6684e8d49301b (commit) via 2038b7fdf30c39bc4d528cc2e5fbf5403e0ba79e (commit) via 4904c3c6b69d5c7b5e4682220c1d9503e00a457e (commit) via 7c66fffc1f3dae0b921ae3cf8139824804cf0705 (commit) via bbfa6f00867946985b954bbec233c0f25f14ac5c (commit) via 1831a9f9d3346dbf61202d2aba6935f0093487dd (commit) via 7c1b5f3db73d7ecab03dc4e866e291582935fb04 (commit) via e11fb955fbab035748fa53ffc30c103157a284b6 (commit) via 2fff16dd8c25831fb5fbf198ca86d5befff629be (commit) via 6d7bb8246b3beaf60ea9c2abe183705e876519cd (commit) via 007e1530347330d4dbba387c4e35aae05bc06498 (commit) via 2b4424c35b9ebabaab8588b2ba6c38935a48efec (commit) via fe944acf8f858cfe6bcfd00670a88847a464717c (commit) via d33bc52e51fdb6c464c1c8e8fdf9b2007b522b57 (commit) via 425050ff8dd355e315fa612f25c9588f9cd55a1a (commit) via e28b63a989caffa4a6fba1aaf0d8992b37d13da8 (commit) via cd8c76e410a5f16a170cc680be1ae2ecb5528821 (commit) via 1c831f565445d824811ae43c81b094459458eede (commit) via 0d40a647f206dbea61efe81eb652c0c4892e3c50 (commit) via 476d250ee86c37386b02b0634a59aae13d07a038 (commit) via 6873858b7e464e114f9a877e216949ad8350b4cf (commit) via 632e107b32c0fe8aede62e070b00756e9fdd2c01 (commit) via 197b262f98ff01516921b3d3056d86a9577535be (commit) via 6d9dabbbc6e5205a969cf9643cb8040842f5e313 (commit) via aa178437393fd97f706c3f8bdf60ab2cc53a8cb4 (commit) via ffa389a39655f4b35d583783e49fa5b31c288e8f (commit) via 04383fd15b3b82d824df9c72e3ade88c43bfb5ac (commit) via ced8ce28a4f72cfd8eaee0d17cf090997cc2fab7 (commit) via b75abf5bb636869fd893ecf98414b8b2fe0d4a12 (commit) via a914a7c95895161c99533d5919b8504b37ea54a0 (commit) via 0df8ad28f0f727fab3a696d6c98b9a8a77ee1024 (commit) via aa684341294a9125c528041f81d17c488bed5552 (commit) via 79188d8d27a8885aee2ca4ff55238219a6aa7228 (commit) via c7075ad5030c4c2e79a04f3517689b751ff41860 (commit) via bfa5bd2ab31a8abb23cb442d51fe6c3836028880 (commit) via f50776aad58a1df6b8f7f2a7d25a3b10aa074f7b (commit) via 20944a6e20324cd897bf6c4c5fd20ef7224dacaa (commit) via 1adeb822668d3bd7182ca9b8cf42a7261deb3c7f (commit) via 42ddae103c9eb20fb87378548ee95b4bd23648a5 (commit) via a0aca7b0e13d884f43ba77c4c6d752d9140cb54b (commit) via 76af0f26356580771a18c37de4ebccdfbc449356 (commit) via 3467ec66bc1f30cf3ed7f9fe75234c96fc9c92d5 (commit) via 28f4fa4d0540ac6a23930202f39782167667e373 (commit) via ca31ab1d675c1e20cee5f8cb213c52e3d7352496 (commit) via 8388016d7ff8b88d29f2427963f26a6b8bbb03b1 (commit) via a376e11d84ba7ea8cc7333c77043e20c7b0cfc91 (commit) via 02e169e2dac9b0354162eb0e7ee3fc95134b232d (commit) via e2195274d4a0752459ea89ffbf50b2704fb0c0b4 (commit) via 7a69eac330adff3913a8698eac450cc7968ba8b0 (commit) via 1d3f82868db8881cd9ce79ad151fb0a7ebeb2c5a (commit) via 59ef5df41e8a2addac4c74bb838fe8295cc79ebf (commit) via 6e041cf4b0b00e85bee85bee98c411f16bd15747 (commit) via 1adf7f5604558489bca6e3f8e6ee5e12089f06ef (commit) via 0e0eea782025d92f894f6d132aae2507c6a90a7b (commit) via bed3d976b7a4fd111f3e291f1bd896cf441b3479 (commit) via 48db9223e95625a2156f60e8f7f339e4bbde3533 (commit) via 2f1bada2dc2e7215cd633b6c39a6c31dbd875bc0 (commit) via dcd7e323760ab296262a2e18e9869d37ff59f340 (commit) via 6b8d358865b10f3f8269d0d89ece1b19b114be0d (commit) via c47b0ff06d0d17be67ec76cb5e661083901cfb40 (commit) via f1ac0afe481e83c9a33f247b81fa7de789edc4d9 (commit) via 59029f57eba1763bad67167c2805d8df3dfa2285 (commit) via 4b86cbe91c130077f967fa84b0abdbb68e9ec742 (commit) via f350fc2e37d79119afa73361f331b8be1174cf40 (commit) via fac7bd6475c4058e7c1e0df29dac50579e427b34 (commit) via 29e9b073e3b356aae4c249bf3e265b2a608aea6c (commit) via cb10292c2a6c26349c02ec275e4087147fd1cdf0 (commit) via 5c5a4843ec385a60954fbbc4bcf5b64763639bd3 (commit) via 7801f98f84fefa495941c86e2a859ea8c6c37770 (commit) via e8b09b87102504a110f839e67a712094d63dcbab (commit) via 188fd7aea619d9f66a822bad881d8f56892b60aa (commit) via 18a203380502fb3ee75633fd464faa3c83cec710 (commit) via 617a5ada88c7d4b6aae201ad5b295f3d2ef07c10 (commit) via 249b57335279b1051456884f1a908cdec907f43a (commit) via bacd145775e3ca1a9d1a6d0b65c4ba10b307e167 (commit) via 10bba94bd44045559cfd048cd34376090dd8107a (commit) via 1e84581ff0b66168d15270079e8a4d2d12948925 (commit) via d99b4b92c8ed0f7ef98f370bbf65a360ed66ad7b (commit) via 651d16203867f8013a0f78a2f2e24df8c02d1377 (commit) via 2ac93be706418f3b2aebeb22159a328023faed52 (commit) via 00ae6230f072e5f0d570c29985f5526cd6bfde35 (commit) via 890d155592e66dc01fc4a9affba806c4e9fc36ba (commit) via f67c0c9171508672167b6868c67211571421a1c6 (commit) via db0c309f4011ca94a4abc8458e27f3734dab92ac (commit) via aa4a8c2a2a67545e90c877162c53cc9de42dc8b4 (commit) via 0a8ddac418d3e8e12a1bb51c3b0da90155f83403 (commit) via e427af1889e6d169c3390f6960f1efdd08dca883 (commit) via 05b1d8d6fcde4805d25c9121f5b051f59580887a (commit) via 0f703942d7c4f373e2aea5000081dbdc9ef8e2b1 (commit) via a95c7daba4c74e61ac37ffaaaa0ba49bf16e474e (commit) via 458412c36845f20bcfef47eef3005fb2054a7695 (commit) via b9f26d2e29bb56a0404216c5612d6d7fee54a769 (commit) via bf82069dce1b1a88560e5d7320342c78372b627e (commit) via 5a6312e8c015d4a98020038f3b6e144db230f3ca (commit) via 5373441d20b652d5b0332b6cada74524af3ae707 (commit) via db86b02b3ac8426f3fc0754f48f3645235cc2ae6 (commit) via b2c5b54ee3b2906d72d390f90722d517e2f96e85 (commit) via 00aecdcf6224e44fedf31a07340e9da11500fcfb (commit) via 5a8edf8ece80a436a0ed786488e8e772bc515fa2 (commit) via 3d75146d2baea3ad8e8b3a099f0255b71389d86b (commit) via 7106056554c9f25e9a857b69b4595c9b3c7c4639 (commit) via 5c8f23cdab2a7cde2dae6fcd5f9b18d089efecaf (commit) via 4352556b36ab4f1c6f81a0ac3daf4619a419558d (commit) via 1a1de166f4e18227760b42301e3b615d71a62dc8 (commit) via d27d16bfdc3f275b379793214db9bd9467b6f0f8 (commit) via ebf7373d2f63c7d50f3620bbf0165370cef60813 (commit) via 224608c3ca1575bcbea82562f05d3fdd0390abcf (commit) via f31c089e788f7b45c9030ac399cd34eb3ccdb9c1 (commit) via d83d54033545c0e7b668950b127753c88a33f950 (commit) via f6a8b8c7ac2d5369070a6b76a94ee0f3052433ff (commit) via 8e415ce8fee234cd86f29d8f4ebbbdf0f9c0b031 (commit) via 8dc99ac8fc592b03907fbce5591543678ca4b907 (commit) via b319b0984b505e9a5e653c3da8ae7d5af76c8f28 (commit) via 3b74854b8db5836707af828b256c1322a71241b3 (commit) via e98577a9dc4da048ded601920dc6471dcab375aa (commit) via ad7fc756d12a841d4b8dd707568426d875e26755 (commit) via d278f585afe8e096e9232b8fd80404ab5fae5719 (commit) via eee8a18dd2d4b62ed5e03324b099508717886193 (commit) via 82ec9bc7055ca76f1f7dd344f3f58bf6aecec7c8 (commit) via ea3e7d717982e3c467edc7886b1d6cc2807195af (commit) via a7504f87d41694d441fabb3308631df4d2750c24 (commit) via 82deb12e5f96af0b767abf6ec83d5e95f408c8d0 (commit) via f792cedd00443d453fa76c2e1e239cc08546b7d3 (commit) via 3596d8ceb2cdc35b4fd702ee9daace5a2d880174 (commit) via d9dd20453a5e1ace27b71c66ca2b92f49c7271c2 (commit) via 8f56f7a23911b6a48b372c8f0893343bfe7ed2e9 (commit) via e4e6a73d26ef82622d3bd190749aad508534abe6 (commit) via c65c21e1ffd1e02d9970a4bca0b7e384788a50f0 (commit) via e2e4f0fdfd81c7871866d4c99dacc37b6cbe64a6 (commit) via 884d4d8aa754da5748ac4c48bfc30f43db1945f9 (commit) via 9e558a506b5d8ef9c807e9915b33e66c28b833a5 (commit) via 3f0a5f17d7fe1f3d0911ad67a5993be59983fb00 (commit) via bedda9aced2b3a8ab05e0fbf1372e394e32afbde (commit) via a037790ec570ae9f9bf535cbce25f238f90e8b4a (commit) via c7dcbf88c6557f35d9e75ae6223a3e61e1f70578 (commit) via 808346fcfcff1c3f2471c98e48613afd7bce3679 (commit) via c4a91159afa222c1025f1535f42e382b91dc6b73 (commit) via 56d8f8a952f7565e8c2232ba57abb9f8d114ad70 (commit) via 6327533b1fd29fa86f6bf34e61c332c010e3c689 (commit) via e9301e762ab6d533f7110d6c9c1dbe8e68e875d7 (commit) via bdd7c8fc34dc65806ec14df84c76e17690a16f50 (commit) via 6aea08d9f3e3d6475a65454da488a0c51f5dc97d (commit) via c48935d75f720ecb006c81b37f4058e751f1dc31 (commit) via f954747f10467071b0acde07ee5f5e268ab606a6 (commit) via 0d6deb358dcc45315bb35cd7d0e1b50ea7cbbf9b (commit) via 07d28c777757148d13e429c4463da52cbb50d297 (commit) via e3a91079b5e5669567424d3b2f31b48b7b89ef72 (commit) via c77852c8916415b089e56271b6ab9f793fdb413c (commit) via fc7aa874aad7eea29014c5591174d57f81500d69 (commit) via d7867d174c060f65dfff61e7db7725b30b1e1a32 (commit) via 8a3de5e1a3fb7bdf89195388f127ecf429294f6f (commit) via a2a79012fe7ad4bcc354c14410679ccb705d5326 (commit) via e9af4700bc7435e593dd74d4d2e099b3d7c01eb6 (commit) via ddb000396c9246649e02669e0bd6ad3949973e5a (commit) via 5452f388a51463394553b29469e32e7765d874e1 (commit) via c9098af41e3246586a30f4f0bdb0ee4367e9a5e7 (commit) via dc12032bca08554cf0a72d224e44f755f7789ff3 (commit) via 211dc24b8744ed14ee5c293e7ac164d02e1fa1fe (commit) via 4db9937a27496d2f62ac1dde76565809acd4ecde (commit) via 9f5d15933be033c9d54e41d605d7824f57fbed4e (commit) via a9a4b30244006a0087c5a7bf73cbb13927f1d9f1 (commit) via 04cb01fd5a3bc167ae26486bbc2bf941e96ad805 (commit) via c2bf1eecf99abc4d546bb52a008a25e64a29d85e (commit) via 6793974daae8ff3f8ad4e856a9f0e3bbe4fdf9a3 (commit) via e82aa7944d2b00c54e9d3c1a47c5ed4a0e39393a (commit) via fe0bf0fd57ea3ef8458d2e8661b428110fc026e2 (commit) via fdef3943443987525aea4f3ebe1f569f7070fcc8 (commit) via de96689e03235bfd65a33704a9d398cb666140f4 (commit) via 5972ac7375e9b6a6f0c4bdef31d3da574fb1b65e (commit) via b4b594e304d44458e25e106ddb4824a37aaf556c (commit) via fceadf09517d8b37a0fa77852e26a789fc160d94 (commit) via 5a48b83f3f41236f56046fd1a1354ebca789278c (commit) via eda4efb12763893b8a49c10c6f2823a465c1c6ba (commit) via ae1d38437284b31d5a1c604bcf391d4543be00a5 (commit) via 7c31c22f1a18d91e104f1ffd5df8895d2459fe48 (commit) via aae8280935aab812c3666d1c5c0ea099e96927cc (commit) via 702d167134149f420ea3bcbc194d63a2653a0c27 (commit) via 03aa968462e0345b2d846ca240b8c723d713761a (commit) via 24acfe5e2b7d4e6c0ccb72ffffc349d7fa88838d (commit) via fb70ec1714f6be66464f5a9dfab1681cf8f4ac3d (commit) via 68e91e42492551e165b103d819c021c4953da10b (commit) via b744723f571815e6cee43df371c8e733e34e1edf (commit) via 4a4495d62d185bdae17ed6aae6ea8249ad07c799 (commit) via 69f90c75b369cd2d66988a67bbc2a000dd6b9816 (commit) via b85310e1ec0419c4e1ca091cdd48f7597ebbefd3 (commit) via 1d509aa625f891e20b37b8cee4659771e87b1ba4 (commit) via 7a2711e437c50041c0a83761a90ea5e6c9ad8b98 (commit) via b4be9bfdabb57f40656e72a50a8466af4f7bd37d (commit) via 53d7df28bcbaecaf2dca7f8a4bf829e3dd786693 (commit) via 70b33f195b0d76e140921db40c0bea5a7c9abc42 (commit) via 436411b1c6cb93541fd502321cf5470fe0392b91 (commit) via 86c6c6df007cee29f4a723df1a6af1889183fb2e (commit) via 67f846b59b32f3d704c601669409c2584383fea9 (commit) via 73a05be215ce8ccd7a6623f9a24d86223dd7d2f3 (commit) via f7ebc2b18a48f1757b20de5408221df18b3f2262 (commit) via de89d0a34d52a2d2d28a4ce569e926dd9c7a7d13 (commit) via 6295b6da16f73d5113d24424d1897edbce42bc6a (commit) via 50146e7022cedafe615bfc9884358d291a00689f (commit) via a8eb42a8b7d48ff6bd12ac83b0e31967b4f5abf1 (commit) via c43b2c546be1fead208b816b59c8bdcdf9562571 (commit) via 20db9c52a2073246a5c46a0274569e10b317866f (commit) via 5ff79300aef4f4c991194541ec3ad9a2618ff24c (commit) via 18e404c4e2eb15443cc6dda93cbd38bdfeb17667 (commit) via b6572eb07009b41f192b494e761f43dfa7a9e324 (commit) via 6e22e10d63addd60f39114cef81ade290b15b2c8 (commit) via f50d8a2eaea045cd6e9b8d6d5cf8da55e2047ffb (commit) via 731f534f918cfaa35c20b5eb6220a8eba4819f04 (commit) via d4ae1932770d9ec76f3d0a429aab45f1cb15e964 (commit) via 6c7c5081f01c8fc04474ff858240f1c3cd900d6e (commit) via d5f4488f09b811b0ca44e687da2acbc286d84d4a (commit) via b24531ed171b5751a3a64c461728c9ad62092c8a (commit) via c252925ccc8c3c2ce2a65d12a50acfee53914ce3 (commit) via c9638d2669ced9348eac869dadc7be24df85a9a8 (commit) via fdc116781b03f5d30e93f5013159f39c4c0f3471 (commit) via 8345c4a2670711eafd41c8b6a8726cf8b0771d6e (commit) via 7adcdf08e792dc30e09af4eecbf1e479a2f56612 (commit) via 41260ac25d541d9bdd039a0ce82c9ad31fceed35 (commit) via c4a614e2395a7673395208cfd55d590e3c6c114f (commit) via 0bee6dd4aa42b928c2a7a496596490b694e5722b (commit) via d52e3d06e5db7041913278caace3389504c0478c (commit) via aec2e0d252342aa7575aff608e999a36f27a9147 (commit) via 3f97ba9fc82dbb1bca72fd8a137b2de132348367 (commit) via 9ccfa98b4cbc86ac34734ecf9d35466461c7e34c (commit) via 3e04d7655bf63f4e5a0d0354c21aa3fa2ece3681 (commit) via 23cedd1dc90d05c4b80d4a4b000ed5f37b9c3268 (commit) via 2d7ad24e8726ba4c45c9e67be08223a146a837ce (commit) via 49c09209d06885dc8350042ce77e442bfbb5bf27 (commit) via 08be322439408ac02cff2ac9b5eca4f7243a0277 (commit) via 37da22e5c85375b30e1211ecff1b261f425375f0 (commit) via 51066b93507b79e46bcd6c998b760a2fd4b3d0a9 (commit) via ec5fd53433d354608013e86bd8cacce044a030b6 (commit) via a0be7a3671e6252c0f3353d128f84c641005fa06 (commit) via 9b73db36739a72d216eb14d35edac2acfca7faa3 (commit) via 6f14adc55864818ec3754460f5df4150c2addf42 (commit) via b2bdb8cf395f491319264cda42e41538f55a86d9 (commit) via b76e467de35d6b107edff1d4b9de15fb7ebacbbd (commit) via 12359b5e8f2a4034e1e4cd7f0b454fb03151df4c (commit) via ff4c9fec8413fa4e0b11ef092a86669305894a7a (commit) via 5ca3fcb669bc655e2e79866be086e8ac564e472b (commit) via b2e586e850dbf1dafc10beea3250d22e70add4b5 (commit) via 7c4e78cf63f6436ae43e8289badba78d81e2eb2c (commit) via 5dc026d3f04ac657378308202ff7d43a1613f14c (commit) via c912f608be7bc2598b919da2b11721b3c262d154 (commit) via 26540402495f35d5f19762ceba66605bca8fa63b (commit) via 9018be22e022e6db2ba07c4e407c7244022bc69a (commit) via 43193fe9fc39138c912095ba6f21c4302abafe5e (commit) via ef4bf13b1f47b59b69335178367734dfc9ad166e (commit) via 14c88955a138c24577e703d11f4d25c44a64d0be (commit) via 0c7e6dd852f01b3ea38b98c39a2bb36280b02b55 (commit) via 2c8331b987f41fa53ed371d0bbeaa3cea50bd514 (commit) via 466ce3aea9cec006b8b0e348c9021ac2c8106022 (commit) via 062d818d2535d4bc9ccd5dbf3c6702b9f3e763cc (commit) via a6535de1903d9caad8c10c1d81c51a29612456a6 (commit) via b562120198d9fa2c191823508813daa3b62a3a37 (commit) via 4d0266a0e0d9e9b615b04ff209a73d3725495835 (commit) via b4d61099ba840824fd0aac9800403f6278476347 (commit) via 9b5587295bbc57e5e0453b659e24d7c2b504b894 (commit) via 850645cfe82f5854af90ce73f2056712e20fcea2 (commit) via 22bc8444e6d377fd016253926c2a2597ff944842 (commit) via 7f8a5d38ed00ad4ecc920322c4b852f3cf905a94 (commit) via 2008a0dbe3de7206a14b53a5778af73cbabfb57e (commit) via a6fd92b0578c5d2172799d7f38ddbda1bd87ea03 (commit) via 85d8342bee77c2e1654e1d5e6956dbf357f30e68 (commit) via 3cba8b6c93ab8c573ba4678255df11486de61c54 (commit) via 552d4da4178cc5e8d567ee150462a28d51f08fc0 (commit) via c54b27d1c04f53043688d5d3141e74ae5c23aba8 (commit) via 2d8c1a2318a75f43491bdc7acbeb24590145d7a6 (commit) via 494e49c9855c75e5cf95a2c031401d2d4f5e21fe (commit) via 67faf1f4c206516837fa44f6b7d131966be6bf0f (commit) via 043e9508be0a4ea7ab56fd5716e4c06d609d13be (commit) via 8a76bd3ba43205b76226f41fe73e2840c2444742 (commit) via 8e8d776ead8187343652bda8aa373babe505bd4e (commit) via 9b2f85815c57d2eb4322a3d87464b5686cdbb391 (commit) via 459a2e4ccf9aadfba9819facba1c9be5297c1625 (commit) via 9be2c17a900178df75a2208fd112ceb4325a70c1 (commit) via f73c6ece7888af880d3b03b2d57ee7782f2a539b (commit) via 53a0f8a250199af97ff8708e3899835086c7a24d (commit) via a5b5adf529fa64391bc1ef733b3e78f15d94c4b9 (commit) via 6a307fc5f59179005e070bd5a5a4cf78a9ecefd4 (commit) via 41c1efc614472cdc74397e734f5a66018362a80a (commit) via 65bd20451fc7e5aea1f0283433f95fb2fe60771d (commit) via 2f8ceb38991ea2ee595afbdd5da51ba1a53cbec7 (commit) via aad7be454bb3c8e2dd44c10cc16c80bacf8f04c0 (commit) via e778be0dd1a16cfd29cbfeec519c24d299334b91 (commit) via 544838989ab6143242108ddc39e8ea47e4fa8c4b (commit) via 0e8452bb2297b5eb98a447f357ac82bece4e7024 (commit) via 89f60df20bc0cb3ac3047d67fcdd4a365cfac931 (commit) via caf0678c84b5b55fbc4bcc853954745a4ad8b658 (commit) via 142b7a144b46af91cd59a41a8f87f5f3b0338cdf (commit) via 9d8e8f445c1a021a1e381f4bd0bbc756b4258038 (commit) via 317ff0084bc68bfae2eabd82015e9239a68b5195 (commit) via 4fb0d2b912ad079263ed98a3c4d78e5a7ccc93b0 (commit) via f1ca0d6d8b3fccc92bf63d5c3c10a206f36debde (commit) via 8ee55178c22326c3624ad5872dc5382341ddcd2c (commit) via 5d7c8b80485d75242e7c78e79b3ecb4c71abaee3 (commit) via 707bad1b21c18cf8e570fb8df8f7c5961fb0f3a5 (commit) via 0cc919dc6abede5e61b9d8234028fba879166088 (commit) via f428698edfd845a21639f5145cba3772eb92abc2 (commit) via 7ed6f92aaffdcc0995b0247379fb8ea621854dce (commit) via 270baac0079c128ca6780098c086444d115f4afa (commit) via c5edbf3d1c58d59135788f084a3bf681a49e0f9a (commit) via dfdad367e475ae5ba88d9517cf95092df8e71ce0 (commit) via bce5a025d2ed7eda2c5bbb85bd9b33333ca5d556 (commit) via 8849a5e9edda5f00d727490c7bb8be3c616742ae (commit) via b39efc483ac8caefa8b6480b7a01231230bc2298 (commit) via 121ad66c941718bb0b1f7caffe0c555829d2fd2b (commit) via 79f18731714e7f07af6e78b8da8a1ffacf4247b7 (commit) via 3d6b3b8221c97c58a2496dfc7dfff30ed07d911a (commit) via 09473be85c13eab0d794e363d898b74d66431d72 (commit) via a9f4c2f56f87c838c76b590b0ff5a66294e7e20b (commit) via ec1f2d91e07522a77cbef7a438e132ff4a2a7839 (commit) via a16ffec0da37082ed80116a7afb1971eec9b8842 (commit) via dc20d41409e645106730e59342a62c317d4ff82d (commit) via d8611974cf819e5f8cb9eb36907251f3e2d721c6 (commit) via 17d08cd4137063dbc43d9989b9a5cb315171174f (commit) via a18ba4e4c9d64eeb2ea65e5315fbd8b4261a1756 (commit) via a7961323e2fce4f831e117cc43e20e5144192240 (commit) via e83e4e24021acb4b095b1e8a45a51c2ea088a1ed (commit) via 263db9a1f4105b76ddf00829d50430ea0a3bcba6 (commit) via 5dafb3d176ab8d9b9f0a46111d7040bb51ad8f8e (commit) via 11ed8cada64e717900117364c2fee0132c1eb099 (commit) via 9ae79dac31c2bcbd2f5418da2e12af94060e139a (commit) via f2ab4b4206781d75c76962b3ef7dd08b3489c40e (commit) via f7c486b165059e9d429c89e4152197061af30c31 (commit) via 75def2abc3dafb52418405905cd49e9c107c2640 (commit) via 515d75a48606ba4537b69747774c5a93da4d6ebc (commit) via 8b6a949ae55d3adbade84af4e11415d764647fc9 (commit) via d81270c36986a4e470b0017bad5f415a2f916616 (commit) via 60dceb8d3b04ad8d19b6b6a5ca99b4077d2bb818 (commit) via 24538276c675851520d45714661e7cf9bedd55bb (commit) via 8205a328f8b852086652841dfc2aff4ca0b16d45 (commit) via e04ef02299ad4aae08da857e8535d98e8643a274 (commit) via 84f1b9fb081372a726fd70dfd8258a707833caef (commit) via e82e6b2b19eb796fed161b1658de6d5f763c18de (commit) via c39e5b267180a5d61a6434b24bcc7888bf3c0ca7 (commit) via 8e6e0792d17be5d4321def520d12c1764dc0ba2a (commit) via 9f123b911ec8c460304c3e1a3f18f1c2a311d97a (commit) via 9646c87b5a6c0462e8a9b6305d9e449bd099f19d (commit) via f8745e1cd139b5c6a5bd8a30ea84ccbd45dec81c (commit) via c8d59609b1cf66eaff3c486e483f5e3d647c66ff (commit) via 9c75b45645acb30c42f09b80cbaadbde391aa7b2 (commit) via bbcd71b48044bdcee3641b93272c7bc968093907 (commit) via 5aa892761c6a9f76c5b5ec2a9509e994b4f4de07 (commit) via 1dbeed45b6a81ddcb725b68ff12236e7c8386a47 (commit) via c819b2c0b216c69a4ae5bfba0eac71ffdf1b3596 (commit) via 608219fb2917d407058952adf164eb616880662b (commit) via 3fcded8f30b6b0c1930d4f82914476315027aa2e (commit) via cd4fb1b2ffc88911e4109444ff729e31920d01ec (commit) via 59cc4834e53565da1de4a7b615ed8890ed55c7da (commit) via 675015399bf80896706865e3d77d3af7fc925932 (commit) via 76c939acfd21928957b45816bf78935363438b0a (commit) via 9507b29c0a00fb62f015fe69f82aaf8f5377ab35 (commit) via eb68e48764d4b038858dd4255ed248dbee6c4c0e (commit) via 1f111921a0f8e3f62a19808349ff9bcbd4e54043 (commit) via fb7eb8b5826f059e2b7a18e42ff9c20972e626bc (commit) via 4ca59a9f3616ba324952632233acc657fffa8be1 (commit) via 92256134f3e5557dcc321c63c48e8175ea90ca27 (commit) via 7a630bc2f99fcd55ddd83274574531d526ca1925 (commit) via 63283d4a2983eaefd5d0860ddffcf946f0fe92db (commit) via 978d6c756fcb0332ddf12e19305dd0e53b98a93d (commit) via 1cf7e64086d1490649dc56e1c0505be91c600218 (commit) via ea3b06874c8a1037bad4fd5b9396d196e6963ac6 (commit) via 07dca93f3bbc2426d89eba460c925863e4ebd636 (commit) via 9f034d7573ec4fb4bd3879ce66fef0a20167a2ba (commit) via ce1459e528772057d51a507fa0c2bb1c8cbdca97 (commit) via 0b7a4aa6ba5a144b7ce616e80e95d9ff944fec2e (commit) via 4f7ae6f5059924a5acc4490880449d6410dc5c93 (commit) via 5cd3e386e0ac84b0ba1e0737853f4504ba24f677 (commit) via af9d57d205eb656a01b9688c3efa591ad8f1a2a9 (commit) via 3e5ef9a4de7919971130f7f2ca3052898a069e76 (commit) via c88d2fccb148d38ca53d379b7b71eb0467e1a2cc (commit) via bf54968b128a2133174d81c438d402ecfaf83042 (commit) via b3ee71e749f3c93c51cd6fb3fed51ffd54243117 (commit) via 8da9a904f41bb78fca5568fb94004120682b1653 (commit) via 3215deaaa6abbb7663fa3ec13a03ad74fd58b705 (commit) via bce02d8884d6baa72c537d0d7c59f924cb290799 (commit) via 9a96cf38344355c529bfb47251a01ad679d75459 (commit) via b7fee5a3268c340975a1dddb131733abfd153d5e (commit) via 291158a341260e97125db5638cd47c1e9aea5e8f (commit) via 2cc9b3048bcbb827e69059fb6beacb9bccbc5d7c (commit) via dff7492c9b221aacd4efa6675bb288dfb5d50f80 (commit) via 8fd75781892c7458702f72b3b9cb1927609716de (commit) via f6c4d4b152a985f355cd1552ce01c99a589c936f (commit) via 376be529a7c99a70050bc48c51d891f1bea9777f (commit) via 066cfa988ddf88ad32b7a114f2e984a13a3848c8 (commit) via d80e524238a17878eee0c620d56e2fad072556bc (commit) via 079670b94ade4b5792fa74b29a6b5b4626f27185 (commit) via a2b2bc12af45f48617729c1413a1a01c0ee957ca (commit) via 8ff5bf3db34b0a8a3a9fe5a03f8cb95ce2a3d038 (commit) via 7a8f494c7b171f6cbad20a14ef03a5d7acaa6ccb (commit) via dd6d677f0b06341dce90d259785c9d513d2e3935 (commit) via 26d6cec4a9291f154e549fb6f4318ace6cfaa2a5 (commit) via f69c5afb18871a773af88484a24d7da12c3a104c (commit) via 32546502f3f43083adbe35b005a71d2c3bd42e55 (commit) via b8c169f359dd99900994baff60c57417f13351b3 (commit) via 96bc132a736fe44cc021d5d4e8ed6780b9520f22 (commit) via 1212781b35c9e0080db6ee546cf5e7ebd45d6b09 (commit) via 9f79e88693dae859f838bcf684158e6e6f8f3b6b (commit) via d6793fa1acf384a93c83db6eb916e3b9eedd9ef4 (commit) via f776822506b417ce25170c67c33cc05870b37adf (commit) via 5d9310c4b88f807c1a3f1a0b4d7b6c10925dcaf7 (commit) via 62c222b6d9fcce8adf65f48fca2e528f777afeeb (commit) via 92c00f4228afac1bead526bf63aca42581d4c858 (commit) via 7eb2418fa4641c60f6713986de7d3a50fd7a22c0 (commit) via b1202ffa53484b65d95787fddef1bc6175e05ca9 (commit) via ce29f8439f94adfa56655940e657afbe07a0c99e (commit) via c49bd90bdb03f3013a796ea920830547cacc3c48 (commit) via 7edb9bd32ba23247a509cbe9d44ccb02da97b66e (commit) via 0ccf57bd817a73e7d7cef714039f1302fa5298ec (commit) via 4bad6366a74c9cdf92e6aef3849c29771c77af36 (commit) via bac3c8c5e7fb88ddb3615b895ad57847b9842171 (commit) via 6a3858a69e6bdff1d10136c59bfcf7a0cbe47059 (commit) via 675e28092f9d92c56c38d40d13ad5b766bdede05 (commit) via dca9fbc845f297db70dcb2202624b1497df5593c (commit) via cbac223123dd1b460fa10c31d779c5f73f637849 (commit) via 7cbe16e99d8a61a168579354487902ee50413e08 (commit) via 8c5b71ad6db208355947c639d1959de7d770ad2d (commit) via 4ee89e903de920496a69c01df70db13a70a2a0be (commit) via ed3818775569116d7f09df3d81e22cb8169a8c06 (commit) via 7e1001406d02053fb1b94bc33ccb8a3f14dfc9cf (commit) via 416c34d683f2a17aefe19afb466af4316c7c603b (commit) via 9d6aac5354566288d7bc734213e5ed0c3cb3c4ca (commit) via 926300415b642367cdc2febac6619f8cb8a80b46 (commit) via 76727919ceb590f03ff0f6db08b7ceab5b7aeaff (commit) via 194ed4130dadb7dd1668f6af87405bdcd8041199 (commit) via 315aa1cf834a3d78a567263fa3fbda9b2027457e (commit) via 1cb1f3dae747fef1a576fe38078891e545fa92e5 (commit) via c820f6a44d3b937d409c863b36f4a4c2d0333ea7 (commit) via 2e1d1be5280a407373f82b710033c7f6d9ba12fa (commit) via a06ab151cbab6f3da8735d2e5e06ede9454ca4c1 (commit) via 770623f79f7fdff38f62c641438759748cf3f138 (commit) via 04153a3e04ffcdf3a253f38676521aed4b3f22c9 (commit) via 39be3c7e98728df57cfddd37fb7747f1339a319b (commit) via 37e136b1684929df204ddd09c38978c705fa7228 (commit) via 8b067d2cf5bf801eb143b4b04da5c22607673471 (commit) via ca2fd32c5508ff1b68781ba5b82e6cdbf9ca100a (commit) via 03afa6ef8ac9e5acfa68b1005aec6756eaa1d093 (commit) via acc834c7ab79521fe06f9851c24138f25b767092 (commit) via 0854d50445a11847f80e655482fd180d7c4e4d00 (commit) via 202d116e5714a0c21d0c38b7dd45b5d4ee494880 (commit) via f9671640954362a918c669700bcc9a57be25782d (commit) via 8bb251a84a34586bd2c7b9078ee12523ef129205 (commit) via 399912428d50cddbdd2e6e36085a9887f534459f (commit) via 0e35537d754f1c687850d1caccb2d78d2e418391 (commit) via 3ae9ce5dd7d1119ca2c94c63a07b04921048ebe3 (commit) via b8c2339b2f46d4885b933b832fc5b37c7ca101a6 (commit) via 80ae639d3cc4f1e83f1ad48686f87417c06ca6dc (commit) via 0d671d99a6125e8406e4d06efb58542d3f0aa955 (commit) via 7dda8d3cf3b089bb7e03c4cdbec827fc6a188c88 (commit) via 9e223787a474c672c5f1cfd4574857241ae4eafa (commit) via bf48520113c4265017769d374f6b1a7ce3fc8e41 (commit) via f8ed12daa1f383f43504570e401729e699f7ecfc (commit) via b577b6af8e7f4cc53e73ee01188d1700fb8d3b82 (commit) via e45ad1239d7d8591d5e80d8cbba7d404c6c3640f (commit) via b4a3689a68d88291d5aa73b9179322f58b562db7 (commit) via 81db3241f2c888c4fae1884444953085be224815 (commit) via 3e33b239450771394fa6c83b67b9de80169f35e8 (commit) via b0d186effc0af8d5f5f012895a194e7e01d4804c (commit) via 89a3b63e52be3e9bcf4b3d15e210652a5cb839c5 (commit) via 984c72381ccd9f950a87d4d7edecc6fa30db8b41 (commit) via 933522d1dbc9162fbc69453f0ab5f72998df2955 (commit) via be2daae6b8df45f3f6de5d94a1938cef54336a72 (commit) via 484cf504af0e9403e3437a5d2c5fb361c73daa90 (commit) via c20bca94fa17fa59bacd7702acbbbe87a64c0193 (commit) via 69a52a7b7a5272ceac5ac7004b553826d3c1f6a7 (commit) via 7d4f13635fd26bceb34ba5002ee9008463755bbe (commit) via 80c34c3812f8bae13fb902dbaaa287ca207857ac (commit) via f657f8c4a1dc0ac69b16b1dc6eacbf5286f1f0a0 (commit) via 9bd8e0b072ad5fc5b8956fd5d3e51dc5a9b0f236 (commit) via 0ba3a73180afa69e6920ba8c220f0323cb4fb896 (commit) via 5dc1a7047a77f86de7518a99805af64891d4e22a (commit) via fdf07f3aeba5906fec462fba33801c173862f241 (commit) via 0089daceaba4338046932e65a1b5882065416633 (commit) via 567a3e54d211ab8d09119f99fed10b57db895450 (commit) via f6d8ae8f07b63c711d4b62403e1766b5eea90103 (commit) via 00b400574aa75c1c5fe469233ab16930e2d8a4c8 (commit) via a8dbfd5853e3a5f7f2a3ca817e96d9e0759061a2 (commit) via e6a58aa8a70c7fd17d9930e7df8d158a7e3c8c8e (commit) via f6e8a41e6724e641d3b831983e4d158ff069b8ed (commit) via 4872dc464db25a003c66ef91773b616495cc504f (commit) via e4fe3756763773940b003159649f224a5ac42ee0 (commit) via d3d50934a9101416c3106497d6ea9ce548760253 (commit) via 347a87745eab23d8427349787bde4a938a1e8c3e (commit) via bd5dea8822e515faf305690ca5c5281132d95587 (commit) via 4ef0bef68cfc777e59156fce1563583c0ffb76d9 (commit) via e771e7c9fb79487d7b192769bc2d91fbe4118ba6 (commit) via ed438a93f18024da926eb4f56a0f96f597254a55 (commit) via 454172a99e4aebafa2cd42d389cd63a8733a046a (commit) via 3682415023547d90050dbb7ac8507e0c77109906 (commit) via e7f5c0a99ec597c097cf65e0c8503b7075e32d16 (commit) via 25a4277fec9efb37b107f6bb6c9246f05cd3c348 (commit) via d2224064f1a70969a77a8a82b117489793d6653e (commit) via 23e42951f2f2cca539c69a843ae31d9c6cdb194b (commit) via 8819ada6c48777c0dd0835d46f4a9dd3ecf2b0ec (commit) via 548d0ee6e726c366fda3f37251f329ec51decc6d (commit) via 929f69fa966f9ed7a1a8cce19a168348295863c2 (commit) via ab592e757ed0a4117f68c6b722803e8ba108bf66 (commit) via db12e14ea0f35738dbde263a8d37610995227853 (commit) via b9d498173c0394b385f0ddef636b87e6235564da (commit) via bcb1753ee643a7d5ac136189f9bc06717dfdfb64 (commit) via 1b193f0b1263a677f630fb419d13fc14a1d99981 (commit) via f2f6a710f46e3e7b357128d907002945751afcfd (commit) via 6e3e5c9e4181562682ffb60c562c4bce263b71a0 (commit) via 38e314eb064ae94318deaa9544c2da3f46f5d319 (commit) via d53e6b98a2599ba4ce6ad14f711b76e44a32eea5 (commit) via a477a8c4f4f7e827d32abc1fbb45bdb3c37cff09 (commit) via 2907c2f55555de6b1df9a0262629003f4856807d (commit) via 73053c1fc454fe8554db170f1a30a3442546824e (commit) via 6a7524c6aa18f5afa4977314eb01f0360e752789 (commit) via 3fea0c3b3fe53ea805f1289ec9ff5e785024362f (commit) via 6d4f21f6eee9933a2883f2a214953432c13ee1c2 (commit) via bdd2279f13c6415e19a9ba0fd91dfff00a9cc80a (commit) via e0d3522b888033febd153a4a7d3b7c5c13641f09 (commit) via d6ab64818b9d212691c200c292dc0f18d193598c (commit) via 779bdadbea9a62e5a2203651703e15edd321b9d6 (commit) via ea005f31ca7a823680c70a75ae073bee52487859 (commit) via 0c1ded8dc0be9c61975e04a0b416b064223f7bda (commit) via e95a97d41a186ac65077ba3103dc10e5d41fe7b5 (commit) via 3ae729d5a4f63740ed9a778960b17c2912b0bbdd (commit) via 52fe4420b771a0f3b4fc7c6535bbd6e9b279f775 (commit) via 0118219e1850a05ceb181a4f47a6906c01c17c83 (commit) via 1ab3e66438fdf173d245ca8e53aa412e73260960 (commit) via d8344f3d05565ae24a39a8f02533c396b544a780 (commit) via 770aa8a3d3da978a35520af5f205ab2d8a5371a0 (commit) via 9add17f218409f357d5ed8b831c777ac93f41ec4 (commit) via c9486dfe2753a3a9683dbb131ecfb4f5808a27c1 (commit) via d74aff3d95928db6647a11865c396204c50bc157 (commit) via 7ea78b5973525193eda8e379cc351c7804653216 (commit) via 531270084129e069772e68ead40c97404d1c0dd7 (commit) via 228f15081e22abed7ea336126caba26de5a3b791 (commit) via b2970c238e24e6239760b72c924ee7dd2df9ccd1 (commit) via fb2946557216c813310ed062a06b55d5dc466bb0 (commit) via cab5bb9d1f9fcf674d5b4c82aba7622597b1fd35 (commit) via dbbb1059e62e9fed10b429c030f76f782cbc1fc4 (commit) via 5dc4391345f6e86906a57af1434025cfb47b4100 (commit) via 52bc7e85d938e7a6582d31eca071e43429d6fb00 (commit) via 0e70b27ba900581df8e23cbbd4612176f869d796 (commit) via 3dea1ef72c646d808e5b287e98253f3b8670c450 (commit) via 5e3290e9733d522b0eada1e6e65d1d6483d93b1b (commit) via 7efba073e2b83803a47fd89e701fe60b98f2debc (commit) via 386a86761838df16c1459275d465ed21a1c35d9f (commit) via 12279366d71627bfbdd74d1a6675dca825d8feca (commit) via 72f53f22dfc1bb79ae0141a91b8f9786e1964f41 (commit) via dfb93f11587ca08b820c7c785278366f2505cfd1 (commit) via b9671caf8fe1abd737846edf7dcd627870f986cc (commit) via 54693cf5f11bf292ae308604caf6e866dbb03e6f (commit) via ccb2231cd848c89f04ab2e1e54b013d69ea34893 (commit) via 6fb16ce6eaba92b86a22eac58eb0eb61b3fd8804 (commit) via 564b1e3f2906bbbf53d003d6fdbcfc83661385e2 (commit) via e80aaf6183c6692ecc167bf26cbdc53f8f1a55f0 (commit) via a6743a5420aa02a0550b0f7be004f6c06e90ce21 (commit) via 5c1f594e585818719d5c19346e73a1cca3bbce2b (commit) via ab818ade016bcd794980438775e15c7a74f054f9 (commit) via ecc054c097e7ced281d02ef9632eb0261a410b96 (commit) via 9a2ebffd4dd9cffac395177e997f6f47408b4782 (commit) via e7da50fa4b4f770240feda51ba60f6255073e54f (commit) via ed2592386c36bfc0b82049ce88758303b16ca075 (commit) via e1e6f073a9f5d7c3183cb8096fb24a42c28ba36b (commit) via 788af978df01c3667be99a1607b774f5fa844113 (commit) via c7b15a66dc9ef2285f0983759d41baf5b9933505 (commit) via 4d354d8b8932d450c77fd52f3501662827523014 (commit) via d11ae95ea3403559f052903ab053f43ad7821e37 (commit) via 0cb7c7b0bb79be910e261f3d30c58ace6b0d06d1 (commit) via 8305403a1ffa8e551fd1c7bd88af1a65c0ba747c (commit) via b1223e789040e9e8cdc6869a8a1fd1fd7acc109d (commit) via ca8e0133c4a99d9828beab2fc95699e9fb73815c (commit) via e184813fdb0578fe7c5a3f3fc39b56d0ee4d1505 (commit) via 5224fa039966557e869338d2591e7945cdcecb74 (commit) via 815615463b1171cbff7c5e54f62fc708cc1bbc99 (commit) via 25e3c82c0e927398e759e2d5e35623012b8683f7 (commit) via b4987c956dfa44ca9fd8552f63e15f5fa094b2a4 (commit) via 3083294d65393a31522586e058500f6abda29b83 (commit) via 12c963421d045a127c413a0722062b9932c50aa9 (commit) via 116acb2c268c89c89186673a7c92620d21825b25 (commit) via 889be5dbd230ee47a90d4a83f682b13ed7e3faae (commit) via eef104664efb52965d85a28bc3fc7c77e52e48e2 (commit) via 0d329c0a83a23cebb86fbe0ebddd780dc0df2424 (commit) via f169cfdc08761a3d9fcd587ad8661102672403ec (commit) via 0b25598b35eaf4a45be9c769994633e14e13a6a1 (commit) via 8f065d3b4a814b5a69b3f39700fea7034c79c492 (commit) via e05cac70d855cd404eae9aeea5fcfb83ce8aabcf (commit) via f6aec96dce1ddbd8961a3aa8a2925db2021719bb (commit) via 55089490f79ce1ddb9610fd6abeeaf896825fb71 (commit) via 5b616beff49ce5fe10c5efc2784b6b234bb8cb4f (commit) via 0c305b6176408347afd8452abb8fe974a7e3f999 (commit) via b6f8c7c45229a8a5405079e586bfbaad396d2cbe (commit) via bc7c0509f28d3a448adf4c2da335d0251ef69892 (commit) via e8f5af786c7665141f6644998b8c427ad466d474 (commit) via f3185997ac0951edac802e29df03dfc0844fda34 (commit) via b643315decd3e566e68ef374a0794371a4bddab3 (commit) via 1f4bace8d6e4d8f627bd31dc01061c31fd590128 (commit) via 6f6372fadcfffc89ef511d51323678f88624be5c (commit) via 3275ef477498e0500d7ea440f1bc51787acf4610 (commit) via c5196c9298b7df29652c0ebe24a43ac6c9c76b0d (commit) via 37c33887bda54afb8fbf4786d400ce549c0e3de8 (commit) via d4dd32824a1194718c81773804017ab546cb3aab (commit) via 6893c19a8b81a399953edbf26aaef6e714a7ab0e (commit) via 2ddeaf8a7d64094f4caf6cdc412d8162f49f73a1 (commit) via c9317f214b274b805190b8e878c79f4181d93bb4 (commit) via 7c22600aabfd10e190e98fff0b7c2d69cd191325 (commit) via 15ce8941e7d2807a3396a6874c528b24c387660a (commit) via d7c798565e0f12a821dd399ac3bbf5d49271169a (commit) via 48fbe735fb8f0e65976d2b9dd345bf2f947ad258 (commit) via 52356b79d76fb299a67685510ae584f3b0179734 (commit) via 35cc7ed70ced98eedf9c065faa602abb1dfac537 (commit) via 6f06d47ba0965013203af25c17854c01caae5544 (commit) via d590ff257c81d5aac51928148ce74b0131bbf81c (commit) via fd0a254f815b133c67230c50dd84eb0d4b31a93d (commit) via cd9983dd5f16803aa60e9fe1692b7e6716ac3927 (commit) via f46cd62a69b8050c7c30a53b29a781a9b5e9f062 (commit) via 46c685acda0034ffad9d767a51aa3aa5df139356 (commit) via 6838f2bed6459514c1b0c549e6aa3fc7dbb1d7ec (commit) via df5f2391f7b2e3cab7e677ab7dadd02aef06e269 (commit) via 33589acbfea909ca2a26b977ff2f672332990747 (commit) via e95b887f85a192eb1597cd5d358673520029ad14 (commit) via 128a19de3d4387888e1c46df0c3c8964881b4274 (commit) via 38f14ab8fcfa4eab8bab417a5a165b7403ef9b0e (commit) via 6e05870c978aaa057b5ae0f525a2e9b803047ac8 (commit) via 59d08d6ce8cb6c41691266e133304c961c270e85 (commit) via 90b6238f06197c2abff953ab5920ae5b6d39f97f (commit) via 2c1c96795601a19554fa3a86700a1b9e9d57c931 (commit) via 9793eb77929a4ab2c0192d9bf5d3f8d20dd17394 (commit) via 0aa13feeeb78fc9323bee329c4d91c30f25de121 (commit) via cf97bcb0c3f33460e9cfa57a2890df1c38a497d7 (commit) via 6f6d0c269ecdc11aca9166940534ec61b6dbc39d (commit) via 4de41a68ed98818db42c2238d66764e5757102ed (commit) via 9b292f68805700c7ae46fc149231fdb79554bd17 (commit) via 281d762b1a56317171e462666b98d50bfa31a08a (commit) via d4333bab0a097f4bfa36d2e49f4dfb12c73dce24 (commit) via 11b031457e89d5739922ddd0bc65c9d781b6db35 (commit) via 9d8780f0d0f53d9d326a9d64b7919fe1a628b767 (commit) via 01f7e10cf2dcf403462b2feed06c43135651556d (commit) via 340d33e565ee9749b06d31e55cb0222fa98bd546 (commit) via e859f6558cc027261fb733e4e86938e1d31c13ca (commit) via 9c70c5223bbdfe1feac122d4b7606a46de5c22a5 (commit) via 5bce538d6a6ec216bfbfa7484f356b396dd4da9e (commit) via 0b65c07b97c43e8891c2e14061270878a85222c8 (commit) via 0bccfb2994d307601ceba5c3a6223b7ca7cf5338 (commit) via 7bdf778b10b1ab85553a31c104097073214f6430 (commit) via 6b6b680700699c15e22b6c36975729035676eef1 (commit) via 39334a61e63321352304cbae77b37fcba4fed662 (commit) via f4a69c9aea8b2f86abfdc35757c7e8c53e714f64 (commit) via 54a27fe598e6d44eb59bc94882f7f56585bfd5cd (commit) via 8ec57239e91f22f427f8065eb742e6c8bfa223f1 (commit) via 3eac2b654808f9e233885f910045eea9d2ca0aa0 (commit) via 6ccb583f751e020a6db768d517c2dd3ba6d93cc4 (commit) via c113ed0ca238bbcbc161f059ffe9b064e3ece333 (commit) via 4c74fe6b84d82066eb3f004bacd4a376cd82d140 (commit) via 796bb0264184e8d9343f041c2f11cb898c0d18ac (commit) via 215c69dc9a7d8f868198b5523abcf41458fb6e4a (commit) via f3384e664de76c4bb9f8fd9920afcec86557f1f0 (commit) via c8ec2f334c3751c28d5f952d07dea9c0558ca0a0 (commit) via daf6667d1f94c7e74df4076daf021cd28a2797b6 (commit) via fc5b87361580d915e28ae5f3cc4794b75b671b5a (commit) via 849d0ba802323fe05e3039ed5b22957db2c85a67 (commit) via 31716595b5bda8524fc841378468fd1c47510dd3 (commit) via bbad996200720297c10313ae45906be80cf5f260 (commit) via 50a98a5b430ca2cc6bca434ad908a74411fad537 (commit) via 1f1e0a5d0eb8474321a1a6431b4171f67a438231 (commit) via 75f31665204bf965cc5b3dd699636be12fb6bcfa (commit) via cd665a945eccba1406696c65ac7eebb12a355446 (commit) via 7104e59bece90e387d70f617eb7ed4c34087283d (commit) via b0ab9c4549148435114b95edf38cbf4b6d9fec21 (commit) via 6e8d06db1a6e63e0da80035114dbfefeabf63d87 (commit) via 2d8adcbd07fc12a3212a9f045605ef712f5fb3ab (commit) via de65820cd69a4d9aaa87079a809c70364571efab (commit) via 8811c8f495557bb05a65d2c09eb529e2675b6a57 (commit) via a543c5ca7c1285548726e6d92ca6044dc1963340 (commit) via afec267febc1bad9e8b24ac92c434cca06ccd325 (commit) via db1ae9c5b6660b22812d126c60778d5e298d2ea9 (commit) via b248d650a44fb49d59a548ad173a3e60646159da (commit) via 6798f8bfa617c72240036571cb12313fef353090 (commit) via 8772de117d8366988bc60c9f9c571e262ef75932 (commit) via 4f7fd351a727ffc44d3dd4e00ddf5222cd2063c5 (commit) via f2b740ac53a3347b7e0fe1a09e52f6311265e709 (commit) via 8979927ae719d1a16d2acd01a11cc17ed3c78dfb (commit) via 2dcf00ce6c001c42c89e6f6baace708b706994f2 (commit) via c1c8c1ef9acdeddf719f358b91590545440cea68 (commit) via 871b3ab29e87cf0de15f7e49ad19acc4f7f6f84c (commit) via f61f94ec1bf9cb3d32b38a90a1f5c2d58ececbfb (commit) via e207bc53a407b274e0c771b781d73321b91612ce (commit) via e535d0ddb3ca97c849bd3dbab997dc756625cc9e (commit) via b5884fa7101cc528f07fd57c3de445a3680964a6 (commit) via dbc88fc14992c556b94e77de563a8f7abcb0b653 (commit) via d5c78119f7d4f6a6a3d51d7fb7ff97758bf0a880 (commit) via e64676d21c373877e93f83ba3fc9a0b55aedb40c (commit) via d85502cffa5e41db6f2f2e1ba11d4285918dccdb (commit) via 34b00afa0396871f762190b8c436d2a5bf91c9e1 (commit) via 92d9e363b5ab7f96a2c8e6d3ae86cf8cc91dca9d (commit) via 62a02d25b6e5d9f92c205260daa11355d0c62532 (commit) via bb57c12e551e7b66db9d5d8623e2f294091f03c1 (commit) via 325ba6fb34be799c885fad9287d883e86b835c84 (commit) via c2596c4a72213391e5badda35b73f00d0e6aba76 (commit) via c441b6234389c02408b9273a1446b46ee99a94f4 (commit) via 197741f19d8e6304f45efd8e960ffce4712e3ea0 (commit) via 7c9f387aefaca3606975868c5953a0820afd0986 (commit) via c9d3eb5f61c5756b78e5aebe1822df7ff977eb74 (commit) via 679a5bc8624a8d4bd96ca62c27f7ac8c4342bf20 (commit) via 62e2b91b9ae508a9f875fb7f15c2173dbbfa6f25 (commit) via 9f4aec8d9788d7d6b03c48d4c4e7f90ffaa7a62e (commit) via 410a69a0228c3445bb57687d0b60e789483b96dd (commit) via 75bd00e87e3af7c3b43ae162394d0bd3a3385f26 (commit) via 760b28930013fc479fece0007b3db79ade49155c (commit) via fd90ace4c1e77c94e90d2942cebe84e9a2019c0f (commit) via 75cdede09952b5aa8c6d4ceb0de10c5e93002a6d (commit) via d00dd7dc5e415503de88614bf2ea4aafa2bca819 (commit) via 3281b315c89caf1d539a316e41cc095e46482f75 (commit) via 43859909e2982252d136e19258431f3aa8afb890 (commit) via 09ca4b9d9bd61ecb779386a6cc7796cb05dde1af (commit) via 2a0d98534964649bc6884b7833c6c4089159a6df (commit) via 49ded53def53ae60926433b924db9525aae1e631 (commit) via e513bd38a6b91401947d90ba5f301f01d3991b8e (commit) via 85046ae23f853bfd01db6b4a840e80220487bffd (commit) via 355c559b74518b67eb113e635363cc890058746c (commit) via 074bca956e20b7c0044df9ae2f41d5fda2ae1026 (commit) via 980548fd880338d2cdf4ce641ca39632dc040426 (commit) via 692d6f9760bc67b68a5c96baac47067fd7dfa711 (commit) via e0cc99a62f9ceb9a0db0b5bc28711fd8c82a6151 (commit) via b46a8d7c1d50c06e641af99b58301db0499111b9 (commit) via 797bc1cb25b9dbdbc663cf711aecb0acc2450276 (commit) via 12ef3f5a7c5a6b89964842fd3da047b8d07dec91 (commit) via 451875b4f976a527395e9303224c7881b65e12ed (commit) via f98b2e334fcca666afaee3c6546b9fc91a4963d4 (commit) via d4dd94f863014a0d2daf42d94f393d294e9baa7e (commit) via 85f2093ddc13e96585e9a44ee03b52f848ffbf75 (commit) via 60f763ee16fca2cd1ec9fa6960f765de9b26ef70 (commit) via 9abc632d37bb6ab554da89301ab1cb65164ea4aa (commit) via 1031c264fd23641111df1e12a35d0a8f7e82fb80 (commit) via db5d5ad16fb02ceb636ccef232ec846086c6cef3 (commit) via 24b9144d4ba83d37751786b08b48ad62fb7aef26 (commit) via db7bf1058d28b2b5e931c60435a13f6db15df6af (commit) via bd7ab16b4537788ad53521c45469a1bdae84ad4a (commit) via 80c96350467f23a54546580b3e2b67a65ec65b66 (commit) via 68d206766637a041bbbeb89c8a1bfdd76317e192 (commit) via b29d26411c62fef6b1401aff4f2c6a157053de4d (commit) via 87993319a56af838d3ab7e251fa4902476ca63c8 (commit) via 30147392ca2b686b17e022a9cf8bbbddae785ff1 (commit) via 6e5e9d58c1eeef5677c90886578a895cb8c164c5 (commit) via f2731e0c374e5323ce4cdae2bcc7b7fe22da1a6f (commit) via 387cd15b93fdca3a66bbda427c4e1d9340bfb532 (commit) via 0f3f3a55b561e8560a6df2560363143751b5d9af (commit) via b303c6f688c6cd1ffd986ae65ac3f2dc11f27b93 (commit) via 12a43565addfdf720b3ba8cc45eab6daf66f85dd (commit) via d2159fdc0f0ac1d0aaafab725b930e78a8793494 (commit) via 830db0485e19000985ccfdbacda4d4d5d62583bb (commit) via 7e784da5439adaffebd2041c4abbb8a9c1e396dd (commit) via 0b8683b7eb25cc150c7738ddc0d237f255e0fa70 (commit) via 6444b19b244d7c84537fc796005ef756917135ae (commit) via 94fe5757db7a4dbb33743b87bf748e906444973b (commit) via 7eb84119d88e6aadb0323951f42e5dcd92817835 (commit) via e5bc5e207b2e70c33286dfd5f5de8b6b85f2c937 (commit) via d805612e3816191fa4fd4f57235dc23741c64b15 (commit) via a8735c82b8519d8b18915765ca983fc07154a17d (commit) via 5d0fb5ffdfbdeb913ac94cc0c81cc2d105aa486c (commit) via 3b4c384407ebbdd9ed4ad5057080b3be038b8748 (commit) via 9c3630e983df43e68006b526a92c2a9a2b64dfd9 (commit) via c4e126313219ecde255a644a2c74008831edff5a (commit) via 88711fbfeadd6e4663d986962dfcd7ab660c61d1 (commit) via 17ad2a4f466f22b7a75b5ebf8a68446bb328c40c (commit) via de6242d3075700ec4b73bdee583dc216f3a0b046 (commit) via 9ee23a853c18da3c83530c7957464bc6b6e9fb16 (commit) via 5c3284c1ec2edc28b0697532fd094d93d5ecf31b (commit) via 84696f37ae92280ded0e6600074ad8bc518255fa (commit) via ea4a0888120dec61348cae460ffa08de663e2852 (commit) via 869e8290ea62f594d2472476303bb74604e9326b (commit) via a37a2ae7080898244de86d136961de81fe28a434 (commit) via 4e7253479941cd6d59a0c8efbb1113d3734b7f56 (commit) via 15b23f3612ffa19bd7fb20ce07485cdb3c06162f (commit) via 4d6945e70a0ce0c939d06e29c5883e57501f1e20 (commit) via dc11dea21281758b71113c03a8d8be92d175a46c (commit) via 3f48fe4a95ec0e67b81d5d606762c91ad9a6b799 (commit) via 9a897d43f034544cd09292d0fb6fded7eb64ae8d (commit) via 58ef3771fbbdf7fd891fceefdd4bf2720c6c1ee7 (commit) via a9abc4345150a3f3e30da78f8d68c1f9e0198772 (commit) via 84f27c6fcbbf580434c7d56e68fa42fe7cf7ccb9 (commit) via 0354904bdacb9bf1ebdf3ebdf3723f8a550bcdab (commit) via 1739cf248ff21b21271d1e9d5f77a12589c3856c (commit) via f6c2623eb8ac7296b6d7a76657394272a71f5aee (commit) via 8ce47547b34fddec16d1ccd801f025a56976af95 (commit) via 45dd3607e24aaf515b5d75c666b351575410392b (commit) via 8de3a6e2afe21ac93d610fa46fbc579a81ea2277 (commit) via ef135d4314fd4c2d7da66b9d7b59af4a85b0f7e6 (commit) via a9479dc051ab00f311c04cdd5b299a70739f67ed (commit) via 02ecce62be3516c03f523b1665c9d151a16a39c6 (commit) via c2e0e465f9488970c7e460a41e3fb7c366530619 (commit) via 407aa07cee4d075c8e7996a5e994c02e76f19276 (commit) via ed01220cc81fac2f65abde945d9b77b11d004361 (commit) via f3342ae0302f2059324a7b90bc466b0d15fdc2aa (commit) via 3f8c94b478c8f2e5c82a1425fd49e977ed969a7f (commit) via c20c30f615756ddfccc4bb75c65ccfc1a399466e (commit) via bca65a2394ce11bb4a0b001b8a986961c2e84881 (commit) via 583e3f90612f50fc9792a5a68fa16f7924ac94d9 (commit) via 46d09186d340407fdcf066fea25444682e989512 (commit) via 8278e7cec35536046caf596f4e55c7c037d06cf0 (commit) via 68807c3cd64ccc4f0e9261df3e840d30d9a19b51 (commit) via 64e234d417d5685a4aec0edc618114d9991c031b (commit) via 422f3d3d6d5713bf9235b7b7696818a70b3b578d (commit) via 9d0e82daf9c650b92f0ce96c4df231452133d37f (commit) via 72dd27306224497c8ba97f391d30b774d4d973fb (commit) via 279b2f94168ee91e02ccd070d27c983fc001fe12 (commit) via f3b91ed8f96a4d41eef1c64a7e77c406ec763612 (commit) via cd04836359da82ae1dc67e5a05565536f4427b51 (commit) via b8df6ca79e69678a07d3216b9b2b552fce27cda8 (commit) via 89424b1d6965bcda21a225d0f545f43d9294ff21 (commit) via e65b1a78686f840ab46fe97355d674919185adc8 (commit) via 2d6dda71611ba6cc16fe2bd21ac816d5f7d1e74d (commit) via 7550610057c51d47e3815ef93893d4f4faa7e03d (commit) via 78c8836415d45839875a5f312bfaa3d3ceea189a (commit) via f174ef9fb2d7d858fc77807045b6308e9502bd82 (commit) via e813d34aaabee0ca034fa5ddd50e76ade80318bc (commit) via 0eb876f52f348ff08be24bca6cbca00e302839b2 (commit) via 27d2460e7af28398649afd51acaf32a1f392a4db (commit) via 9f7393d8fc8b79a92b027cd8ac6fda9441d3fff9 (commit) via c5b47a421ef9829ab45bed248c6be320f11de00e (commit) via f721678315fc6bbec25341bd616a906976d72693 (commit) via b0daac83d78c82f7998287bb717063c4d01d4f97 (commit) via 138a158f0a561d406bebb8b91eba0dd6dedd430e (commit) via c83344582375e65643c5efe68b3739e87db482f3 (commit) via d73daf84d6c95c9f7854ed76cc566ea5b240bc97 (commit) via 7f02625eb48105e100d2da58091d56978ed041ef (commit) via 0625771b9e29116dc1fb0b597501f18e4bb0e18c (commit) via 5bb0830d10b19230f9615694fa3c1230b32794b9 (commit) via e54d3c943bb3999aeaf1667b4975dc035f7b554c (commit) via d830549dba59f4e11412fd6dc18b7b1d4c6cf557 (commit) via 59498c305e6f1db2a1ed8d44cb58f0d24ec092fe (commit) via 17545aa1bfa291def4674c6700c1c7a3575ee5c1 (commit) via 2d9e6acbdbc528563a9df5445584a8a150a86527 (commit) via df95a9cf09867c237ddf9b4eb65a990e86de1e17 (commit) via d4d38844faaff1576b021558d0835dedbd415e8d (commit) via e99955cd8eca9ac8eff828e8c7b676955fd46e04 (commit) via f2023ce7e8d70b0155cc6206c901e185260918f0 (commit) via 35f48e217ab6f909510bf9ca07325ec16122ae88 (commit) via f000c2b940e82736d8a58387d73ac48bc38a4220 (commit) via 07e5f5cf883c64f7bd8a2afa4302c0479670b03f (commit) via 450b6317357b67dfcd0ab951a83432d3fc2a65bc (commit) via 8988502d75343349cee39575c0e4a0b33f7c80e0 (commit) via f3a9baf18db14707276a8c911d4a6409ad965926 (commit) via 3045b47554503c6f154e446662204e295fc769a1 (commit) via f6cfb42730ed37bfb32cb27ef627df930f437f08 (commit) via bf3077a6c3c9ff21c072a6f42c91bffefd35bc15 (commit) via 823143c6ca8ef4267e67ba03771991e08d09fabd (commit) via bea298f9547372e6cb7854fabc2c0646e1d3d9be (commit) via 56ecd069f031d6bcdaa46664c68a16cb27b379c3 (commit) via 4fa955b25e31cd071ca7f3b03a2cc89811f9705d (commit) via 395507f62b98a6a1f6778295a5667110b0fc4b57 (commit) via 929b5ad40f70fbd5bdf37d30281a761d56c87b59 (commit) via ab1fadc6b2f057b817e1fc093650b63d9f6dd6c5 (commit) via 29236ca20ad953ead58ab791ec376ee7921624b8 (commit) via cc41a04afb7dae98c3595b05e7e9223307138826 (commit) via 52b2f30022323367b2cd727f402c9876bdc53b0d (commit) via fcabedd5cb9079268d34b47489a8e4ee669f6868 (commit) via c81e88797907fc0698abec09767e49cee33b2bd5 (commit) via e671cd59d74cec9f53e110ce887128d1eeadb7f2 (commit) via 9c3a5d9319648db16b30a91253ad02d41d242cef (commit) via 040b4a9eb8430dc5e0fc657da88b08ab730b97ee (commit) via 76cb3a89a6615cf3418fa1efe8268bf6673a5c8a (commit) via fc413dc467e4c46013f6e5a60dc5db24d63f72ea (commit) via af667f2218ecf772ac2f8882ceba6a16ddc18ddc (commit) via 822520337789f93b528fe0babc7dcfb03bb50fcd (commit) via f49db8befafd5a716a83fec75c90145c58af7418 (commit) via 016548df729bf84d155a90564c6a64beaa7fe690 (commit) via 36b8fda5d614cb5aaf701a92befa9919bd0b195a (commit) via 185cdb8cc7c0102140d41fb6272a5ee99994d72d (commit) via d85815e2d16f7c042d7912f1fa85bf1b9c28ca44 (commit) via 86b24e15c45bfe5085ed88280e1a5479120edce6 (commit) via 69ab5edb4d601611ba7b4d05e56689d4b60ca3b1 (commit) via c32b891ab6a558745a9eaa045069febd327b0db4 (commit) via b431b4ea88c8cc1b75edc4aeaa592942a905c18f (commit) via 98d72909f8f216fb9fc4d7c2c8e48dbe2823cd0b (commit) via eb77f6a4621795367a39cdd30957903af9dbb815 (commit) via 0d5e2f6abee322730eea6d7c175ae24631d3b089 (commit) via fc8e7e75c2be02237a7961688b06869814f36a18 (commit) via a8d6d6acff570b1a65167ec0a5151f43cbc41abe (commit) via fef75122c0fe3abafb99d79a63545c1531f4107c (commit) via 8d3b78ce4563e65466202c0d29d0603877846323 (commit) via d580dcc7aac21dc8396e8e90ea6d05ec32d6cbb9 (commit) via 9a5db26e6d9494e8285d4c177ee3d32292c7a35e (commit) via b2a426e2c5632644b6b8bc0dde4cd32d42d548e2 (commit) via de54ee813f35cdeee51729c6d50b82935dc88634 (commit) via 7d73b4c8dfc8ae59dc1334e67c7ae2ea493dd121 (commit) via a2f6c13ea591a8658b3a1139781a43bc385fa3fd (commit) via 2ebd05b80b22ebf0e6c8b597f165c1e6bd6867f4 (commit) via 1e3f554897a3f52e12fffc1fecbb250f272e71e1 (commit) via c00f0d7a8a680a2496c7e575f1da6505a8a4915a (commit) via 0bdd8eac9b4512fb392415da65cc7eb7186a50c5 (commit) via 56ae9dc397bdf08c4e8f1ef0b64f4320bf88ba3e (commit) via 94c2436bb8aaafc4f85130755c63c11b985df6d2 (commit) via 7433498b7f1a79bf98ba272fd461f0ff9f1daa02 (commit) via 32253bb7963ac7caa166ec41e336372f2ffc03d4 (commit) via ba21f5646454c418e75eb06f6bf1a00a173641ca (commit) via 8a69c6d07bd9bd94ce5915fa9d09a2b7e1d163c7 (commit) via 38e64b0ecc7f4ee64a02514b8d532782ac057fa2 (commit) via bb363086e7743506d78bc6b1e56face0fb1fc93f (commit) via 3e53a58e1f557f9b799506b62ac1cbf456b34647 (commit) via 0f59d5fc1ce646348dfae3ca90b32f9228d1d514 (commit) via 1daf502a16e052b55a28bd52b4fde185ccc3b27b (commit) via 322474019df79a1305e83ff7620a72f31a5c7b55 (commit) via cc40406d1d033abc21de1af5a30f2a5fbb692507 (commit) via 0984958bd1d20245e4d42888a697b6015dc6172f (commit) via d04239d32f256ca2971a951ecdf8ec053bfe4eed (commit) via 62fd0a980b2dc8a3332ad6ee3f8e7c8c841ff693 (commit) via 1c5e4ee9ab4c173aca017d488cc074ef66562a12 (commit) via be3a8dca2d7241878302ca55f45129d532b6f746 (commit) via 3233d7d074e59b83f68a22071cff597f00d5ae81 (commit) via b4f6242e95340a31b0519187c5fc329056ddecfd (commit) via f866b262e8ffaa4339dac8698932e097756a8880 (commit) via 14c41f479f2eb6b34ab2d2bb0cedb88e9d51f211 (commit) via ef8914a4d7d231fe3590f3e004316613e25f3617 (commit) via d6e5894564754ed81faaa3dc92f0cc0e90d7994b (commit) via 9c0b896ee1d4edfe30c783b027ed5c081845a63d (commit) via 7042632bf7976d29889ba89fe4867654c5f38e2d (commit) via 650f5e137006fb7aea98e33d2ca9c6ac6712334c (commit) via 47c9317e71768ba9788c6dc055fb6932d0f0923a (commit) via 095085d8473689d86e00cd7d9a63680ca8faeda6 (commit) via ab9bcc67975f2a04dfa0e670096fc8161d7840b9 (commit) via 21f6f5ffc652e116e518fee29ebdc8fbfeeaa734 (commit) via 0eb97953adcb12aa49e4924d1e28ce6af046d6e2 (commit) via d820e164e4baccacd8d4e7e3761ec547402ae828 (commit) via 75c80ee120e7d1bfb78570aa89d8d8fec6812d0f (commit) via 1ea332d6931ea097d0128578a578528262df8445 (commit) via 5c319bb260fa9637048cfae5fceba807e7849b39 (commit) via d65ce302abcb260e14ca5f201b78e8e6d4a2e720 (commit) via 49da480ff6208abc419fe66e030dfa052c11ee1b (commit) via f433138f1f9e6b8bcd93145a40ebae6c5d996792 (commit) via ec7a5fcbfd90b2f67f1a0e3f9866b11c5968ae61 (commit) via 11f57cb67ecf5c69911eff21b54e05e93bbf2734 (commit) via 03f50fc878f75fcdebf0e3273f201fb4b62b0bae (commit) via dc71152484248c0d8075618ec2146db4ea173b12 (commit) via 3f5a868b2277a3678f7eeb8fdf88935913b5918b (commit) via de4cb04a20782b817fc80b49bba83b43cf1cb85d (commit) via a9e408182d2faaed5c2457b68ea3276c719a590f (commit) via 3b76a4a069d43c5a641914707554a6e90dbd2fd9 (commit) via e707fc445e68ccfa136a52cd4989b0cb778d1ca7 (commit) via 03d0bf7b78b142a5e03dfa1c80100893753d0022 (commit) via ae45162705fb76ee534336474a67b11373209c62 (commit) via aee1fcdf979d65c7623533ddd6d871767be9de13 (commit) via 396af9a1527b396c251e70b5c79b5fc83fd1d7ff (commit) via b1b189e04cb5ea5da1cbb07bd6cceccd4d2ac969 (commit) via f49464e4287179069ee98b27fcbac793493f18ac (commit) via 8a1b824af786989f879ab1421a4279f60bba141a (commit) via 44301db1ac68cd26c559df225fe6d1bbc96638a0 (commit) via fcfcc376969c4d7a6d20827c47b584db389a32b9 (commit) via 634c1c3109a2ffdf43ef9dab839c88108d9980f3 (commit) via a0aad53764f45a634462288befe4c2eaecbf302d (commit) via 5a6c3296a7a90694ad4042f6256f3da6d4fa4ee8 (commit) via bc09b0c14fb713a9aec25e09b78499f3bc2441b5 (commit) via 6e1e1966bac965c5a26b5e5cae69cb0ed21be4cc (commit) via 6bd6f3b6569945700386847f624dc9e8b7f57450 (commit) via a3ab6cb01950e7d00519ddb3ead50eddff4fdcb8 (commit) via d6ad07fdef94777bb512f072361706bcc743d51c (commit) via ee3fbc1ebb0cdd0785f4c328c5daaa4a4cdf3f91 (commit) via 88af8ea80b9732f951e61a4ed8868e722f337c8e (commit) via dea445b940545f9564972c5410ac8792b72cc9c3 (commit) via adf8243ba9220966bbb8f67460b2d323e00cbfdb (commit) via 1ebfa86a3c2a1dc2169da072dc65c32c56a2f254 (commit) via f7968f08b782bee249c66162736f1e82d7b39159 (commit) via c5bdb022609634970dd981517d478e6cc332629c (commit) via 85ed4f7ecea48a92b33f4c6b3f8d9e0e858ed617 (commit) via dcc069254040954ee72b3ed65b772d48cdff93df (commit) via 25d4fd80936744adfa49f133524e3f342604a1cb (commit) via 4a17f7688fbab8f170144fa13ffcd06bc749e6ec (commit) via d679c21a43852305c5eeae957854f6e13d6f884c (commit) via 691d2e9af211ff8dd5fa8c96cb961b73a78394d7 (commit) via 7ab820379890dc68699ba5acf8ab4f03053fa2b0 (commit) via 2f89d95b71478464a898147fb20dd50ece260168 (commit) via 7d937cad0acdccd0ff485435fbe16f005e994c66 (commit) via e925c834ecdb4a0ce595ad8d3da9c7d4f499ede0 (commit) via 9e14690d06ac55136b7f051a2d2b8e173fa3bbdf (commit) via 50a820477b5d48d4c2d28ca1c22ba6d93c9fd7cb (commit) via c89b44cdc52b6a9c0848a795689895e292ad1f46 (commit) via fcd3b13d80a2d0e5fc31ef6a245be62db6a11420 (commit) via 685af9cd2283b07a222157723e239f09d6ea2682 (commit) via 5e2db402c8e665b0c6ac81047a10cbf4e26329f2 (commit) via ee7f689e15a2357eccbf8109459864333af56521 (commit) via 416675305692976aca45860e24b963982a2e682a (commit) via 4d9b86e17505063c96a01d40cdf5b4fc2080a798 (commit) via a7b2d0fbeb4ca22ffbf56d19d06b7d1cb774e383 (commit) via d777820bf5abea433c36e956b53b299502e0f708 (commit) via 4bfce1283654832d83a01b700e61518233c8bbda (commit) via f517c1805ac50c64c2dbb086c16b3bcf33b15a89 (commit) via 7045b1ca73b8c0cb12d1158f3bc59d251dca0fa5 (commit) via d8447b6b9fd288ebd35620178ba720b1f0ce7ebf (commit) via c75bc4f76fe456c57ef1e446db5378182692c429 (commit) via 1be5d8d3bbec4c9a112114993ac5c85b2b26c4c4 (commit) via 9e390558cef76767a98123994c422d0642d86cf8 (commit) via 78742b93a5fef4b88b1391817e7bcc6738000044 (commit) via 0dd86f32bcb1675e9d1db5e7b916a347667709d3 (commit) via f6efed019b4e49a4c27b518afbdf2d9bf0652843 (commit) via a960d29fb7b2186e495360887a334e780c03a6c6 (commit) via 9a70f35c8d872bb5542e98e34b8b044228dcb844 (commit) via 46a7082471545e05e7161737fa3b6f597e150b72 (commit) via 2721d702a055fe0f7621386123b103b5c4d84662 (commit) via db422fb2120e311318657d9c7dd0e7b0b5a5eac9 (commit) via 86d6a90c58ee3fb924bcbca154f4e32347437e6c (commit) via 930b5f8bfb8e2d971f459c570d248714183a08d5 (commit) via cf3cf39d53c3fc6b9cf27d97deb6ffecf0a7f6e7 (commit) via 2875ce2b55bdda40107ef3500edfeccfb29f14e6 (commit) via df9909b8675c8c9b6fa88c5d13afd2efa66dcf68 (commit) via d726cb5d3784f7ed96318a2214ea777a86f9faad (commit) via 616dcb87abe148edf7278581e04cf23aff97411e (commit) via dbfa452355153093d4d6841515f9891c9572113f (commit) via 801728126e4a627305c2c7dc8e6d3eb30a5cb506 (commit) via 1f8e8a3540865686686e1a87e6b5e16dc6011595 (commit) via 19e2900bd399d1ba272afe8b5b50b1b29a948bbe (commit) via 3957a4963f38fb249eced6c880efacd22f10eb28 (commit) via 769c7ea507209948135facd04bf8defc3f21a8a4 (commit) via faf766e31794722b7e2c24e44e920d0476cede32 (commit) via 9176ac5bfce8c1771063c2514b7d46efa613cc1b (commit) via 27f7b092c26b84633a4a266ba8ff01154d915035 (commit) via da4b575911f7e705b3b906e1622b19e9da1faff3 (commit) via cbcdb1aaddb4dd1a388eadbea6b6ec342c7ab067 (commit) via ba643918cf869fa0d064d733f69b453b6fe642ea (commit) via 906b4aac4c1d3cdb2b1ea7105133cfbe25e04e14 (commit) via b4b07ef1d11452018477d6a4166a0cfe1122d09d (commit) via eea61984abfea2c0acdc7e46ec182a14698b3bf9 (commit) via bdf2a94aa535016a1640d56e9b2b539c4376bf31 (commit) via 98ab9e9603cdf52faab5b838c078c24be4e1364b (commit) via 564e11c9a9d9570b233b38cd995f1b4eb7c757e8 (commit) via b5b62006522c6d8d42028754bb1be165f00fe210 (commit) via 5ae5d3fd10c4bb520d767b25c59bf86db764adef (commit) via a78eea1623aa6d05a395a73414bf01f6c8ae81c6 (commit) via 87e79a6515951fece72ee08871dd6e112b1042ba (commit) via 58807c48a5a317ad3e2d39a8755168a3d4d5fdf8 (commit) via 97a232d7335f3bd0231fd9cd39455bde1d563922 (commit) via 33eff4ce18fbee82ef39838b7c8623aed17dea60 (commit) via cf9e7f1f07efa2ce6846d8a29015dd8fb70197b0 (commit) via d346bb277c7f194ece73a7200d1ed6417b1194e5 (commit) via 2888249fc9eb38b6d6e4bd969ce63c26e3753d5e (commit) via 47acac12c83f173481debc64618626b50ecf7498 (commit) via 6181e9c2c5ba252ac016f51903dc35d7bfbbca71 (commit) via 89a7f793f1963b14bd649afc4154903d22591ae0 (commit) via d664fd41e15f058aab41b70c567ad09f2fab1115 (commit) via 71d378ae60a4f072ce392046878d471255f6c8a1 (commit) via 8b6f4cd34fdde524ea035c65f7d48aaa3fb449b5 (commit) via 65f14869fd3fbee8ed4c4ca49de8aaa86dbc66cb (commit) via eab62f2f018417121e2520acb0623985b1708b02 (commit) via 8be965c5f058f79554ec3376afac994e6e3ad1b7 (commit) via b3b9f8d3e99cf46c2f85445cc5189db4c4f47407 (commit) via 6bd0a312a4cb6803b9d6aa2f5646b610d213a1fe (commit) via 754452f07e701448e5d9bd004cb108ddc48a8d67 (commit) via 3cada74087687907311b52781354ff551e10a0ed (commit) via 888a89da7fa5d219695234c3a8dc7b8a57dfe8ee (commit) via 710d7eae846428d25dcfc6f51e8722fc65bd26ee (commit) via b90d5ba0b6e068db21650ad42ec9dea22426df00 (commit) via 618daa933cdce21424d3759ea95a4e2f5c69a1c2 (commit) via c63d3e8d12f0b08cda95f89aa13274defed215f0 (commit) via d4c2a405cb7535d25b88e9b8dad0e557242950ca (commit) via 8825213e97f0476068dc3b52b1b61df96b40708a (commit) via 7ec0cd50bf2c93854ef02b9c1f3b4edc4b70cd46 (commit) via bf41f30dde0f2ad09c2b7a9894fd7992e4b36a16 (commit) via 2a8ae7146cacb006105e2e9c6f4635aca543e7ec (commit) via cbda583ada32e16bf8b6c6aff730cc9eab63b364 (commit) via c9e9227878d172d93bcbef51dfc76d96f027751d (commit) via 35fd2b2bcf370837a03f077acf1222f0a7e9c4d1 (commit) via d9ccd460fdbe0e0f3dd9263175aa4b23b207a51e (commit) via 2d97a5d9d33aea87c3bd02fd1fa417f5d4e1fa05 (commit) via 92fce24de299a8b9a9a1c0c6b98e0e9c1656f99c (commit) via 262f62f57d987269152412a55c458a03adc6ddd6 (commit) via b999e2038dbc54e2c8b1c390f8b8fe50d0f1d10a (commit) via d2176225dc982c22640215a0e611e997e8eeb030 (commit) via 74ccf6db1188b7b05c716f8382d28b276ec578ec (commit) via 91d8b670661883fc0472fd05cf0e54d0e357c187 (commit) via be2e7d95414eb78f29312f30e62d4cabd55f9fda (commit) via b1dc1806fad00fc5b2589164e964646c02a700fa (commit) via 6cef73f96f58ca3f0e0b2f594b324602c7590611 (commit) via 7615ca1dc941bb9f225a1c50df7fdd8d31afc9e8 (commit) via 933ea656af9d40604e4823b07b83e74714f2516e (commit) via 9c4ac400f0f7d8daa8483dbe73b5699782ae3e22 (commit) via 704a705d7aaab8041df76e2981e2a1efc014aad0 (commit) via 605fd3c6590fbed834107a2e1d1df0ba58834576 (commit) via 1e5ded6ce688ddee065fa852053dda07fcce959e (commit) via 9f86398b29d53a5a0aaea390ce813628715b3125 (commit) via 30066b0b00a2c09baed08e49437c2ae3c44bc4e0 (commit) via 102e9361c88882756ad7ffceb0713a794c991e69 (commit) via 04bafb1ed002df1f25ca5a5773d87723a4baf46b (commit) via e09efd5931daf7eede1f4da46313a1aaadd4dbfa (commit) via 518817b361167ac91e7cdad8528b4d90cdc3fb26 (commit) via ed2dc618b3d2b0be01ffdf74c4c75504b707bcf1 (commit) via e3b94546125849c6c513114cf20f78d2a7aa9db2 (commit) via 2cc050302cd365fd28fac65d49b6c817eed74faf (commit) via b01ba14d4d5391e59fd0e1a3608fd47287edc008 (commit) via 4d0fdd9b357aff1fea3ef3def55d12464a41bf5b (commit) via f979c73fd0be9a8a683f79af40c7b939c2a65d9f (commit) via ba18742c3a1b62ff218db99bee47bb932af6dab9 (commit) via d672364615e87e8c366b536940f269fdc3141330 (commit) via 35eeb78fa9535df6a273c053d8f102e046261b89 (commit) via 77a502c03a347f0eb31e53e94cab528190c5bd1f (commit) via be1dce26256aa9f6c7742e81c8c3db9eacff079d (commit) via e379cee61f3890e535e995828e8846b020ef2a32 (commit) via a655456c134e5e02bab33941e1c738ca33905d23 (commit) via de63c46b549d1cf4f7851e47872cb759a12983f4 (commit) via f98fc17b3ac4750842ec0fe28a18b51691ddfbda (commit) via 342f82403949c74517a6353baec73b94d18549ad (commit) via 7150d33cda60fd543e9d9d68eb58d4e6155fb878 (commit) via cc0e770c0d00acececc43826f4673896d09b3dff (commit) via f79da888eb68d5add4eaa7f336923cad95367335 (commit) via 672a41aa12fb24fe24dbf52d2e78a3a846dc0225 (commit) via e3861a03138e24e7f2f0e8c4982bdad2a6e1dbaf (commit) via cd385f94a7888b619c84e9ab007bac5093c5e894 (commit) via 09aca9495c4794e586680f359e612ece173148ec (commit) via 5219ac6237c272b938c28517bf371429260c71e7 (commit) via 645a2c5b46e18013ac9cb16b66ba7b6b97cd01c5 (commit) via 7365ec2ff4a7028503f39655bd2628d54418106c (commit) via 289483b6a06c7a24ee9ae9021d2728ca4700b7a6 (commit) via 344420da6beac1e0b2f7964e7101f8dcdb509b0d (commit) via 66fc87a0d50d2b91322cc24d17461c07925fa867 (commit) via c40d7e49cf0a6842a5cf072772a48d1f6e6eeb11 (commit) via ddb2bbcf0624ef5f75c0a007c6b192c09b6fa70b (commit) via f13974bda3d53e47b7fe5a358e963073184ba17e (commit) via 6f156d7a4ad1c245b357dc50f63f3564d397839e (commit) via 9f757bf7fcb8834ead780e0c4a76d6029b1402c2 (commit) via 219d1afa89d0d53ca93a684cac341f16470f3ca0 (commit) via 1e563868718a69231c80a1d86698cee0cf847e72 (commit) via bd570f80f6e47c93f4b1cc1e94688cdde33ca931 (commit) via 39f2fa1b0fdfd1b15f3d381c4fc4359c9733e657 (commit) via 43724d16bebb38fe6794f6a3741352a7698038de (commit) via 806ab1c045c4cbb5c906f79bcb2e0c3058f4c6fd (commit) via 1508bbf535b03e3b9105d01a9e19f29f131b3d1a (commit) via 9fe561ab7fc5ee3a06061dae6909cd61b49435df (commit) via a405673cc5b56c260de4e1202cead709d1a4f24c (commit) via 74a2f8ffb83172de1af0da6751a65c08a722986f (commit) via e2882c85786571175a0b0bfc3bcd2f14620b1ea3 (commit) via 1690bb24d855c387211f7bc5a77334c11cc75f4b (commit) via 0f0c98a8a1ca2fa2e73170849b1db4876c3ea954 (commit) via 82e1e79a420734bcb1fa255a1e7b3250e6acee65 (commit) via 053f54e57f64ca88596999f37bf3bd329b497d20 (commit) via 87e4655d674c00ccefaf3682b5943505e1c90b92 (commit) via c76ff6936bd0c7f8a331e57939b1b12d84466b9b (commit) via 47fea877452b84b94ac6ffb26f194f12845526fa (commit) via cfa27c399ec9236a100ef794505d35f60da41a6d (commit) via 132448f8359a268f34f074b0908b5255b568da06 (commit) via e9d9f57e11db6427db347bc5b9b100071355e63f (commit) via a594729cfb10457e0046359d2dde0c28b4185449 (commit) via fc898b42e355fef58e6a029799fdd71b9dda5dc6 (commit) via 0436426c7f7798b8eb4b48be9867495da8ef28f0 (commit) via 502a625ab01da27e851333b598c893d6f2c20bd0 (commit) via 4b2dfff9e78c6b615a92c727758f08f595aadba2 (commit) via ffd727ca6e52d448137c8cddfbd361c67532e4e1 (commit) via d9be0c189a9a9b77a6bf4501f8891544b8ce9593 (commit) via 4ee2b642ddc70393d5b3ab04956fadad02954d4a (commit) via 0f833180d3e7a4551ffcd00ee9b6d2483ea23a8a (commit) via cef0f8684e818f8b6c71c44dc9cc28a6d0ac3754 (commit) via f7efd549485db1fd84dbd2f2ee36d80c2739f224 (commit) via c1166ca9f3543b28e8b0057ecaf2cd3251cd51c5 (commit) via b67d92b06e6155a392a0c2d413f87d050880dbf4 (commit) via 76bce0d1d5c4e434736ce4331bc987c7a1ee702c (commit) via a811763d7467c8c0c819d7f0a93c4406b7c049dd (commit) via dc6af97a85961f06b3b4e14707dad2bcac39921a (commit) via a6c42a6e7404cc469db89a382d2eebd31d794d5b (commit) via 6e8c24fe27098f407000812e61fa8210095a7970 (commit) via 5c8833d2fa4bcb6a0ef4249dd095bcf29a240465 (commit) via 845756abe87ee8a272171edf032242ce4ad13865 (commit) via a8d2e5856f87a658d69018fe1ccd56482eebdd59 (commit) via 27e9ff87a627614fda7ddd89ddef745de5e988bb (commit) via 6eab0eaa1b71025cc1747396fdba127d25c209c0 (commit) via 21a186f28061ea51e422ae47d062793ceac2180f (commit) via 396d3980f518cfc9a936e3fb8138b0492399525a (commit) via 175654b9cdd3113a01174b019ac286092398246b (commit) via 0a16b291e0c181223a97b68a5252f99fa38193ca (commit) via 00c2093f698e8f40c04340cb1832d09e11ece237 (commit) via a3b3345ae62503982698171bcfce0afe23bd8a31 (commit) via bef7475fbda88374ca488b0acbbfe1d3d4ab3e5f (commit) via be62dcaa1771b5f2a47f0cfd78f89828f087efff (commit) via 63f452a8bfd9c89b56dcc087cea84151e7a9ec24 (commit) via f795c49463234dc347ddd9a1b07ee5b506295b96 (commit) via c54207d32681bb205c28facba73b6173ef15eabf (commit) via 4f588891ac7d4653e1bd861ca38c2a4e6d5e907c (commit) via 10c17abdd052c5f8f9c2bcdf8b01dffe5d06baf0 (commit) via 1b54b8d7e4fc8055f9220a5287e8a94d8a65a88d (commit) via ca0d63fe0703ed36af1a7bda6097958805895b3a (commit) via dc821c5f9ae5208ad1ec438718f75e224f856deb (commit) via eccab96d54a9455557d3c4d5bff431f6e526d0b7 (commit) via 0e2da9f01334a01d1a6e224ecd592d6fbbb22515 (commit) via cb923fcc23e07fe3dfb3837f47249aba79cdee6f (commit) via 7d47b066d0e5ea1df82aa24fde2dd4e38814627c (commit) via 390c91cfcffe1a0d75b6100d1542cda2544993b3 (commit) via fd7055f4a7f8eef9dc926fae698ad297279726bb (commit) via 38af1824019684e819ffb880bdf7fb03a2c2000a (commit) via b282f0f2b56903c7b58f1eb94b88e468851928e8 (commit) via 46afe196ec282505dcd2727725bfb5ef87ea4b21 (commit) via 09da3ecf04d75084ea7d9c43e3cc0b18b2443ea3 (commit) via 7c1618381fdaa0697a211721ac31844f884797ac (commit) via a27ed7d613ec91c3a79965d6bdab1fa96d559c85 (commit) via fc076a47fd716ca75447d432251abc67a19ef908 (commit) via 68f81d60196eb201b209873cf53258f13b0046b9 (commit) via 1af17fd9cc3a453e55ce5b8f556c51859bf40363 (commit) via 97d4fac10fb9dac465d1d7e7a26c6b9cfb0b1326 (commit) via fbc2255575afc0d332b28fd4991235e020cda667 (commit) via 141975a1e53798a48917271295962fb1a7e967d0 (commit) via 93b71a266695669cb9aa8ddf2717a1ccd53c925d (commit) via c5d0745b0d3edfea9e82a4b304ea1847790d72e4 (commit) via 2778747c56d0837ec7defb80e756a7e6ca81b8ce (commit) via 828d584679845b6a1d01151f7df3592d15fe8405 (commit) via 1e5dd7c95a56fd61e6f2deb145ad99153d5336e5 (commit) via 8e557e52b3fd45a56fb42dbbaad3d6ece3694eb4 (commit) via 863f7a5f4811c24d9a5863ffb541ff3da1511450 (commit) via 4baeffab22b564735be14a90f658c1aee1ceec58 (commit) via 8af5c486ea6153bb84b9257def4e5faa4bc72421 (commit) via 79e8fcaafa92e7b4a74e510c5487e87c60ff1945 (commit) via e05fa6f9df82886043e1f1df30e0b9be3fee2d55 (commit) via b3e7dd3c9d05064d845afafe52a7539948823788 (commit) via 25982ee0222196381863a17dc135fc1d2763b385 (commit) via b89641bab55496e52094282fabe146289c57b6d1 (commit) via 6892d2e4df57160f7103fef0340ae3f55ac8b2b3 (commit) via a22ecf70263eff75ca2c5878fe7e8d0311d6737f (commit) via 60a20c190789fd75d1955576160cbbfe94c792fb (commit) via 0b982d685e840948eed4619843a0cc5ce8991d6c (commit) via 79e741920446582bd0e09f3e2b9f899c258efa56 (commit) via 9664701462aec634d304923df8dc9c52c5a92caf (commit) via 3bbd9f1877bfc5f37ebff1fef2af9eb783f49ace (commit) via 024d185c10a48339ae06634d0738dd796a159cd8 (commit) via 10e7c0457cb7531f8b205e29e88b3e191cfa6037 (commit) via 9937536c23ae005422cec23d38a6b7f6fa8e1f48 (commit) via 2c66e1634c92040a8fcb9590cd80fe881def0b20 (commit) via 702d582e2c5ab9fbd6e9a68f26d49575bfe7e062 (commit) via 0cd79707332aef140efa2275363c40aaaeba1c22 (commit) via 6e51bfa75535439cc66039bcf4e8ebf16e8fe124 (commit) via fa8b7c2128cd03135b7d31ae2ecbc2d3273e990d (commit) via 58884b0e451043ed2fb4d2fba18134f0fb451ce5 (commit) via 07b95864f35f19636e2a95eaf3083a8b18ac7cda (commit) via 638d913757609367eea219d00296a0a3d45010c2 (commit) via fe49c6f559b67fee381f0c2a6f67c10ca306ca8a (commit) via c3d186206bf04a40244e727fa381f78a1600f196 (commit) via a994fec4f8f7a886be61cfb3023c354cd2483b9d (commit) via db9077b7275e86637218a7a7d165cb85a4de116f (commit) via a933405894161c8b15f675c48d077b7f7d6aabf2 (commit) via 4b1c0f7e85f2aec3df3498d04b5beaf45813dea8 (commit) via dce4fb839ca81ba4aefa9f5dfde8c8041826b3bb (commit) via c4e648430f3c5c135310f87280d45dba581aaa7b (commit) via 4c5ae11b42433dbffc33fbde75c9e415594504d8 (commit) via 3c0aa29aab3949363f8b23d062c2e0cb1ccf017a (commit) via f2f9e7ecc1f02bfe5da83c38cf356ea96d428c6d (commit) via c5f9cfc894373abd00ee56c6723ee0ba95a84f95 (commit) via 08f49010a10b1fc98f65aada96e788c87c56ad85 (commit) via a9c135fc7d0c005246849ff6b205fd5090248137 (commit) via 75323ba0a7588fcd6c8505077719abd50cae71e3 (commit) via 57a2957f2ead9ec2464a1b6fbdb250e90d27afab (commit) via 8bcf9b03922298bb6870b7163be90163c422973a (commit) via c5ba17787d077249ab7071192566a2c0205fc97f (commit) via a3c5fafd2e0bc8c1ea98c579c0a044c5b324967b (commit) via 44ed8f3ed0264016a12cfde3126f9148c07eabfa (commit) via f00a2de2a7556c59bce93f7ced44afa8e1bbf7c3 (commit) via 927aa2e778dce440f4de5de8fc37ead1683a804e (commit) via e5fa6583a7b1e5e0e0f33a4964a1f271e189cf35 (commit) via 4b514bc80885fa91e57b9d80f74ea267df343c46 (commit) via abccd1e7b7a37385159610ca4e0bc2632a547e9a (commit) via 437afbb81e3a04cbd933fc534a50c686eaa63b19 (commit) via 6432ec65a8822246db5bcede0c6bd3ed0e464a0b (commit) via a9d44aad42e127adadbad35f23931d8d83aa40c1 (commit) via 92469284a650232768523564f2c715c4ebb57906 (commit) via f17d9474776e50ae47aa71c52211ea6e21adf5d5 (commit) via a0de8c21baf46c40ed8e62faef5f750b1e5453ea (commit) via a738ea1d41daeec0cccb4ab6671f4f6d53bd9e18 (commit) via 8e481c3ba86e512b39b16b41de24e87a17f7d968 (commit) via 10af2a65c8891435d0d63411a3e694cc74c9447c (commit) via 1cd9a73b4280cb133b305ee31a0e87f114bd1be8 (commit) via 6b05c8bd437152d7a3ecfc19074ab243ee6c92f2 (commit) via 336ef6d22a5dba921eed85eb4fa75ed22a02a633 (commit) via 2d054e6bfdfb0f58fb9cc501c29327df34fec697 (commit) via c8bed57010e8789212a6841db4b397b175a00f9e (commit) via 63a22aee30c7109adec9e9f503a086210683109e (commit) via fa6eb693cf43b427474b1d96ce093f6ea9e5da6a (commit) via 883fd55ab1049333364479a7f5b0c7e61a310bac (commit) via ec72db3ef415ebdcedaf36a1d83bd6624ec063e0 (commit) via 99598d713f45d1b26015ec3562d160dc2b3792e4 (commit) via 23a8d1862b7e5b95f0fe9d724c6be326e545e6d1 (commit) via a8806230241d201f808d856eaae4d44088117b0c (commit) via 30970df7d56bd65657c97296f31fe9862bf27e1d (commit) via 824cc835aa9a4d585d955db4ab2a5dd4c17cc22c (commit) via 9c226a8689db8bced43b94f551e118551219ce54 (commit) via 7d6de425dad59050131ac4ffef84068e57bba7c4 (commit) via 931c97c81a55dffed31e20e0cd109aced62221e0 (commit) via 05a5feafdd3869b81533993a23c344d60baa56de (commit) via 34ac47f671d870c62635cac209d8df4250f20192 (commit) via 649a140ccf129ff79ea55ac0cc23ebddec0f02ef (commit) via 9a93831ccc0ba3ba447552069f230e6d93dcbf3f (commit) via 1c9c7ce078427891a94dc7604ce9e62175ebfda5 (commit) via 7cc244debb587d0f6179d80b5ca9b0ee86e9ab72 (commit) via 846fefbdb2280374ad91afca3d24fa0c3fa26f96 (commit) via 9c1ce1085070f42718e341d89a28881edd96161f (commit) via 07d6d2b8345ef3dc82eab49635acac9ee67dbb18 (commit) via 65281396861dfcfa993eb5af4769d6837104890d (commit) via a3cc9aad2e3de033462d64c8e028e1a3587c63e9 (commit) via 3bf083ed23b1337341129b810ed5da29ba8207f9 (commit) via dce2246a6c934bf35157e8970d0da5a11aefb282 (commit) via 8fbc617a46b015098876a7515c3a7ad6d1682876 (commit) via 0527614a9b805d1f640f477f51f9780403487ef8 (commit) via 858c9d13240e695bc3b750368f5d4e524b12112e (commit) via d4a0e8b57d6f85e4ee4a31e0e6929ff5b4fd9823 (commit) via f0cddbef410cb626ea87b3a954bd4e3d7526115e (commit) via d05200d155f065b93e2dc353a7d33408c7574e9c (commit) via 082b9140d953b9e6a78271384ec48ff5d0ba8fad (commit) via 53c934e9fed9a35542661690e4e71febcbebb539 (commit) via a8142ee195063e8c7202429e80ee58185c34b3fc (commit) via c9c895b9666e33a2b910faf9c1b667ea665f00f1 (commit) via f65ff9f9a4add415e5ae332a094b2134c1625517 (commit) via 3eea796c5daeb7b60531fc3d707470fa91a86e11 (commit) via 40e2a9835f6cf47b630babef3fd788e413ef2dc5 (commit) via 129c10bcb9b3bc2ed9682040aa9a0d144bb5e959 (commit) via ed9376bd95c52ba00aa37b224b4407030a00d184 (commit) via 798a7429f980a00844c22dfdda9475c451c635d4 (commit) via da02107a39f3eff5e0b6d6321da4e88f9564350a (commit) via 4d7efb8ce25f6d2c74c8073fbca880211cedda34 (commit) via 3e1a70a0189ae8d2dacfef93790e42e42e721762 (commit) via c179febe79bf2fe2f64852c827813fc46da819f5 (commit) via cd93789b89f55355d3eeda6c31ed7bd0ed318acd (commit) via 1e52e8495a074c9d1f7ef17f13b9060b76be6f41 (commit) via afa840dcc021eaeb975dcde3bedbf46ea0511717 (commit) via 7403715e305f7733d8dfa4a8e1739f12f5180cb2 (commit) via 50a1fdd59c1777672a9be0e81fe2301c2a115fce (commit) via 826c3f1edc2f9da4594aed86b57a7b447a46016d (commit) via e21126b7b381a9083e6670ca9adaad6060e376d1 (commit) via c88f7cba81551fe60246af61ac41effa2d51d36a (commit) via 48f7f3036a792c655c98b0742574841743e38f58 (commit) via 97d4213f68ce37efe4c957f761e500a13b19f16f (commit) via fed44c60b3a3ded5e60982af7412d20603054910 (commit) via 1e97a22796cced8bba3359df46e8c2883653516f (commit) via 10f64178412d9c6e4f2faade0da271ab8be273c9 (commit) via f0fb2488c93c00fa1436a4813a375faa00a94de5 (commit) via f143cb5fc655e1ed0a6e15e6ba33af0d79ba1802 (commit) via c0e15c9bfd6fb4bf36e5240838f6ebed1e1f4a7e (commit) via f004534791145669d7765f8122e48f21e1deeb94 (commit) via 9521758bf967360fc1e18b2a2195d97ae19cb80d (commit) via 8f86d7aa8504e9a557e807a3e37718055befcd84 (commit) via e2b4407579df508f85de961dd693c9028e79d823 (commit) via c80825ff32ba805982ef5e66e4fa1a80e019d47d (commit) via df3e4dbe661e522cc63d3dab15c3974713fba4dd (commit) via 5a6b0a41dfc9b860f285ddb3a1e518299f614cd3 (commit) via 39a64da5fc9ce6decd7e5ba0bacfeb2144d2bd63 (commit) via a1385b7b881d2b129f8c26fac8ad20bc406a1a6d (commit) via 454296a2c1f3afe163e49730b9b396ffdd985e1f (commit) via 6b2a85daf5a5c20c6d4832de1f19109d9e1cf17a (commit) via 798a38e8de5f0fb5f7b17ae757b2bf4c5139c023 (commit) via e4eb0dec0b9219a27ea6b9769f098fff34612779 (commit) via 83e1b6c13a285b4e1e852e1647667f09bb26892b (commit) via 8dc7b443a6295da4b3d7ba22f3a7695990bf4f39 (commit) via da25033cd92a60f4462e1468abfabfee02d0b8d9 (commit) via c91bb56b06b52d45de7c8871a6d44ddae61ae977 (commit) via 634a3254c8fe1728c0202289afe594928094d860 (commit) via 6d83e819df0c71868d04db46c60ff0ecf8cf1914 (commit) via 035d856f2c3a30750e1260c595eca1e92e94421f (commit) via 222b39c283e3fd7823ad95ccc58ae94e76b63237 (commit) via 158600eb989bcbc364c6d18259f1cb32ea9dc478 (commit) via 0af4ccfc5bc7ded4d87f813e3754486eb5a75349 (commit) via 059256c7465164fc070482dbe04ebe4e2ccf1a08 (commit) via 97cbe998d0dd5c13a0317fbb24d745da367d8caa (commit) via 754fa8997d48bc9da80e8c2e0baaf36a313ba74a (commit) via b57e49f726f854e65b2ce5e87dc7ee664daac1fb (commit) via 40fc416f4e22913ba2a2bafcc8da05f59c677b7d (commit) via 7f0f8ac8b15f5f5327116614b4137e5dd533ada2 (commit) via 7ef67ba53397c52a87375403aa614c52b94ccc73 (commit) via ec6a20c268c3be4c34b951bc7d02543dca956108 (commit) via bd2e3511f74940beec6a39914480ed6ff88c0a71 (commit) via 71739b698d47945463f183619078ff680c277f0f (commit) via e2e321740ce2e36a97be2a410cd56eebaa2304aa (commit) via 0f873fd58b51a2906f31bb445ab685da04a1be23 (commit) via d0df06af9b70c5a6a2aa496437364f219e669067 (commit) via 2ee0c9b3eedca5d1071870334d2721be80a77ea1 (commit) via 92f402a7e03f5d747bc9a09c8da2f61cc539ac33 (commit) via 1cc75e929ff4e99b3bef4ca0e93250d5b1b126c9 (commit) via 7b2d20948528f94b405af3e951931758e92e8e4d (commit) via 0fbdde942914bd9834860b65f2943577be1e46e5 (commit) via 40363a913b8c1292af97b4f50a0b2c5e6fdd04cb (commit) via 63c1f59d665542359de4737e3e48033c588f44dc (commit) via 254cefe35f012977d567af0bbad2a8091d90e22b (commit) via 875fb7a785e78fddef6da270636e8f4efbfd3e0d (commit) via fd6798fa2d6f0374d45449c4212869da93623b1e (commit) via e0feb133429709603eeeb382c1ebb6edd0a886aa (commit) via 036aae79303c43c56b604bc215ce4a70fc2a6474 (commit) via 4a7e52349807017f9bc09ea25f07924f2ec971b3 (commit) via 6f14765f9f448bbe03750634eb42c4a9db6521b8 (commit) via f1af7b94c16029f2c6da9eae4076f64cd9383687 (commit) via e3919f3e898aa5ab9a98dcaf9e242a9ebacc0757 (commit) via 44122162aefcbabb2fbe5b531412d157da5e59fc (commit) via 7ac20022477c163983de77e5b16c016d518ca7bc (commit) via b5014f7af26ff0fbc1128b5fabdaf3bd5918dd94 (commit) via fd4e0347596acf79642625f4faad9e37c8fa0f0e (commit) via e21440ba622e17a2f12a858a87a6a75ef90654ca (commit) via f425ec6600b69e39eb605f3128806ff688137ea8 (commit) via e8020e54f4b9ac05150c4b02fa81e228d6cf1f6a (commit) via 668247656d5dec815a57761e98720dda09f72481 (commit) via 7505954411a168f5c5b9adec23eac55b1532fbe6 (commit) via 8029e59279e861071234decddf6a493119e0cb98 (commit) via f5a91472120952bbc40f277561626b8ccdf7b194 (commit) via bd69330db86b2367aac8aac5915f1686451c9d5d (commit) via a20714ff39f621961151d0c204e89062ab2107eb (commit) via a207cff2da9f154e4f581b19dcde215593bfccf9 (commit) via 4024cf2b8d864279ff87af1a2ade77ab6d710d50 (commit) via 5dcf52c19f7045fb179f703426d345b8a81d2210 (commit) via 6cf829987c6bc9ae61c7c9e8b4c71c4eea8ba2f9 (commit) via 36877bfb88f99dd0e4336f98233f7caaa1d594a7 (commit) via f923328821e2e835c725822bce2aac6e10c52dd9 (commit) via f10e937a1cdcffcca748c226ed78d09369fc4cd0 (commit) via 4581a1c7d304ce14e714b27522ebf3d0188d6543 (commit) via f6f1d339d4169a60362f1438221bd03f8f021f04 (commit) via 8ca2f0b9ac024db56ca40f2b37c0b6b2bfcd139b (commit) via 02ca603a481d55e175765ab5bff30a04b86e905a (commit) via ed6c0bfb2643861636581ac8775144efa1728c7c (commit) via d785b7d4b877ed465d04072e17ca19d0f47d840f (commit) via 08f650e6b657e59959d7db8af100720721bd10a2 (commit) via f106e10e5e80265e1c43532bba4cb997a7dfa022 (commit) via ca39c2f4dd0fedcaaee348be7a913f0c14876796 (commit) via ed9c7ee03780b8d5acf091091ded29cd40df8254 (commit) via 5dc824ed42cd173c1525f5abc76f4091f11a4dbc (commit) via 8de0e07bf381f677bb93a8da72185a54e5b014bd (commit) via 144653ec15141907a3276b6181c4d1114f71be13 (commit) via b0029dce6867de1a2828293177b0e030d2f0f03c (commit) via ff174d3ffad13af17a61583db3e1cd9c0c6cf237 (commit) via 82ed9683ec099d8205dc499ac84febc975235af6 (commit) via b23dc97fe237a1d9e850d7cbeee066183a00630b (commit) via 6c6bc899302deb7c9b14f71da79c0fffc992204e (commit) via 165f707ac88916aedecc96fa518be8879704d6da (commit) via cd5b2babea487b0a71a14b593af98330efd8d73e (commit) via a83ef4d139c377e0e87d105977d85c6ef9fbb162 (commit) via f0531ed6a429b0e6e6509e6852ccd3586f3fa1bd (commit) via 033bfb739b525703bfe23f151d09e9beee3a2afe (commit) via 57c1b6811a2d97a3de229351ed19201853245a5d (commit) via 18ca73470a0d7eb96a807c97559cbb9fddb4b461 (commit) via 66599a7dc0369583229c0c51e5e009cfa7cceb73 (commit) via 4f04fba813785f3d749376d9b434c0f94f835dbc (commit) via b5adff3b5e14a45501f5761877d587019c94368a (commit) via afa0a4115985939f242bcd54211c98345eefe16b (commit) via 8fd8d003de32661ed703ae9fd7e1a856f1b58f81 (commit) via bd810fff78006d38e3c287b7bd241319f4d763be (commit) via 75787ac19cdf7e8aa9b4c28f9421837ba479cf51 (commit) via 5c8a943144f6972dc0854f2d01d7cb365b06fceb (commit) via a26aa30cc535c9bde457cdd00daf0c82f25da0af (commit) via 6f3cdf9a3bfa2c0a22fa9dc40b45578e2ea7957d (commit) via f06afa533665d88c651617de528b9640eb4e8611 (commit) via b22c88c2ca013cc25d7a8fcbc748122bb1a349bb (commit) via 407e1140841f7fc337e90a7ba4482fb5a10c1701 (commit) via 148d6384291720bcaaa062badf1179b6215f6da3 (commit) via 76a493ab99d9276180db6e791f95d1d6d86d2954 (commit) via fe6c2f1b6409867a03dd32214679dd825f74ec48 (commit) via 46888d710015aa8d4bb3c2dac7aa6505d6ac8227 (commit) via 1c2649f50f4e40c07840f45c4d237efcdd02e8e2 (commit) via fec68fb168d580c188358347f3834072a8960ddc (commit) via 120bc8b8b91cba4a8d4092ea0fb3d76bcbe98712 (commit) via 10329bb27fa5531bf97da184c4d0ed9c4ed85605 (commit) via 6dda7875a8021787f11bd95a69d81a079e408a57 (commit) via a377ae2ad683d3c16ae74dba440ee441120a7d8a (commit) via 64973b0ac4c34e80821a56561ae1af15f7d6e809 (commit) via 4dff97b2ce94bbb9c0c16e0e4129060b9a894f13 (commit) via e3d40582166056dd1dfeef2a06ba8f5897b673ee (commit) via ee9a09e959a5b7c152cc72028d4f6c879bc901c9 (commit) via e8e7d10c39955e7ff99ff42f6f16d6befe2fa12e (commit) via 7db85adb3b988560d9d4706d826e193e83ae7cd9 (commit) via 6a997029fb0fca1a9e2832db80a3afb9bccaaf59 (commit) via 2b63c337d99fe12220e6ca12a71dac6cdd3224d3 (commit) via 41272101db08e20f044dbf0f09b6d79a0fa6c1ac (commit) via 44287fd89091a833451e74c79e46404c23fdaf9b (commit) via 8e2495f2f75120baae14f9dac9d29b043c539b2b (commit) via 58f7f0bf542ff9b712ef1ed6a6e1a6da563b9054 (commit) via 617cd4bc366e47f92ecee3c3f9850a0fd2e6c6a9 (commit) via 5ffd2cb722440053267d0db52df8bbd278fd6d91 (commit) via e5a8dd426de76af279cb6eff0c761ec866e97dc8 (commit) via 0e5457dca14e2e0474432566dc7a603db6c990f7 (commit) via 685de8c2990a04fba5e2954b7ff089a2c641071f (commit) via deeeba559bd0c18e06dba19f44571ee8a218fcdb (commit) via a81aaca0578ee91ce1cee56c0a31e26c2a5ef581 (commit) via 6a3c6ee41898743234d8fd9f9cab15f2ecdaba49 (commit) via 13450e7c7fdbdb9b25aae68c60475d061ed427d3 (commit) via 8955eb2da31d78690c762748fab3a16832ef1f81 (commit) via 0662b6a7c1b3b04a4ca31a09af703c91c7aa9646 (commit) via 276da9b31bd6e3eb8d1dd814c867266f59f29093 (commit) via e547c119d043f2ecffb70452020ab9150d083a91 (commit) via 5f1ca24acd8fd4e21c4f6f3ed2bbc4e2365215fe (commit) via f5291a6f321ba6d657aab447ebb6a168ae48d40b (commit) via d7fcdff980f113ccf77f8dd2f8fb3de3d6addaa3 (commit) via 4e25ac038efbe5293885cc75d8a3e08b23da7cc9 (commit) via 0fbc35681ff0825be97802efcccf953bc4573a45 (commit) via 8b77421a20c22c9a66048e7d1484b149da060b67 (commit) via 30649c145114fe3aac089bf06e9457238d46341b (commit) via 7696f5c95761be03db7ac62683aa027ecea30fa7 (commit) via 8172f16b5b8bf3007d0aafcb38964a408f0e844f (commit) via 7aabaf9d4ad52a1df1f551908fbd8cafc5e7597a (commit) via 21fe1c752e254167d953fa8c846280f63a3a5290 (commit) via 089354bb0613ca1559813f0a79fbe73655113785 (commit) via d044bac8ce5e6737d13e7e5180f5a5641053e690 (commit) via e8d58cbaacb9ca54ad32eee1a38301202e09f878 (commit) via 650444eb540f9fd85e821567a3f943b4bc41b8be (commit) via a63f2d2feedcfce401ae1d7d03d119bfa5e4d8bc (commit) via 1b30aaa56607a563fa263b9d2ee9eba89d79c1b4 (commit) via 6654d750c7c584dd83b93f062c5628f15c675480 (commit) via 49bdb7ee48a10581e9f7254782f2eb953c4a164b (commit) via d6d7ce56231ca8c233e64b2ebcb910fe334d6ff8 (commit) via da434ccbc3e0ed843700790cd16c1d4bb5882460 (commit) via 98ead37e9735438986934f9f1f35f020a093fe07 (commit) via 62ad7ce71b243df3e8d7d4f8b8560a7316233a9e (commit) via 506fe5f4996738f25b7c26f126a84b231429ba95 (commit) via 6d2cd6b2084d980a4baf5b4bdce8499c2295a672 (commit) via ac465521a50102d589a6a05a1e722dfa349d3181 (commit) via 00ea2e2ad34edd202f58d9a1eea2081f0905f9f2 (commit) via 7e8006d14c544a069619dc2bb2c9d2d2b7fd99a6 (commit) via c139731b13f83da3c9436f92d52b915e94ff7480 (commit) via 5f71e59e1a284eec67ba2a91851d0ec8319b0b95 (commit) via f45e2a7704c738ba8195a667f910297c4155924e (commit) via bd046f64a193405f2fef2d5120fab4be25feaa8b (commit) via 4c37490d92c0168e5192ce109a791c4b3fec9f8e (commit) via eb02c04dc3600e18bb06dc1ef8fc3cf9a967d550 (commit) via 7c3c1aa885b720e25b25af6ac05f34f9ff0e3dfa (commit) via be7d1531e1ce34efbdb9367f1483f9cdad477059 (commit) via 287c7eaf0d90cc1bbb5a5463c665b163c6ee04e7 (commit) via ab2477e15cbe067ff119f1bb5dea05de3cadbdd5 (commit) via 60d67dc84bbc7d73672d297d714f8a4a0547618d (commit) via 9d9c67b06c1bf4c4550e3de0eb575c2bfbe96df9 (commit) via 65f3ed048fa0741e874c7aa372f9ddba153a2949 (commit) via 43083a502b8d658b8d096111e54afcc73b0215a4 (commit) via 9bb129e82f0506fe78d61670ea2b4140388955dd (commit) via 66f1eba0b7e83f293573ab42bbbe5d7d5c905d91 (commit) via 38bf51134d1a58f155c89f2b1c7bf885c2604ead (commit) via 9c23b42ffa67b866cd7562c1d8caed70db5d6840 (commit) via 0e9ae10f5f97824067365af4813b843973297573 (commit) via 935676c92feb5f35e4634ef58c20ffdfd0979b07 (commit) via 88108bf28c4a726af84dfec2f85b8404cc2ac0bd (commit) via 8f6cb6c33815f38b41e1e93e59f12869db07c070 (commit) via 479f8de1b3b7e69ca8d557bbe9d843c7d1bc89c5 (commit) via 41bd68f52c05f5654bed49f312f6562c8d048897 (commit) via 7e2fd2f47b37185505f68e45c5cf016c7a16e1ce (commit) via 0604393c22f626f26b5a4a30e57da40404f5aa5e (commit) via ddf0ea085b626ddcbb14f88f495bcb677b7ab6e9 (commit) via 9e5b9d2b295d1771647a9e4bc942e398142ccf9b (commit) via 2469b3c58447e98e073ffe7ab6c9627dbbd1aa81 (commit) via 2ca23e65f562bd0efa7c483a99b49cc3d5118a58 (commit) via fc35dab1a62541858cab1c82aebc6cd166e39f5b (commit) via 1daad298d699383bb4f35aa919a1acfa0ab8e16c (commit) via 88465e872cb6649c42863e5c47011bae9e17bbdb (commit) via 94b98370de3ee157e039f26865390b5994c47c3b (commit) via dc196b230b7366683799755b4461acef5cc95be7 (commit) via 6f19e86dac3a191945b5eb08ae767deced660a00 (commit) via c7478d028e8829402b05478f571eb5e1916c63d3 (commit) via 5aa75429d0531ac6cfe59efd80f1ab01311865b3 (commit) via 2400729ecfd2c7be8b18aeaa822fef5a4b503f8a (commit) via 7a26362d360ee34de1e8e927bd7159860fe8354b (commit) via a9f26f609e3a1b6ae3aab300b55442e0a81e2bce (commit) via 29f9a5673764c1b2711c0ceeba380a6ee764d1b2 (commit) via dc958481429708ecf91f9b2c445063d43397f07e (commit) via 0ad71725d917c51b46ffacbad25744dd889e87da (commit) via c757658ed60fb1027a4335358bd55eaf6c23190f (commit) via 3b1b69bffe522f22d269723856d2caa901041819 (commit) via 54aa6c67f5a0d52dabd428cc40ce02781032acd3 (commit) via cf3fbed4a00e668ffcad1b878eccec87334fdcff (commit) via 9edcc12f9b714149f84bcf20dbdad91f030e62de (commit) via 65d40437e2704e635e7144319e956edf3e7fa026 (commit) via e02544b292a3d537b43ae9cff890ea040b944d01 (commit) via d6251545e230b243abe60e334bb3f78c5e564fa1 (commit) via ed0f427344d0befead629d9267aecd01bfb72721 (commit) via a25d69c6dcbabf3f6629b847246ffb4ddbc29472 (commit) via 2824e1bd4fc93f112875969b1ba606980aaa55ba (commit) via bd560f571fe7a83755a17e7b5951e70f5e4c5039 (commit) via 50d2740d562edc68b2fbcacc0585c3acfc2c302f (commit) via d85bf2ba86fea1cf918f065d179b98eb4ddbde86 (commit) via 0fc7642151cc5e62f05ac8ea91fe4d5b44bee11a (commit) via 0ee5a0e48314fec3522f7eabadd5fea920628077 (commit) via bf3d139947aa7f846b463db4a7c4b6059a183e11 (commit) via e6b2f5efa97c7f3de8a3947c6782c40ec6172686 (commit) via 5c58de74c9acb346513c974fcdede270be2a77c3 (commit) via e1ef7d7a5166f846b14bea5a77acb0dec76661a8 (commit) via 9752982420bffb6cace1a25830a92db7fcd1dbd0 (commit) via 73fcf6418ddce47ead4ffde4fc9fea8e8bd1f4af (commit) via b77db948f4175e479bb3310ba86346c9554ab9f5 (commit) via b7486a74a62527412cfd2dd50a9a100118265c28 (commit) via 28e07a0510ca896311014cddf125aedfd7a8cd52 (commit) via 578290ecafb83e93f0ac695df586b65dac5e8c5d (commit) via eca55aec1d919b69e0d61c91367f8b4d25bc7c43 (commit) via 25c28b4d153ced950cc8702aafb054d6f14f6a02 (commit) via 5fdda39248cc4a3311efbff3cf2350123d638232 (commit) via fcb056a58dd38cfe7bcd34b7889138bf807c40b8 (commit) via 139720c5b32963ce52c5f691e179920ff84a2237 (commit) via 6d1e5673fec830f0f1c86632a5d9333e34582bb3 (commit) via bbf550d50e4c85666877456f014421089503e83b (commit) via 00192f771796a144fe27f5f1d98d8e6f66976221 (commit) via 2bee2b6ca4cb1a736f963a168dd2ded2831c540d (commit) via 0b360f1926cb15edc39c661dac2f1a433fb288c0 (commit) via 9c512d88c36689cffc3caf5875bc4a08b0ea05f4 (commit) via 20dd9c210ef05fc6e87afe07670d8ceba530a1c5 (commit) via bde954a064b0a983d1db37cec4777d576d7a9d56 (commit) via 671275c35e71d3bcdde173d8817e34e89b984241 (commit) via e4ec19878f7a6d99d87ec12cbd7b313062f64fbe (commit) via 160b1a618ad94988410dc81fce9189fcda5b7ff4 (commit) via c977a5f0280f29136631cf043d6ce6cfdbc47b99 (commit) via 033366417daedf6bf044608df1c7a8dfe01a0de2 (commit) via cf724bc93ee954a6f7aac0557afc41c1316dc80c (commit) via 68e745e38edebd2a12d60ef7b5774066db3f1c40 (commit) via 71a3c36949407eafea744bf00334c4e0c136f927 (commit) via 7468702dcb37013edbbbc62e247e23c4b2632379 (commit) via f27866ba9c348a72a899f5a84dadf1f943c89720 (commit) via 37269bc92ca6a79f9e56fe83718f3c86a1db845d (commit) via 5c632425957f0150a0d5d1e747f0425f74622132 (commit) via ced9779b4c45b9bc9c16dd98fa30d7a620e93a55 (commit) via 3cfd3dd0956fe854a07795de12c1302ecabbd819 (commit) via 2c244f9b0935e577d7c20bb5706e27438e48227f (commit) via 6a6196fc71467e39e9009d6306ef13de008c6fe3 (commit) via b7e228508255359e473611fdf7c067b0b79cadbe (commit) via fdfffb6ea04ab0e857e8bdc17841a7372b187bd0 (commit) via a0922d80dff15d4fbd5d469f56bcd1696846b90a (commit) via 9ccabccd15603dbf9fe988c86708fe644d1398a7 (commit) via d930703d68ae160ddfe8ebe5fdcf416fb6090e1e (commit) via 38dc2859c464733314c591d30a5359db20167f7f (commit) via 688fca4fe6c83a6802731faa8455d177998d614d (commit) via e2c33ac745108550dcc2dc61d23378fb2fa9e911 (commit) via ea04e54ca8b935b01155c3d40381d879dd6ba683 (commit) via d723696126beb185dc1f8f3196be7cb29948148d (commit) via d0f7791c6659081f3a62e220289417c010997baa (commit) via fadfa6b0020b934500356e7aea8934a4565657d3 (commit) via 68ffd9368a020fb685520da51f8c672c720869e4 (commit) via e9dbdd80cb02ac66cf7d4cd1207ec11928db2c95 (commit) via e849ea896bcdc3da8caff02eb6dc91dc85dd8a7e (commit) via 80a0437873045cc08753fcac4af154e2931a99fd (commit) via d8ae99a7b08e29e31446aee1e47e59943d7d9926 (commit) via 38b28f7088057d70497de7312cd983ec8e408a76 (commit) via 5f847646eeb0107cb8c5e44c8bca3a4c88c91673 (commit) via 968a13f8362072b5f7eae8584d490b53d7f97ca5 (commit) via c2b9da16088f8c500ab93e9a4e3001ab7393cb38 (commit) via 8c8cad3aa839747e368cc5db58331756a2b70e8e (commit) via c632b6456b1f220475fbf61f19ada28230449ff6 (commit) via 1d0aa65c24f7c6406718cb506bed912aeec1d5c9 (commit) via 3491a34c4f7de10dbd19c719052642d8471c45a6 (commit) via be7f7611881bae0fb9e26c892ecd61387d32542d (commit) via a014b87a9ac665d2b92cfc66384d1af3ddd345dd (commit) via 9476501135dbbe1eb2e104ff219c7988920d23fc (commit) via 625ad4406d301f670b823a7767528f3ba7e292c6 (commit) via 71774bc994e3f2a09c3b1988dbf2e99b86f53e2e (commit) via 01f48020363f1ca9b31df2ee0b2afedc38db1259 (commit) via c0c11fa91dbbf91b9c9d04384fe9f3ef5a6e7145 (commit) via 34a7ebaff9e522913afba4e9cac9d8d5064e5480 (commit) via 5334ef3907e2fbb98aef6839df23e41dccfaf701 (commit) via be74fad95edc8827516e144cf38d135b503249cd (commit) via a5065160868895e91cac8515263d9783f8120818 (commit) via dda8d76d0dd2b07df769f6cae20aff483468b342 (commit) via a602f924c8e281d40868844b0f0747fadff3f29a (commit) via a714b0d6928ba195623ec2825b00c446939f6e59 (commit) via 390a67891e4f1ed334e266cf084ba8948da5fcdf (commit) via 3a2430e05b1503653ae09cb21feb2a0d4ea51ec7 (commit) via 0645f0a2a75ad77d9786595978591d3f302f9647 (commit) via 99847db8ea741f895d79b9312114c13ccb660d83 (commit) via 583712f5ab935948b6c28f1b8b686308f0652ddf (commit) via 4fbd5513b100b94b6b9fdb51975f79c38b6b1040 (commit) via 754842fba3981b8d9d4d516d6cfc65d3992fa4b2 (commit) via 47f19c17d6eaa45dc756a057c299a5194ad0b75c (commit) via 92ffd475192030a46a6046177c732372b4dadad5 (commit) via 074319087452e3a8b1a0e84279a82555dd798d69 (commit) via 06bcf5416feae129e239476ab1408e038bba171d (commit) via 640d0ed874167d73b11dfbf5e838c65cc43e6a63 (commit) via be92cb147d77d0ebc6a084a18627d800a9da9f95 (commit) via 2645e1d0798da9487def06d14bb744c33dba702d (commit) via df145ef65632dbc6bb31f8d01a088f8600b6c7f1 (commit) via 2d0d44d514d9a2e2b0f7ae8129d52b02160c9897 (commit) via ddbb44cf366b652dc9edf2ccd4605f1ed0e2e62d (commit) via 8f8a20af3ff322f868ce8adfeb86c6f698265a2a (commit) via 58e6cc77b7605e26cbf3fccc166089c01ceee95f (commit) via 5616b6c32f7454987ae167ba35589e095c0172fc (commit) via 5b2b928e83538b23eb1b3f585b14c3d6cf1bfd7e (commit) via 6465780617638ce65bd7458e30b34ebdc1a99f52 (commit) via 5be87c8fa74c9ae6684bea571b4157ad1966d008 (commit) via b76bc5d54e36f15efd954898d9aa075c2bea02dd (commit) via 897e603cb98c50968ea21d1b3baac5bc020ccc06 (commit) via 1187cf29b1f77b4d806c3bbe1fcd86fc7387eeb9 (commit) via 2abc2bec4d8c241c1cd3972b64162407128b4daf (commit) via ed1794ee7a2bd8adc22e5bb8e7343b72758d5692 (commit) via f4d18a54667ded2b50894a3d0740f93825f2a3e8 (commit) via cba6246d3ad332ab353afeff0016b195ffc69e05 (commit) via d7475e036f69ff7ac78252db74a65fe4d617c4ee (commit) via 0f99513f2a52b7d73b94a1f77b8c6de9159b50d7 (commit) via f882209d9aa5b68d68c45c5849e129ffc228749c (commit) via 53892e6d2395b818554b825cabf6129fed7e2aae (commit) via ce3ad333570333287842ed20f55220534ad4a025 (commit) via e3e53eed9c2f1ab82ae4a7683f474b4f6eb162c7 (commit) via 529fe20eeb0030ea5d653d0ebec433f9e3145874 (commit) via d95639024585ce43e8fe0557ac85e706452e1515 (commit) via f617a0f6ceeb34dfd39d8673b0ab225c9127aab6 (commit) via 9080294593eee9e09625e62b2201da57ee150e11 (commit) via 09a5b18a6ae9fc5ad30f88d646b7f7313a14929e (commit) via 584a564f366de16d1cecd1910ab0be8ca6167415 (commit) via 5ed7a928acc231ccd13af71cf6df9900250cf884 (commit) via a60e07381c812ab82aff9abae203fd192f460ef4 (commit) via 2c88253fc469fbf40be7f0d1f7060b81055f2eb1 (commit) via c7a3851716f98540396b9e02be7d2fcd3bff2d29 (commit) via f29f4b6ba198674096fddf2aa38fa8d028d387b2 (commit) via fb24d531e9ef7ad7831ca62298d21684717cbe38 (commit) via 31432a672fd40058a714eb2791ea1c3168ccc4f1 (commit) via 52c6b71b65139cad73ada8df81293fd645eac173 (commit) via 981b557a488f7c3179dee1e34515ca9b10cf885c (commit) via 793a194839bc8add71fdc7429c58b10f0667a6f6 (commit) via 1a7ed57c840dcb0401f1a67c6763a89f7d2686d2 (commit) via f42f1a1d6ca0cc84e43d7f2b85044a2565ca00f2 (commit) via e793c052f9d9548442a46817998a46cbca4ccb70 (commit) via 7e8835c5f44931d02ecd8c8ba3d167e891981d24 (commit) via b6b9ca0c3ec9589d0dd40b2b86ba748a361b48eb (commit) via 21b81e67c73368dbbc9f6356ac5a7eb274789a32 (commit) via 286acbb5c25c5895832d3dd3be3398d3f2d64fad (commit) via b44ec61915f10a953ca85da5bf7a97911554f1aa (commit) via dc8d2d90da3f191ae0461900ab98e3b29cc2b280 (commit) via cb1a122cce8a7eefe1025d8d189c52f96da6138f (commit) via 62d7ae92341b53ef10b709464edca759d6738500 (commit) via 333d0055f6f162c334c36f1946b6fcdb5c92b681 (commit) via 08228b11557016f6f12d537ebff5f169fdf9bc6c (commit) via 280ca31f4d608082e1b61cd0b6d90fdc3450b9f3 (commit) via c9ec0e8945d057979a361e3545d42b3f15adf04a (commit) via 9031cb4af0adcf1c73cb9b8c73ca2d989023af2f (commit) via 2f4732b0e622d9d5d899c29e2132e4cd2966aaad (commit) via f9d67a22392f8f52c779f68a2561eb35c2f86b81 (commit) via 56d87ef769e6adab27af77fa86ea294ee7c6ee72 (commit) via 1b0261195e3f11932c0f5657a74028f5814168eb (commit) via c62446b12b32ce57d2b40cdb0c1baa7fc1677d82 (commit) via 61920122ba93d58cc2e8c78a30475c569c2506fd (commit) via 3f563c840a2c891ec2868b3e08bfaecb6f7aa57f (commit) via b5ec771e60c1a0863e51eb491c85c674097e9e13 (commit) via 5ffa0793690b42b2a0c1c21dbb5e64634e58fa00 (commit) via 2a1dde5da23779fd0d269c3e51c7814aba9001dd (commit) via 2841837fac18861bb62e039a20321075d1e76248 (commit) via c0e7cef7156b2bc15ba43441ad14c6e83c09df8e (commit) via dec41383fff7116c9f66cdeca3105e968047a4e6 (commit) via 6e98b3428bdd0bf388c3c72eb205105926b15a64 (commit) via b346cb961f729e2955391513a5b05eaf02b308ea (commit) via 95a6b0a106fac6ea35670421534d461a3663c0ba (commit) via eb4c3f4aaae2ee1b27c210e951260a7e699133b4 (commit) via 5fed81ff351121887a93b5b57caebb86667cbbd2 (commit) via 1d12d88f186fe1ae66deccf877b5509c506c4d39 (commit) via 0b39b52e6e92cf6d465d48499c657fcb17a63c7f (commit) via 85c4be7c83b80acf647e6ffcaed0f0cdbcb8c3eb (commit) via 022643b4456ee13752b0f3a8411238ab8c53bf6d (commit) via 5614fb77203f5ea01edfb2d739e9d4f3d570dc09 (commit) via 6be9a197d96c3c346271b46ec6270bd719eb9932 (commit) via c2252c0dd8dcf3bb95598149aecd3158e89c31d7 (commit) via 1ee870c5249864d36717a08864c60d7166b6b292 (commit) via ee7ddd713206fdf02512a9fb3fe928a210200c11 (commit) via 52eab766df54915f8d3d71475235868285c4ca82 (commit) via 016f5a3777ab6ce33616917be7795a7501f29dd7 (commit) via 180093c76385b4037128109f452ce4a2414af124 (commit) via f77bb6c56b4091ed863d8cd03333a79a8d554ce1 (commit) via 1270b047fdc68d89f05668ed919d17f5fceeba2a (commit) via a02b41a7e604471e584dc2151fbd36714842710e (commit) via 95e95a6de2e4a050870c49bf52fbac0239847b63 (commit) via cee62dbd8771e22856d950c2615fb463305a9fcb (commit) via cc638e867c240546b4dbc791761099d3ca5fe4a9 (commit) via d0fe47010fc3289e081ba547a0bfcc6d07906cd2 (commit) via 0198d5e6fc331d50dc19b7f250ac4bc510a8dbb5 (commit) via db84fff3f888bb3e6d51ad24b6bfa2c6e2c3a206 (commit) via e54e9ac577591f53bd9552210b1062c6230030be (commit) via d3a49aa80b8a6eab1c684deddad3542c4cdaa497 (commit) via 992a06eea4acfb674659a0ce19b5fb9c985e9bc1 (commit) via f3ce9b3a00229e5c6087180a74bf533d0e5201f3 (commit) via 6003e27e764ff62c1269a3ac6b5806b3fa3a1740 (commit) via 84d5321fdfdc5c086734f441fb31fa9ace2e86aa (commit) via 635dc5b2e5cda5b18d32c4b0f6c19cba3ef05c67 (commit) via 556e5da51349d00307bc05b7a6a813f71ac58664 (commit) via 46f67f80ddfeea11d4a8134b347c74581faff8f6 (commit) via d1928160a324c1b6cd14afeecd4c81ab927883fa (commit) via 6aa899ce25d73c397748e4df926da3fd7e5870e5 (commit) via a94799ac1e430404fda5cbc181406cf5f3630108 (commit) via 726e13564b615e5d8e9540b509623e58dfce2012 (commit) via 1cfb73dbb7503d1cfb088c14d1125a5030a1f386 (commit) via b07e9c466ed24af614090ac42d6730a291608f69 (commit) via 3b2ca8248cae742c00cb4e94138edf1403d43d47 (commit) via 14ad9311720fc17bd646b2ff08483fe60a489959 (commit) via 50eff16b85073287b1b184a257a8fd80e960fe02 (commit) via 66c02b9ed1eabf1d7981c0c27ec9fd3c17fc5d35 (commit) via 50637b26f85dc3e59b616f1b01ca8885cf98f0b4 (commit) via f69fdf9bca80ac703890a51e124e408cbccbb743 (commit) via 701000146a01f1966c59f50d7b638915917b6378 (commit) via 74be0bdc3bf8ae5b2e70992730539bca1d1b43ee (commit) via 26a9301057457ae576b51b8127bb805b4e484a6b (commit) via 7167fe4c70ea74f1bb74a6130bb7e6bf5ca354ee (commit) via 0724bd460babc0c3c31aa67b5f8385a4cb5279f9 (commit) via f15d0b545b9e9dada8d1398163693f67792e9e79 (commit) via 98bbb1b86180324b278842d8d73c79cb5d76d349 (commit) via 2e684e75ae3939f5f14fb89ca8a300b610d093dd (commit) via 127e8e9f62ed0e7145dfa1172c6253275fc150dd (commit) via ab4b1c4699fecd1f2461cecae108e7c583c15bc4 (commit) via 454dafbdf2d1293a9b18a6fe9e9c9e0911eb740c (commit) via 331b71e5ee226cb5455969899274f0e43e83aa1e (commit) via 9f584b37e36b67009fa23b6cffbec1bf691ef9ba (commit) via 779bc38eca950c7f3b64173e99e25f0c0edfbe3b (commit) via ed2b3126d1828d55d57880c6b6045a4e58c05cde (commit) via 7f6743fd09d0f3188dd9dcdf31acf81131f9bf1f (commit) via c80049d3b615691dc902762d5d97551aa9664442 (commit) via 167b0be1b5ef36a5605fcdfba0c84db2ed475e1e (commit) via 5eae7aeaf754549d3645a0c590c5ef9f0134a32d (commit) via c6bcad5ffc9b4021253487e46a8754e5804135cf (commit) via 20dcd8cae7d87910f6c3936bad72e78b647a8de6 (commit) via 33c7c59df060e9952fc2f608c3a6ff0a23ecd40d (commit) via ebe6dbc2645081e3a166865f057e7cc9643e7e12 (commit) via 79b0c981b8f0c912208ec305d48e775bcb6d2624 (commit) via 67fa57cfa536cefb5ae7cc4635db66d03fdbd8bb (commit) via fdddd2900f39584e7d6cee27127593fba2cb0cf2 (commit) via 7605d944531519ddf9026bf059475a4347c83aa4 (commit) via bf59c5d5f4f5b8b4da1f5f605cfa546f8029b43d (commit) via 3334eba7f4aeaa06926d5f1fb51446c5cea43e42 (commit) via 50ab6ace3803ca317f265dae6064494e3b7fa8cb (commit) via 6cee897971d4d7cd37d2a686bb6d2aa3e759c8ca (commit) via 8e68731c8a4aecb3481803e91b9bcd2df182c135 (commit) via 3d47a7fef640b0a5a90aa7494c41982cf84a4092 (commit) via c05e0c5af35ebbb1ca39bb1efffae2adecdfa253 (commit) via 6ab2c4ed51f9c4243691755e1b1d2149c6a426f4 (commit) via f26ae15b471aaddee81d9d6c03af1cb0f2081735 (commit) via 6c6e9412e930c96f48b8ee78a389437328f5283c (commit) via 8b86c9592117b3ba52921af11868dc0b81ce4858 (commit) via a01bda5221f75031ea2b6d05860e46c7b9b58b55 (commit) via d999647bc427ce2e083c4449b683705449d0bb58 (commit) via 4e888c281cd19f019248bd165d7055af88641c80 (commit) via 2e1b49b32ab9aec1aca94f424cbe275e5f6f9ab4 (commit) via 6c5218dfdb7b38cc1617be7753cc1ec6d0612382 (commit) via 852735806aa4343ba4bbe89656041800cf482918 (commit) via dcc31d286ad05aa93577181f9a8292009622363e (commit) via 89f3c4b6b9b565720f88636d966f22923c03e9cb (commit) via 81b42bcab16f4462eb4c91db2cf09cd76e17402e (commit) via a67d66eb97e7613a38ffe6622d837303b3ecd31d (commit) via e0115a844607b280449986e661f551dff49a9031 (commit) via ee357486aa87b17782111295c5e7bd4ac9e6970f (commit) via 4070243b5c1f66a36dd43a7b722e991ac9fc40e1 (commit) via 3988aed54acce3c682a877b51b0e09cce1079e81 (commit) via e48f0c8f1b9fdb195394dc7afea02ce55e4ba5e4 (commit) via 46b06a98d112ee433a8f81c700a8852c92ca8132 (commit) via 3a87ae656c283e4f46ddf7d92c06ecb8992c2bf6 (commit) via 4d01dee4804d39c1671bc220caf32a327e7e4b10 (commit) via 09b847f3a85ca29ec20ada375fe67843755b6413 (commit) via 0bb6961f18b8e832d88b490d421ca56cea16c45b (commit) via 45ac8f4f107f50d77a8514ee8a244b82c1a8ea0c (commit) via f871c4853a9725682011c2314ea4308f3c34bd8d (commit) via 916296ccea146c9b9517e00494bde307f2af7efa (commit) via b020ff8074af22639e3f3c0f700f45d067521249 (commit) via 1b81856f5b00e7ba860e4de2f3a426f342327165 (commit) via 31b833b3eab69d91df67edc3e9a21792abc3f93e (commit) via 4a25033455f1e4e0325fdd249e30a79efc856689 (commit) via 16c5c17e43b34c6cc5337b40e927bc2d05c38300 (commit) via 7f9cb5d275e71a75e97230241ec7da6718a7a0f5 (commit) via 81742b83e9f25895eaaf3a07ac1651a4e9a68251 (commit) via d336fa6d820f50235c271ea327fadbf4ff6e1edd (commit) via 2b2d16760741356447ae10acc93695678db5e5ee (commit) via 7ca51576b94fb59a41050957d5ee822d21711abc (commit) via c1342859dc02fd57e013ef544037a9ead4f23f60 (commit) via 692af2271947dee1918585c2fad36618a5d47d21 (commit) via 484d8d361de65a8489252d14511b77c142d859a1 (commit) via d91f0b20e561e326ee91a09a76206257bde8438b (commit) via c0e331c794d6bd75d9be9bea6145513074c33f39 (commit) via bac608e7e11fa83a648c0980883f810ebd1874b1 (commit) via eaddb425928bb4ae21c0c6644b4bedf3d16cb6fa (commit) via 99078d344db25efc376877e0e4c95157f0c36c60 (commit) via b5540b5f2b9cd5fcbac6504359b856d3f43267b5 (commit) via 5a9dcda14c240eccee5c1de53cf4ae936230ed0c (commit) via 45461e0dcaf4193b5b4478031f515ffb7911ad85 (commit) via 43dce4394513d15ba8122c3bf442ec1028d93feb (commit) via 6a1b9516d824a4d364040887455ba910f955f065 (commit) via 593e3209f3e4e525030bc8768850f3876fd0b850 (commit) via 32fa66eb88d029576cfd8f5698d0579662d2f045 (commit) via af5f32f82b0ece140641484d8178ead655f8a0a5 (commit) via 4a27f119f59a44395e0a34b1526cee709e1d3fce (commit) via bb11dd58391459bd5ba54ec405adab663ac59e89 (commit) via 32ef30002cee3661eb645cd14bcc4ff77ea10f45 (commit) via 7453e6b2ea451dfba68cf4442e58706d51f88411 (commit) via a43f3893f6cb66dfca7f628cd159a008009ad06f (commit) via 95904ac43c21694a609b4b8016b7fdfe8c2fc0fb (commit) via 23cc4e1b28d445e23827a09c454aa806f2b8c720 (commit) via 514f60231cb5a0a070712729a7c29447cae86453 (commit) via 814b8da0637e36ca7e6b6ebb79f47945221f16dd (commit) via 506981afaf6c77fbc26bcdc2eb4c24edca4255ef (commit) via 4062f504eba4835579bcc360e9eff3e7d92f5a6c (commit) via 6abc18bbbf03dc4aee0b0f2cd851d9bc9a983e20 (commit) via bd5225139c83a80aad542e46efb66fabf51bff91 (commit) via accd0bcdfe6914193bba8dec9e6311e608b5c498 (commit) via ca3e4ea52d21c5f48e12c302179daae80e5cd420 (commit) via 238c141b9807b43a0b04923dee64ba87df79e698 (commit) via 8df93cb5652730d99242e7de86679d3930a2a1b6 (commit) via ac7936dfd0c85e5de2dfec45ca0dbf72baeffa51 (commit) via edd079d9f6ca2f9ad21322b742269aec5de61190 (commit) via e5d70d6b5a5c2832ad199ac1b91f68324b4a12c9 (commit) via cc628f3dbb12c720dbc9ab714feeb197dc739944 (commit) via e601d38b7cc222345d4128f45db18529b9fb477b (commit) via 94092126a05ee625bf05d48cb331472b8f87d235 (commit) via 711f5e559e8009f8033f3709d4fbe70c961a403a (commit) via db283f44015de0ae0129688bf0e8e4e02672f6ea (commit) via 2e30886f1fa22fd28a1a91f5aae2ec033e2e54a9 (commit) via 792ccf005f391f46e295e250f285d040ab105ab7 (commit) via 63a25ea0de6d2f6d45b26af8d9c808aa35962256 (commit) via 09a7c6aa7a07f874f5357cde62b5753a10a5e107 (commit) via 8ba0dd515c1ba23318f28c6bb04c9da573855b50 (commit) via 16e812b29e68c4a6fcad73b033716c4f385ce94f (commit) via fdf0cbc2b710cb5e01249e18f5a377a55eddc39b (commit) via 3342be5dabeeaf2218dfbf4d38f92214612436f4 (commit) via 3779bbe01b4ec1e5ae0a5c555f838999ba88ac50 (commit) via da5f19a2534936376228943de85fdd60f6ddd839 (commit) via 5033013f17524964564dac5d422739ae5214729e (commit) via 93f4de3929aeb3e21d57950bfa96539599a92f2a (commit) via eb2bfbadc159ff1463e58daf24c4ad5d1a23796d (commit) via 1f75a6516a4b480b5521dfb4e1a0721887ab5cdc (commit) via 779990d9f0a169215b3619a8a1cd120550320793 (commit) via ad9b8f5d022f777f32cceab9856f47a5b6afcce1 (commit) via fee6da6e1d96796f8aa8308b3833a3e4cdb409ff (commit) via 10389c2c8b56b2519441e55bf16f77882fb897cb (commit) via a80e65a9d590f8817e4acd5a62363319b6a1f961 (commit) via 2c3f27ed0d6a91bc0812bb2fc6965fd03a413fee (commit) via fee0ea1f2d3079f7fc3d48109c2a81cc7b7f241c (commit) via 4a8f9fc2b2467ae8bcfb75392c10fde5a0053740 (commit) via 2739ef6db8e9a152f7b0ef8d012b394eb41a5dc5 (commit) via 66cae56016a12f7cbdc94be6f82c1cad1c59b521 (commit) via fe4e2a3c9281851c9da99a6e36a2bc96e4279476 (commit) via defc8e2b3576c28fd5651763348ae23c18a94170 (commit) via ee6872beb1912af41a506c8aea34af7d2f873d04 (commit) via 8cfcb7659cb844dff00efbbb644c15b650fb7e8b (commit) via ff1982d53a1fba573e7f9a3b455f7644440cb336 (commit) via 8dcf1fadf2b0763962639fc5dcedc1892e502265 (commit) via 48521003d5300e1390d78dbbcae83febe5808aaf (commit) via 53467f5707ec796c0490d55e74854258a78013f8 (commit) via f6af9f3428fa86030ba8ecd2da7d11e4ee1ed989 (commit) via 67c04379acee0da10f148edc3d8903859d928f68 (commit) via 56fbd041853a4008532d20b898f5b41f594a868f (commit) via a73ca552593ec2903fd5485b8c8f40a250645110 (commit) via 4e15b78be4bf008fb4f97bffbc0865dd0e4833ce (commit) via 4d3bb80e5db40cd2308157db3c446f35ae97a915 (commit) via a664f67e50eff30198097d51cec0ec4690abb2a1 (commit) via 6e17c56511104abd605bd2d122104467fc4f0089 (commit) via cfba98720f62473abc54457a376a3b7aa7ab1e40 (commit) via b392b304b92ddd81ecfb4902c3fc3501ff90e999 (commit) via 881b33774d75e632ed9099210c41f16c33dc7db8 (commit) via d63613596fa297dd19781eec61269186653f544d (commit) via 3b4190ccb31be262a5aac78238e6d659746f1f0f (commit) via f3012016f008030b48597b578a5fb1e550907374 (commit) via d5833c62d93e8176b70e8509ab36cc38801c3ebd (commit) via 06d5bbc8e5f7541b13509c33b8b3eb8afac27b2f (commit) via 2712ce2e659f82168154d4533f53d2963ae82571 (commit) via 15763a09d4aea85fc3153d6746c040dd48565637 (commit) via fcc8fb2f3de370f2def30bb18c98243ed4f3fb8c (commit) via 808811a36951c6bc2ee9d56124603d7ef88a019e (commit) via 36862fc052b7006c78024952c4024c60b8a2733f (commit) via 4c2287b0bdfbed95d37d09222fc253f4c5086ada (commit) via b5f6e7409243ca9b016753966a6404cdcfd41d95 (commit) via 3d415c26bad3a15eed00d2ddf85c4268df77a4cc (commit) via 395423c418da2cba1240e39ae944510fe9ffcccc (commit) via 54f70bc14586878ee14891ecb11efb8a90405874 (commit) via 49a4ce2eae231ae627ab9a312256c6e402b5a27e (commit) via 63929e843d54d327676bed4d86dad280f4675547 (commit) via 9d06997adb88a71487a2f5627de032c6fb994604 (commit) via ff6f4d9b2d6c25ac144bab869df6e3d6123a6f8f (commit) via 95e42ad4425f0ab0ebfb90035a891be576f9fca4 (commit) via a75868f50ba72e9aa906702ae038fa29feda7743 (commit) via 2edf834e298b15c882678db22e86745f701807fa (commit) via 280958942b74f3164708700f195188c4d3446f58 (commit) via 1ba1f393faac96f6ad80499d7133df23d6187b8c (commit) via 0fb7012e88683b8bd67a4fb8f782359fa0e11724 (commit) via fa57faa0dad237b3f418f17e7ee2114c32da818a (commit) via d7dd155841641df62761f79a35362371811d9739 (commit) via 8e354058532d48dce19fdf0b2e0653609a69f19e (commit) via 8dfa5d5a6389b7f0fdd7baaedc5f316f05debf63 (commit) via c8ba13ad37c98262b94f99cc4f84ac0066c48cc2 (commit) via 3753468682a9c7982b6eba0fca58fbfc1cd5b9fb (commit) via 2a6969e1738859ea8c12837fb0cba3845bc87ceb (commit) via 8ef027f00ba0252e22ce548c3d270db978184b5a (commit) via 94ea37b3e93d4400cb0ae1e97b1241a552a4ab5e (commit) via 8071ec0990927fd747483ffaad3b5d3b16355643 (commit) via 482366c31ebf90361f0da350608887bf7b6f0f41 (commit) via 28c7c158766513a1c6f599c08f85851fcab855e6 (commit) via 5396a86e439653fb5cd714b955708250777a32e5 (commit) via b7213666d6035713c3a2786ee418085e07cb3cca (commit) via da15dcb0aadfcd73cd3ed3ef2e2abf1c743f8ef8 (commit) via 412294daf8786fd9060059b8be7fc59a35e13922 (commit) via b27de576d41eed16936cf639857df4e1e27a8e9e (commit) via be459434b6f98abe587f51a374abc38821be304d (commit) via 8484c9554519c25c73a349d0581cc269f102c5d2 (commit) via 30f0b1015897466fb88ed26c56a0b4f42808edbc (commit) via 57e12da97f8dbe2ad5b4f59bf89c709c4d66600d (commit) via cf54ebff3b7361989712fd9c0128a9b255578163 (commit) via 7b7009999ab8daac9db776c850b7df6e1f586334 (commit) via d3037ba6a398d37585b3d34ff9ed439848ba98a1 (commit) via 7a7cdfa04b0225dfa6879384075e08d73eaee862 (commit) via e675d1703fbdec643ec42aa67b9720cb199f4375 (commit) via 7eb4e0f95641edebbc28a710f28111f0ecb9f0d1 (commit) via 60d6cfc99e67c3f94e31e26112873719b12b738f (commit) via 0301ce1486b1450f219202677f30d0fa97335419 (commit) via e6e2dfbdc1e0df3844401f7a8be64e98823a7846 (commit) via 83d5a34dd4e11263f6c6dd356b410799c6cb7970 (commit) via 487958d1e995ab05420f9a8468535b4399602a3f (commit) via c191a6875b118fce30e7dc4d9e4bd20eff850270 (commit) via 087ce8fa0249fa0167a73f25be51e12fb1a2b336 (commit) via 87028b873938aa3cc756c99e33a328640dbc30bc (commit) via b7b030adc405017f01e996a90f85e40730ef8397 (commit) via b80406accc70791a1789e40f24d64161bc41de34 (commit) via a90ecff85af9d9275f540227825ba62bdafc976d (commit) via 2dc0e219715356c6acbc3bea85ddec288f752f1f (commit) via b05628f0a878cdd64492bbc49d60003d699763ad (commit) via 739b3f1d8ff7072dcc66240c25b026c6433bda1a (commit) via fe68b9530f6ec45d57838b96dbe11723b90467f4 (commit) via a79b1bc6f690f3d146a3caddabd9f13a886c856a (commit) via 63f0e930d4667eb7dbc95c78f770cd58acd328ef (commit) via 5c3261b0e834647cf9eb555320e20871b7854f98 (commit) via 5bfda25568c34410129c91042cdfdf10c143edac (commit) via c40c7bfcf12408f9f8fb1bb61882f1ffd78d4e8b (commit) via df27ae6a09c6e1d3e92e67b19e43c24d5f1842b2 (commit) via 8676616596351876612aa84be798537625348086 (commit) via 86e17b6fbc9b224ecceece7a8bb4dd7989f07c7d (commit) via 631859b65bf9f242c1d408d54052df25d5e983e7 (commit) via 851b6fa13707d187e068c8773f21d376391387a9 (commit) via 9577f60b5a19ce93536f49cba3af4be39e39c327 (commit) via 5d84490bf6ac806c15781a833f0e1e7a191f334f (commit) via e01c16a83893b03433c8edf4ccae536d9b9f4831 (commit) via 6ee6e05af482b356f9be4b0db877802fb47b2a12 (commit) via b27bb18f45a99330600ab57892c3620343425910 (commit) via 31a53da5418528b9ba94bb80a97f0084f40e0c64 (commit) via 112fef4084ff0bdd6dd9aacca85f5fe62e1a5423 (commit) via 5056ba1d4df19006b873bc8e752f85fcc712b65b (commit) via 60c1b909dfcc984f3aecb70032e90a34d71b44bc (commit) via db41f6eb5234ea3c74c1ce4798cf9923d4a45a98 (commit) via ad9512030937e79e28d08108fde7adf18635c58b (commit) via 95b03e4ad68e7a90f5096b47df595636344b783a (commit) via a3cd202aae50abe5a571fb8c186b6b6af68edce2 (commit) via ddb7fd0f7b43e4c755c4b8c7752948e050363525 (commit) via 62cd30f167be56e68cb0a37789d400b47bbdbc6c (commit) via 824dfcc311958af08c25d29956da2bab99e240c9 (commit) via 9c80ecd646a604fadcc290fca23b34c9454f5feb (commit) via 9179355e655d78cf44ffdfb432e134eabceaebab (commit) via c9cb8905b489d094c6c42e103d4bc6e231e00cf0 (commit) via 2098b39391a5ade9ed308d76f2dfc7ceedd2d9a3 (commit) via 4cdd21a8d3fd943d6993e9d053edf09583802744 (commit) via d0d292a27402ee2d3f91d541371f134f91730373 (commit) via 8d3c73ef6b1aff1b22296bd48ec302b4b1d4808c (commit) via b129dcac882da87767cb863ad8b2572f90e9e5bc (commit) via af5bf4ada48ff65b6658be1fab8f9c8f8ab5f319 (commit) via 3ec5942fbf8501db10784b0dff7d24222a113728 (commit) via 867d918419528a1bc18286f4f13ff69fcf17e0c9 (commit) via 300b6685f17cae131166eaf2fcafe10dab06466b (commit) via 50500caf810fcc6c05e3fd89bc37fe8f9e4adb07 (commit) via dad0c6d2f7410d3b451800f856f3c6818303c316 (commit) via 8b0553c18f0dc63ab0ae930f2e8eed2bce4cd32c (commit) via 2399fe6ab0b6ee64c569992e4bc3bbae3b5b2193 (commit) via 4bf3f4a810813214213ad4f7d869eb24e79d77af (commit) via 354bac403e9a19bbbfb676d854db5f11f0e84c27 (commit) via 9e86da0760aa1e52178cc5b90cd92a7cd4a338f9 (commit) via 7594f6236073fcc8696c43e1f5267e61f7d5c226 (commit) via ebe3b40202042fc644df5ea3bd111425ba1aeeee (commit) via 42f1b1617e4f8c8f485318897c5154cbff58eeb0 (commit) via 8d6ef72b0470dfb1133525c8c4556d3578744ac4 (commit) via d7bcd5b8e55c54543389196fd18453db6961e314 (commit) via df479dc6e045beb77052f96280798e48ee1feb6c (commit) via 23fb630af09f2601e7cb75233837399d67cfd017 (commit) via cc77b1dc33790bcb852c8c72e2efebaa3b505b01 (commit) via 27c9e813f93974c2d1e237f3c4f25029627bcb58 (commit) via 5e830d9807b91f806524ff822d953443c8fb3d2f (commit) via c2508e905f956c5a5e0d2a7fff58b4c746180237 (commit) via 3b4b0a629a972bf80fc0ac6202f89681fab1df37 (commit) via d268bbaff7da90caf5fbc94456ae58315ffa1802 (commit) via f5ca00321dd8da526b8a6a894465bdc7a14d30ac (commit) via 52a58c224d5d45cc6d7749e2d93827c218562a30 (commit) via 8aed1c0d04e6d0eb7d0790c4691665cffef573b7 (commit) via cfa34c871c6644bd7b132b5ca7f2217880f5fa9b (commit) via 9192b7decc7256a41502bf68df36f429cceffc89 (commit) via 74ffa566739c7e98568a9aa8b5ab8d8f3730d30d (commit) via a900ff724a725ea951ba8b17232577e1a4b4866e (commit) via f7b7ed97a23e2bf4a2ec27bef0fe0af55a080a94 (commit) via 04ec7890fccfa5ddd9cc92961a4df58957ca181b (commit) via 466eeceef409597388dd2b4e8b907cf080bedcf1 (commit) via 6bf0052db8bbeed41e512d1d3ce14ba2a446723d (commit) via e48ef82dd2fc85560d14a45a632c82eaaadca7ce (commit) via 8d7aea574a8ab3a235088866860df75b542ae4a3 (commit) via 30440677f3d0cdd2085bea40496774ffa24f6bb1 (commit) via 4e04f0450f83d8d0ad08579b5e6c8b4e8a8e693f (commit) via 871a186e41aeb7f966c6570b8f1659aec9d2c15d (commit) via 6c19b93bcd0d136f7be4d1e1e3f2e8d7b5917009 (commit) via 1d75a8e26e6def4f492c84a5f678e41ddebda799 (commit) via 9f8575350f980aa6da8c488c6aa30862620eaa1f (commit) via 359987e21867b730564ff46ddceaafdc93d0fb49 (commit) via 22b1ee183d19a92cc57859c04307d31c06792d13 (commit) via 559192d89d743834951fc386530c6bc7f89b358d (commit) via f5233a1611d7d459a762b5fa93d7594a6965971f (commit) via ff0769882d2338d334eb799179332c39bb9d8ddc (commit) via f71c8822611a552e76843142a52b8197be0ea34a (commit) via 981a3fb3594dddae266b7a5014c3001727200d7b (commit) via fdf44873ec6e37417bf8c8ce33bb9b1a6b4ddcef (commit) via 81b1e71c4a1370c77ad1d462e1a761402d48b1c0 (commit) via 4b97e3893ed2af7bdb9dcaa34fae1a207e2d7042 (commit) via 853ee16fcdf7e60f297b3456353b3a69f4822bec (commit) via 4f9d99066edcefab0e5868d20cb9ddaa7b76da52 (commit) via 7176dfd28d1a2a74e6d8dd698aeb857eb6edfb98 (commit) via 39865a7f420ab4ca4dec6ed27339618a5d5dc366 (commit) via fe22022617a7122491aa83c893a10a8d861cde73 (commit) via 3c9a7b0d6d84425ea24d222a1a31e206e587374f (commit) via a2f63b2e7a5da01ff828b45c7e0e57265ee24131 (commit) via 72bc1bb934ba99bc9182179a866c0d2c77d027c8 (commit) via 458ca1d02e47db0af0e22d524df0e4b88fc54b6e (commit) via 905014d7205d4f171c5cabf695fe1ec3da9b33d3 (commit) via 56d704daee44b036d1eff86123de6dec0c55f61b (commit) via 8f314ad58ec824ce6c8467af29f11583f79a80ea (commit) via 04914e3707e210a071b3af3c52cc5e5b2ad41a61 (commit) via 7fa29be949a96f68ee65dcdb4f56f132609170db (commit) via d9b477e3b7388732ed5293d929ceb5fc609916fe (commit) via d003af558092dc521f93d16628b9ccbf434370e3 (commit) via e8b8ffd3c0676f69d1edd3859d4eebf10d1d62d7 (commit) via 0f09b4d8d8f7c5d249c8375c5c42d4eba3bdc858 (commit) via 2f20e312aad64c0f5257b9725fa5ffa3e8a93ca2 (commit) via eb8c0d308be8525f7c25962a9c581f44af23a364 (commit) via c85fa91b5c0dc70641d75d6ab9315ad547487c1f (commit) via e4905c7464d23367248bdd5d8eccaebb495b8274 (commit) via 22b63797983f485041a2a424e6cd7732f4318885 (commit) via 65630365f7d073430e62b4fe65f34dcdc0a4b05e (commit) via bf4692711232eb96cd840f96d88897a2746d8190 (commit) via 6c699715f68be7d8c468e965fbefce997f7ed937 (commit) via ae7e78255666733d238e676a0bab14986a1483dd (commit) via fc3c534364ca6d6de4f0dbcaf347ec85f5e2f8ff (commit) via b9399fcf4ec90d898a610e39bd9141e85c008fbb (commit) via cbd3b1c155ed4f4986bf50754b1c57ad85700f7c (commit) via f8f762b2fd203755c51875e979dfdeb69b66743b (commit) via 1a56bfa56ed967c5f6ed98f75834408417a062ff (commit) via 0c478e2d060bebea341696806fed6f67122efab6 (commit) via 478c006f9b4a64d59c31aed081c14c1d7dd4ba68 (commit) via 9d45a7de8b80336b9965ee99353c34be85b1b98f (commit) via 777a42f1f86b60d11cfe0e5964036823e6920f79 (commit) via cbd2b4e316370ab740433b06ed65786831232c8f (commit) via a181c0bf7461c28cdb72a4074c6d7608119fb575 (commit) via 6e66f7538112d2f5fb1af17dbde33ba37a7171be (commit) via 8e464506d2131fc931c4f81a22cc7125b7adf434 (commit) via ee6767daf13a13867f8e716c2a53b748ab0da536 (commit) via 890e97902a21a3b88f9b6028852736b813303029 (commit) via 109483d9eec3f0d0c3eaafd5d829435059167c52 (commit) via c474ea1a5f1524668cb8ce91c3682cb0cb837e08 (commit) via 6753e38a5c71b4b4ae81bba41fb67890abfa4e0f (commit) via e61933afce961c4b23c5e173b4b8f46b949bef30 (commit) via 5c9e4427a745e5e26fba320ecc62e4285b613e4f (commit) via 76f361eb4934dcda0626517c311b34fbc92d09b9 (commit) via 5d3b558acd329de9dcbd63d9bb04242b31fad490 (commit) via 4f2358bca6910cafbe9b37a713fd96e5ab84d4e8 (commit) via 791afaa233ca9f4baa59aa16062296a00aa2c4da (commit) via 30a9c02feff56bd58a276c2a7262f364baa558ac (commit) via 757325a3f24e01bf8e7b7214f33c546bc52d1d12 (commit) via b9c04fb2681dd5706d2cafa5dcc6bdcd99016cf4 (commit) via b55ec8b676ed05d93ee49d6c79ae0403616c4fb0 (commit) via a72f95f7760bf85693af393c5e01dd3aedbe5bde (commit) via f9799aae8e51948c1d87fbe7249b3d76dcb4585d (commit) via effaa0a1e8d63a7063e8c7b42fe1f9b98a4da2fe (commit) via 4c7236d3cb7b971bbdc97b6aec348a4aa0594a9b (commit) via 70090aa5f629dcbdfa88b20c29951fa8f50f0545 (commit) via f0f07ad1825e9b7f539e410562993b25f76e5627 (commit) via b05c287c1820c5a86e08afec26f5f73b65b416aa (commit) via 2458d83bbc190f92f7718b30438dd7e5775e0d3c (commit) via 0ee6e554c4f8b23cdd629774ae94a74af5826976 (commit) via 99180bccaf09413c9ddb28e51fa30f1ca4966583 (commit) via 98b273dc13b1e45db8c66821efc9e514884f3c25 (commit) via b3b7c423883ad8d8b81f166ad2d2d4b637086bc0 (commit) via 544c67cda1686c1b204cb96c0d7885b08d37b8d6 (commit) via 0d28b0a5caa6b04129e21a9aff371d4032c7ef17 (commit) via 71917808c3490b4d4df9c6e848e3c5d75f5278d2 (commit) via 2081b2b2ca30d7c3b6464a3e167ce2c336c0465f (commit) via e0d8f43169368abf354e596c7725dee1dd609cb8 (commit) via a1b85d282f408dfd18a27539874846197f7e4044 (commit) via b79f7801a2c555ee4ff4bc3050141e83158f66d4 (commit) via d97987e219b80c670e37eb0e25e31b36fa295509 (commit) via f38307f593cb8189c82fb39e46e0cd899022e2fb (commit) via 2f924de654ff8f719faf60b84948397809baaac6 (commit) via ff38b4cc55dade4c9970cac2149a946d5dc0adc7 (commit) via f3180fa9ee8917fa9547cd5f79c822761f5d87a0 (commit) via e74399c47c76b8111651f41b52a05401852cf799 (commit) via aebcc8ffd201adbee973b414818b01876dabe1a0 (commit) via cf1070f1a1ca1f8be1cd88aa6ece55a25e6a887b (commit) via f70656b2604eff12cea2e9bef27c1e00a3077f30 (commit) via 1f92404c505db7ca2255dad73647889234013a0a (commit) via 2eba97c207399d8b541092a7b0a4428dc02f5cf1 (commit) via daf1c414a48baf090f005ce4b319b6881d5d6872 (commit) via 51537393bd939e79f6e9291629fb65a17e6f19da (commit) via e98fdf1ab07243fe467caadd0d033b44b8ca20c7 (commit) via 0caf6c82ab23ece570d14499ed02653968cd8abd (commit) via 46e31de783dd29036370f2a1a233bd0e65ab2dd0 (commit) via 2fd9d7ca17539ce983862b25e0abc27cfb706189 (commit) via d13b8493cbd2891b5886e6176d468eb63c73606a (commit) via 3b4b2f160d288b85a1379d24fd0f4de19062f3fd (commit) via 1841ee5d0300cf00022c8aadfe16725c5e86fe1d (commit) via a80a647180bf92692e0f01efe7b323afe7d317c9 (commit) via 6d5be5d6b8b4412e65bc037472aa2e727c25ccf5 (commit) via 12c4bd7f53e9cefcf7c3a7f8cbf9e552526cb963 (commit) via 2bfa0cdfadd313f3cc35329a17ba3c62865208a3 (commit) via 97953bab05cca82bd3119de4d5cf26103b649597 (commit) via 64f7152491727daf8d0b294aa5ddf49f08c63ca2 (commit) via 94750c06e89e273751d54148b649098677ecdff2 (commit) via 007873f54e41eaef2f7a89b8adbb63a563d98b65 (commit) via ea8fae9fe75706235ac49c507f1c5e039f4b4e1e (commit) via 5c144731ed7b9ad39c947f8411b1dde4fbdda2e6 (commit) via ef336cb09a4193b3c86284a875c7bc4c2978bfad (commit) via 9c0f3d3f2017829ffd908c9893b85094985c3b58 (commit) via c91933e9e33654c7b8973cb449b93f5152afcbcb (commit) via 2ca7de3746be7484aa5affceafa1ad2e1d789381 (commit) via 7d36e2799141d206651410c68080f40b88809a3b (commit) via 8c6716e57eb991ba6ceb07011045d626652aaf01 (commit) via e6fef60069f64ee19600e96dbb1f56f80b388bc8 (commit) via db4677b8bd90b49f826807352c6c3c7eb0d57814 (commit) via 5cd63fda035d4ba949e6478406162c4673b3c9ef (commit) via ed4227b7c6d62767c9c323dd95d8ead75be51a6c (commit) via 55b11ddf16b97b9c50ed480bc9da8b3e1c6c4198 (commit) via 4c71c1059f876fcca9809f7b6372b721ddb83635 (commit) via 73dcd72d4eeec176f769660ddcdefd1f25d0a2ec (commit) via 44704526e482d24baa104764495ca376561a85bf (commit) via a87c142792e4dcbec2bb3825e71f3ace044c2096 (commit) via bc3b087de2401c65c02730d346e8bea4dc0504ae (commit) via d092c5a2465ece3435131ae6fef1ccb6e70986cb (commit) via 7da0a8867419fc4a2a64d49cc71a14bd145cebff (commit) via a5259595e7a6faac0240d257f7e9cfa599557d2e (commit) via 9ba5f27cdd15d22d6c5739ff5d2b1c81d796e114 (commit) via ca2a727a5b9389190ce86c52b0303ad8c3e2bcc6 (commit) via db8dd1601ee4d0629957bcc8b4156d65f42a218d (commit) via c0107b0f57bc958b640dabafd4c6c618ea023397 (commit) via f8bfbf22251f6c2772a9a1059c3180c638ad2830 (commit) via 5178ed487f813639e660fba23215fa7ba69a769e (commit) via 8cff8730f43548d17530c9d31aac1d381351addc (commit) via 895b8f306b1f54d85915ca0d24368f40b2e42554 (commit) via 0efef6405493c0bf438486819bec70b304276e16 (commit) via 245ad7d373aef22013b347504d30d2306da1bdbf (commit) via e05550d7a409a0637d87bef377e5d4b9a4b379ac (commit) via b95de2b7aeb30081345954cb15970a582b49a866 (commit) via 070365117b5727394e271399c5738a27bf9716d5 (commit) via 9194f82dc372d5045ae06c617a49a5a9b17c1d24 (commit) via 40c0777b1709480526429f90eaa354c8e0da2dc8 (commit) via def5c83c02fcc1c91d3f0da21005e0503b8ec881 (commit) via 45320ffa0450b27e232d933d2a1c6a09d94ac18b (commit) via b3e3859bc577db5b79bb3d39048fd46c0a0420ef (commit) via 01af5e0d09ac9c621e7b280f44a2c7ef55784493 (commit) via 888e3ddb20f541220f18709fce832ad0163c3e71 (commit) via cc536b21677586455973f81ee05257ada8efdcb8 (commit) via 289a6840c1ed80f71d58632bb6d702d97d114387 (commit) via dcd2b8a0144f4f5f81887861542609ef858a28c9 (commit) via 7a0c60fea0f237b9de95e47a0f75200ac9ebaa28 (commit) via bfec0f11eadd7ed3597bc9b550a5595421a4cb31 (commit) via 8cb1232a8cc0d1a6db2de51398acfe978a5c7e68 (commit) via 20230942fe3674150ab661738d72f1618b3d4b1b (commit) via d2e6c9a3682f0ac811ac1676d221c55162938b61 (commit) via 4b04bba2eb6b646e11a2c38c77667875b3db6828 (commit) via 4f1881b94473f1034f950feb863b464435a8fb5f (commit) via 3678b25d0c5fee04a91ad90ed2965513ba0ca11f (commit) via 2715765b0fd357b4b58166850a23f509aacde161 (commit) via 386c8614d5e65431e977b1b20cc4642f944faca1 (commit) via 789c4b5ea14b0c441e6021f07503e61ccfacb427 (commit) via ab816a274505933da2f854014b54901c3c3db9d2 (commit) via 52f9abe4c739f42cc5f80b2629276493ac6306f9 (commit) via dcd5ddccd7d7917caf42b8d429a7535857c6e9b2 (commit) via 45d288cc64e08dd68938f1d9bcc70906b5343652 (commit) via 6afe2f4a39badf0ea1ccf9fd34417e729577c6e6 (commit) via 9813429a729dbcd761dfbb02d2d7a3449af0881d (commit) via 2d6960b4568869baaa3cb40f75caed4021938e1c (commit) via 784c453a4f1aeee237203dd6257a6ed24bee28c3 (commit) via a9bc57b97840a874ad2802e29a44fbf557668808 (commit) via 9754d8c4c48209eaefb044d03dc25f14dca8a263 (commit) via 99ef965c6e812cc73691873c965cff0d2d5b89a0 (commit) via 42518ba746b5b6cb7c169a55430e73551be345f5 (commit) via 726b2169b4cda6a0267cb2986ada758270cff093 (commit) via 55b064321eed6cccf511fd698c732890e3ba4c6b (commit) via 8abcee91738bf0be98e949049c559839ef811ae4 (commit) via 6ad94bc76615933a234a219368f1b9af2a64d746 (commit) via 2003f3d839fa887811ff65380191e0beaeff719e (commit) via 8f8accb58078b1f249dc6865b8784a0a8e8881dd (commit) via 200aa7b154b25423eb72ceecade0fcd76edc4686 (commit) via 606aae8a73177dde47ff01a6eb7ec883309bdfa6 (commit) via bd413795d364d3bed8dbb8c596cb45c82ed31041 (commit) via 8b5b25295998e10723bd51d127c87249a779f628 (commit) via 1755697b1df1286cbee20dc487d656025964a7a9 (commit) via 256642e857886f1e3da86ce2484f9df5a5a6b904 (commit) via b6bb34680b9c99961b6cd635853552ec6569a2a4 (commit) via 5b9ca4d43ba0313612e8ad6e50221e8f20ebd129 (commit) via 94c207e097a3a30ce71fc8f700325113968c276b (commit) via f6ac8c52c955b487dcb56d05fc93fced7b203294 (commit) via 1b8f6c7f827726b5f91745149f7d4329f10de7fd (commit) via b2f8eb7a30dcf7c33ea26dfca31401a6786dcd99 (commit) via 08302ed2cb8b175e3bbd4308879154baf64e6d98 (commit) via 231ca753239211b72eb761593083a0ee859274e7 (commit) via 1a3b5c34fe371f618402f811a981839c9191ff9f (commit) via 50300765aa46894d9347f760fd10dab829d564f7 (commit) via 96a5a1d3780a46b578842d9aeea3e98211dc20ec (commit) via 0db7851f9f490f0b60689df5a218ccce60896e3d (commit) via 77b7c781e9f03cdd903dad76f47ea0bb25277b06 (commit) via 8e43602e34ba404d82f7c74f6629f01e40c740e0 (commit) via f21b4d5c59136c38bb6d94eb6a29ad80d02043f4 (commit) via 643c2ffafea7397461daea339bb8f0ef2f23b31f (commit) via 510e5e562796a5d2bbd4c7208155bd8a3c03b50d (commit) via e503b1919bc5d06684ba6b1d09a6ccdf0a50b879 (commit) via 4e00131263d4de2e8b7a1d0da7e27e423d94fb52 (commit) via 7776370010db4d85a89a0dfde391aa9170ac1bbe (commit) via 4495129abde9922d77215233837fb47738722de9 (commit) via 3088cf40a57ec7b5276f192238603684b4608a90 (commit) via 69f476a36f475210807cb70d10183df9b838a9eb (commit) via c4a3e68e33b78c68d63c35bbed01782ff9eff4d1 (commit) via c9d31bd6579d5bbd672937a76258031675d40f34 (commit) via 1f3f85eba696bfff4fea5e66167ee001c07c4b0b (commit) via 9c504b5d34803ca2520e554aceaa2e69c141dc89 (commit) via 6663cf9161f7ed9cbd1ac1c0afba36c952d84140 (commit) via 34e5fa26b758250fca879799375f27c1fd8ed36d (commit) via 8384c35618fdfa66ea3ec6e84072cccc6192dd48 (commit) via 884beb0c41d8479e3c05f3492cb65da05ed882d1 (commit) via e0b2930cdc0153d871f80ad728d6e3fa90324b5e (commit) via f938677d425cd0453e26f7f51d9e94c87c92a25d (commit) via 8949cb878d5daae969db6326e1e1323bfa3ad9d4 (commit) via ac88e2de8314efd9aaa9132c5643ecbf715de508 (commit) via bd4c9dfe673d8af39cf400ba0118ffadb0e6111a (commit) via 5e93d4c64bbc3b4fb306e54cdcd79bc8ff86b2f0 (commit) via fc41a75bee01fbd0883e6df1e031d4d9e998c437 (commit) via 67810076681180b74d92f98d11c4a3d94885c9e5 (commit) via 1d8b34a7a233d89938fd173389f7884aa7d105b3 (commit) via 442019e118afb6bdbae490c0b072e8f024f2d9a2 (commit) via 2983f7cbdb245e516799f1a5b8ddc0450bce98c9 (commit) via 4fd41b2486e0c3407d39a6a4c0bbeedd057eb20e (commit) via f2fc30156cb71a3e616186f09f0ffa0da26780fa (commit) via 8c2f95f4346a4ed6593b1e0cb60d1839176e42c2 (commit) via a0d65762f11272996095870affe18f4c2cf354dc (commit) via 58971144622629bd11acc82b61140f8c47f0e306 (commit) via c482f52ccfbd5609aef5482fb0872545bdcabaf2 (commit) via e100df1a2ea356a8a311114bc2927215a33eefcb (commit) via 31d56ade0e943aca57acbc030334d65ae0b6f866 (commit) via b961da0bb033e0058059695fdc28c5fbe0057c1a (commit) via e2d8ae16c0c9a4f6c61ddb9af3d6ec8b2b71db2a (commit) via 863779b0c64917a1580a9e505762642ef5833575 (commit) via cdb34d4a1cf2553a58dc993bfb6f78716e0d1c43 (commit) via e99c83e741949cb7ae9f4ed449768e8f89ae02bf (commit) via 32faf971cd86d0a13c6b3db4626d4c8bd119e6c5 (commit) via 2cf311ebadb5058afb983c61363fc2595c01b9e4 (commit) via e6738699f704ae1ece43e9758f60d084b45e5308 (commit) via aa360cd5dd21a527f67f93ef75db92bac6cf02d5 (commit) via 898241a5ba617eb3e0bad4eb0bafaa9320320178 (commit) via 2d0ac1068babfe8800607b17ddb2f31189bdb334 (commit) via dede02ce4d2267d044db41a0896af4d670647a04 (commit) via d3cb6b99c5127911f94c782be8214e2093fbe82c (commit) via 1970a12f32f788f22b641737e846350e1ff9dd04 (commit) via 41243651350688a9a0f3a3542871d37e7f3c5f20 (commit) via 4465d9db2f8962640f3799a17851bef3b1be1a33 (commit) via ad25e4234a3f370a693b9c392c5b54216aab4592 (commit) via d64097b17c88ae18781ecce59d1b265b41e9551a (commit) via 4d4589ef76b975eead8da6bfa65db4a9dc85089a (commit) via 32a7bf17c94a81c08535ea045f43fe8c8271d3fd (commit) via 4a47555179bfcfd3c9e4ad2752e38ae398fc7dcd (commit) via 990b9f9f5a301cef9c16035c341a7b0b7ccc983d (commit) via c281872eec33c92db0565afdbfdee91558e5d8e0 (commit) via 5b64bf744c04f550a9d15b49a8cb0245904afb13 (commit) via 4ada038f6a8330b27769ad0227c7f716aa29b649 (commit) via 57f5a81bd240459edbdac1628800291e7535ed02 (commit) via b0a8e6c4431a2e762dac88f3d73efca4bc47c90a (commit) via 8d97dc1cea4d1dafff2ce2f55e0b84cfe444e6cf (commit) via eb7c454d737322be2d810e1a5a2dc7b88fd636e6 (commit) via e4e3333549c96d2915bb888b7b347566c938e75a (commit) via 0450cc4ce8b4775c47e9aaa1c5a34e181b10ae98 (commit) via a9bbfbd85fddfea2db30810c33c4bb130a2ef773 (commit) via 19485196044b2521af979f1e5c4a89bfb90fba0b (commit) via 6bd6a03d6975a96802b37741a99644570e52a72b (commit) via cd28e7aaf35f7de5033ecd619b56064136bb190b (commit) via 25c7861f70b2fcde6c4e3454c269da20ff141883 (commit) via ac69a0d75bf472a140e5405c8a90420d5f63a998 (commit) via 5230b05a94b964da335a0758686b92a8efcc823d (commit) via b32b108aba2c0119d0e231d203d3284539da2379 (commit) via 75352e283fb2b265d14c750859156943f6eb2693 (commit) via 5007d765ae09c10c7f3b18bb16841b9d2d59e181 (commit) via 262c0a877f91b9102fd42523598b46ea79a8970e (commit) via 00956d3a8ab1b56fcdf63aee4ed5c5a1d46a7a48 (commit) via 33e0a9a056bd23e923b929a4f2ab049ade0b1c32 (commit) via 30d0157a2ad64e64e5ff9fcc0dbe78a3e682f573 (commit) via 281c4447738409888d9659924937da182a65b4e1 (commit) via 39b06c208fb7b7edb98866252cbd05ba0918f666 (commit) via 1b86808a86077722ee4f42ff97f836b12420bb2a (commit) via 5c1c468d0eddd0fda1ec8c5f33888657f94e3266 (commit) via 28d810f7ffd7fefd88117e9d830e7588591fd35c (commit) via 58a0b827444d0d6baad47f5fd010f33e541ed16e (commit) via 78b2179a8e085b34ad7872450e5fadff4f7e5eb0 (commit) via df8899e5c8b60ffbbe93e35315ebb76a9c80ee37 (commit) via 66cfc0fd0d9daadc2dac5a783b69b4050c0b1722 (commit) via 6c3e20f177102519cf4f8b3c7e7e17996ed7cd7f (commit) via b292235f666ff2123e26794db73d5a27a685e7be (commit) via 9ac86b52da268147b2565e4920357432bb7a34c3 (commit) via c0e383c63818baee1daf51b8fb1bae34d1e0597f (commit) via 791199cc75fd294a4f5a228f83abdcbfb4c64c7e (commit) via a54018b72d75abf2e74bf36016702da06399c1d9 (commit) via e338894dc2e603683bed2172e8e9f25b29051005 (commit) via 898f57a89f3f75d542892c891e0736a8d91f42d3 (commit) via 8dba52b60488265e66073130ef77c03f05dcaabc (commit) via 289e23aa03084b22c73ebdcf18371f1e6666ead0 (commit) via ad3396348e0ebb61fdf71cff307bac08175ed366 (commit) via 1b63490c9173f8c9770b7885def720516aa9b9f8 (commit) via 96235dc1ac3730c4e490d19db2e8287c0a40f307 (commit) via 1da5c9a485f3dcac4c45e96ef4b7dae5948314b5 (commit) via 11855d8a1f11b102a702ab76e95b22082cccf2f8 (commit) via c361faae8d964db951b7100cada4dcdc983df1bf (commit) via 57a024f4650d7562e963efb6b00c4a4cd74185c4 (commit) via 5b3fd0aac2b70d860ba34f0e290d87773b09bd11 (commit) via 52b36c51e5bf6d7600fdc6ba115b170b0e78e31d (commit) via a26a013f22a19e2c16729e64f40ef8a7dfcc086e (commit) via 52a93b95ec0771c97e26f0bb28630a271a667bd2 (commit) via d8010d3e75ec7194a4703774090b27486b742d48 (commit) via 515f23e63c0074ab531bc954f84ca40c6281a724 (commit) via 0d76029f92182c3682d8be2c833d45bc9a2068fe (commit) via bd61e135492ecf624880e6b78e5fcde3c9716df6 (commit) via 8d296e2d4d8ed6ffbe29bb8cc6548a3871de6ad1 (commit) via b4a7c699688bd88313893cbb59ee0df5b8cd009b (commit) via 4102159923c90abd636d73e78777b98b1c680e53 (commit) via c2f97536b77f9d9531a1a2c37008b454eb67a82e (commit) via 61e3bf5f83f7e505b6bc51ef65426e5b31e6e360 (commit) via 59ca4c1bbd48a47073eed2c4b933045674cafe41 (commit) via 9f272209118972864b2c3799ddf2b39683c1a7b7 (commit) via 43573013c9836f2b91b74b9b29dac35fdb41e06b (commit) via 6ec2e0f5bddc69d55e09fe56792edf7a109ff8ae (commit) via 0cf44ec826eab1f149285b8919aa9dc4140d8d78 (commit) via cc4d742f4ce05bf933397a513b953c0feeae0663 (commit) via b69e9267d15a09ce3f3d4599eae2952dfc6df502 (commit) via be2b629f6427812a24f38802ba1c472a2cbfab7d (commit) via b877d21f34211915953487d68a07697f4cb4f771 (commit) via 432ae719d35c81324e01ae6bd9970cc43e69fa5e (commit) via 4fa7574eecb9a92ef40f77de572541e402a2749e (commit) via 7790bd6c748fc8e46c621b065562729735114f6b (commit) via ec76901011c5af6a565936d4ad87247c51901b58 (commit) via 11bb0c7abcb26fcc4ce75c66c38eca1f7b3e3480 (commit) via df52f331ed2dd79fc8461784abfaf3c1a9c827dc (commit) via ef272caa7482bd9031e82a2e6f1b81870fe2129e (commit) via 42c0794e961fd7922ad1358bd7221a8c85278ccc (commit) via 757bf54bb48a8417154cfdd7128c1775d43478d8 (commit) via f2ff95c5837bd41848e7156aa2677498518d0d18 (commit) via f6327dcbf0bc91bb9d99e12232d2b1a2f959fce6 (commit) via 8629910955a751a93f2f12389ff1f497556cc260 (commit) via da2c323bff3405add97c37333668de3aad36ec70 (commit) via fbbe5337a6d839309c0415765803a19f3e38f6e4 (commit) via e04ee09e24563f013c35cdebd7e9de3092b99b83 (commit) via f557a88ab120b75ddcc507c03d565c28e5f88c16 (commit) via 8fe09d7421db51bc13c9228547d63e6315bd6bd0 (commit) via ba52cbb9d024f2e51bd50fac36a18a15ab88344c (commit) via 1e5b66ed4285ecf063e7801a46178ebb0ce5be41 (commit) via ebe48ba0856dcccaa7a60d873c61e6f1f96f5887 (commit) via 0a0bf5dc149ad79b325cdffb6b4e57be6c5ecbc2 (commit) via ea5cf0fe291966845fb62f173d407a0dad69819b (commit) via 88240b186d224d634633d9996832f1235364b6d4 (commit) via d1b0a7bfd3df05fd2009b62b19b7535bbc6555c0 (commit) via 48649e1bfe2ef4cceff15a34e5a9e37201894ecd (commit) via 04afa70c8e1c931dd44db76eb9f0ddd4949ed00c (commit) via f5b358c8aa564c58b0a3201b82cc782124d80bb9 (commit) via c83833f49353e1fe7fa727291210be751161ade1 (commit) via ca464aac1b0a444f7debb8fc1e5e8b3f30602a35 (commit) via 223ffa714ce1cf1dc6e0c361189fa80417ff90d9 (commit) via 013af3fc8eba48d081f0e83303cd800097e5b7a8 (commit) via 06871ae84096ed1672eb76f44cea4d5dbe79ae24 (commit) via e5f25bc5d6dba5a5c4dd36e08afd57e918c63dea (commit) via 1b7fa39ed9678fded7264636c1e5cc14c6d6ebc6 (commit) via 37dd0825964048f8cb2b1ec0e5e43ab73b8bb69c (commit) via 6470a84860b11ba6e7258604ae78f047a1af2f5d (commit) via 64b5d6d785eb4c337b7c071ab9607186541a8b14 (commit) via dba74cb2b725ee8857dee865fb7f49c86aad1aed (commit) via 4e5a4f5850487740eb7549f1d0b8625ce577faab (commit) via b7f54058d9cd409ada192bfefd4c99c98caaef2e (commit) via aa70c9f1950b25b48f8fd6770f5d38a8252c24a4 (commit) via d6541620447f43985b34e9a39488bafb38158221 (commit) via 25516cc573ff3551a7ac0538e1d3de5811c7199e (commit) via 3d13f3e9bda5aada68915f5d958f731ae79ed41d (commit) via ab502e635e78a6c6c9c8abf3072bfeedaca9c26f (commit) via ced154d810b8e6ef10449030ba94fc8e66add468 (commit) via 94670f6cf11fc29cc6db6814b38c4305d9bcac96 (commit) via 0615127c587253a6386fe49468fd64abf827273e (commit) via e4114cb89e65c53839d5beb80cec956476ecb5dc (commit) via 35d3b1d74fd5e17174c97dac422f8c8d4ca0d8b8 (commit) via d9d0d1bc3f90ce4c1a86070a9832f706f2fb9200 (commit) via 04fd3ba9b63936653fff2b1657b3824c94a8efd6 (commit) via 5e1875543df7413d3cbc3831390445e347064b75 (commit) via c3d7b541fa920e6ecb0f06ffe1e0e3f070fa295d (commit) via 1526853e34c063bef25bd7d0eb15c1449c28e999 (commit) via 5846367a24e24f334077ceb7f7389acbd072b11a (commit) via bd77e8ff276864d6622f2433b8a499bf4332fa65 (commit) via c4dfafabc575f4995a5aa18241adc275e63c846c (commit) via ebee3285b3a44ef2854e9ec84a0c92f5cca4da68 (commit) via 26a67918a501370a8fe62db18a74761a0073016f (commit) via 124aceb46dfd1f836f35d6075ead4e00e705f6f3 (commit) via 96cde54f0adf2315404f3eba35dc3dfbc57f98c8 (commit) via e8ca139ed036e6da8adf42fc6fbd93973b724d3c (commit) via f8a4e1192032044cdae544848865636f6e07a925 (commit) via ef87240fd95c5f29a697eccf20b2f1f6dc3593a6 (commit) via 0eb0a40713c6479e782e5a257793d28f647e38bd (commit) via 3f8a7804287d3153fb4a8676b7304e67cca32be4 (commit) via 785922a559529420ce9b11342d7abe6ad32b3595 (commit) via 8d20070632b608587f372cf2d36ead339487e49c (commit) via 8fd138c43b3a820e1d7deec80c9290b458f09d63 (commit) via 817b77113459d8b66a75f4fdbba0a3f5f6936c9b (commit) via 21d0a60620b306d6471ddedff04ac23912596cc6 (commit) via cc3e190059e6c817203049a52c8bc4b37b58ce74 (commit) via d185219da329805075ba5e0e72ec4c89c925cff2 (commit) via 79254a5260cf49887b4017700bd75b27f483b322 (commit) via 5e5e02aeca4a6edccbf11b5f900d95bba59b9932 (commit) via 26e53f3eace35cabeec4559d417df99a48f6477a (commit) via eccd80d69487586578b7e085d8bd48657a4d7322 (commit) via 690098826e36cbadf618e15eed5f6ebf606cbf74 (commit) via 1e467161932b6385b51d0bd365a91cf205b399b9 (commit) via 4d465c689a8fb27212ef358d0aee89d60dee69a6 (commit) via 255300f5a96079a9860934c44bb9521e7aca45de (commit) via 2578f2f307f7e80caa0bce32c7fa880d579e736b (commit) via 0952b7101e85b205f93389216a7733caccb8f267 (commit) via f47432d4b99a453f9107b7fd5e173384f983e679 (commit) via 9f2815a079efa19ae520293c455ec2910a9879ac (commit) via 0782db848b52ecaf29e13d9f12a2c7cfabec2bdb (commit) via 1eac6bea98f41ee12ba9e750a9578bd8585011c9 (commit) via aaa63a31909946c4f68da64a93662147d67630bd (commit) via 331f81b22cb6b2a8dec2acc0a728c4159c1c7b5e (commit) via cb85b21ba1c0014787129d3f53cb8755aba64930 (commit) via 8fbc99ef16dfb49981e275f735cb591e68983d08 (commit) via 50feb4bd435b86c73ea55049b7cf87cc709c1388 (commit) via c6dc63a16299e22fcb5bc13b34cb402a1bfcf6b9 (commit) via d6b9b80f9483b6c1a3a018c0fcaf813ca098d8af (commit) via a9921622de0a7332a333c5206ce8cd632803df97 (commit) via be0d7abb5e3b0be4cb928845e70a9134f1b19700 (commit) via 00f675ff65ff6f78712a46e9699856e935d86d86 (commit) via cb791d59489576280e416262eb61ab59765a0baf (commit) via 2039bd9f0ce667f3f0ee99c18e25de1ea18a2288 (commit) via f1735a53a63040cc4b4a735bf18a3f20d308e519 (commit) via 7d221d749c0239f06ca571be6c9452cd22b5d582 (commit) via 35c61a1dd5462ceab42618c48c9a60238245761b (commit) via 7c96f8c1dae023c7d0b1cabc5e50c4d18fd06960 (commit) via 4ec521f238627f7682306d699c8826390a2cc9e7 (commit) via 555cb1688148f41582b1e7e9af57e2fc3fbf21bf (commit) via a059f00c857d088a7fe55d2dbded9d3210af4989 (commit) via cc397f3a236509257acfd5cd17c2f15f87a482d7 (commit) via 72542b8ee6558677bed21dd880b68dc2e541c9c7 (commit) via 502b834c1a6712d9bbe0beba98727c8365429cd2 (commit) via 0d64823e51de0b0e0a94bdf88940310342a6e6fa (commit) via eb1e02fd05688c28686a02f197c5e7cb0a5d6a27 (commit) via 0fc21fd8cf92de78c3c383378e70a2955e2631c3 (commit) via 49663d051c70e1366f9b94f586459a329e9b7053 (commit) via 0b868b60c97b13566cefc8c8f1984225b0165eec (commit) via c0470d489b47f0bbe57893b31d56d2d4ef945f4c (commit) via ca5909c7de7353d8005bf8fdcc020b8f14cc1603 (commit) via e6a2252ac3e3dc748df33b38ac66cd78c80be5ad (commit) via 393702cd59d21237c7db99c26dd8c4737a3ae303 (commit) via 76f9c9cfd42eb8df90ce8455a92109c0f71b41e1 (commit) via dc9fe180a4437b437015a8b835d05e32d64dff3d (commit) via f8cc3da6e4548529eabb1ff4e9693261aae1cfee (commit) via 481695ed5f6e0a8a9c9c50bfac1cdd2b3151e6c9 (commit) via 2420fff633eff03ec1f85eba82a926cd0ecf4229 (commit) via c5bce5c69721af8dae5c607e085e545cdba33ab1 (commit) via 8fbf0ba18c8a63bd4974086f6709b2bf050b0b0b (commit) via 4e9ac44a8925c7da81735ef24beb5456a0c0fa24 (commit) via 0a27fed72d4190cc70025c671b5133e6c58d9c09 (commit) via 90d499086b5d35ac5b58c925f23513f6af2c3639 (commit) via a611b5cb00f47a47426bf1d4fdca9cf3b7eadb53 (commit) via c7df954fc4be9eea78a812d04beb6a5534d9a5e7 (commit) via 469412dd9ccc4de5874fd3299b105833f36b34cd (commit) via e0f86435f8b3c61e21070a232a07c03928c2d544 (commit) via 9e9af4be9f656f82922e6aaeb3b6421508403ea4 (commit) via a5ad232b3e6f39cf2955a8ec3aa4355359a9f72e (commit) via 1de031c80b121db6f59d189d150ab2b69f6ede21 (commit) via 7a382c1c50fca0d4bc4c2e618ff6ac222c4e2137 (commit) via bd757a5bf293aaed6c6aa79776bbef13ca2da92b (commit) via ed0816bd936492aa7dc00e4fbbf8ff8de1253854 (commit) via 9eb7b0acb54e18e7cbca196a8bdb320844a858b3 (commit) via b1308d2c3749cc454f00b70768ee33724d919527 (commit) via e50142270b699c4960e56824a0300865589dc292 (commit) via 63c99141deff52f22aa36b9d6cb02e7331aedd1c (commit) via 6999821f8b1e898f02d0c1196c4c83337c3b565e (commit) via 639257e981e61472e5fc215eb60c5d545ac5e2ab (commit) via 69c1e056df50e931ca9cbb4b5881e574583cf9ab (commit) via fef704bfec3fdec29b08fca2bd0a5226a04c3113 (commit) via 5613c5857a020ca5189a73df7b58a234d0311bfb (commit) via eae49211e13efa075d57ab354ea4207666eadc96 (commit) via 73b9be8b5301c4ac056e10c38a47414867ee892a (commit) via 5c887dd5f699f953e274ba5981fe331eec8e224d (commit) via 5aec60eb2f6f0905bfc76f5949fd5d55c6a10f10 (commit) via a102602bc56e418f9794d653ef103a65f08a5a49 (commit) via 8f8f815255bf36800cdfff93fd88a62aaa39ce16 (commit) via 28ad437d7af2fe5bf83dafb4e733978d0b142edb (commit) via 351787dd4cb8439c0b49472648dd97ebedb5f575 (commit) via c0f84956d0df0f004e31a987ecc77ea0d293e62c (commit) via 7610297ab578854a5e9ff1247a77398a60d70f91 (commit) via 78984959cb385388e29dcc88dc169449344f22d7 (commit) via 419414eafcee7cd749ee4622ef25020e48b52cc4 (commit) via fbd1b77155bd8139033b72871dbe7bf5be6031b1 (commit) via 39250b0a1c788215a39aea51dee9ba4f9937d404 (commit) via dc089072135ec2e30337879b1f6147b77c77b341 (commit) via 5ca79eae06a692cca5bb795045ffb8961e2b8ae8 (commit) via 8b43e456886c5b3aaba1ef93195ed888b15de242 (commit) via 5eb5f85062a3d43bf449ded1b256d761d487f0d6 (commit) via ae780a21f25455e4ca4b2fa7e350e7f994e0f198 (commit) via bf93d7ba99319c4ff5f23f35d9645dc9c3d391c2 (commit) via 1bb7c059779218d2db7dc4668f998617603e86df (commit) via fc8098275751f48404a547fd027b2671c5350302 (commit) via d2fcdd85466668c06dda0fa02ac8c1f4cef3910d (commit) via e69570ee1886d64fb60c5d9d31f2e6ed76ab2dfc (commit) via f17e9d8ab58474cfa24910f9066f3b9823e190e7 (commit) via 22916b0786336394bf84f68ba71875ac3cd48fea (commit) via 0854b7b1878dc9f8b8519e2efed605acecc14745 (commit) via 38602d55e09bc9a28b5476ec3614a2483153ccaa (commit) via 44b886ff15eccb555dda65f93c269ac9d8dd793b (commit) via b4570e4b3032f9f4a508dbacd8136f79cf42c249 (commit) via 6c73f67f9c545425befde590f06d690a068a69e2 (commit) via 9d3d478be5e21151d3755d7b2e6f1cd8ff92d726 (commit) via b9f1d50ffcac4c4b65cb05c2971106cb06e8774c (commit) via d1f28ea24a5232d3ea690de9bc8abfb77837f2c7 (commit) via 25a93583f34f5abfe9c1b24393738547a8de657c (commit) via 188c9e6dcb2f1342f1ca51e8f68c22852522277e (commit) via 5f035c0716c3b6b310a736841b16088d984be917 (commit) via 0abe8a8992948559d225ff120095e42a1a6a36f4 (commit) via 0a188386c032126045979b7fb7c238d715c81eb5 (commit) via f49ff00066929bf7c38f9c89ad640561bbb331f6 (commit) via 2b68ef2f11daef3ab3c6941ebf53dfcd0fb79fbf (commit) via f7000548a2b79d7e5cb924468117ca4245e6b820 (commit) via c9a5e2a5b2b20d83f60026459d3a6b68481566c9 (commit) via d6b687ac7a2bfd0c3962f45ea5e1a72310f4e07e (commit) via 625ce09c1cfb557725310f602ee66ac1475d780e (commit) via a379bfd00effbbb0fb4df02dc686c2c110023cea (commit) via f7efc967ba45350b688e0f661a31eecc15d5e052 (commit) via c49fbc6c79e0c479371e0ba7be0c8d1137016864 (commit) via 26562e73d8eb20c9b8289911cee557de8e5272c3 (commit) via 0097251b8a2fcee7f536807328ea2b73a2f7c41c (commit) via 83eef883581525d04df3a8e53a82c01d0d12b56a (commit) via 31cf148787509fcf33bc6adb05bbf16bee48835d (commit) via 5b9f8a7c6e3873f97365569f50883a866b0a984a (commit) via d69cf9b2076d63bad3842bc6406a679598851727 (commit) via 3693fdb3c8ec14bd8ecb4ebb39e4384b330a2999 (commit) via e68cb8e00166d2f8a9e23c60f68bec04ef0a90f0 (commit) via 858be34c5a03bb8973679ebf00d360182434dc00 (commit) via dd5901a6a5bba75f3dee49f9a27640eedad90afe (commit) via 46a4882b3c7d9ec981568b8b13a3c9c39c8f8e61 (commit) via fe13dfecbf7d5a9ba3a5d9f52e33e0ddacb39bcc (commit) via d008ee21562d9f823b3d081b9b60e86509a5e85a (commit) via 827d0c517e2000102ac7d457109baa63e085c435 (commit) via 2c5a2be1902b50e34411baa57ff0b747e8e20e8b (commit) via 74ea4be48e1247b8f7c50fd3578c468f2ff1ae25 (commit) via 7022349d5c86bae74b49225515f42d2e221bd368 (commit) via 54990598c4c74b6af113baf801064d3b1837973f (commit) via 34d16ea2a144cdac8a89050d9aab723fb675cb45 (commit) via 9a24775b97646827396073d0d7e510b9694331ab (commit) via 9521ecda6835b338d61b1b06e1a91706711b1d0b (commit) via 80a65e9b8fbc93d4a7548ac17b8094ced23f66a7 (commit) via 6b66338c70422d670637623cea8dc3b62e05e7de (commit) via 50a421ac3ad82886afb0916b112ddeac4f9f73dc (commit) via 51abb421302bdd86946827727aebc878b5c756e3 (commit) via 6c5b2ebeacc2538cf342cfd13c4c98ff018e6c9a (commit) via 7c44b49cb63662b76c6301fdc8e022d7aca655bf (commit) via e439fa140afdaedb28a97acaa2b0432b884d8a91 (commit) via 7525b645dfaa302091591d0f87d9682ce988ed13 (commit) via 6c869779dad0cf028bd787e6ebbc0780ee4afe13 (commit) via badc00202024619e1c868b8cf70fe6351fc028c3 (commit) via d78bdb54ac94e1c38dc4b8f0d50b5fd202890887 (commit) via ca1fa5eef2912262a0a33875e9a23f2e79a72328 (commit) via 2434b0199ddcd9419c55742552953b0a79d00ebc (commit) via 0860c437cbe4efd8752531d0464007f448fc8274 (commit) via a826403eb6f0ad2fb8c88b45ea3cf5ba39cdaa75 (commit) via 0638b7f90293ac01233dc6406e4c9d5da0ed9e24 (commit) via 8f84fb0ee87e8f149523e13815c58e1b664d184f (commit) via 18e9961f02b326923553f34682f4dcca0f25702e (commit) via 453437863c82afc8ed5bfcb937a2e297957fc212 (commit) via b57af50345945f32e6615391ac62a4f589c0fada (commit) via 6eecf35f97e1d37e49e385ba599797dd1c8afd1f (commit) via 56496dd4d6519c26bb375a78588bf56b28b13512 (commit) via e91a1fa7d49482565b5f96a2ca9e51ce6327c4ae (commit) via 7ffd83d70f2792a8a538e8599959a6ed7f5b751d (commit) via 1ccbe9985f607b291bb6fc920beda60225f1bf83 (commit) via 0e30d991804de9dfd368653d6a88bf3766a27ffc (commit) via 1cf58434bf9d90ea0669f97514c63dc1ccf38f7c (commit) via 23fdd69e42180578b3e15ba8f053fadde965bfe8 (commit) via f04bdfa7b261402bfa9dbdde58b2feb14becd8a3 (commit) via d47a80260cd52e800ffea7eaea366c34a31e663c (commit) via 2ac3a7f5ce10dfdbda70a7d16414ba780677fe38 (commit) via aed02419fb32cdf3153e81aa3474ef41248f34b0 (commit) via 5e2ac45d561dffec63af4c83a545b46db032c70c (commit) via 2926eb2c326c625f54db61796fbe034b31f0958f (commit) via 92c10f5f61e8342eda76fb6927dcc1c885eda96a (commit) via aa595247af472bb95bcd36c166335c851e3e752d (commit) via b9ce864ca8dcd0e52e2b7c655603b181fa19cfbf (commit) via fe53b4a4c47df9c0bb2fa7f0de5a241f21cf352c (commit) via 9ff114ca5d2c2753f1ac110f8586d0040c27a7a3 (commit) via 503294e755498eb6545ca72b338c5037facab7f7 (commit) via 9a742a902f48369144cdbf5333392f128c74ab7b (commit) via 6b9553e2a5d2ba0e43d0bdf382bbc6b5011032a1 (commit) via 1fa4ec6ae707402c6b61cde33cfe4bdeafd53f82 (commit) via ad71ce8de7dba823f5fc478e6d5eba03f1a2e822 (commit) via 96d01d93c4025cddeff197c98c7947e2b8f427bd (commit) via 96fbe52eaafef0e7abffc3e4d25fd89ae8464c88 (commit) via 4f501a245f67d0b43f245b09515c87bfeec983ec (commit) via eeb2f20a764bee3a6a1edb9872467d044aaad848 (commit) via 18da07cd128d8d33bb6d01b2c59f12bd7f77324a (commit) via c6295c2290d4dd89e588e26f6772c023ab154858 (commit) via 39946cc227a1bfbae6d6a2a968f4935d9f8b92a7 (commit) via a6798baba212170e427d2f9bd99af12f1078b162 (commit) via 376dc015f275575e0aa7be9c46476db5506ff836 (commit) via e10c9c620c3335731bb0052987affdc40942fd71 (commit) via 1c5c938ad860811644774ecea66e044110967cf2 (commit) via 7e8b60085eb3e6f2c41bc0c00c0d759fa7f72780 (commit) via f8ad2513754f5a53fecb407cf64fcb586836b60c (commit) via 2a143b99fc4a5094a9cf128f3184d8e6818c8229 (commit) via 5c811d30d12b6f7c6c6f4ce6d03408d987154548 (commit) via 1f0c13579f6833edc85b5399486edf95b4b9630e (commit) via 0a2dde4a321d2f7bd2ded9a558b9ae92892de0e2 (commit) via e4f2723003859dc6b33ca0dadbc4a7659ebf1643 (commit) via b55f3386e45d8ba4af1a70f0684bc0089060d600 (commit) via d7de64088c7ce0d642c73feb66f408c601cffb0d (commit) via 686335cd3c7d4eef6ce4e3e54ef0e75929b5e4fb (commit) via 9866ffe25a0fe73f5153f2720650baf0dd9cc828 (commit) via 654670a4f0928e3eddc6395d6804deb2e61a0614 (commit) via af471f828cc74d65b50a7531ba2c69522266cfe9 (commit) via 3321e42bf2b5819b76ca36e8964fe7cf9a8ae9a2 (commit) via 59e8523bf8f92db8371d3a10bd7e4d7fe03d417d (commit) via ef32532f22be7e98c25480449fbc7a80d1030e1e (commit) via e234de6be5cc96286e0efb90e8d9fce51239e901 (commit) via e69f32654ac724c46c0f4f645c8a49189c7b43e4 (commit) via 5dda32094f668a3e9738ea9b3aaea530d2bba7cb (commit) via f493882dab762fb49ecb8685c18a85edfab5e6d3 (commit) via 5b86dbf4549af98c4428da4764182e03f22c58ab (commit) via 765e526c75506a7d9644bc7c137ac1923fdb1369 (commit) via 70e65ca8e5d1fc984d58f6137c290e807fe772a5 (commit) via 37b2d327512baf2f39020e44958fd1f11db46a91 (commit) via 7c0ed39626e3193adb70aeb98d3633787579d6ec (commit) via 0f2425c4c8fdaa7822555bbb61468b46d4e4af20 (commit) via 443701f5098e8c069d5858ca597bf7a8ba4a8006 (commit) via e491e58adce317f8ed46aa7a15dc563131996c50 (commit) via 9a23f96e919ba91587d077b1d399246dde4002dd (commit) via b9f04fe0dfe64bc6224e7bb96378607f17da7446 (commit) via c7dffc390cf861b313001fd08049a5fd8d758d0d (commit) via 22e5c8027aef0cef99f7e215046e2f72eeda0347 (commit) via 7755ddb77d227d1d5c1b211e989fafb17e26765d (commit) via 5f0f0847e23a57d4e95c2c639e803e6f51914efc (commit) via 0afcef5384c656b69706fed61d91f6d886c4c0f1 (commit) via 823cb06774ad6a2aee0afcf6f011c3a134f25747 (commit) via 37c0b6ee65941d54fa8064c21b39f97fdc318156 (commit) via 7ef3addbe195b6283d0baf59e081146dfb211c97 (commit) via 3819af136deb7ba6bc2058d7848cf80b33dbe51c (commit) via 34e0882b83aedc6fb9c7532c89afaf8e0043b7ce (commit) via 34ca2bd7ace5e208d46fea6e7a56a5376de0abfe (commit) via f2d394fce1f37a07148719c4bc919ca7b7a0b025 (commit) via 972d8a18db78974f59e1a6b1dc02f7e5b7d226d2 (commit) via 0fb0a7677827aea3e7ca1fdb2dfd1ccbdf6c2f71 (commit) via 5e89eb3ab04a378133ff3da1ed23d4bd89a56b5e (commit) via 3804a3431ae02bfedfa1347864444d9520161604 (commit) via fd437cbc432d5421492a5b0e371750de104cce93 (commit) via 90efb6422939ca031804266fba669f77c22a274a (commit) via cefdd1cd64f3b67aba1b219547b8f895c22d48ed (commit) via 565ed01a4e0e3584f24580177822a5271b1c0c8b (commit) via 41e52377486950e32a1bc121e4c42abc8561aee5 (commit) via 596dc58f33e20bd2784459dc0931e92922465444 (commit) via a5b4ee9451dc9ffb6aa29376fc03943c53c6da0d (commit) via aecbb010f9d74b574ba89a64f45cde2407e53dab (commit) via 7c8bbca5e670b5ea44b61ff30c5c7fcec47ee405 (commit) via 988f6b3dc615173d6d78a76ac26c109b4582da74 (commit) via 5fdda9d6a4c3520f4787d96c4ae293783fe6262a (commit) via 7d5b8b81d33e3cda028d814737015a7efa6b5035 (commit) via 6afd337d1a1a789b71d77b157529c08250eb9093 (commit) via 1445030f313d9b251a6a27c8bdf52197520396e2 (commit) via 176047c9f2ec8ccb4e0b6bfade4f21cb25d986e9 (commit) via a2d64ef20ba133be3bff20d45494a65dec6503be (commit) via a160cc4628aa125959dc65983d805500fc58512c (commit) via 074f6066845cb564751d4fa604e5f591c8265b41 (commit) via 28e6a46bcb00e9972540e4d12a98cc3f6fbb9d87 (commit) via 663c44ac4d4336e99c282705b1d289b365b273d3 (commit) via 7073b5b9edc9e06974bd733b7e4b3845d6d6f690 (commit) via 5b5f4e6f8cd250e07ec98278f7223e57b3d3bb0c (commit) via 34bb2571d40e1ca323a1b60e0827a25047890faa (commit) via f1902523c9b7941775a2c64af89de0f111b8924c (commit) via 74081948353b117fcbe870fc3cc9ebe0f18fdcf8 (commit) via 647d4de92e061a3a2be83740d7f1bf63e5669630 (commit) via f8d31560e1f64ea35a4e6b67c2834c5f89ffef20 (commit) via 49263c56bbc622d5a42cfd37b4f5fb6863cd7d24 (commit) via 87215ad1651ca3094d813eae06233fd7259b37e5 (commit) via aab921adcb656e4eefcc7d0f14241f3d7504400e (commit) via b1bb697ea1259c0977c38f1ec5f2239cbe669869 (commit) via 73784fa565bd66f1ac165816c03e5217b7d67bbc (commit) via 6e41ddec97d402c6c150701da0f70d40bd6ed5ca (commit) via e68c32d53e44ac0fe9f48637c0113da42b62644a (commit) via f6a36b0c9e537e4525f3b0687a4f76b4f77bf173 (commit) via b80c727008fc32d5271f3966be4e2a43badf8055 (commit) via 452bf675ea772002aa86fb1d28f3474da70ee1de (commit) via 58afddc6c7c5eaacdb68cdc3cacd0f76a3d01490 (commit) via 98973784dc4775dbce3470b0933d1cb13f8c5a87 (commit) via 9d3420f5df5e14aa6ad43299d20b60652f0ed7cc (commit) via 46434633f9cee98afac1cf945ad00c9d4fdf5a4d (commit) via bb4b64b0dbe015a4b3fb3993273f8b9b0f8cb421 (commit) via 11db943032396e1fee31440b0a331511dc0f4c00 (commit) via 8dfb7cbf8401be97077f5919ac7473bdbfa8b692 (commit) via 67d888f5c801eeda240508c567775fc1d66ae178 (commit) via 5277199aeb328247d5d37ad6f34e4cf200fe42fa (commit) via b270e6f9e09814c82e198859f218b37118eaf098 (commit) via 36bd8eaaa0afe3ff8e8b1b1b9edc9686f5c159e6 (commit) via 56f37645249752378520a1c2430225c9cee09161 (commit) via 0b581c69fe7186d7d0ea1283c7ecf9839a8827cc (commit) via 14278e1fdbe045df184d6dd546ff6a1e9e3c3797 (commit) via 4971c9a74b47103582834e46d0185390379e60b3 (commit) via e3e41d588adbe26a6ca54338dd4915382d981a3e (commit) via 0d999a6ef0f98b22430d70951408869864c979e0 (commit) via 329d5e7e56f852dcf9956683be4345c165d277db (commit) via af3881e612908b6c0b1283c67d18312cd219ca13 (commit) via 487b6440dad57440939fab7afdd84a218b612796 (commit) via e3c2f928b8f9afce6fdedaa1ddedfaa1d305aa9d (commit) via bf223d3e808e6fec9ee165d3d48beb74837796de (commit) via c973d0aa4a2c737ab527ae44a617f1c357e07364 (commit) via 284d826d9f57e3ff47e41f61f3250c8d029baaa3 (commit) via 454c9bb956abd5451b6a46c96327c5ec0884eaed (commit) via 7f3d21db922ae120961f4e8e2cba7b8a919817c9 (commit) via 45aee2da6b48c72c55e40ed36fc089b7e29617b3 (commit) via d7dec582d122314fd496c862e23e16bc7d52b2dd (commit) via 2989a3651d3f6ad8c7cffb225f77f4fca8868890 (commit) via e60eb2880368b4e4752577c626ab0dadf0499cb5 (commit) via 6d580b635f8963183540b816b20bb9c240154497 (commit) via 86dcbf50fe5f59fbc35f38f02ab6c1803c29f383 (commit) via 7649770c8e52afe2696a70bb50ac3039c844d381 (commit) via de25939739ffe9a9ad7cec07a35bb2a1e430fe39 (commit) via dd66b39984d2b8a24b97638d65eef5cfd7dcbc5a (commit) via b0cba12e07cc17683b13c6275f58a6a829f96d06 (commit) via 4c8aa72d0eb714a91ca2e47b816d0b4a0cb27843 (commit) via 714da62f64ef5527a22a3e897f7e21f69e442ade (commit) via 545bc2b377db80aa6edd0cf00cde6f963735f8d1 (commit) via 12601963cf4de26be1db45ee58ac3e282936aca5 (commit) via ba7139188c75a9c620cadea59158c5ffcab28acf (commit) via 44d0fb3a0a47c00a296f52a045a47dd0f1ccb810 (commit) via 8c1d4b8799912076b2db1edb1ae65a5d62a11723 (commit) via a5afdb1665ab0e030034d40f871b5cc17cda3969 (commit) via 1a457753cfad05989574c671a221ffce2d5df703 (commit) via 66c3b5f87cd9a12be6734587720bde4040819369 (commit) via 47613aeb8a42e89e21e63e1dcedfa2cde6791e53 (commit) via 9c3cc99930a08934e16b630e92a0d285a434f228 (commit) via 206726fbfdd521fbb184daedb71b85030453bf0b (commit) via 0335ac6d12906bfb4b48410d8a7229c21c727cf2 (commit) via 8975f864092f0a1ba561622ba137b305da4a362f (commit) via bf0ec4c2769236d9c471685409605f50b01479e5 (commit) via d3abe1c8ef1ec9a90932b801138a144dcae95100 (commit) via d6382fffde99214ce4aee99a208ddb703c647008 (commit) via f978cb06dbfbd93dbd52bd39d992f8644b0c639e (commit) via 2f5404b3581d125a96f14d92c4a7985e8156d1d6 (commit) via 0c54f69295208331faab9bc5e995111a35672f9b (commit) via d7f00f429aa525816cb3895462113326b6cb2fe2 (commit) via 79a94a2ad1e6e2f227de07427481e4bb8be84504 (commit) via 34c4758cc210e2ca042b0373938e57fd6844f89d (commit) via 6d545e31f520d42d921c6164ec592e8d7614d315 (commit) via 9ba349b5449bca9678c1f0840074761d1d3c5261 (commit) via ca145713f354ebd5e45ddf393ead46782d1f8b1e (commit) via c2c2dd9f09130fcdfc6bee999705206644f1f17f (commit) via 483767a333faed7ac25783459c0c9b0be4800932 (commit) via 1a682d061c5afe8ffdf3a594730693fb7d447848 (commit) via 98c5dfc99444094652c2f2259126f70e5cacf56f (commit) via 93ab9c0de7ba4a477720622c7e772d76f646e3f5 (commit) via 9593aade74f0da0c08a4ab55e4c59173b07b1f63 (commit) via 76db0a2e171d2c6780e0388840e3a10ffe7e9ee2 (commit) via de7985c3cca1358b21b49a9872455e2032f48ee3 (commit) via be7d3cd5f13196dd070978aa48c2832c351c25b6 (commit) via 1c90d9f022469629c255d44664b4452998168359 (commit) via afe37d6be57a505e6abd01778474a2b73dff52c4 (commit) via b348037fd8c0de5c39cc43970697c51048a8ec9c (commit) via 5af3691c758717e295ba4d03b800f3462a404056 (commit) via e7c9de26788dee7a620ea9cdabd7466fb07639c4 (commit) via ca6f2be7f6bc638fd4fad48def1fae4ae4d7906e (commit) via 4c2da80c2bdff7761eb5b3d9c03ffa0c9958b6b9 (commit) via 957e1fc1c5d0262e4b2f764cf031ad1458446498 (commit) via 3ecaa9fd728f6dd23de85efa0ceacf40da444c86 (commit) via 7ed1dab994fa1c0cf49d10608b8e77271c9804b4 (commit) via e8c6b620f70d8cced4a93d8857ad2a57f08a361a (commit) via e4a26669b914a1a1d519325b3bddf4bfe5078ea8 (commit) via 142311d325b962730f7d0247cc456f06e5c7b62b (commit) via 978c05401b0f0ac7a94cca7db19b1dec0c5bd698 (commit) via 0968fbae6b16ced72c356c14aaadfe366280a464 (commit) via 42fa2e0e1b7b135ab30f2f78074c3bfffa04d0cc (commit) via cc4a945a2687184c7cd4a0572e02965829517408 (commit) via cd3af38d7b3e66117e7964b6fea45e57d47169ff (commit) via 0f76ffafce1e93156094b393cd79489f4fd8de3f (commit) via b1a6c1cea365f80b90c0bca795c8d16fa0681560 (commit) via 29592bde87d250ea56e8431053918899d3d0c16b (commit) via b33404388e5bbd8a1fddfde73cd4593ae2b557e8 (commit) via e88e8651cf3415ba440ee17eb1b22b7d2e8368be (commit) via f5a29eb0a6637abcafb1e54d53fae9bcaa6fbbd8 (commit) via 57757c2f092ae7fb384e64df66c9921ac30957bb (commit) via 25d28c91b89d8f4a7e78b98b01e2c2382cea3e60 (commit) via 9165f4548be8612161fb90cfad9bd0cc6a752c90 (commit) via a26c49b78ac3cac3ac812304bc06cf2beb1379aa (commit) via fe22cbc418b35ed6ea3252a204bd351f8c201e0b (commit) via 24d3e51bf0612c6cf5e9a824b982e7ed38e741c8 (commit) via 1fea592a7dc4c6639ad21321a2cf7b1f0bb55592 (commit) via cea7a285058bcba5a54d6493d6914c720f5c40a8 (commit) via 206c9c79ee24759c0e0af96e6722298b413f2716 (commit) via 5d1ceb0b871a78601bbd4789ce137ff39c934a6f (commit) via 2760f24c4942853eac7b921e4b8843d57a602654 (commit) via 8f5e83fb735af978b99ea6e22574560bf667d1d6 (commit) via 7b005726f910af908f0b5ba48b3466d119453b06 (commit) via ba7b109b296feac8cf8cab74db5f824dfa631610 (commit) via b28b8b5e31903f59b00a4664b8204409e1e5bb91 (commit) via 2980ccad5958af178f80fd2a2a0fa781bf91b0aa (commit) via e347efc38b8b1eb6561248875c4bb2f9b074894b (commit) via 0dba2a6c09c4010dfb2eb5abdd991208374947c4 (commit) via 16eb6b2db49e6cf2fdca56efd37689fcc170cd37 (commit) via bab55c0522f47e692e367bfa341f4e19495cd8ad (commit) via b3293efaf8ddef1eba52de14be47e3d33bbce35a (commit) via 74cbb09e74dda17fc79e2ce709116780a90310ef (commit) via b7a18930e3925c4092bd975e95bc3603aa1418d9 (commit) via 2010d1a3f87927c3f41b3a2509dec13f4f72ef19 (commit) via 1d4af308ae58f459a2bfc50de70832284f1d3d2a (commit) via a4819f54c0006554179631189131080be859eefb (commit) via e2a084f2c152f6358ba926df22a313d3ef8d8509 (commit) via ee0c32930c355b73172b2bef987e2a48ea909b12 (commit) via fdffd6f4118652bdfdff383943f13664af4b9a45 (commit) via 3232fabd2d0094d74bd942a1f2c5c284b0cd9260 (commit) via 55ef6584ca8466e293e9f1b310c0bf44500c11b6 (commit) via a66930b357fee4ae716bfc8816e78c0f9c024005 (commit) via f02fd7745d003d65fd3b981618e07b874b721d79 (commit) via 91975afd35bb0c6c0fc5ce0794ec0ae8ebe2f805 (commit) via 9f06dab1e3acfb675669348a3ff331580d4eaf1e (commit) via 223b97ba9d9d1aa61bf22058f637c779c7621e6f (commit) via a30d3a7990e73c54e0bab9933e48989376770162 (commit) via 2331fa3af560ee880d50e28bf841e1bc05b0c3de (commit) via 744e4fe1db7099d91f71c50c83708cfef5d3d0c8 (commit) via 1c034b67a03ed928eb3916034eb1e782a8188520 (commit) via 773a1edcd1086fc76a91055bec67e2d14d76940d (commit) via 0d50bde32b92821c9f1f660d273e6c996d26dc9f (commit) via 7f968c899f21643322dcfaf807ec7d7bee7c9974 (commit) via 3c9ebddd93ffb8b44b8cc69f3be9db08c861368e (commit) via b51b225eb9b03b627967108ee3de38ada5de219d (commit) via ac991630ca57ba6a00d0d1358786164248d140fc (commit) via 898e0c8e879394ce0fb8a08fe85929a29f3ce55b (commit) via 26fcd5d7572ea1bf0cc697158969749420900e0b (commit) via 7c218e6c9c88cb8120adf1a7a530cfdec23aaf81 (commit) via 31b68d4ad72ebb153e48e16c8d9edf3676a8af38 (commit) via 2ec845e758762030f2333c21fa532fc57fe3762f (commit) via b3bc84537bc6de78e2bbd550ce9c57dd4b7e2ec6 (commit) via e3ad2841b1c75837a901618651fed23013643e3f (commit) via b80cf838447322778f04059a1f58b78ffbbeb597 (commit) via fad0444a57f4715c1afc9b0331014374e6faccb6 (commit) via 6e7bc05c53fe65089f290757a72508356b491a6f (commit) via 4a45905b825ef230a3fbf6bb7857339b39e5af16 (commit) via 7cd06d6e89c9c17d358d8edf0b7faa9dd87edc3e (commit) via ed1669453be56d71351c77377acee097aefe83b1 (commit) via d419f42dd3f3635fc036413258ed530676998191 (commit) via 4a2b031d5452226cf7894f313b3aac603f7ec5fb (commit) via fd9770d81fba7ad860e8bcfbc13c77f21041f1f3 (commit) via 2e9246e077cdbbff0a56a810c5750cc895382ba3 (commit) via 5f66bad45bdf1c9a9806ed27e64b724d6ba50b16 (commit) via a4f320fd1b535bb80dc9a3ba7c50ee0061ec0c6f (commit) via db99ecc08f5b66fbe9cb72e90352c7f77ec71a6e (commit) via b8f4abd342cc54bc2b90c796a2aae93e6c3bda6b (commit) via 70b0cf90bc6c071895b989666bcf3e6eca7b99ce (commit) via 73d5923e480944e2d66bde8c59f4dff298ec57e3 (commit) via ddff3d84be42fa80c2c9aaa635f2b9269e74e4f9 (commit) via d84ed528d4817b0ff854006b65a9f6ec75f0407a (commit) via 75800d2cd6a6cea6071dcf8f0c2ea871abeeaf99 (commit) via 262cdac76d010307e601d1a7da49a0cc1a53be05 (commit) via a5be90a4d95b535a67e4e249e733b208d36c1e56 (commit) via a2f1f308535745e1e8b1896945cfe4ce0aae59e7 (commit) via 1ef692ea23714876cc30b1a3ab3ef33a1369f17a (commit) via 4d36230d59903b92fbe2b53b31ed64a884860f0e (commit) via 60c4393c5085dcae64c84a51590f8a98199f9221 (commit) via be897fb774abfb0a44b3b87fe77bccafa336e638 (commit) via 51b69c74c6464c59a5621d6f3d3967a576043fa8 (commit) via 2141b1100568d4b10d6f22e6cf1741f1816dc348 (commit) via 2e957b16d45b8fe4396b16775f0b3fa77f71f0a0 (commit) via 575934368531e7592a7576a39a4320d88007ce88 (commit) via c48a4d983400ade9cfba0531905245eb454afe08 (commit) via 7e5ed83b229681f57d807f79fbea3703c8121afa (commit) via aacb3b6dfc7a9162a049dada22f1079809188f02 (commit) via 54387c7fe27848e41a51c1eccc6a24b3d6d3441f (commit) via 791fb3d7a58b86e5f30229625dfd33659f33fd6e (commit) via 4bbd4ef219c5b4c7d437618ba8937af86dd1032e (commit) via d44c746aedeb31aacd867edc2da30dedc1e63e15 (commit) via 93e0a1eab1c7963d77513aa503b129ea03cd6d39 (commit) via 10683b8d116a6b6c8063dd2e10263b3639816c6e (commit) via 8b5f1ed8777df405f3c7b87472b1506f5125aebe (commit) via ef080e7ed4a373037231e709bfa1a909f4eae0f9 (commit) via 49ba15a23a9d3d8a109ce2fd5053822eee7f1fdf (commit) via 894dde0ba7eb0789fbc1009c9541ac6d68389968 (commit) via 79c12faeea57e61364b6a7a3e411b096edce989c (commit) via 2b94abd48aef2d91bae1c35c8c10ebfb8757247d (commit) via a808670465869100d4178a572da8a1503d727f3b (commit) via 242f30e67cbc2aba8314ba3bf702efb1aaceaad6 (commit) via 4c9dc8114942ec02e1adacf9aea6d65dc5849e9c (commit) via f726cc1cb69ab0e0303209d08effb10b99007080 (commit) via 8bdf0be19d2777565a8b1c88347f65d6a4b8c5fc (commit) via 63d4980d60dd137996fa282ae1df2e3fcb4519ee (commit) via 104f0515d038716599728f8e2b58aefe3fc188aa (commit) via 27d41eac62a6a1aa803dfcfba2be61431e7b3d13 (commit) via ea03d0d3c32b22aeddfeb139a4a515f7e5961347 (commit) via 25aa13e522c595cbdbb3868f1daa434a17ba2ab2 (commit) via 6eb1e6a8c1c83d0fb5b06192d1ec218d3a358f23 (commit) via 35b4818d03e8d63a926afb235a21c2cb64b14b23 (commit) via 8e2141c6fba6daea1555e042da9de49ec8b1977d (commit) via b468ff4cbf14744d512e464b4be9681d3e0302ad (commit) via 229d26fc9ebca61b8d899cf8fe4342a6cc9795ff (commit) via 11f10936902160e9b1474fd0a06ea44a5a6445ee (commit) via b9c0e1b40ee4e7eeb3e2850720bf30f28e2e17b1 (commit) via a04b53379a18c66376b4130dc3b4936e6433a0e5 (commit) via 133193b8aef9f74abce69ec84beca227dbd7f9a4 (commit) via 7cbc739c71fcd82fbfbf180ff636e3fbee4f30a1 (commit) via 46a62268b87bd5e8215636b695380bca9a9f3b63 (commit) via 02ad7fc29f824a9742f8386bcf5793b81ff798f5 (commit) via c26bb06769ba85818bcf61126c94c2d517182fd9 (commit) via cfe7b9bd58c634bda974e291ce95030b1e42a690 (commit) via ec06425629516e11f3106d51fa85f49da147765f (commit) via c6b78c965a96fb152fbd58926edccb5dee2707a5 (commit) via d4aaa2a0744a28143f0b923802b6d1fa8db15887 (commit) via aafd38357af0c9c225f56afcb93cc3a4da763ccd (commit) via 031ed05dd2756557c3f5cda6690a9f3220918ffb (commit) via 7684e58062af4886aceb05ecd83a956bfcd14aaf (commit) via 8a2df5e2df374289e00ecd8f099eb46d76ef982e (commit) via ca4cf9b9c622a5695e01f7f5815a7382a31fcf51 (commit) via e8d84ca1b46f899b0b140fdd146fc7b14515267b (commit) via 47aeb64c10ec9c9f06d2d2f4451f417d63b023e1 (commit) via 645b28002711eba22e8a4df3733a01206ab7d36d (commit) via 8ca02f6a216eec3ada5936f189947c424d83d766 (commit) via 723dfee7b84099118e849c90e4e95dc275cb9d97 (commit) via 15a3a14fdd725c049d6b2aadbaf66c9be5ed36a8 (commit) via 5c2c0020fbe7110e6780ec1ee85ff11833779f8c (commit) via b6f48cb022118f838357c07d32d122e9434c0209 (commit) via e12c9b7a0cda47a87b8203ee9906fd12f68e3666 (commit) via 4fa8aeac1972ed07261919ce652c886160d8cf2f (commit) via f746a1544499acc20aa28dcdbcd2ea6df5548889 (commit) via dbdda973f31f275e514c311362a98b5f0f3480b8 (commit) via dcd27ddf875d6b913f1ddb0573c22b0931e36061 (commit) via 82c780662512c53c3a2c7f1e1f66474ea6bc04bd (commit) via 13bace4ab963a56102d8646cb16a8ec505536107 (commit) via b57e815ca1e75b7897caa99c2d351f11a543c4fe (commit) via ba8826a82a29a19b78c18ce4f44fe313de279af7 (commit) via 47826cdbec2548cd1d25acf4cfaf908ae88f3325 (commit) via 33d69f87279fd33a951eafd025b4d188bc71d97c (commit) via 47e77640be31fc1a4eb3718f594ed5fd0faff065 (commit) via edb0c9cb22e5be90a76b8698b45e9eaee596f315 (commit) via a778f165ad24111597fa48beb4a62359501e0076 (commit) via 42edd901a220d9d963d2121d7014b81d43c1ac66 (commit) via cf3252992378872212eeaaca090fe3b1491bcd3f (commit) via 62d2a18a2e4bdb3c278ecda54c8317f179375d28 (commit) via 2d2dbad0605c85bb75662d2f219b1b886d5ab4cb (commit) via 8e8f892f7033096576777216f37f922364bfe24e (commit) via 2018ef80ae7ebbe410aed0e30367fca27e3eb2d8 (commit) via f2e6a8430e72d58e70aaaaefbb32dc3953d5cf33 (commit) via 6c4e7b6bfbc4679f695106de2817ecf02b27c8be (commit) via 909e4e716c4d77e33357bbe9bc902bfaf2e1af24 (commit) via 62a5222fdab2acdc129b7c7d3713e7f349e26029 (commit) via 29866fa186ee3ebda5242221607dba360b2e541e (commit) via 70b448ba7c521d6e0881f38aaf20d330fe510716 (commit) via 7179e0e6b2e0ed7b220af8836a88ef308faf5898 (commit) via 684d5a10b1332e2a1b03a1d6e7a899ef87b3ea16 (commit) via e4943f2c7569a829eb6129f10f7c5401a96aaa08 (commit) via 804a4093182a4bdbc30abfd3081a3f58c3bd2329 (commit) via 801f648cfc26f588aee8fc37ddc4ac959f331bd0 (commit) via 927960f053ec6e361236964c3780d2acd5de4084 (commit) via 9a0f1d5099fa375299115afaa1ef3acbddc47f51 (commit) via de194d8575765da6c7905d09b8675c59fad035e9 (commit) via c5ed057625f886b14d9def3fa7488fd8bbbf7dd3 (commit) via e4e21d9ed14c74304bc060a9d892c0edfc4c8ab4 (commit) via 27841e762c975f6b1ffa0adbffc22405241262df (commit) via cfb7e58b483faa7ca4a3a8bb0030ed3e990b2c5c (commit) via c646b4e87f4b3445f83d48fa7d85999dd702c50f (commit) via b6a577132682c291255f91a6bb56a3817048e905 (commit) via 386535dd91432b784f6a46f8a92c6a599ba30174 (commit) via 0a79bef4f206d89214c48454a4302d6b6f8f68c0 (commit) via 25bda061bfe001db0b10a99e289293cadad5a0c9 (commit) via 89d249d2f26884b5e62301541aa9ab43bcaecb67 (commit) via 8e85f840e1870b17dce6a5bdb330c5bcd85a022a (commit) via c45ec17c07d8aa4554b0b2ca67a5f4dc2c87acc4 (commit) via be966d4207ff8df6572a23b911e5a69a2ab9370f (commit) via a245927022bc4351fafd9e6275e217021ec93e08 (commit) via c6756f62e04846d68c24ee922ddb0377d4bd17f2 (commit) via c5bb8910e80c6cd80c63541f86471c18375c8198 (commit) via 1d550c828c00978860de9ba35b9ab5b182b968bc (commit) via dd57c19c1abd19c71538631cd9e5b0f70eff5a5c (commit) via 8090b426b57bd9ebfa4c593ba3e6f939b2911739 (commit) via 6a2c1b8790e58ce0688507b5b1f8369aa621a665 (commit) via eb3ff9a55175dcdac8328b558d54951a14d719b1 (commit) via 6e1dbf8cda1c66256179d0b15c96bc97ea5cf7b3 (commit) via 78b13106edcd14d87b4cc0b7f8dce8db8c2be489 (commit) via bbf2f4dfaec5cf2e21b0935300b4921f0b5a8eb7 (commit) via 330cdd98910dbd34e969f60d48688fb81c2b374a (commit) via 2a925816fc3848f1d48c4783df3dd54116907a57 (commit) via f27dadca0ad18d5a0ba032c3d3f6a60ea55d887b (commit) via caa74962b638d9d468e77dca3e410b061af9aa43 (commit) via 676ee2b5fa6ae41342a9fcd2b7ca18693fa0535b (commit) via 046c08c44b786410bc743963578ce90b5c21e468 (commit) via 5bd68487223b73dd5f929878654f0e3e2c66c89c (commit) via 71d01ca93b880d4fef93f52062c674ed62768e45 (commit) via 8880f2a9cb5151ce1c2714a75d123ba0f63668ac (commit) via 65547233e04b32e087f74f8f5e9d3ffb6fe2c198 (commit) via 8f14146e1317b7b416ce298fad1a4f3d1ccbeb2b (commit) via 0f6329bd7fcc8952aed5a386617d12529771415d (commit) via 86038de0d810f8639d22573921d2589a99829b36 (commit) via 211b0bed95b3f6b177a541ec52302b8febd6b49c (commit) via 2347965cd99810f5ff6f638880e4eb498a8ffa82 (commit) via 40f4af2873b0631bc5f1d4ded2070abe2de2217c (commit) via 053f805718fb3a77169afebba83cc665e9509e7b (commit) via 6661ad487334212e043ab584030f533da358ecf2 (commit) via ee77ed019f9993ed50613a687bd2a19241c98aeb (commit) via e58ff055fa744a16d8e854d2fda9cebce164b600 (commit) via b4365d025e0b5c025658c7ffc4108502d56030f9 (commit) via c55a47e7237ebac17df73183d214d90400a49455 (commit) via 5d2cbaa526279a02cb1b70e29246099f0b8287d0 (commit) via 55efceabc6149e96134c10676adb2b1e79e0ae13 (commit) via a502b0bbb8f3fb7dca4f2a12aa04afa28173f0c2 (commit) via bbe7ef6699236cf94d0f4e597bdce99158905edc (commit) via b7d7d4598c7c7fff209a1055cbbd829a0a68d7e4 (commit) via 429d795d5074db648fe07dfd811c1c150b78066e (commit) via 0bae9e9ec550c940e263b37f577bf11b2dabf934 (commit) via 2fe40b6792e98dfe27e4521b2b33fe0f335ea1f0 (commit) via d42c267e9b129279994dc623c0bdd698a2b67286 (commit) via bd6a8c1905edff5e8fbfc94272240574ac9af231 (commit) via df2f63a6a0fc19c54e58aab8afe262baf3cb1a3c (commit) via 0aa37b654c0f31e446ab47826f0bcbec15d0112f (commit) via 48aeef91c248291dd03583798904612426b1f40a (commit) via 61a0857c0fb512ce6a2ba4315a37fcce744f6045 (commit) via 04ac15ab07e6360320a1c8fab82d25340c22a21f (commit) via e3fbc3da1342714b4943300a5a590b73f00acf08 (commit) via 70391b29cfc701f99b21b76100dc69531bf9eeec (commit) via 2c4d9cbe519e4050d067069e2d8910c42dab0157 (commit) via 4162bb66c684478bfd0f6f0e121c25b6830d8191 (commit) via 11cb57160f4053e9dce292b461c035dcc563fdb7 (commit) via 36cebdda8069aa04272e8fe6b5ec751a4ed55c68 (commit) via 6dc8d7579d1857460a4d0575660ade2e0462b08d (commit) via adce5b398df497da54e67772233be1b4849666ed (commit) via 77c501bcea87d4606367ddd87affddf9aed1aa57 (commit) via 2e1e43e14021573158dfd170f8e67e02a4c6b4b4 (commit) via 3d99e817a90b2a37860d527f2fb5643e7b861e7d (commit) via a074796714dcf281f5305540e3c5293d94f653f8 (commit) via 14357de15f6594468950d17dbaac8da0ab05063c (commit) via 266934d1ad029100f4073f9e351f8685ea175b83 (commit) via 0327869232a2f447474306a4d88214324d8abd40 (commit) via f4db828807aa2ad2279b6afa582c64bb5e3153d5 (commit) via 12c1f20d6fba9dce0011f3ad11a7de60f7df4a7f (commit) via 4b654465bfc3034c969d2d942c14b2cedfd3e3b6 (commit) via e6f3b9c3194c0d89efffd6e5b59471950f979e5a (commit) via 0b9305edf1d0b15913643b132dad02d4ca4fbb43 (commit) via 2af9fc4432bbda5ebd805bf5b56d81cd80d0cbf5 (commit) via 382b69bbb7a4fec5213d2382fe70a68d7a46b3e7 (commit) via 6e5eab33abe09041b29e0ce484f684ad0ffe80a5 (commit) via 929edea98d27cf9d72305c1584ee77627da7fa96 (commit) via 762c974a09746bda8a5d64ed3ee887adeae742b9 (commit) via e54cb31aa33a124f746ff40c134e20e6d2bc6c34 (commit) via c620a2b5471b9158e9e0da176e098ce3f4335b1f (commit) via 7639175c9add472d9271318996547a57acbcc062 (commit) via 532cc31305f46a979ddc4f98866b67e4d3a9d45c (commit) via aff6079bc770cb97f29f0bf15467f8c04bd1383c (commit) via 1cf9552bf1c77df8850de01d48e1057a27415314 (commit) via 9691e722c654054cbf2a6992097c730b8cc50435 (commit) via 33c5cd75874c36374c0966c59feeaf6f17512499 (commit) via a0b7b105236d5bc65e8d3a35f1b4f34bcc5e3705 (commit) via 4b617f5235fb680563571cecfdb03e3b3493444b (commit) via 8455d26243aef72f7b827ec0d8367b6b7816de07 (commit) via 1d827a720c9659cc8d54059ccc3efae24b875c03 (commit) via 15a7695fdce108548169ca265cc440b049d63951 (commit) via e4bdd679556e4e4ba71bcd066cc98ee7c2f4fca2 (commit) via 60c96dbf02fcdb30942b9db7a138afcfc2b7220e (commit) via 033ea118c0f5b33bd4d9af541e5c503119aad37a (commit) via 4da3eb35ef0545aac35dbd09070e5bf925f947d3 (commit) via 40c7d50720e04c3d1ef1695a8097f735bafbe54f (commit) via 0d702cfe5d9195f2ba8d110120374a8da6d20c73 (commit) via 55a09eb6df557934bcb7e96d8ab4e9e7ca0670be (commit) via 564e46b795ea9ef95ec662f01139a97717de1603 (commit) via 0041f7df741692954ebc112c69e5326afb0115ba (commit) via 568fc4f4f857d1a06d06ef5d74f8deaa0c8ae182 (commit) via d8cd8c1f482018acd16cab1f1f2a081786a04c6f (commit) via 15e6ed8cbf65f0b7cc7e384d78a56802d8d0244b (commit) via 19871f45ddfa7681f8f7585e73409f4fe5b51258 (commit) via 76cfced5addbd827652688a13f9cfa02afce51a5 (commit) via ce9116fdbfba8926a7bc25613d39bc3b2ed942fc (commit) via cd9af601e60240bb38dc58ce7e69abd5f2972ec7 (commit) via 33c734b2f860f77badb1e25d16e144e9db77d1bf (commit) via 8d219acda1f7bc5f7adcecf479c9017196cf2c70 (commit) via c8cf1feee1bcb793d919b14853355a7ba09ab836 (commit) via 7e70564caed5f56b4937ef3f5a51ae2159cabef4 (commit) via 5bfd255c414e89f23342f38975d09b18f2c1b2b7 (commit) via 2040444f336594dd2dabb35388b6fa97785754ab (commit) via 613643582c4f6145063fe1522d57bd01fe7bba02 (commit) via de837d77bca30483e8e926044fa497e3d49f7972 (commit) via c6eb149dfacbd7a5fc22d7cf7fa8df6bf1d6a637 (commit) via bae7501e87ab614115d9d3213b4dd18d96e604db (commit) via 25c5412713badef8cf779186174200ecd880b329 (commit) via 3c465ea0ffd372bfc7f07eccef4c0b1bd22efc71 (commit) via 834a65aadfda9755d8bd6ec76ba8b3a6d20a1beb (commit) via bbd27b7684baf424bdaa7f0a1d39a2cd5b0d6134 (commit) via 9f00292e69635d48623372c7a3e390dc5d159a8f (commit) via 32f76c677333510350f21a40db062a8d17995c53 (commit) via 33f466961ce01a7db6dbec6b39aafb7af1855645 (commit) via b1d3c886aa30083236bf60c50d519bcc978139fb (commit) via dc4bde35d16df749e529229657b3468417937cfc (commit) via 51ed89aa0dce3db46561235efdc4bbc0661bcf37 (commit) via 60a02042bacf8d25814430080adda61ed086bca6 (commit) via 4151f6842850876e93c8e5d870d7c9147065788d (commit) via 909b4e3d5fb8579b3721651c9e64a11e7ec27e5f (commit) via f5b2fd523f8f180e11f77b84a107279c562672cd (commit) via 9785fc2a4d220322ce6cd1d79e768345ea5234d2 (commit) via 8d011e87dfa4e1719bd909b9adcbd1a0f5a75228 (commit) via 60804c53a0c365f0802e90c12dfcbe6696b861fe (commit) via 92cebb3dbea282bbf7357ed2f3f03bc92fee8c7b (commit) via 3df5cd139455a1448de00e1e173f3ce566a25a48 (commit) via eb17d4137dc83a373b8968cd20b256fa8073a4ca (commit) via 195bcdd5183f2c137399db23a68a26a4e4193f8f (commit) via 2e74f9dd8ae79ddfe7f0f84b890c962016fc8f15 (commit) via e1e94c4994151ebe0e3a103fd0d27f60bd806bbe (commit) via adc764e7d217d3e56af988ce20cedc98d8c4cc73 (commit) via ec1acaba1381d0196c45965a7db9942b67fbd88d (commit) via ff07562f1e369b6e37eafb2a888dc48fa2453e86 (commit) via 2aff25ba76035d2f1f48ea8a6c4b7e498ee31790 (commit) via 88ab90e860a46a1123fcfd13bfe51cd360e9c3f7 (commit) via 1b19ec971047a074486e6b775dc1969aa13f30fb (commit) via 328ce951b2513a102711bb640496a2f1b5f8d3dd (commit) via 47fdcf63c04b5c220974affc8ff1d9ef8a041919 (commit) via 6e75794e9da0e12b44c36272e16d18449d25a03d (commit) via bc491f2e76df1f2cec877eb07e88209b609ddecf (commit) via 88305e1b9f4592a2ab129015ce409fcc16613ebb (commit) via 65a55fbbd949868f7df3c65d39eb8d4455515132 (commit) via c604a79ad4d47070bbcc0bc082188fb16892ceef (commit) via 41664b45ab6387184bd0e7512fcf7a72c58744e7 (commit) via 819e1f86976dbbd13e0de004cdd3e3089e4c3fc0 (commit) via c7d289d129cde92c0d351446c5072c5f744040fe (commit) via 38bf472a15210c222bb3885820e763c47760a704 (commit) via 9991e9d77fe04c4fde9b88964c6f25119a781e0d (commit) via 6da67eb10df978c1237ca863990f38cdd4ca2e95 (commit) via 23732b1e32dd58f7c731d9aee56ff0b22a645d53 (commit) via a4d1e79aaa4b9d994cd9790fc3b756748dc5571c (commit) via 2d68166e8704569eeceb76ac743ea1e7cca2af26 (commit) via 8268c77870de3c27ef598348f3023ba159fd0fca (commit) via 6806377956c76c23ae96a3844e29412ae117e07a (commit) via db665f427ca781d631d9e29b1bb744fb11ffcbba (commit) via ea9aafc41a764e4e2dbb88a7b031e886b481b99a (commit) via 79cb3f75debfeb1355f8883143f0f6dc98f70080 (commit) via b0bd097ef63edac71b6720e850b9a04605a87f7f (commit) via 2438385a4dea36eba111ee931a2fe2d159c676c8 (commit) via daba08c913105615c5e57dddcfcfa5d8c4237eb9 (commit) via 7575e6a752ecfa66a41a5d4636ed79524cb50ccb (commit) via 1284e99a6ce362d342d6468e5caa39ddab574721 (commit) via b1a2d7a0e57abc06e6ec99c88ca9992780f45f71 (commit) via a6cbf936e3dce68114d28cdf60d510a3f78a6d40 (commit) via 7211ae501eb0de1044983f2dfb00091a58fbd66c (commit) via dc819143fe1d44970a3da4b9ebc7828fa2337115 (commit) via ab27f80c5dceaa23c4ba7f62c0d5d22a5d5dd7a1 (commit) via 1f473e3d0ad285195934e6a077c7ed32afe66437 (commit) via b417536f2350881ad28952b3906a025a54d241bd (commit) via 0630b49c470ca2e3c3f74da4c7e4ff63440dd71f (commit) via 515a4464176efc6ac31c83bd40b5c67f61c3b044 (commit) via 873c08142c4c377d2d3ed0b1b1b9e262ddc06c61 (commit) via 8b5a7a6e8ceb34f8e82aa361ee91ec25e0049774 (commit) via d1435379df189d1c358ebd9776af8824a9158533 (commit) via 04e15b4a9462cb1ae819e878a6009829aab8020b (commit) via cfd14a500e0485374596234de4db10e88ebc7618 (commit) via 0602cdad745472ed2561d8096a4bb021c8d0301d (commit) via a3aea05a66ec325ddd19b0c8dbe504958a295cd3 (commit) via fd52715cfa77b7e06f4ab5eadfe7946d22180adc (commit) via 93ec5e23766a9f75aa4950748cf73964028a8d1b (commit) via 49fa50ef9c59aa6d03bc2e33a25b2d832a9e692b (commit) via cf9bdae906f897ae13563c03c65f325cad05bf1c (commit) via 46adbd17408fda28aca5320e2247ede30b7e9649 (commit) via 57963c05b9911c3555add356a7cd9952d391dfe4 (commit) via cc75e0fdaeb179efc66ddd1cb1b6da40e6adacc1 (commit) via 07809eafc959a0c588663c0c949eaf8044a1b40a (commit) via f076f0349cb958b451872ce4a7987821533c2f49 (commit) via d7e2ebe7e73105766a854f4f0e3a5c509fd0e82a (commit) via 2d3392bd42e16b5c8894c357f250dbde245e96fe (commit) via 5cc4ca837deac7dc962d8a3741aa120c50ab41da (commit) via b21351faa29dfa6deab3afcb5a2ee78548239274 (commit) via 0cda1e190dffc804d1f1ffc4bd849ffdca694914 (commit) via bff0500d7abc215bbc6d4e9332047c023f4ce2cb (commit) via ced40572e478927f43a849d5c39f794868da8d38 (commit) via 173205ca3356cab0590c2debaac97107fb9a7fcd (commit) via 926770baf44bb47c41e85486957f4ae70b694837 (commit) via 9bdfdbf929d581cf845ffc815ae94a39d9f7b032 (commit) via 94f78a777c396fa1ce2f40d34afed1b6b5012196 (commit) via 4aa57d6a2bfc4e48fa6a685bfa164db5ae2e1c1c (commit) via 7ee7ff7015840f2d0156bf386a050bd728d22fc4 (commit) via 7e57d19e48f94ff9a19a9413cf25d1887e3a7f52 (commit) via 0e158763b0c5671cd40cdd2faee48d6659489ddd (commit) via 0dd5cbc56307afaf6a366a8e78ef25cf9cefe514 (commit) via b4cbbe8f7294070cc93a71ace78f134965ddad82 (commit) via 790ba5c89893f31dabb6d8e85c8d4be61c52ad99 (commit) via 0056441823b1b1b2488dcf069b4feb55b00137ba (commit) via 5d8763a38211dd79459485ba0be4f76849ef8200 (commit) via 922109c7182858b005f55f6ac69bb6af145fc710 (commit) via 84da4cf89efed1df483914d06210daae79ce3eb8 (commit) via d4c6ce5b011b03c7e4a84b530cba1f9b56441131 (commit) via e652757bad63e4cf8c0c72df6e95c0c826f8e29d (commit) via 329b5ba137687c4cf00413534a08ec33c8acb556 (commit) via 9d1c54ed7f3a4a70f35f85658c311697c17a95f5 (commit) via 16892a0323ce6cf41ca80e384dfba12524247902 (commit) via d7dcbefc724e59aa49e4ac2ac2337c8e1b8c367a (commit) via b30ff123fbff63d6c8be1115320efd0158e49a7f (commit) via 4fa847d78edd4a3901414655bd4b31234b91ba2a (commit) via 48580982ef41907a45cda259a63d9e6878cbbea3 (commit) via ee2fdd6f36c10ceb84e05c7234983bcfbe6146d5 (commit) via f4906a9a7441ef9c2758513420568994a1e7fed3 (commit) via d269dfc64fb5307dbbaecbc5d55861a705b729ab (commit) via b45a120833d862aeeba6803b2cc131724ef89dda (commit) via d19237d98d5c227bc33693057eb466702386cdfb (commit) via e7d39ed3e0ca36d0dbd6ddd4cb955aa73b0974e6 (commit) via a765d0724259ec77ab69c3dbb1cc2e16e2e038e1 (commit) via 194747873fbe037e923eac3a61481ba16e50e322 (commit) via 6b7373708821500a7388a8248b6c19fa1826c514 (commit) via e5c89b096d9cb9e5956e98cd5863519c87c6890b (commit) via 127d08c03f8bdb515389359ab605b6ee548996fd (commit) via 68193357e8d0fb53a229114713db9f0385f60ed8 (commit) via 75312ae3ab577c3a72ada54512533fec8bfae7bb (commit) via 7f2c8a1d37af46c46828909b7b748c79aa4b7ff0 (commit) via 2c6b98ea6fcc1358639253d4e96c9b55a672fb0c (commit) via 6879f5a99e25c068fec34126b6b0fe4325223aa0 (commit) via 2234eee61c42ad3f4d17894236873e04b633e969 (commit) via c2f7640243bdab93cafb3bf516e17a72fcc2f051 (commit) via 9fef80d683d79934bacd3221f5252ce8c14ff5c0 (commit) via 7adc0a8174f1233f6d92edd0671c18c9870e64e7 (commit) via 3d030cdb4a8d338c87e48b249338a4870fdcd322 (commit) via 54bab2816dfd025fc53618e46be140573d5bc02e (commit) via bdab445c82ba93bc9aaad1ae974a3cf5c4aa8a26 (commit) via 6e1816be66892d06e1a983f08407135fa7f7fc17 (commit) via 81209eff905bf76a01bbc3dc07b8973d1d0cdaad (commit) via 6c290d5387f770a6b098162f0a0f9ea420de540d (commit) via c168ce07e5b4a2a0258c796748899e1ba2e6dc7c (commit) via 996b5569bf24fe29dcd832a068d9f42b2903f48b (commit) via 20bd1b6ba53491e4979c03a4f679d0d17b9b9046 (commit) via e4da2c61669d199c75b96a1be25e13e3b8254e89 (commit) via 3de58d950c984bce176d883a8e7bcf3415be8c84 (commit) via cb06d03ad92ffcfaa09c3f065837cb39e9e1486d (commit) via c458d0079cc5e8ff29256355e6532ad2f96a8aa6 (commit) via ce49701009db42a9a53e5dcf172a6a211b1025b3 (commit) via 1e29262747bed568c673b8765d214a4a16772da1 (commit) via eb83230b4d5c0129174937846ded9eaa9f78ff28 (commit) via eceb74ca646e78adab1fa9f5c3b7cce51e894bc3 (commit) via 69431babfb54b26000fdcc016323cf811d48e862 (commit) via a206891ad10040bdee41999019af3cbf45abb5d6 (commit) via 96160d605128658378af73bb62732d1cbfa73d8a (commit) via 9a6c7d9c021cfeb290d76584db7a01e57e7c3d4e (commit) via 75c554cf9c375432af6e93653880d5498cd5f918 (commit) via 72ddacb77e3301a0481003a23b2d8dced7116de5 (commit) via 94de2a2c57b7f6b2870f72ecdcacc6d909c6421a (commit) via abfa390dac6ffcfc6de9659c0b78cfe524347450 (commit) via a6cab9afd2c81465265c8d09569e3e6ef43d2954 (commit) via 325c9fd4aa054118b80c621262f10fc6ffe98e25 (commit) via 66953522c9061874047d2e9832c206af783c971c (commit) via d16fdddb4e96e9e7bcfce6fe487b321c54b2c7c7 (commit) via bc21b167eb0106eb31d946a0eb5acfb7e4d5d8a1 (commit) via 0f6d864de2469af4223391993b430b0d45573dcb (commit) via acb56a83016611bcb5f0a32368fddc8c213f7dd0 (commit) via 80053e466b3a8055334b9be9bac7d99e0d617cbe (commit) via 16b7a7199881fa26fc863279bbf08741e5674b5d (commit) via 72e84f969481f52daf6741c6bb4d0e92f9668389 (commit) via 875ffa3edc5f27f0ad5e3d95d96782832edad00e (commit) via 1c8e01c96054973c50ec1dec2f220af4734e1de5 (commit) via 65ce7763dfbca7f74c951767050ad2da0739869b (commit) via ffce45d2243e5f52f411e314fc4e1a69f431a81f (commit) via bdd32e03c5e87bd38e63e9cc3fd35375241db58f (commit) via 99149362b110c0b243eecff05cdbda0d7260b412 (commit) via 1d4fbac99e05c2d2ea98984f9bc6f7d7f1a183b7 (commit) via ae3e2ccfe75e5c62749c15ead5c95e052aad21ca (commit) via 8465943af6a6f756c3d4b077eb1081ade927b26b (commit) via 3e019bdc20eb81b91ab5bc774386201b874c0bac (commit) via cf0dd6f02cd45d6dbb6bd87dde25dd3ed74eb7d0 (commit) via 291e62953900e0f4998224127bc56239e421cda9 (commit) via 6f98355cda4ac718855d247fd942553b1706549b (commit) via e197589b72e7b7b2db95c63acd58abb574b4249c (commit) via 4b48e2f6a50e85e5acc316289c4a6af693ad98f0 (commit) via 7dba9362c172f1073487536eb137feb2da30b0ff (commit) via d68f19767dfbb33c1813563d5a4af0731a1855c5 (commit) via a87dc45adc983a8e6ec3db8d18cd31c35abd2048 (commit) via c092b67bf0adb0fc1e179612b161e19938929e66 (commit) via 00fd923b247530bd30f695b5bd899467536ad4f8 (commit) via 75e06f9753af16bd8a4d864431ceb1a4cdd13f58 (commit) via 6353d82b8fa825c2143f41e84b0d5d4446c6e99a (commit) via 8cac017d35ef374e65acc98818a17cf8a652cbd0 (commit) via 0d96e4df4812c3bad77c229dfef47a9bc115ac12 (commit) via cd3ea7c69acc5045eb28f9bf80d923116e15e4f5 (commit) via 62b76e4b6e0b4cb5b3e0053d1de4097b32577049 (commit) via 63634bb4a107877dd08b6282e28e11cfd1a1649e (commit) via 63323b5b23bd83fa7b04ea00dff593c933e9b0e3 (commit) via 76800cba595efc3fe95a446c2d664e42ae4ee869 (commit) via 08c7881b814c546efc3996fd1decdf0877f7a779 (commit) via 37de058ab2e9619fbb6dea52ec2773a5d65619c4 (commit) via 45159d6ad394fe7db840b2b92eaa69508b8a8fe7 (commit) via 6e89f899896fd596527d24de6a8a98bc633805fb (commit) via f7e16c2a9cc405707e646e951397938d2b4eea48 (commit) via b46c4cf0908b05ab493d4f30e9a52a887ee118fd (commit) via e64519d1ed7fd8f990f05a5562d5b5c0c44b7d7e (commit) via f461bbd847f15657f3dd2f317c30c75a7520da1f (commit) via ae87f7e73eba29bd38b3a9684a10b948ed715612 (commit) via 6394c606997f88acfc80de4dff33a4ae2de987b4 (commit) via 99031bafd6e81a41553803886c6b245cb0ab89d9 (commit) via 8eca1095d96c215409371c5687573aac89a0a980 (commit) via f78d1b3ae1cee2bc1a2be4b3c30df9627e13fdc1 (commit) via b6947a7f08011375120186688bf2efd866f7d148 (commit) via db5fa770268baf8cc82cf9b141d69799fd485fe2 (commit) via 5524b5250e319f41933605420e9526fb74cfb9ae (commit) via 4c0b797e0d2005780d8f0300f0ccc14b9d7c13b5 (commit) via c53d2e6d744da000aaafe0237bced090aab62818 (commit) via d5722aa2fe9e1d76d98865a9ab77a7b9388743c9 (commit) via 05c966f3c98d6126404f1cd7f233148a89810b5d (commit) via 04f963fd489cae724a60140e13984415c205f4ac (commit) via 319c2dbe240a797c6f9436bfd64f5c16045ad5a1 (commit) via f9a36b297d470a72ead64ed07cd5f313d9d7a502 (commit) via b27685f2016c510d03ac9a64f7b04ce8efcf95c4 (commit) via 01ec7a272201de84be1ca2c557e58d97891f288c (commit) via 848d907446d738604d11ab4061f3b0a8b23d4504 (commit) via 3b912944f4257dd935c91b77a51bc2e4baa1018e (commit) via da614360f520b84a9c87506eb0c880f7a056468b (commit) via cbd0eecf261c2447781f8c89b0d955ee66fae7e9 (commit) via 6490dc678bc35f2204afb38449de5127ef8bcca0 (commit) via dc74becf498f60c842d81eb6e98cfcbc3f167c22 (commit) via 8569cfa78c2cc8b5ef66b0bebddcc0e63231fb51 (commit) via 55acdf2242372ae52abb25c80db8e75df5578b23 (commit) via f65e204425b5b46a5927d9501c42f25d98a866ce (commit) via 23f945bf8cebf348154aff43782de2e1977e9230 (commit) via f236533e3c6a2693bea879b2a4d24d1229864ac9 (commit) via 65d84b76164dc8ec1a1f0f0e0fd41667065ffd4e (commit) via 242d31ab7c3901e02bd68c1824d1d3610e02562b (commit) via 03c8af18d1a8f359fd023696848bda488119da60 (commit) via 840989c113433c069f54872d7e051e1572202326 (commit) via 3bf310110722b03d9ff9c4f34f5920a9be2878d0 (commit) via 359b19bb24d048750aa5367ad56a33267300d1a8 (commit) via 07c9ca3bd8e6f83bcec49c922b52422c538f60f7 (commit) via f1cc987420d9d2489eb453bd1c87139666cbe7fd (commit) via cdaac320fd62bff75562aaa3e466494dc72dd175 (commit) via af547a9614969e1d1ea6fcec6b59cd77a606380f (commit) via 805acca042afed8e8431c92ab031167b03475676 (commit) via ddd7882a582637d86a321c1ab835f6cdbeb6d017 (commit) via e93523245b704bc126705620969b4736b00350c5 (commit) via d5d1163eff2415a01895f1cff8bbee32b3f0ab66 (commit) via 0567c9861e113a573cc905002a59cb1bc3d78450 (commit) via 10bbbc1d790836122c417fe4fef7233604bb3982 (commit) via 032bb6eae8a0166f9b5d2eac6960383c532ef6d1 (commit) via a0688fac4b1662e34a9a08e233112beb7403f642 (commit) via 973e9aab63a70311dffa2993dac52bd63ea461ec (commit) via f12f6bad7d4e8de1d1f4c9c1811757571149c8f1 (commit) via d9109c8080ac0a2caeaa5f3d51e8a3b4891a68a8 (commit) via 4ac0cb1cf04f105586746a6cce5b0f93d76f2b33 (commit) via 30a254669b16b86166fed1f9a4c4f9cc55a07fdc (commit) via b3464d0316235899d9facf81896d7a427d5cd6d0 (commit) via 4b76cda9938e4cb200bccffb6e020268c6a51b89 (commit) via e8f8bcb35f22965c8e4309c4aa4227241c485fe7 (commit) via 70a1152bee7cb959ab0c6c13bada03190125022f (commit) via c2f134ac418eafca850e7095d789a01ec1142fc4 (commit) via a81e6d4d261b7471428408f4ebba1b8113c16ccf (commit) via 6fd931f2d66af8398b2fae3ab5f5afe091b8362f (commit) via bc8f2430e08cc2a520db49a42686e0529be4a3bc (commit) via 5c3ce2bc8adea307917d3bfeef53114795764db6 (commit) via 3704e3589d3d187fbf76e688388b1a92fd627c8d (commit) via fd0219988dada5b4ddb04b691f71c9acdd87b739 (commit) via c4dcb155c446cee135101d72172b47e3fc99caf9 (commit) via 9b97dfbf8049bed3b2f79c6c785afaf18206dad3 (commit) via c7198f97e026f2a2d53de8dda090c04619355a36 (commit) via 561bf3e950e410fbcac06523d43039f1f58150ca (commit) via 6d45d4b42b5b360c0b80259e101c01d650d0be23 (commit) via 9845682bda4149b5b3648f2d49a041aef5bc1af5 (commit) via 654f3b6a2af84ba0f9c6a4c011364b8f650d66a6 (commit) via dbb2bcd0059f8d91de5a792f8684c8908c316720 (commit) via fe7bb2d5ab1f47163f38d2070dc1e62c1920bb44 (commit) via 2f91880f3afb3cc521111dfcc99b214c77aa97a1 (commit) via e3d1d4088ad3b4d0fed39df62ad295ed60707807 (commit) via 64aa8e030360ba68e32ca15fa5aa426160a2efb1 (commit) via a0abe74332bd25aeb68acfadd74280c0f117c493 (commit) via f4e6805f98d2b3eae305f66ba26ab25aae1485f2 (commit) via cd6402916febae6d8a4e62c572ea6fd487eebb61 (commit) via 7ef0acc15ec011371a3901a997c867165bf7a733 (commit) via cc89d0b3344614ae97456df84034096b698e5790 (commit) via 9d5c718b7a9c46132940f899f40556a77ca462a0 (commit) via be9e3704f91190c1e1c5d253494423b13c982d93 (commit) via b8b6e72f3db1f798680742c02f3dc220175d0757 (commit) via 5369082e7b786dee2c185f768b126a9a18cb2915 (commit) via 4ec192e6abe86319b9e9af6f2ae4cf0614b1e2b3 (commit) via ff4ca5ac6a2e85177dc7efe5cbda7b956bb71fd5 (commit) via 6322e5c5cb7ffe1c26c50f117765503717b0431c (commit) via 51fa2693add9ead8288f475d380f4aec7372fe5a (commit) via bc327528fd2ccdc6c29ab6ae608085dddbad5cc8 (commit) via 81b6fe3bf9f3be2b6b81d05d08ac58d2a6dcb760 (commit) via 3030551ec55042d7c87bd55fd29db2b06fe06df9 (commit) via aefd8b33d97bded58e51d75271f99e1eaec9fb28 (commit) via 2090129c36c7e582943b7d300968d19b46160d84 (commit) via 043a49349c713dc329a2dfc413b082c3826ecdb8 (commit) via 156525114c1cbbace0dec223494b842ffc60d52e (commit) via 2d7cc5c7973b6d1bdd9205288863bedadeaf8b41 (commit) via 62e20ed45e3da5f3ba695e4ee109317668180fe6 (commit) via 50d6adef3b8509c4e7e37b4b708e0593d43ed347 (commit) via 4a8a33c843681410eeba4e05aa749abda8a8341b (commit) via d1be909e7fbf753fd3aa18681089e3bcacbcf51c (commit) via 4936f23592b910d65cc9f077115559366f9c4662 (commit) via 58f59b7616851b2f3737e385ec9095765eeeffa3 (commit) via 78e8a2ff5f01799874be41fdc919d34c670496c6 (commit) via f4a6504277d861057aedd2b88369493d644935c6 (commit) via 9f7fb0aa2b6eb9fb185c1c2ae4159d783acadc0e (commit) via e1e01040aa83ddef0bb5c60a8b187f769b2b1ec3 (commit) via fbe654c8bc78eb06b6d7ee4fcec64e9e34e7a9ac (commit) via 9949827bea788753c29b7bb503d6d5dda6ea21ff (commit) via 5c8ed6a4a1d197658086e9175f820227ebffebec (commit) via d24b756188bd63a422671a73e31af718007264ca (commit) via 0ee3a6dbd06b88a4e02f3f46c3ec036fd951400b (commit) via ae0d01d663a2bac65afb8b94bbf1a91d95298f68 (commit) via 670b1a13351f34c38ea1abb6cb20e247fb002015 (commit) via 7bdf4127c38081c7764c0bf1db55d0b2e56391dc (commit) via 458ad2b83ecf4d764703767bccf19723ca741f00 (commit) via fbebaf4a56dd03251bc2e12fa6834d90555aa82a (commit) via 056bafd472efccfb2d7f44f6469dfa08cdf7414b (commit) via 61756f84eedc470c975f8bafe6ddf10acaca6942 (commit) via a6ba6751c9cf5ef909e47d09609c28ad1509dfa9 (commit) via d9409498813c75c1a9e9287ac6e5100ed3130390 (commit) via af54f0eb968ba8cb3862fd3cad097a3f3363467b (commit) via 91001320a22466d1580e169bcb023d3b822226b4 (commit) via 6734f10ae9af6cfd47e70baa2cd3e326afabe5ed (commit) via 3ea0007c8ca3ec851df6ab5391a98467b4021f92 (commit) via 49cf576c221b1d45d222f8cddaddbddf29336461 (commit) via 923ca33982401c5700421a592d2b0ee083cbefa1 (commit) via 26b6a6aba5567143ed0f59388663b8f50e5cfcab (commit) via 22827c51338ce25574ed7b204a2e5bd40f45bdad (commit) via 0af6b29b9dcd8ff2c34d07a76e3416acf3758bfc (commit) via 4a4a4a27ba5c731044d3d3594545e6f06b0ec0e5 (commit) via 0e05cf3a61e1996829359e1c32eedb6820930331 (commit) via c1fc2657206188767cb66813d07b9ecbb5e9ec51 (commit) via 3b0871f44a3402f4e1e811ae81c8ba1293c1c7be (commit) via a5e364af4a3d745bb79cfc9a1d533632d4d04b57 (commit) via e7cd2680e089327e7fefaf1cf5a58ec09e379f0d (commit) via 0efdc7237e8eb2c75b9c74bc60175ef50719b8b8 (commit) via 6cf3bf8875d84aff854fe5fe5a04141033d5ee6f (commit) via b5430a3ced5fe5ba484bd9b3215b9ae19ced0160 (commit) via f378ab099d535f5540f292fed07fcf4b1fabd314 (commit) via 19fb31c0060f646a9f84be1a84ed1bea04e7ed57 (commit) via 580dfe9d4cb936535927fb954bdc96a2320c6244 (commit) via ae3b3f34ed96f121af37018b8ff3a78810881ad8 (commit) via ab12fca3906c9c76ec25a9de52f5142f5736413f (commit) via 13ace07792fa75aa276e2d7c3cb03cec117d63a4 (commit) via c56ccc05b2c98510f360d7f454f38169eb3bdb06 (commit) via 5b4a1ff337973732ff9a5ad9b1cb84d74a7e6185 (commit) via 90b4491842980d57a0e572167a168e04a476bca5 (commit) via b9c6833008dfb3c45354f4e810e631a77f3c9cb3 (commit) via 1b1810b5e01968cdfc16d537b4d5c27adab8a173 (commit) via 8c65b54f18c03ffb844e1cbaa3b46b43444ff9e7 (commit) via 10045478d984f9924cb945423388ba25b7dd3ffe (commit) via 940171d08654a9ff5bf9b8886f76e8189a02cf09 (commit) via 64984c22f7045d53590f816e7ba0b9b9fa1dbbe7 (commit) via 37cd38778dfb73d28e533fd1ddabb88b4b3a5771 (commit) via 8e2f54bcee7e3e8315d4a39a302eaf8e4389e07d (commit) via 08c3f6d234761d92b50d3c56d3cb4b82fdd58c77 (commit) via 8ffd39f2e42151b383616923ae922e697273ec8e (commit) via 4aeb0dfcc42acfc108d3f870384d1719adc9569b (commit) via eb8f2b9c44619eecdb3b77da01da910fcf05abed (commit) via 42bfe59e3a3fef26be6809168756f40740fac1d0 (commit) via b54b03bd874936ab3c91f23e5dff3a87153c4e36 (commit) via 8286623c113daf97a45cde5fc8ef9587b85c898b (commit) via a0f1b963327b9cc349a1e6b4c543a29fbee68fba (commit) via f158f208759703b94dbfc6de2222ae7740420faf (commit) via 521103fd00e593c08a6bedb619c5a9f8f7cc5a91 (commit) via 17b89b34b8d7a5a8b713c92a9ebe689c6edd6798 (commit) via 2b51eddc5503ea84d48c5b3b3ec3388eba440451 (commit) via 70c16c04ac76a90f18e920aaea1026bde90c493c (commit) via db6be0d5e31f11c10004f1f2ef2de05d213da1f4 (commit) via 8e86a419d7f8753f4e77cf23aa53bc02ac6febf1 (commit) via ca87ae741fe9c8aad9db1afbf109dc070d0168cf (commit) via 67aa8be4cb43cd94bc322fed8bdba48b3c8719c4 (commit) via ffc61c5de1a5a89e3e37fb9376725c32a839c34d (commit) via a09f2586017aeed82fa07c8bfea6c75859295bd9 (commit) via bfcfbe611b4d7e650236f8b8ba7d0706cfe6a0b7 (commit) via 6813cafe52236a95289accb138032c1d6dd3272e (commit) via 146c3d9d5993289ae0af7c1c872eebaa8662d2fc (commit) via b40889f2c860d768fa72662d8a3ce7e81ea79aac (commit) via 2153e1dc0512822ed070de220e33a1a03ea7a4eb (commit) via b057297ab63a9124aae1773566815cd8c4bde8e9 (commit) via 22e7d2933103f1384c1d54dff6188cd57cbe171a (commit) via 64aaf98419a0485fe3490dfb53417ac9958c7327 (commit) via b77b02a5ca5a021ee8b5e5453e8843447d1132b2 (commit) via e521e87e8514b9d3497208b70bcd067f132c58ed (commit) via d8e07dda92366be0f6fc2e7128620d3dd53494e3 (commit) via 8c8f9122ce6e6c00f72914479af57a7b87244554 (commit) via 68fce50f04f495980f4ea81746339a9de5b52ebb (commit) via 88954b49e47574cdd048a23ca391a85fb6f77f47 (commit) via e3ec9b69cde4e07d95eaadee75566fd4a8091df5 (commit) via cdd238daf949385bd6ef188e24b40d9fcb83a0e8 (commit) via 7a3929c417b1388c689a0cd6b0b2f6579d85ec78 (commit) via 88c1242dc0a1e1ab582a65ea8bd05eb5f244c59b (commit) via f4985dba0f53b38efcca4eef42cfbfca5ef44ee2 (commit) via ab20fa4ae95212c58e369916de347f3d518530c2 (commit) via f532ab94387d1bc47de619ae08ead522753d89fa (commit) via 39503f82427e22ed8e04d986ccdc8562091ec62e (commit) via 003ca0fd22863aaf1a9811c8a35a0133a2d27fb1 (commit) via 60fd657792228e3eb59e87c26fcdeccbfe94d224 (commit) via f7241d4f27cd59357a75bf802e9ffa7d95036deb (commit) via d489d81d0934c4fda8c8aa68fbec1b1315cf8df0 (commit) via 6e92fed5946111a76064feb8a2a184d224deae1a (commit) via 590b87ffa386ea403e2cb61525c6aafef77097a2 (commit) via 6e3f3473e2136e77d6346d5bca894c38e5389116 (commit) via 8e7f04f17c60069143078dafd3d3eb8cd15f10fb (commit) via 575dcd27f8be6ecd3f89539a8210a8d3f0a271b1 (commit) via 903b2a564d78b8e47f2460a2a452f442e6e5e979 (commit) via 176efed15cabb932a7e9fb2c5e6ef0753e8351a0 (commit) via 04ef582ace91cad765d056cc95624478e0421144 (commit) via 25f94347373b1b6f4bfc79eeb38e79d383195779 (commit) via 9a6465c207ed4e34be92741316d78fc00f0836e4 (commit) via 3c0367d0e2df21717b7345a1ccadef39183457ab (commit) via e11b3cdc565c5e86e43ef79d25fc5e8b88162ec1 (commit) via 0f068fb5e5b65038c3ded3cfd2a4b8805196956c (commit) via ca49a96781f723d43ec49471cbbb50aa511d063e (commit) via e6cf65f283b8be44014fad0ad0aebfbcc71fceac (commit) via 56298620acb02ab589ce3ddf398788227ab20211 (commit) via b4f5b984e5e771e75cee43942e56455531a02e68 (commit) via 43cc5389bc4662b31cad02a9f13358bd367d0ab3 (commit) via a9dba87af1aeabffb01769004ab893173f3ef472 (commit) via e5713223cbc1025f484fa2548d58f74173646b8a (commit) via f0681695daa9d4fd493f3ca88f194675c9affbff (commit) via 64517994807b0d6bb3c6fd106f117c03242fac72 (commit) via 92f7d783c1038841beacaba28a5f5d740a5ccad6 (commit) via ae0264a6474d777650d65da261732748126f0190 (commit) via f4203b2b8830e66e5229b7f9d30cd29b088566b5 (commit) via 6e7e1744e96abbf1a4229d5f269caf2cc921ec58 (commit) via 7a6e7fcc77997bf7679cce4f1cfebcd57ba8af70 (commit) via 1933fd8ee01ad2e74a9c6341bc40f54962a8f889 (commit) via eb026f09eb6fcb96a5de1e655cdde041ba44affb (commit) via 50e1d299ef1d21b0833c2fe1484d3cc374e6486f (commit) via dd47d677f0164800ceba1ab67f6cd2add0021101 (commit) via 8038128b23576f93a56caf7779a4406a84716727 (commit) via ec8df23454873916c6b6b918967af631b268acd8 (commit) via 3e3e7faebe89bfab0d245040b19fd7347d186065 (commit) via 3aa2d05a728216bbb99dbb5718be9bb36429cf41 (commit) via 59cc050d893d1e8c75547de950a35e809588f12f (commit) via c8f6abd10d62f82874e31959bf986606bd919d39 (commit) via d2a03b77450dce58f6b4f9f7fdd3c346a555bcf7 (commit) via 9d43118ee54de3fbffea27a5a10ae11ba5ee00d0 (commit) via 535b785fb0c97220dea23a18f07baad6b5d77ae5 (commit) via 087ea22225435ab5800e6c29671acab40dc6ca82 (commit) via a406db9163e45ab55c3addff2ce1e61796f1bddc (commit) via b7c871edcd83ccdc5fcd8148a7f433efd6b52255 (commit) via 0d5c69990c1992289f7b286600a43de4d5d44062 (commit) via 21873064e835ffb16e92048482e34f19e6a415da (commit) via 2b351b19efc8dd36ac8a8bda005c7411536b93ec (commit) via a0a110b0dd5077373c4102d1502130eb159c366b (commit) via 4ebcabb38ef8acfb6e26d2b40e00abfe10aea895 (commit) via 854062337d056ffc8b805e0d5a8c1a66b99a4076 (commit) via 0a7d38897b9fb1ec7a064ca3347cbac3ba49e5ac (commit) via 91cb9803fcf6d1c7001395d80f79120ae8e6338a (commit) via bc4e12ded1d4c8d589d82b2a10ade6b47f219db3 (commit) via 4070765b1a1640ff8f43483cd9ee06727f658dfe (commit) via 8cc2a9796024f2dd472985cc8ed1c65a85ec9a35 (commit) via 0c38a3d1942067100580e9673bcf0cbe27f3d6e8 (commit) via d8cbc93b65ace8a36002839d5ee944efff59d643 (commit) via 52a86f843b6dee1de9977293da9786649b146b05 (commit) via b32465c97c12cc6049cefcde1beb3e2bfbfa232c (commit) via 3f3467ffc4b0a397a7017b8ab729e4c0060b25f0 (commit) via 70ab592fbae1725ac576012dd1242328e20e664a (commit) via 25499ac7ee92bca177c9436383ee167d6a220066 (commit) via 20c59b843a90300e5f9e07add83f5c72c8f994a6 (commit) via 602b88e3ab372729b53d130068f069dd363032db (commit) via c96425c560d640df9c416ff4e6a8c49c1f3b1119 (commit) via 1a7bf198b67c4b99e9adeaeba38c6874ec354c12 (commit) via e295202f606accec7623c961997a295a8e680247 (commit) via c76081bc874d7d41eb6f41ea79a4ac0f906467d0 (commit) via fdfb475260daf591d05407ea7affa39122a5b7f6 (commit) via a54d5f8bb3eb4772a94779a5d37b644aeee72bca (commit) via 32035f5151b6ec76af0b62d9db8774b76eddc091 (commit) via 5f2ad7a3c73fcec0a7891794eb5aade73bac8523 (commit) via 786e3eba7915df35df1d98a300e06f757336c75b (commit) via fba2af917d78bb1d8ef0d508b9246ad32fed1afd (commit) via cd85e51ad3921eabd7030974ce375123a0848cce (commit) via 097eb00398891370779bb6562965bcdf357a292f (commit) via 67f46fed806465c005b15c97d33947f4c0abb25c (commit) via adf3dde510088ef8dc46d04df05baf36adb0ed1e (commit) via c0c05aad81ef32899e809570c18932bcfb588009 (commit) via 6bf56e7482e220ff98655b5285736a37dd602c17 (commit) via 73caa85d4a97eb991e581ccba3ff4eccce5e2e1d (commit) via 6830f270e7b6676e7a77c1b8080941e35003d918 (commit) via 68f2f2e308a8585c39ddb2f391a9ae8d779c5029 (commit) via 256afbc259c1e22fafba601a27cf3c8d7bdde417 (commit) via be3f1006743f04f0b133de7fa8085a3e4c49b193 (commit) via a4f89915135f6760917c01dc783de5b674234d84 (commit) via de428bc53335d88c21eda38a823d5a4008468e52 (commit) via 99e2d67a0edd1a8feca82036feb93709fee488fa (commit) via f2c29a169242d0c564afb46ecaf160422b28bfbb (commit) via dc2be3d2f6de530aac40983e79e29e050f40e759 (commit) via f96f371cbb33454544a9f1827c239c4375f0b60e (commit) via 7f401e8417160ba5cdad60a38c8a3cbce395a5c5 (commit) via 40e5240e1f32b1cc36c45551eb3f59253c40f317 (commit) via 5d69120bfff3e532242083acd636dc68f23ea831 (commit) via 9fc1813479e1518197949105c3f34da8c2e30984 (commit) via db84b98a160d20f30dbdae3e3405cfb0fa680fbd (commit) via 2318686590bd252a47f494554dfc11bc18a3e58b (commit) via aab82f4c201a2612c0fb6d5b66d8e4ce2f036f1c (commit) via f78c0b915888ab388f9bdac826d7ac18dc944c28 (commit) via 58667758b1f907f8983d8a065333e3c38e311e88 (commit) via 53a346d8236aec06f1d3c767716d3340fb0aa013 (commit) via 21d1fbeed4b7c4d006e399437445519e6505088f (commit) via 8010f3ed8d459f98b8ff8b8577a0ed422c836e0d (commit) via a6da46304894741d50a6f4ca2263b5cc158740e4 (commit) via 94bb8dfe28219e4b747cb874aae401d18df91c9b (commit) via 8248946cc5fd4522de630b9d86627af6e8fe0097 (commit) via e645cf40b111daef4518a58547de577eb9379ccb (commit) via d2732b697fe56ff4274a4bc45add9386c17f8a07 (commit) via 56eeb7f2cbdb16f513b825af426ee38d8f7efe3a (commit) via dd9e66ee9549c872fad36a21d521b68b14429f38 (commit) via 38b123494b38ae09168387c0502acd1f23c1b601 (commit) via d7ab4911f8aa3e1cd06ece40f74d0b4a532d6a10 (commit) via f604c2a2a54ebf88e4a51986c7cdedffe7b3313a (commit) via 046734ff424bc5a4c1b6a69630d5bb31aa67165c (commit) via 313c59612298b022a408ca390bd5f73f28708015 (commit) via 27bfc1d1c2cbcafccddef51ef82b309ef147c4a8 (commit) via 146e6c5cc7b19ea56a033415511e38a2d0656e42 (commit) via b48e3ca69abef81d729d01d7c720fb23697c3590 (commit) via 618a737b59008a0153f6454ae9a6d42814384828 (commit) via e50f25ecdb24505bccb695e6c63add45f0032b9a (commit) via 21ea5acdd1bcfe89984b16b5bac730050c5cf05e (commit) via 7b937cba77df45962ced7e0e03802561beab549f (commit) via 7ed1acafa0b5d135342f9dcc0eb0387dff95005a (commit) via e13cb306f099a8cd450c9fba0dfa22521aaa3c95 (commit) via 323449189c3474d1ab352b49172f4f59670ea73e (commit) via d512d31c395e3c45f83778e01b9824efe45cac5f (commit) via 5ed8105e02d0c6648b7faea9f4e941237b932717 (commit) via f6223dbb50b5d8780df633633adf0742c662173d (commit) via 3c3ae77e68a9032ef9f174bf6b1cc992b6a4cb35 (commit) via f91d48deb29d9e6f4b530f586db0140943ed0d83 (commit) via 45eba0ab7d26435121facb68847fbd0cd4a313c1 (commit) via b660e9eb7a45cfe99e719c5d16af35913a2fdc96 (commit) via 8293e73636484b403150ae94a93619779bcbae96 (commit) via 8507b6e79772ffeb83a0142d12a63e02dcc44562 (commit) via 90cef2edd256c48d2ff9a03d4a6c1bcb575db07c (commit) via b22908217d8593185af3f76fab6f0f01457b0600 (commit) via f81fdd350e688bd0216486b30884a52ebc4f32b8 (commit) via 35837774a77d641ba3ae75930a7b08ed853759ad (commit) via c94fee56f5f8e5e26a115a1ca155ddada9d43b31 (commit) via e78bb25cb636a331f27e9cc4cba5522939567695 (commit) via 35387fdec5e10b281c218c9dc4f3dc33c3fcc522 (commit) via 82d808edbc7a06f706b82064cec6c3ed88f0c4be (commit) via 3d8505928a06e00b05bb162c1ad0dd612c1c16af (commit) via 43e379d74c994fe431368b5f25f778bf601a2981 (commit) via 763a5fa4f330d6d3859c94a69ba1fcab09330cf9 (commit) via 640226f048b67d79da85742728e40114c9ee5da0 (commit) via 2ecf0cc317d065cfeb960c61688897351521bce0 (commit) via d17f7b365cf3896b3129b9077d55b3154fc43131 (commit) via b560ebd6605503276e09b2ef75c94e1d10f176f2 (commit) via f2f46dfcdafe6bd32152d80b5e832d2fab4e6900 (commit) via a0ff9e1ad221c11f58a9d8d12a84c21579132d85 (commit) via ea480a306d46efe3dd1839618137f0e73a80e9b3 (commit) via 1395c6ce47510babad3dcb9892f6f2517a3f2b59 (commit) via 73ec947d59c511411377ad51ef792a5fcdd3f0cc (commit) via a4ddc54ec1cd187c844ca631fe0315bf1d78e96f (commit) via 39ff1b79f687b65f4144ddb379f22587003443fb (commit) via d050f7d7f474c7e3ba26902a9cbb185910921a11 (commit) via 14f819c8c5f7d080e5eea9256f0ec7453aac750e (commit) via 0ed5da759e34c6e85cb2a9ea0fdc7b680f897a81 (commit) via 913aeadd9d6b8bdea5131b16dc7ede395097656d (commit) via a3be24ad59d683d1b08df28e093739743a7cf256 (commit) via ae20e79ae852fee8f7d42701a54a95de3b79ecea (commit) via 8d0050ea192c41349c1f2b000866c1bdb761abeb (commit) via fe50e98c9a22a89ca2e032b17aa7162452c3ad3b (commit) via 122a483d4f19c8b0a7f3d265dad882bd4f2c868a (commit) via 0aae7e72a2a11ef1fd2a3b4fd18c8d8d49e0c21b (commit) via 3f380b502769e55bbcdf7b9587c62344913c6ee8 (commit) via ee7e95efb98186c09dc2c39b32263aa15b147bb0 (commit) via 6224c858130fe5c5e5d8b2abdec1cea35986d9e7 (commit) via 020bf56c8e55bfbe5a53989eac0c72b8d2416feb (commit) via a941291cab71b9ac356e1c03968c177c03e602ab (commit) via 45ce1b47e4490993b5c1a04f4a8acb62d9ec5039 (commit) via a93866c8bfd4ad4b32c81e73e6a73aa9d831d350 (commit) via 0749542484129e77a30f1089d6d671197be5035f (commit) via deb1fa3edaf10c65d1f39951779927da955e3a57 (commit) via b421c83cb866120ab347d60fda20fb0e2011be8c (commit) via ef79d9a3c6ed1e3ccd466bae76956019a7c5d376 (commit) via f8fdb78eafb3f70661f6e4a43beb004dde9e0921 (commit) via 9ccbfd7bc1b7228d67f2d4ca878224d493918264 (commit) via 76e75227c37bc058449a09fe5017eeb40cda0781 (commit) via 51046d9e60727cd6a4cfeae29a05ce2e1e394dc9 (commit) via 4023ae762ed9b52e4925242b705d0b3a50f6ed13 (commit) via af43057bafa7260dbcc453d2acc47eb63b974c50 (commit) via b091120773f8a740065b6449617cfbf1e0e789f4 (commit) via 6c401f72e979ddd7e2f890dcc88f93f683233d74 (commit) via d0e449a1865c741c5e0c9d43a7d61a0621163aa7 (commit) via 434a40239548115cf04a80410e4f570f35c361c1 (commit) via 1670f9c1546818c4ffe02e8f460df1c1c4b1601d (commit) via d6f48aed23d1004a4ed8ab3b2742b0bf7c838c1c (commit) via 428544e8ae6252a615a3100889f3df7d2c5483c4 (commit) via 750eaa47f10f48d19aacbec74ab6867da0164677 (commit) via 4621115fe529869e938dca605bb90190ea52316a (commit) via b06b2c92c06cf100f259f218337d007ee0b1c884 (commit) via 4e3afec278d1fb55b983751d02119f65566bd094 (commit) via d949ff5607b9f595e0eed2ff15fbe5eb84eb3a34 (commit) via 339053c29abac25e5f86a1ccccd4e8e3b2d362df (commit) via 7974a6050b6e2c44722a533e2d5d9131e7db00ff (commit) via 343b374c61f793f745b820c3cf61f69186566b18 (commit) via e15c3eb45bdc8bd5717fd5ceddcc30c3de07b58f (commit) via 5b66fac4bad619766fb1a5f5179c08b67d48a8c5 (commit) via 72bc1d246686ff38ef01f5a35769ebdbe39f023c (commit) via de9a3c4285fad1914929ee304ddaa26e76af8031 (commit) via da3d25afa26476bf24247b8696fd00ab31f39db9 (commit) via fba37edd96c8dc65a63bd5b4fef5366de45b165a (commit) via 1f78f649e868979d36490d7c2ea0b3d41abc5ec6 (commit) via 55bcecda5703eb4647165cb3ddb86aed63fd44d2 (commit) via 14f72d45a22f25f6d00a62fc03bcf9827df226f5 (commit) via 1425c41dcd68350d9be9670910c547cc7ab91e0e (commit) via 5c99fcf8031bcf96f2c948e9fc5d3b03c97f631a (commit) via f2d830a50def7a00a911620a3e9c7d920e5ef0f0 (commit) via 76c20d54ca5042e11af9ddf5723cc24cf47736ec (commit) via d7153c4ac333c9127c18efcf184607d368bb142d (commit) via 641338d8e9b62bde9672f13f0dca2324b61e46e2 (commit) via 21d68fcd0c2f9113369d860ee1e5841bfacc35ff (commit) via a61d92b7bd4da998dd5d73e9205b4871f7c4825d (commit) via 7a81a73b2e5d00b76e15d97db7b8f0c9809ba1b7 (commit) via ce8ad8721313d288a05a95b62d95ca43db584ebb (commit) via 97d343d40012b1030f1fd219f91efcab180fb3ef (commit) via 04b31182bf3f8a1a76e995bdfaaaab4c009b9cb2 (commit) via d21f3ddb0d5f95aff5c769ae283ce5522262f48d (commit) via 740a463062bd5d1641bdfb639295dafe89341b9b (commit) via 3e6b644558f941d3fe482e15efbc53d8f39ef8b7 (commit) via b41c5a85a734b9ca813d4a314b66ef4b4b4d1b11 (commit) via 23ec1e32b1ab714649a7c25e49b5d721fe3bd3db (commit) via c46cec3a8cfe02fbe0f6c67ba53abc5369c5c659 (commit) via bbdd9a6894d7875407da59d490faf5588163d21c (commit) via e63d123268f23a4cbc45ee55fb6dbc7d84729da3 (commit) via c185f580b2b3baf7cee762c8ab31ab6925b9534a (commit) via 19c4559475791cd70e319eaf5c1e23d23d9ae81e (commit) via 03def0812a9ee962d9dcfe9b0ba37783e58acfb8 (commit) via 4658f12e9c5ec0d2efb04f1688f6cd6bd9f1a47d (commit) via c4ab9505b53cdc899506ed421fddb7e1f8faf7a3 (commit) via 919383ac718c2a3187ee2a9ad659daa22da26258 (commit) via 126124cc0f3f0417913bfd84d83e4e525b6facf9 (commit) via be6a24d8eabdbeef32a9d79e81307af4491fcf56 (commit) via d581dda88162831ebbd0757312fa93681d945327 (commit) via 0348fd79d4c32243d91e8a55f20f408a9b4ec20d (commit) via 6e3d1f0728d980a384c5aa63ce7f2ff3919c5024 (commit) via adc1273cb27286452ed8b32c5ca3ea263b4854f0 (commit) via debed3db4887483552103da36d180967ef0dca5f (commit) via d28b6364b1fba1c0270c001f0d82a69e351e1922 (commit) via b0b92aeb3828219075fce23543fb39fee8608e99 (commit) via 16c4d54a71d8052988ed9c8005a03a7f934245f4 (commit) via b5c3668253b909fd1f5b011893a35bb8dfd3be9b (commit) via 5625a2864147f4d92b22edfeeab7600818988be2 (commit) via 23bcc18f470ee4364bd362a8b78c6c1415a9dadb (commit) via a49abe0bb18e04d3a4b692995fcfae70cd470775 (commit) via 9e9821ddd80c0d0b3dda54d34cc8867f256d4583 (commit) via 0dc9a308a1ec9675bf6b33bae9e8b1faa0bad9ed (commit) via e1ba30532c6de26a14404ab4919bb591e8da3eab (commit) via e662f84f5d6d014746550ce3d3f623583c043ff0 (commit) via 1587442d37ee4266e54d59bfdc783574f0587aff (commit) via 534455547021f3262fa60d32cabb626af01692a3 (commit) via 8b353c47b70568ab9f0cfd619b7a19e931c2b0c8 (commit) via 957f6b39cab6cac0e4c54e650c7f75109544ac1d (commit) via 9ad8982091eeb76b380e459fe721aaeacf7b8f24 (commit) via 42354845ae5e00ec1c3519e1f2166b79a9533401 (commit) via 7034215fd6d99f275998f7f0f8a346ab35fcbee6 (commit) via b02cd3e978e9273074f7cbe2ca1d5b372225a56d (commit) via 7eacd66b086cabb1daab20890d5481894d4f56b2 (commit) via bce964aa6c777d236fbd641f2bc7bb931cfe4bf3 (commit) via 97e83a100aa8250be783304bfe0429761c6e6b6b (commit) via f082820db966c79e47a143da774700055a1fad41 (commit) via b43eea27e99f5fd270b3bec455054ea53ac700bb (commit) via bf1554384b186b448904dbc13ee5374239c88520 (commit) via 10f489e57677e670bf980e93896762594e9ad908 (commit) via 0092b74da6d86185c4d0c0fa0f540b97647bf44a (commit) via a14a62ddff9eadbb8a7ad101ab06b02e44b6c00a (commit) via 46b9c12945629fffb61001a8f13a37c96675c0b7 (commit) via 2e78302469502f4f8a98144b60c09d4d9b6438fd (commit) via a8cc8a548eccdfd78ad76c826339f56db815bdb8 (commit) via ebe553db6c639d7533650f8482d611109c2f98a9 (commit) via 9be21bb4d4f30975766dfaa7d40b53ba10dcc3a0 (commit) via b8ac4fa43d5d37e4028ba2a7cc2d9b100ee85418 (commit) via e133d00576f3da89e7772149e8d2b6a059d26919 (commit) via 3c5fce9bc29b216af7d10f8d6e4d8c3f11a48359 (commit) via 0d4c07afb1e5e37e8e296858f8b14a3b4adf950b (commit) via 4daf993d4d4686f2707810af3725038d2f289bbb (commit) via 3ab87b688320e02db1bb7ed4bd45323d57737c77 (commit) via ddef72cdc10d82ba011a7ff81cafbbd3466acf54 (commit) via 792f174f8af4291c222d0a6de919118e488258bc (commit) via 73b58fda3b5976ad1a60feb43695eaf61cdf62b9 (commit) via afe9edbf486c4b27cceb258c11e104377512ec24 (commit) via 0fad29560ee055f1253a8e40bfc09b413117480d (commit) via 31321c8031315c8b5f7c6b73e464f14ad90310b6 (commit) via 64575f782b79e310852e43947bc1b06f24af388e (commit) via 59fa66c53823dc695f78669f40ec2eebab3aec42 (commit) via c76886885987e543f9162809ad86a0a37b394e82 (commit) via e492d2f8ac653b050019865ba1418fc5b057c00b (commit) via a6c21d4a553de184562fd8409a5bcd3f2cc2561a (commit) via 3a3fd0fd2c4c87fdd588c51d879961a49e38f0c1 (commit) via 9bcb1f1630b05594fa86bfd017639cfcc966b11c (commit) via 26fcd539dd38a27259d8179152d617118f016706 (commit) via 101691343ce5f815dc70f6cfd083393e259a18d8 (commit) via 954b63d4c8645f86e40c7ef6c6d60acd2bf019de (commit) via 951787ed6d13f8f441d93fc3f6fb870c234774af (commit) via fdd243b001585c5ca078342608332af77050c867 (commit) via 4895cde29761f6c39fdb6c319ff4666ee39f5d28 (commit) via bd8a901f9e34191e0645a5527556d124ba5c345a (commit) via d35d19584cf56a50b4833ff9c003597e01022f27 (commit) via 22796e972f18c5601cecb0251222411a352836b6 (commit) via a7fc9b6193f830293066479aa439cea924418393 (commit) via 010151c9146eb2a299686e41c714e57c344be8e8 (commit) via d56060f08aa4ed5786042a066f62aa8e474cc0fd (commit) via 6631d36456babbaf4c78b955165c3344f95ac5dd (commit) via e6699019c4f363f804f9646974ab1d5e78785ffc (commit) via 305d16a9beff2a817ee03b3881da68eb3a29edec (commit) via 8bb5723165d4e7308fb69b21a95f396f9e61caaf (commit) via c5d37467b152fe98f02ac1ff8188e32ecd0def95 (commit) via c661778cb6b406d5b55fbf22ff88fbc85ee3f4c2 (commit) via 94522e5f36e542a7f7eccc4e2fa31682e58f812c (commit) via 725bf5cf125783c2a7ca4ab63d3768e220bab2db (commit) via 096c92ddb3a5a959bc638cff3c4ffa0f48a737d7 (commit) via 5dc74d659d1c84b8ffdb4fcbf2ef73dc974d8a5b (commit) via 0550c9559522c84341edcb334af30bc9bf2df9fb (commit) via e3d60dfc000a29959c78bd69b85100aab33f7ab5 (commit) via 5fd69d0ab2c42d2be0781bf3a5d60e1d5b8d05dc (commit) via c6609450b33960a0e9f8c1df045b02f0677e866a (commit) via 2a00d7ce26a6ee15e3712b045c8b7932278ea23b (commit) via 441d7c93782a1b1877bfa903dc8da56a6041bfb4 (commit) via 7296a62a2a237f6b1ad8db8c38b090e9f592c8cf (commit) via 1d15e434f43bc41a07bc7b0648fcb7e6ccbe8dcc (commit) via 4274208406762da7af6dd697f44d8e6895061530 (commit) via 808480f667e41e2fdb66bfdc9d5e047f1aa34a68 (commit) via 8f0dd45fde9de100160f45cad3e537e4e01a5493 (commit) via b1b45502bdef95b57125b56287b45c2eb26707d3 (commit) via 63a5468afa8e2cf8843d87b99e780e9266b31014 (commit) via dae82561a286618acf097ad9894eafba98377f66 (commit) via c08bb8dd9bd9fd101018b287726187d7ed6a0035 (commit) via 10463f39c79843c2c141481a0781091870695b17 (commit) via 4af8774e1559b2a4e098ca0e4fc5daf857c633c1 (commit) via ad3d022a77afdbaba4bb36ff4aa99be52892de42 (commit) via e6ddc3bfedb4665c9d4baa2c85037af25167cdf3 (commit) via bfb8cf9091a174b42beeff3d014173084413af4d (commit) via f5336ca55ca0aca2507ac8c0f1d573d7f6b877ab (commit) via 4f70a994900c2f7b235add7d4131cc069c181cea (commit) via be628ab814f1c90e185d7482d27aa8a991ab5837 (commit) via 8e9e35b1808481735e2d1efbf70ed7396a845d8e (commit) via 16e802b9c085ce354b1ab9e2fd25d00bf7626fa8 (commit) via d28cd78ad820e3a40ac5064b6a30f3a12ce70bf0 (commit) via 711799d513206f6d8fc3dbfa81dcdecdb2ce6ece (commit) via 52d214d3e1b2f6a1382feafbf2984acdb24c0c95 (commit) via 4c404b8be6b1d8759eed50366207fc0e2e47d2b1 (commit) via 156d9eab863f40fc812245cf1213abbe12d192b3 (commit) via 4d89769a7b4e38e94a6e027281b36eff71fc8214 (commit) via 4b217cc72b7ab04e2bea519f9fbd47d8952e08f5 (commit) via 59d3651be7419fafa959f75a3fd46914f5ce395a (commit) via b24b0d6c3be6b95d4b5e8da901e1ef315bd458b4 (commit) via 80a3b8c578e93119183db5f5e34248f843e410a7 (commit) via c83dd8672698bcdf48d27e267e481230075f5900 (commit) via 0e8621a0bec2d0840b853c4104614f345f0569ca (commit) via 67d89901506da74d00a482b7560237dce404b41c (commit) via 93921405a46c0a58eae19fffb92e02416082801a (commit) via ffc2605c41d026cf5710704848b7c3b1cdbdcf49 (commit) via 8f10c9323357ad190c0383f2fc9d394316447905 (commit) via 0a31ccfbd84660a91b133a9915e6f63c30033189 (commit) via e9bb3fbbe81115b196b436cf513f0fd7b41d6a4a (commit) via 53375380e934928af133bca69c1e1912c35e9c73 (commit) via 53e710acd249e1861029b19b7a3d8195e7f28929 (commit) via 5e0e0422137063ff3846886c8eeb64e98e7669d6 (commit) via ab0538b875c054468aa205d8d36550d1223a3bfd (commit) via 5430098f1807e084fe4ff5057040d68435f3d8a2 (commit) via 7c5ded6a00c4817d56cdf04fbc1969bc33b2a930 (commit) via ef6a5ae7bd1dd7b528f5cf368d98056603003c35 (commit) via e4097f5ee55a0d14a6213bccb9da39d4878714c8 (commit) via 537616aaeb44bc698af9848987e7c8e96d550595 (commit) via ae0eee42821865ead8d391bb4f92bd2c136c6d43 (commit) via a6acac06113f4b04fa0333ee2a3ab3025b43ee7c (commit) via 64403bd1832e10aa8324194968f72bdc5feb5aeb (commit) via fbea15088db59186960134d11b8bf98070224d6c (commit) via b43c520dba2f909c9bbb3ff5f2657c1c9010939b (commit) via c03dc33b606c17231e47f37ae0f00d1c9a6c0506 (commit) via ef85eab0ec3d7c88ea05047538d11fe704806cd8 (commit) via 9570835e5597037bee5042edf822675e715b3caf (commit) via 9a85b496ac4e6488d427155c24f87367ab1f6b1b (commit) via a5bef50fdbfadbc6b8911b458580ee91cbfcdafd (commit) via 28d909e539567ab5ecd2bc20680e933869fdf889 (commit) via a70f34c01c7f250858bd62df245c241263200f63 (commit) via 9295a5a95da871bfdeec225a6fc2f52f7655bd1c (commit) via 996812e3d43f78b17b6454d2948cd825ec98c63b (commit) via 845b344fd54ba381a826b271dd33682d1f148438 (commit) via 803bdfe43083475c7df3db38dc96f4e20d05457d (commit) via 8c25b49760b854d0b8451e8ecffeb9860fc41158 (commit) via 947fa9141488c1d39303fcdaa056332d2d0b2599 (commit) via bb1dd176fb6f38ae3cc30dc61ce55a7fbf9d0d7b (commit) via d236cfd444630bd9ddb63edca54c056d5825e673 (commit) via 62adc51030ad83d09e6d20c455616fd9216e4783 (commit) via 6f9dbcd42f2cf034a9a21f46842c08d2e88449db (commit) via 37095d07b470ea94d578cd5ca2da032617200c52 (commit) via aa808707033a46ee063263f4bc1bd06449851621 (commit) via 8473b4472dce9ce87aaad35ff8e975e1487f914e (commit) via 4a44171e07147c6b943412c90184736ca5dbfb4c (commit) via 5e8bf44f4c94d430ac21257a1a953cfccd2ce79b (commit) via b630840c9c22a877b2c6270880a214f7b451f546 (commit) via ae27d3fe76ffb54e7d413a67d8c8d76ca78a9681 (commit) via aebcde5eb475befba571ca9ae7b6c58126d41160 (commit) via a7eaf017f95932eb2d654bd61f4c4a873ba71f77 (commit) via 8170f7693bc0a9442c0aa280197925db92d48ca6 (commit) via 6670ec13726c3afca789672f6235378a5e1f7d71 (commit) via 49f4617bf4b86a0b057f3477d57ffbf7c998b229 (commit) via ae3f8c28134b52414a4c31df2e156615087c46e5 (commit) via ac8f0f721bf0db9ffd0c6602744f1859cb4dd8d2 (commit) via 5c1f54ce0b21b19ac0b2a2c921c9ea2f33bbf5fd (commit) via 498e34425b38f69ceba28707962e3593c281261a (commit) via ba2f91bb5d69127da41b368c7226f596ee449eca (commit) via 1fd6d111905e76dfa7af9fbee5229f3f1d360b4c (commit) via 436252de3e9de546001c4312d0863ce7e10aa200 (commit) via 1379e3aaea5e9454d7e75f293c3fe24c0d11c688 (commit) from bbcfd44e17e4c85fd9dac9cc28188a8d4a32418c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 9e8f1a71428e1266d47d8cf4a809257c363b1933 Author: Stan Cox Date: Mon Apr 1 10:13:57 2019 -0400 Handle T packets and all signal types. commit 2ad04d13ca374ad23978e3869604ada84f03cb94 Author: Dimitar Dimitrov 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 * 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 commit 45147410465dfc606c31cfa699ce713fde14f28c Author: Stan Cox Date: Wed Feb 6 15:28:25 2019 -0500 Client state cleanups. * server.c (free_client_state): Remove. (setup_multiplexing, do_multiplexing): Return if no multiple clients. commit 99972adf78af3e7bdbbfe0fd0f562f9a7952d2a3 Merge: 5445eba 8f531a8 Author: Stan Cox Date: Tue Nov 6 21:11:56 2018 -0500 Merge branch 'master' into scox/strace commit 8f531a8d1f9b9b9061368ddd89d1b7e7aafe9e38 Author: GDB Administrator Date: Wed Nov 7 00:00:16 2018 +0000 Automatic date update in version.in commit 31aceee86308321c2ef299e50773d0043e458e7f Author: Tom de Vries Date: Thu Nov 1 09:21:18 2018 +0100 [gdb] Fix gdb crash when reading core file Consider the test-case from this patch, compiled with O0. The executable segfaults, and generates a core dump: ... $ ./a.out Segmentation fault (core dumped) ... When loading the core file, limiting stack size to 4MB, gdb crashes: ... $ ulimit -s 4096 $ gdb -batch ./a.out core.saved [New LWP 19379] Segmentation fault (core dumped) ... The crash originates here in linux_vsyscall_range_raw, where we call alloca with phdrs_size == 4194112 (roughly 4MB): ... phdrs = (Elf_Internal_Phdr *) alloca (phdrs_size); ... While for this test-case gdb runs fine with the system default stack limit of 8MB, there are cases reported of 12MB phdrs_size where gdb also crashes with the system default stack limit. Fix this by using xmalloc instead of alloca, which prevents the crash provided the stack limit is at least 112kb. Build and reg-tested on x86_64-linux. 2018-11-06 Tom de Vries * linux-tdep.c (linux_vsyscall_range_raw): Use xmalloc to allocate program headers. * gdb.base/many-headers.c: New test. * gdb.base/many-headers.exp: New file. commit 109be305bb6acf7604f95411f333549f33a673bb Author: Jim Wilson Date: Tue Nov 6 11:06:23 2018 -0800 RISC-V: Force variables to .data for code_elim. RISC-V puts a global variable in .sdata by default, which causes the add-symbol-file commands with -s .data to fail as there is no .data section. This fixes 3 testsuite failures. gdb/testsuite/ * gdb.base/code_elim.exp: For riscv, set additional_flags to include -msmall-data-limit=0. commit f11acc5ec0b9cd35e3582b8f9eef6be5d3c59ad7 Author: Max Filippov Date: Wed Oct 31 17:10:33 2018 -0700 gdb: xtensa: use linux ABI code for uclinux gdb/ 2018-11-06 Max Filippov * configure.tgt (xtensa*-*-linux*): Change to xtensa*-*-*linux* so that it applies to uclinux as well. commit 9e237747bd1fd7b371fed5edb91dd9baace4b2dc Author: Marius Muench Date: Tue Nov 6 10:51:39 2018 -0700 ARM: Do not use FP reg when on AAPCS GDB tries to dereference the frame pointer in arm_scan_prologue as a last resort to create frame information. However, the more recent AAPCS ABI does not make use of a frame pointer. This patch checks whether the specified arm_abi is AAPCS before dereferencing the "frame pointer". If so, just return as efforts to use it for restoring frame information won't work. gdb/ChangeLog 2018-11-06 Marius Muench * arm-tdep.c (arm_scan_prologue): Don't dereference FP reg when on AAPCS. commit bcecc11da243fe5c333f9d2d914663d09f4b868d Author: John Baldwin Date: Tue Nov 6 09:47:21 2018 -0800 Note that PT_GETREGS supplies SSTATUS for FreeBSD/riscv. This permits reading the value of the SSTATUS CSR returned by ptrace() for live FreeBSD/riscv processes. * riscv-fbsd-nat.c (getregs_supplies): Return true for RISCV_CSR_SSTATUS_REGNUM. commit 8a6b075bc07f66678ed0176f895847df3ea7fcef Author: H.J. Lu Date: Tue Nov 6 09:38:33 2018 -0800 elfedit: Add --enable-x86-feature/--disable-x86-feature Add --enable-x86-feature and --disable-x86-feature options to elfedit to set and clear the IBT and SHSTK bits in program property in ELF executables and shared objects. binutils/ * doc/binutils.texi: Document --enable-x86-feature and --disable-x86-feature options for elfedit. * elfedit.c: Include "config.h" and . (enable_x86_features): New. (disable_x86_features): Likewise. (update_gnu_property): Likewise. (elf_x86_feature): Likewise. (process_file): Call update_gnu_property on ET_EXEC or ET_DYN file. (command_line_switch): Add OPTION_ENABLE_X86_FEATURE and OPTION_DISABLE_X86_FEATURE. (options): Add--enable-x86-feature and --disable-x86-feature. (usage): Likewise. (main): Handle OPTION_ENABLE_X86_FEATURE and OPTION_DISABLE_X86_FEATURE. ld/ * testsuite/config/default.exp (ELFEDIT): New. * testsuite/ld-elf/linux-x86.exp (elfedit_test): New proc. Run elfedit tests. * testsuite/ld-elf/x86-feature-1a.rd: New file. * 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. commit ddea148b3da27eb681504bf341f45abb7a74580b Author: Nick Clifton Date: Tue Nov 6 17:09:40 2018 +0000 Add support for a couple of new Mach-O commands. 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. * mach-o/loader.h: Add BFD_MACH_O_LC_BUILD_VERSION. commit f86e17aacf47c7b49ed0f6b23a481784f3946133 Author: Matthew Malcomson Date: Tue Nov 6 17:09:34 2018 +0000 [arm] fix testsuite breakage on pe-coff The PE target can insert NOP's for padding to 4 byte alignment. This was causing a testcase failure, this commit fixes the testcase. This commit also escapes some full-stops in the testcase regexp. 2018-11-06 Matthew Malcomson * testsuite/gas/arm/neon-cond-bad_t2.d: Fix testcase for PE target. commit bc52d49c1d0e9b5d196132efb41addaf0bddad4f Author: Matthew Malcomson Date: Tue Nov 6 14:52:11 2018 +0000 [arm] Check for neon and condition in vcvt.f16.f32 VCVT between f16 and f32 is an Advanced SIMD instruction. Not all the VCVT alternatives need neon, hence the check for neon is in the encode function. The check on neon for VCVT.f16.f32 (and vice versa) is missing. vshcmd: > echo 'vcvt.f16.f32 d1, q1' | gas/as-new -mfpu=vfpxd -march=armv8.5-a - testdir [15:59:10] $ Also, the handling of the condition code behaves differently to other SIMD instructions -- no error message is produced when assembling an instruction with a condition code suffix despite the arm encoding not allowing a condition code. (n.b. the actual binary produced is independent of the suffix). The instruction should be treated similarly to VSUBL that has the same caveat of "must be unconditional" describing the {} symbol. vcvt half-precision to single precision found in F6.1.58 in the ARM Architecture Reference Manual issue C.a, vsubl found in F6.1.240 in the ARM Architecture Reference Manual issue C.a 2018-11-06 Matthew Malcomson * config/tc-arm.c (do_neon_cvt_1): Add check for neon and condition codes to half-precision conversion. * testsuite/gas/arm/neon-cond-bad-inc.s: Check vcvteq disallowed. * testsuite/gas/arm/neon-cond-bad.l: Likewise. * testsuite/gas/arm/neon-cond-bad_t2.d: Check vcvteq allowed in IT block. * testsuite/gas/arm/vfp-bad.l: Ensure vcvt doesn't work without neon. * testsuite/gas/arm/vfp-bad.s: Likewise. commit 0632eeea6eb1096fe7ddbd7f81bd74b360d1f511 Author: Sudakshina Das Date: Tue Nov 6 12:13:45 2018 +0000 [BINUTILS, ARM] Add Armv8.5-A to select_arm_features and update macros. This patch addresses the following 1) Adding ARMv8.5-A in select_arm_features. 2) Updating the feature macro so that the new ARM_EXT2_* features for Armv8.5-A are moved to ARM_AEXT2_V8_5A. *** opcodes/ChangeLog *** 2018-11-06 Sudakshina Das * arm-dis.c (select_arm_features): Update bfd_mach_arm_8 with Armv8.5-A. Remove reduntant ARM_EXT2_FP16_FML. *** include/ChangeLog *** 2018-11-06 Sudakshina Das * opcode/arm.h (ARM_ARCH_V8_5A): Move ARM_EXT2_PREDRES and ARM_EXT2_SB to ... (ARM_AEXT2_V8_5A): Here. commit 715537181e9ba6ab371265fc4455d89533202fc5 Author: Alan Modra Date: Tue Nov 6 16:04:40 2018 +1030 PowerPC instruction mask checks The instruction mask bits should never overlap any of the operands, nor should operand bits overlap, but some operands weren't checked. This patch arranges to check the omitted operands, using a mask returned by the operand->insert function. Some tweaking of various insert functions is needed to support this: The error case must set field bits. Since I was looking at the insert functions, I tidied some dead code and simplified some of the powerpc_operands entries. gas/ * config/tc-ppc.c (insn_validate): Don't ignore mask in PPC_OPSHIFT_INV case. Call the insert function to calculate a mask. opcodes/ * ppc-opc.c (insert_arx, insert_ary, insert_rx, insert_ry, insert_ls), (insert_evuimm1_ex0, insert_evuimm2_ex0, insert_evuimm4_ex0), (insert_evuimm8_ex0, insert_evuimm_lt8, insert_evuimm_lt16), (insert_rD_rS_even, insert_off_lsp, insert_off_spe2, insert_Ddd): Don't return zero on error, insert mask bits instead. (insert_sd4h, extract_sd4h, insert_sd4w, extract_sd4w): Delete. (insert_sh6, extract_sh6): Delete dead code. (insert_sprbat, insert_sprg): Use unsigned comparisions. (powerpc_operands ): Set shift count rather than using PPC_OPSHIFT_INV. : Likewise. Don't use insert/extract functions. commit 2eac3da184459607a476ebb5dcebd6e0acf9fefa Author: Alan Modra Date: Tue Nov 6 13:23:20 2018 +1030 PowerPC instruction operand flag validation This adds another check that might have saved me a little time recently if it had been present. * config/tc-ppc.c (insn_validate): Check that optional operands are not followed by non-optional operands. commit 4dd4e6394509d58685daea52cc6947c45fd7ee9d Author: Jan Beulich Date: Tue Nov 6 11:45:49 2018 +0100 x86: correctly handle VPBROADCASTD with EVEX.W set outside of 64-bit mode For the flavor having a GPR operand EVEX.W is ignored outside of 64-bit mode. The mnemonic should therefore not be VPBROADCASTQ. commit 9819647a63bfca45a879650ac23fe80f51b89edb Author: Jan Beulich Date: Tue Nov 6 11:45:11 2018 +0100 x86: correctly handle VMOVD with EVEX.W set outside of 64-bit mode For the flavors having a GPR operand EVEX.W is ignored outside of 64-bit mode. The mnemonic should therefore not be KMOVQ, the GPR operand should not name a non-existing 64-bit register, just like is already the case for the AVX counterparts, and the Disp8 scaling factor should be 4 rather than 8. commit 58a211d2602df0a39779c84a344b1b4d12deb2d0 Author: Jan Beulich Date: Tue Nov 6 11:44:31 2018 +0100 x86: correctly handle KMOVD with VEX.W set outside of 64-bit mode For the flavors having a GPR operand VEX.W is ignored outside of 64-bit mode. The mnemonic should therefore not be KMOVQ. commit b50c9f31661be05bcd73fb1158e02f606e696948 Author: Jan Beulich Date: Tue Nov 6 11:43:55 2018 +0100 x86: adjust {,E}VEX.W handling for PEXTR* / PINSR* PEXTR{B,W} and PINSR{B,W}, just like for AVX512BW, are WIG, no matter that the SDM uses a nonstandard description of that fact. PEXTRD, even with EVEX.W set, ignores that bit outside of 64-bit mode, just like its AVX counterpart. commit 931d03b75aa934abc10a70f1aa3ca1192f32ed3d Author: Jan Beulich Date: Tue Nov 6 11:42:54 2018 +0100 x86: adjust {,E}VEX.W handling outside of 64-bit mode Many VEX-/EVEX-encoded instructions accessing GPRs become WIG outside of 64-bit mode. The respective templates should specify neither VexWIG nor VexW0, but instead the setting of the bit should be determined from - REX.W in 64-bit mode, - the setting established through -mvexwig= / -mevexwig= otherwise. This implies that the evex-wig2 testcase needs to go away, as being wrong altogether. A few test additions desirable here will only happen in later patches, as the disassembler needs adjustments first. Once again SSE2AVX templates are left alone, for it being unclear what the behavior there should be. commit fd71a3756e2dd1eae116d77dc5ec58391c4840d8 Author: Jan Beulich Date: Tue Nov 6 11:42:08 2018 +0100 x86: fix various non-LIG templates Quite a few templates were marked LIG while really the insns aren't. Introduce descriptive shorthands once again, instead of continuing to use the less legible original forms. commit 563c7eef61a1835973b857eaa7372ec66fc91d64 Author: Jan Beulich Date: Tue Nov 6 11:40:25 2018 +0100 x86: allow {store} to select alternative {,}PEXTRW encoding The 0F C5 encoding is indeed a load type one (just that memory operands are not permitted), while the 0F 3A 15 encoding is obviously a store. Allow the pseudo prefixes to be used to select between them. Also move (without any change) the secondary AVX512BW templates next to the primary one. commit 0aaca1d90a2f9f075852b2ea5907937cca037044 Author: Jan Beulich Date: Tue Nov 6 11:39:42 2018 +0100 x86: add more VexWIG Commits 6865c0435a ("x86: Support VEX/EVEX WIG encoding") and 6fa52824c3 ("x86: Replace VexW=3 with VexWIG") omitted quite a few templates, oddly enough in some cases despite testcases getting added (which then were recorded with wrong expected output). Also adjust VPMAXUB's attributes in the AVX512BW case to match ordering of that of neighboring templates. For the moment SSE2AVX templates are left alone, as it isn't clear whether they were intentionally left untouched by the original commits (the descriptions don't say either way). In this context I question the decision in commit 0375113302 ("x86: Add -mvexwig=[0|1] option to assembler") to move the logic to determine the value of the W bit ahead of the decision whether to use 2-byte VEX: While I can see this as one possible interpretation of -mvexwig=, the other alternative (setting the value of the bit only if it actually exists in the encoding) looks as reasonable to me, and perhaps even more in line with us generally trying to pick the shortest encoding. commit bbae6b11eb3a3c4a4c2f589d6c2b30e3c6b97c04 Author: Jan Beulich Date: Tue Nov 6 11:38:47 2018 +0100 x86: XOP VPHADD* / VPHSUB* are VEX.W0 Also avoid introducing further uses of VexW=1, by introducing and using VexW0 at this occasion. Move the marker past all #define-s. commit 50cab6efce0f96fb1901595dc7a516de865f9c80 Author: GDB Administrator Date: Tue Nov 6 00:00:35 2018 +0000 Automatic date update in version.in commit bb20ccab70b378cd3f9cdb6a4c84e2d350e2de8f Author: Philippe Waroquiers Date: Mon Nov 5 23:09:44 2018 +0100 ChangeLog for 'Fix 4K leak each time next/step changes of function.' commit 8e6a5953e1ddb327d870b79e6ccd2fd4a92d6fde Author: Philippe Waroquiers Date: Sun Nov 4 17:48:57 2018 +0100 Fix 4K leak in open_source_file each time next/step changes of function. When current function changes after a next/step, GDB shows a message such as: (gdb) s info_fun1 () at /bd/home/philippe/gdb/git/build_smallthing/gdb/testsuite/../../../smallthing/gdb/testsuite/gdb.base/info_qt.c:41 41 info_qt_inc++; (gdb) Valgrind reports a 4K definite leak for each such message (full stacktrace of the leak below). This patch fixes this leak, by transferring the current s->fullname to the unique_xmalloc_ptr fullname given to find_and_open_source. Note that I do not understand why find_and_open_source always tries to re-execute the substitution rules on the provided fullname, as source.c symtab_to_fullname just blindly returns a non NULL s->fullname, counting on forget_cached_source_info to be called if search dir or substitution rules are changed. Similarly, psymtab_to_fullname also just returns a non NULL ps->fullname. ==15309== VALGRIND_GDB_ERROR_BEGIN ==15309== 69,632 bytes in 17 blocks are definitely lost in loss record 3,158 of 3,186 ==15309== at 0x4C2BE2D: malloc (vg_replace_malloc.c:299) ==15309== by 0x5BF0987: realpath@@GLIBC_2.3 (canonicalize.c:78) ==15309== by 0x41F713: gdb_realpath(char const*) (pathstuff.c:72) ==15309== by 0x608833: openp(char const*, enum_flags, char const*, int, std::unique_ptr >*) (source.c:861) ==15309== by 0x608B89: find_and_open_source(char const*, char const*, std::unique_ptr >*) (source.c:1049) ==15309== by 0x608D0B: open_source_file(symtab*) (source.c:1074) ==15309== by 0x609101: print_source_lines_base(symtab*, int, int, enum_flags) (source.c:1291) ==15309== by 0x614ADF: print_frame_info(frame_info*, int, print_what, int, int) (stack.c:911) ==15309== by 0x614C45: print_stack_frame(frame_info*, int, print_what, int) (stack.c:181) ==15309== by 0x511D5E: print_stop_location (infrun.c:8044) ==15309== by 0x511D5E: print_stop_event(ui_out*) (infrun.c:8061) ==15309== by 0x40DD6D: cli_on_normal_stop(bpstats*, int) (cli-interp.c:145) ==15309== by 0x512409: operator() (functional:2127) ==15309== by 0x512409: notify (observable.h:106) ==15309== by 0x512409: normal_stop() (infrun.c:8334) ==15309== by 0x5156D8: fetch_inferior_event(void*) (infrun.c:3955) ==15309== by 0x4B3EEC: gdb_wait_for_event(int) (event-loop.c:859) ==15309== by 0x4B3FF6: gdb_do_one_event() [clone .part.4] (event-loop.c:322) ==15309== by 0x4B41B4: gdb_do_one_event (common-exceptions.h:219) ==15309== by 0x4B41B4: start_event_loop() (event-loop.c:371) ==15309== by 0x551217: captured_command_loop() (main.c:330) ==15309== by 0x55220C: captured_main (main.c:1177) ==15309== by 0x55220C: gdb_main(captured_main_args*) (main.c:1193) ==15309== by 0x29B4F7: main (gdb.c:32) ==15309== ==15309== VALGRIND_GDB_ERROR_END gdb/ChangeLog 2018-11-04 Philippe Waroquiers * source.c (open_source_file): Fix leak by transferring the current s->fullname to the unique_xmalloc_ptr fullname given to find_and_open_source. commit a4749e56cacefdc1a571231744a9b87a3f5458b9 Author: H.J. Lu Date: Mon Nov 5 11:12:28 2018 -0800 Correct ChangeLog entries for PR gas/23854 commit commit e60f4d3bdac25f02875afe36b7436bc2dfbbb978 Author: H.J. Lu Date: Mon Nov 5 09:01:26 2018 -0800 x86: Disable GOT relaxation with data prefix Since linker GOT relaxation isn't valid for 16-bit GOT access, we should disable GOT relaxation with data prefix. commit e60f4d3bdac25f02875afe36b7436bc2dfbbb978 Author: H.J. Lu Date: Mon Nov 5 09:01:26 2018 -0800 x86: Disable GOT relaxation with data prefix Since linker GOT relaxation isn't valid for 16-bit GOT access, we should disable GOT relaxation with data prefix. gas/ PR gas/r23854 * config/tc-i386.c (output_disp): Disable GOT relaxation with data prefix. * testsuite/gas/i386/mixed-mode-reloc32.d: Updated. ld/ PR gas/r23854 * testsuite/ld-i386/i386.exp: Run pr23854. * testsuite/ld-x86-64/x86-64.exp: Likewwise. * testsuite/ld-i386/pr23854.d: New file. * testsuite/ld-i386/pr23854.s: Likewwise. * testsuite/ld-i386/pr23854.d: Likewwise. * testsuite/ld-x86-64/pr23854.d: Likewwise. * testsuite/ld-x86-64/pr23854.s: Likewwise. commit 713f1b445a18af04eafbf8df6f844bed8243963f Author: GDB Administrator Date: Mon Nov 5 00:00:53 2018 +0000 Automatic date update in version.in commit a31abe80ea4c45b544f3ae04bc63ccaeba530e0f Author: Tom Tromey Date: Wed Oct 24 16:45:41 2018 -0600 Return gdbpy_ref from gdbpy_get_varobj_pretty_printer This changes gdbpy_get_varobj_pretty_printer to return a gdbpy_ref. gdb/ChangeLog 2018-11-04 Tom Tromey * varobj.c (install_default_visualizer): Update. * python/python-internal.h (gdbpy_get_varobj_pretty_printer): Return gdbpy_ref. * python/py-prettyprint.c (search_pp_list): Return gdbpy_ref. (find_pretty_printer_from_progspace) (find_pretty_printer_from_gdb, find_pretty_printer) (gdbpy_get_varobj_pretty_printer): Return gdbpy_ref. (gdbpy_get_varobj_pretty_printer, gdbpy_default_visualizer): Update. commit 833d985d1c7f69f953a5c7ddcf2af1d001504961 Author: Tom Tromey Date: Wed Oct 24 16:40:00 2018 -0600 Return gdbpy_ref from some Python string functions This changes python_string_to_unicode, python_string_to_target_python_string, and host_string_to_python_string to return gdbpy_ref. gdb/ChangeLog 2018-11-04 Tom Tromey * python/python.c (gdbpy_parameter_value): Update. * python/python-internal.h (python_string_to_unicode) (python_string_to_target_python_string) (host_string_to_python_string): Return gdbpy_ref. * python/py-utils.c (python_string_to_unicode) (unicode_to_encoded_python_string) (unicode_to_target_python_string) (python_string_to_target_string) (python_string_to_target_python_string): Return gdbpy_ref. (python_string_to_host_string): Update. (host_string_to_python_string): Return gdbpy_ref. * python/py-symtab.c (stpy_get_filename, stpy_get_producer) (stpy_fullname): Update. * python/py-progspace.c (pspy_get_filename, pspy_solib_name): Update. * python/py-prettyprint.c (print_string_repr): Update. * python/py-objfile.c (objfpy_get_filename, objfpy_get_username) (objfpy_get_build_id): Update. * python/py-breakpoint.c (bppy_get_location) (bppy_get_expression, bppy_get_condition, bppy_get_commands): Update. commit 12dfa12a3cfd4552c0cc4d7b271ab3e9c439589a Author: Tom Tromey Date: Wed Oct 24 16:33:23 2018 -0600 Return gdbpy_ref from gdb_py_object_from_*longest This changes gdb_py_object_from_longest and gdb_py_object_from_ulongest to return a gdbpy_ref rather than a PyObject*. gdb/ChangeLog 2018-11-04 Tom Tromey * python/python-internal.h (gdb_py_object_from_longest) (gdb_py_object_from_ulongest): Return gdbpy_ref. * python/py-value.c (valpy_int): Update. * python/py-utils.c (gdb_py_object_from_longest): Return gdbpy_ref. (gdb_py_object_from_ulongest): Likewise. * python/py-type.c (typy_get_alignof): Update. * python/py-linetable.c (ltpy_get_all_source_lines) (ltpy_entry_get_line, ltpy_entry_get_pc): Update. * python/py-block.c (blpy_get_start, blpy_get_end): Update. commit 9446bd8ad68d5e20151f3066104b575534c9ecda Author: GDB Administrator Date: Sun Nov 4 00:01:27 2018 +0000 Automatic date update in version.in commit 675accbdcb5b50182a10dd112b7179b5b6337191 Author: H.J. Lu Date: Sat Nov 3 15:03:34 2018 -0700 elfedit: Move ELF header magic bytes check to get_file_header Skip the file if ELF header magic bytes doesn't match. * elfedit.c (update_elf_header): Move EI_MAG? check to ... (get_file_header): Here. commit 470678d7c92df4c016c6b4d8dadbd5d5e86cb5ff Author: Philippe Waroquiers Date: Sat Nov 3 21:33:42 2018 +0100 OBVIOUS Fix a typo in ada-lang.c add_prefix_cmd for "set ada" Correct typo in add_prefix_cmd doc arg for "set ada". commit 814fa4f632006dace09b131021b949021dfb58bf Author: Philippe Waroquiers Date: Sat Nov 3 19:31:41 2018 +0100 OBVIOUS Remove a useless const char *type and its initialization. Valgrind detected a leak for the line: type = xstrdup ("auto"); as the compile probably dropped the type variable completely, as its only usage was this initialization. So, remove the useless variable. commit 3c6dd3d1c76a4a55555a2df85140ede39e8363cb Author: Philippe Waroquiers Date: Sat Nov 3 19:19:05 2018 +0100 OBVIOUS fix the month of the last gdb/ChangeLog entry to be 11 instead of 12. commit a1fb41caab99ca970a595af4fee7915019d2e9a3 Author: GDB Administrator Date: Sat Nov 3 00:01:18 2018 +0000 Automatic date update in version.in commit 34156b23862e9719355569182d594c7a9e38047e Author: H.J. Lu Date: Fri Nov 2 16:45:41 2018 -0700 binutils: Add AC_FUNC_MMAP to configure.ac Add AC_FUNC_MMAP to configure.ac so that HAVE_MMAP will be checked in objdump.c and mmap is used if available. * configure.ac (AC_FUNC_MMAP): New. * config.in: Regenerated. * configure: Likewise. commit e8bf1ce461df242811e49de807f85c2e7ae17b77 Author: Joel Brobecker Date: Fri Nov 2 12:37:29 2018 -0500 (Ada) Add ravenscar tasking support on AArch64 This patch adds support for debugging Ravenscar tasks, similar to what is done for ppc and sparc. gdb/ChangeLog: * aarch64-ravenscar-thread.h, aarch64-ravenscar-thread.c: New files. * aarch64-tdep.c: #include "aarch64-ravenscar-thread.h". (aarch64_gdbarch_init): Add call to register_aarch64_ravenscar_ops. * Makefile.in (ALL_64_TARGET_OBS): Add aarch64-ravenscar-thread.o. (HFILES_NO_SRCDIR): Add aarch64-ravenscar-thread.h. (ALLDEPFILES): Add aarch64-ravenscar-thread.c. * configure.tgt (cpu_obs) [aarch64*-*-*]: Add ravenscar-thread.o and aarch64-ravenscar-thread.o. * NEWS: Add entry documenting Ravenscar tasking support on AArch64 ELF. commit d54cfd762b060ad167bd8e947e4ea212c0eb9b83 Author: Philippe Waroquiers Date: Fri Nov 2 14:20:59 2018 +0100 QUIET flag initialization missing in 2 places. Fix by Matthew Malcomson Pushed as obvious. commit 396ce9988361a812ec620ac392839dbb9594db62 Author: Alan Modra Date: Fri Nov 2 13:59:31 2018 +1030 [GOLD] make clean Cleans a few more test files. * Makefile.am (MOSTLYCLEANFILES): Define. * Makefile.in: Regnerate. * testsuite/Makefile.am (MOSTLYCLEANFILES): Add ver_test_14 and gnu_property_test. * testsuite/Makefile.in: Regnerate. commit 285e3f99c77510344021b1252c594b28fe7971e8 Author: Alan Modra Date: Fri Nov 2 13:04:31 2018 +1030 Squash readelf warning on zero sh_link reloc section On readelf examining a static executable built with current glibc, we get a silly warning. Section Headers: [Nr] Name Type Address Off Size ES Flg Lk Inf Al [ 0] NULL 0000000000000000 000000 000000 00 0 0 0 [ 1] .note.ABI-tag NOTE 0000000000400190 000190 000020 00 A 0 0 4 [ 2] .note.gnu.build-id NOTE 00000000004001b0 0001b0 000024 00 A 0 0 4 readelf: Warning: [ 3]: Link field (0) should index a symtab section. [ 3] .rela.plt RELA 00000000004001d8 0001d8 000228 18 AI 0 20 8 This .rela.plt section contains only IRELATIVE relocations (which have symbol index zero), so it isn't appropriate to warn. A zero sh_link section is deliberately chosen for such a section (see PR10337 and PR23850). So this patch disables the SHT_REL* sh_link warning. I've also removed the .rel.dyn/.rela.dyn section name test to disable the sh_info warning for SHT_REL* sections. While relocation sections in an executable need not specify the section they relocate (the relocation sh_offset field is an address, not a section offset), that isn't true in a relocatable file where sh_offset is relative to a section. If .rela.dyn happens to exist in an ET_REL object it must specify a valid section. * readelf.c (process_section_headers): Don't warn on a zero sh_info or sh_link for any reloc section in an executable or shared library. Do warn for .rel.dyn/.rela.dyn in ET_REL. commit a4bcd733712abd892aa7fe0d79a3f999b461f119 Author: Alan Modra Date: Fri Nov 2 11:47:07 2018 +1030 PR23850, strip should not discard/move .rela.plt in executable strip/objcopy can't deal with alloc reloc sections, not .rela.dyn or .rela.plt in a dynamic executable, or .rela.plt/.rela.iplt in a static executable. So, don't have BFD treat them as side-channel data associated with the section they are relocating. PR 23850 * elf.c (bfd_section_from_shdr): Treat SHF_ALLOC SHT_REL* sections in an executable or shared library as normal sections. commit 3ba2ee38a648b7f52e77700325b26137f6332fe2 Author: Jim Wilson Date: Thu Nov 1 17:25:15 2018 -0700 RISC-V: Don't allow unaligned breakpoints. Some hardware doesn't support unaligned accesses, and a bare metal target may not have an unaligned access trap handler. So if the PC is 2-byte aligned, then use a 2-byte breakpoint to avoid unaligned accesses. Tested on native RV64GC Linux with gdb testsuite and cross on spike simulator and openocd with riscv-tests/debug. gdb/ * riscv-tdep.c (riscv_breakpoint_kind_from_pc): New local unaligned_p. Set if pcptr if unaligned. Return 2 if unaligned_p true. Update debugging messages. commit c175004a5380168cf16b489d58c9402ff3d75039 Author: GDB Administrator Date: Fri Nov 2 00:00:34 2018 +0000 Automatic date update in version.in commit e2b7af7242c99e503747a43775d94beda90cb24e Author: Joel Brobecker Date: Thu Nov 1 15:15:41 2018 -0700 (Ada) fix "error in expression" when using watch -location command The "watch -l EXPR" command with the language set to Ada currently fails with the following error: (gdb) watch -l global_var Error in expression, near ` 0x000000000062d2d8'. The error occurs because GDB internally translate the request into a watchpoint on a different expression: "* (TYPE *) ADDR" where TYPE and ADDR are the type and the address of the object returned by the expression's evaluation (resp.). So, in the example above, global_var being an integer stored at 0x000000000062d2d8, GDB tries to set a watchpoint on "* (integer *) 0x000000000062d2d8", which fails, because we try to parse this expression with Ada, when in fact it is not valid. This patch fixes the issue by implementing the la_watch_location_expression language method, using a syntax that the Ada parser recognizes ("{TYPE} ADDR"). gdb/ChangeLog: * ada-lang.c (ada_watch_location_expression): New function. (ada_language_defn): Set la_watch_location_expression to ada_watch_location_expression. gdb/testsuite/ChangeLog: * gdb.ada/watch_minus_l: New testcase. commit 8b578f9c7626f57f5adb9e4a52f5b0d6c8f6e0a0 Author: Joel Brobecker Date: Thu Nov 1 15:08:57 2018 -0700 remove trailing spaces in print-utils.c ("int_string" function) gdb/ChangeLog: * print-utils.c (int_string): Remove unnecessary trailing spaces. commit 87f7ab7b84c5c423f11e8ad0ebefd69e9d08c401 Author: Joel Brobecker Date: Thu Nov 1 15:05:40 2018 -0700 gdb.texinfo: Fix the output of the "info tasks 2" example gdb/doc/ChangeLog: * gdb.texinfo (Ada Tasks): Update the "info task 2" example output to match the current implementation. commit 1cc62f2e4443384e300586683aa1f8197c81cbc5 Author: Joel Brobecker Date: Thu Nov 1 16:46:05 2018 -0500 rs6000-tdep.c:skip_prologue avoid negative left shift the rs6000-tdep.c::skip_prologue function has the following code: unsigned int all_mask = ~((1U << fdata->saved_gpr) - 1); /* Not a recognized prologue instruction. Handle optimizer code motions into the prologue by continuing the search if we have no valid frame yet or if the return address is not yet saved in the frame. Also skip instructions if some of the GPRs expected to be saved are not yet saved. */ if (fdata->frameless == 0 && fdata->nosavedpc == 0 && (fdata->gpr_mask & all_mask) == all_mask) break; The problem is that fdata->saved_gpr is initialized to -1, and so, if no instruction is found in the function's prologue that causes us to set that field to a non-negative value, the sanitizer crashes with the following message: rs6000-tdep.c:1965:34: runtime error: shift exponent -1 is negative This patch fixes the issue the by only doing the shift if saved_gpr is not negative. When saved_gpr is negative, we actually don't need the shift. gdb/ChangeLog: * rs6000-tdep.c (skip_prologue): Fix potential negative left shifting. Tested on ppc-linux native. Also tested on ppc-elf (baremetal) using AdaCore's testsuite. commit e1c3a3737536c57e43d4ad693341717e326f4e17 Author: Jerome Guitton Date: Thu Nov 1 14:32:30 2018 -0700 arm-pikeos: software single step On ARM, PikeOS does not support hardware single step, causing various semi-random errors when trying to next/step over some user code. So this patch changes this target to use software-single-step instead. The challenge is that, up to now, the PikeOS target was in all respects identical to a baremetal target as far as GDB was concerned, meaning we were using the baremetal osabi for this target too. This is no longer possible, and we need to introduce a new OSABI variant. Unfortunately, there isn't anything in the object file that would allow us to differentiate between the two platforms. So we have to rely on a heuristic instead, where we look for some known symbols that are required in a PikeOS application (these symbols are expected to be defined by the default linker script, and correspond to routines used to allocate the application stack). For the long run, the hope is that the stub implementation provided by PikeOS is enhanced so that it includes vContSupported+ to the $qSupported query, and then that the reply to the "vCont?" query only return support for "continue" operations (thus exclusing "step" operations). We could then use that information to reliably determine at connection time that the target does not support single-stepping and therefore automatically turn software single-stepping automatically based on it. gdb/ChangeLog: * defs.h (enum gdb_osabi): Add GDB_OSABI_PIKEOS. * osabi.c (gdb_osabi_names): Add name for GDB_OSABI_PIKEOS. * arm-pikeos-tdep.c: New file. * configure.tgt: Add arm-pikeos-tdep.o to the case of ARM embedded system. * Makefile.in (ALL_TARGET_OBS): Add arm-pikeos-tdep.o. Tested on arm-pikeos and arm-elf using AdaCore's testsuite. We also evaluated it on armhf-linux as a cross platform. commit e8d8cce69b34481a27562267d94a1aff19b05518 Author: Simon Marchi Date: Thu Nov 1 15:40:43 2018 -0400 Import mkdtemp gnulib module, fix mingw build Building with mingw currently fails: CXX unittests/mkdir-recursive-selftests.o /home/emaisin/src/binutils-gdb/gdb/unittests/mkdir-recursive-selftests.c: In function ‘void selftests::mkdir_recursive::test()’: /home/emaisin/src/binutils-gdb/gdb/unittests/mkdir-recursive-selftests.c:49:20: error: ‘mkdtemp’ was not declared in this scope if (mkdtemp (base) == NULL) ^ Commit e418a61a67a ("Move mkdir_recursive to common/filestuff.c") moved this code, but also removed the HAVE_MKDTEMP guard which prevented the mkdtemp call to be compiled on mingw. We can either put back the HAVE_MKDTEMP ifdef, or import the gnulib mkdtemp module, which provides the function for mingw. Since the mkdir_recursive is susceptible to be used on mingw at some point, I think it would be nice to have it tested on mingw, so I did the latter. Once built, I tested it on Windows (copied the resulting gdb.exe on a Windows machine, ran it, and ran "maint selftest mkdir_recursive"). It failed, because the temporary directory is hardcoded to "/tmp/...". I therefore added and used a new get_standard_temp_dir function, which returns an appropriate temporary directory for the host platform. gdb/ChangeLog: * common/pathstuff.c (get_standard_temp_dir): New. * common/pathstuff.h (get_standard_temp_dir): New. * config.in: Re-generate. * configure: Re-generate. * configure.ac: Don't check for mkdtemp. * gnulib/aclocal-m4-deps.mk: Re-generate. * gnulib/aclocal.m4: Re-generate. * gnulib/config.in: Re-generate. * gnulib/configure: Re-generate. * gnulib/import/Makefile.am: Re-generate. * gnulib/import/Makefile.in: Re-generate. * gnulib/import/m4/gnulib-cache.m4: Re-generate. * gnulib/import/m4/gnulib-comp.m4: Re-generate. * gnulib/import/m4/mkdtemp.m4: New file. * gnulib/import/mkdtemp.c: New file. * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdtemp module. * unittests/mkdir-recursive-selftests.c (test): Use get_standard_temp_dir. (_initialize_mkdir_recursive_selftests): Remove HAVE_MKDTEMP ifdef. * compile/compile.c (get_compile_file_tempdir): Likewise. commit 33ea299c25134ce23805faa6b2b1e7fe6327f6bb Author: Thomas Preud'homme Date: Thu Nov 1 17:18:24 2018 +0000 Fix ld action in run_dump_test run_dump_test proposes an ld action but when trying to make use of it in a gas test it gave me some Tcl error. It turns out that it references the check_shared_lib_support procedure and ld_elf_shared_opt variable both only available in ld-lib.exp. I've thus moved the procedure in binutils-common.exp and defined the variable needed in the various default.exp of testsuite that seem to be using run_dump_test. Since check_shared_lib_support itself references the ld variable not defined in binutils-common I've defined it from LD in run_dump_test and fixed LD and LDFLAGS to be defined as expected by run_dump_test in the various default.exp of testsuite using run_dump_test. 2018-11-01 Thomas Preud'homme binutils/ * testsuite/config/default.exp: Define LD, LDFLAGS and ld_elf_shared_opt. * testsuite/lib/binutils-common.exp (check_shared_lib_support): Moved from ld-lib.exp. (run_dump_test): Set ld to $LD. gas/ * testsuite/config/default.exp: Define LD, LDFLAGS and ld_elf_shared_opt. ld/ * testsuite/lib/ld-lib.exp (check_shared_lib_support): Moved to binutils-common.exp. commit cdcda965ea4c70c80b9f8c294597e991417ff9d5 Author: Sangamesh Mallayya Date: Thu Nov 1 06:23:59 2018 -0400 Reading signal handler frame in AIX In AIX if gdb is debugging an application which has a signal handler and reaches the signal handler frame, then we need to read the back chain address from sigcontext saved on the stack, similarly the LR. As backchain at an offset 0 will be 0, because we will have a sigconext saved after the minimum stack size. So the correct backchain will be at an offset after minimum stack and the LR at an offset 8 will be of the signal millicode address. If the back chain pointer is NULL and the LR field is in the kernel segment(ex. 0x00004a14) then we can probably assume we are in a signal handler. sample output (gdb) bt 0 sig_handle_aix (signo=11) at aix-sighandle.c:7 1 0x0000000000004a94 in ?? () (gdb) expected output (gdb) bt 0 sig_handle_aix (signo=11) at aix-sighandle.c:7 1 2 0x0000000100000748 in foo () at aix-sighandle.c:14 3 0x000000010000079c in main () at aix-sighandle.c:19 gdb/ChangeLog: 2018-11-01 Sangamesh Mallayya * rs6000-aix-tdep.c: Include "trad-frame.h" and "frame-unwind.h". (SIG_FRAME_LR_OFFSET64): New define. (SIG_FRAME_FP_OFFSET64): New define. (aix_sighandle_frame_cache): New Function. (aix_sighandle_frame_this_id): New Function. (aix_sighandle_frame_prev_register): New Function. (aix_sighandle_frame_sniffer): New Function. (aix_sighandle_frame_unwind): New global variable. (rs6000_aix_init_osabi): Install new frame unwinder. gdb/testsuite/ChangeLog: 2018-11-01 Sangamesh Mallayya * gdb.arch/aix-sighandle.c: New file. * gdb.arch/aix-sighandle.exp: New file. commit 38642de318119d116c47eaff52ad9a7edb032c11 Author: GDB Administrator Date: Thu Nov 1 00:00:29 2018 +0000 Automatic date update in version.in commit 656efb5e2691b2bd29573d9985d20206c47b6927 Author: Sergio Durigan Junior Date: Tue Oct 30 17:37:03 2018 -0400 Fix PR gdb/23835: Don't redefine _FORTIFY_SOURCE if it's already defined Gentoo has a local GCC patch which always defines _FORTIFY_SOURCE=2. This causes a build problem when building GDB there, because "common/common-defs.h" also defines _FORTIFY_SOURCE=2: CXX gdb.o In file included from ../../gdb/defs.h:28:0, from ../../gdb/gdb.c:19: ../../gdb/common/common-defs.h:71:0: error: "_FORTIFY_SOURCE" redefined [-Werror] #define _FORTIFY_SOURCE 2 : note: this is the location of the previous definition cc1plus: all warnings being treated as errors make[2]: *** [Makefile:1619: gdb.o] Error 1 Even though it is questionable whether Gentoo's approach is the correct one: https://jira.mongodb.org/browse/SERVER-29982 https://bugs.gentoo.org/621036 it is still possible for GDB to be a bit more robust here and make sure it just defines _FORTIFY_SOURCE if it hasn't been defined already. This patch does that. Tested by rebuilding and making sure the macro was defined. gdb/ChangeLog: 2018-10-31 Sergio Durigan Junior PR gdb/23835 * common/common-defs.h: Don't redefine _FORTIFY_SOURCE if it's already defined. commit 92dcebf3fa5ccc1cae8fcb93eaf08ffea52957e2 Author: Andrew Burgess Date: Sat Oct 27 10:34:04 2018 +0100 gdb/riscv: Fix failures on rv64 in gdb.arch/riscv-reg-aliases.exp test The gdb.arch/riscv-reg-aliases.exp test didn't take into account that on RV64 (and RV128) the floating point registers are represented as a union. This patch updates the test to handle this. Tested against RV32 and RV64. gdb/testsuite/ChangeLog: * gdb.arch/riscv-reg-aliases.exp: Rewrite to take account of float registers being unions. commit 68b9ac18cf6ae8d76828357982c106d57c695ad4 Author: Tom de Vries Date: Thu Oct 25 16:54:49 2018 +0200 [gdb/testsuite] Factor out lib/valgrind.exp Factor out common code related to vgdb setup and cleanup in valgrind-bt.exp, valgrind-disp-step.exp and gdb.base/valgrind-infcall.exp. Tested on x86_64-linux with and without --target_board=native-gdbserver. 2018-10-31 Tom de Vries * lib/valgrind.exp: New file. (vgdb_start, vgdb_stop): New procs, factored out of ... * gdb.base/valgrind-bt.exp: ... here, ... * gdb.base/valgrind-disp-step.exp: ... here and ... * gdb.base/valgrind-infcall.exp: ... here. commit 0b4d000cc4e8e77c823e43fb547aa5e3a7247e87 Author: Joseph Myers Date: Wed Oct 31 17:16:41 2018 +0000 Merge config/ changes from GCC. config: Merge from GCC: 2018-10-28 Iain Buclaw * multi.m4: Set GDC. 2018-07-05 James Clarke * dfp.m4 (enable_decimal_float): Enable for x86_64*-*-gnu* to catch x86_64 kFreeBSD and Hurd. libdecnumber: * configure: Regenerate. zlib: * configure: Regenerate. commit b555fb21f98143582541e1a3bf58695037ca617b Author: Joseph Myers Date: Wed Oct 31 17:10:56 2018 +0000 Merge autoconf / automake update changes from GCC. Top level: Merge from GCC: PR bootstrap/82856 * multilib.am: New file. From automake. config: Merge from GCC: PR bootstrap/82856 * math.m4, tls.m4: Use AC_LANG_SOURCE. zlib: Merge from GCC. PR bootstrap/82856 * Makefile.am: Include multilib.am. * Makefile.in: Regenerate. commit 1443936e967d4a0a49acb8756e3f808dc3628318 Author: Tom de Vries Date: Wed Oct 31 16:33:46 2018 +0100 [gdb/testsuite] get_valueof: Don't output value in test name The get_valueof outputs the value it has read as part of the test name. This causes test names to vary from run to run, and adds some noise when diffing test results. e.g.: -PASS: gdb.guile/scm-ports.exp: buffered: get valueof "$sp" (140737488343920) +PASS: gdb.guile/scm-ports.exp: buffered: get valueof "$sp" (140737488343968) -PASS: gdb.guile/scm-ports.exp: unbuffered: get valueof "$sp" (140737488343920) +PASS: gdb.guile/scm-ports.exp: unbuffered: get valueof "$sp" (140737488343968) This patch removes that, since it's probably not very useful. Tested on x86_64-linux. 2018-10-31 Tom de Vries * lib/gdb.exp (get_valueof): Don't output read value in test name. commit f32a4a593963d4c377fd59f4164c9df2cd6a7590 Author: Renlin Li Date: Wed Oct 31 14:38:46 2018 +0000 Don't create got section while processing TLS Local Exec relocations. For Local Exec TLS model, the offset of the variable from the thread pointer can be computed at static link time. This doesn't require GOT indirection. The initial change is a bad fix for a problem during TLS GD -> LE relaxation. The proper fix is to check whether _GLOBAL_OFFSET_TABLE_ is referenced, create got section if yes. And the fix is already in the repository. bfd/ 2018-10-31 Renlin Li * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Don't create got section for Local Exec TLS model. commit 64f57f3d7d7b8e7bf9f57caa1389ac5ee3ecfec7 Author: Pedro Franco de Carvalho Date: Mon Oct 29 12:05:11 2018 -0300 [PowerPC] Include nat/linux-ptrace.h in native targets Patch "[PowerPC] Add support for PPR and DSCR" used PTRACE_GETREGSET/SETREGSET without including the fallback definitions from "nat/linux-ptrace.h". Include this header to avoid breaking builds in systems that don't define them. gdb/ChangeLog: 2018-10-31 Pedro Franco de Carvalho * ppc-linux-nat.c: Include nat/linux-ptrace.h. gdb/gdbserver/ChangeLog: 2018-10-31 Pedro Franco de Carvalho * linux-ppc-low.c: Include nat/linux-ptrace.h. commit eb77c9df9f6d2f7aa644a170280fe31ce080f887 Author: Andrew Burgess Date: Thu Oct 18 14:04:27 2018 +0100 gdb: Handle ICC's unexpected void return type I encountered a binary compiled with Intel's C Compiler (ICC) version 14.0.5.212, which seemed to contain some non-standard DWARF. The DWARF spec (V5 3.3.2) says: Debugging information entries for C void functions should not have an attribute for the return type. However, what I observed in the DWARF from this ICC compiled binary was this: ... <0><857>: Abbrev Number: 1 (DW_TAG_compile_unit) <858> DW_AT_comp_dir : (indirect string, offset: 0x48d): /tmp/ <85c> DW_AT_language : 1 (ANSI C) <85d> DW_AT_name : (indirect string, offset: 0x77c): filename.c <861> DW_AT_producer : (indirect string, offset: 0x520): Intel(R) C Intel(R) 64 Compiler ... <865> DW_AT_low_pc : 0x4378d0 <86d> DW_AT_high_pc : 0x4378f0 <875> DW_AT_stmt_list : 0xa37 ... <1><7ea>: Abbrev Number: 2 (DW_TAG_base_type) <7eb> DW_AT_byte_size : 0 <7ec> DW_AT_encoding : 5 (signed) <7ed> DW_AT_name : (indirect string, offset: 0x58f): void ... <1><7f1>: Abbrev Number: 3 (DW_TAG_subprogram) <7f2> DW_AT_decl_line : 268 <7f4> DW_AT_decl_column : 30 <7f5> DW_AT_decl_file : 1 <7f6> DW_AT_type : <0x7ea> <7fa> DW_AT_prototyped : 1 <7fb> DW_AT_name : (indirect string, offset: 0x761): function_foo <7ff> DW_AT_MIPS_linkage_name: (indirect string, offset: 0x761): function_foo <803> DW_AT_low_pc : 0x4378a0 <80b> DW_AT_high_pc : 0x4378d0 <813> DW_AT_external : 1 ... So function 'function_foo' has void return type, but still has a DW_AT_type attribute for a 0 sized type called void. What was found was that when the 'finish' command was used to leave 'function_foo', GDB would crash. The problem is that in infcmd.c:print_return_value GDB tries to filter out void return types, by looking for the TYPE_CODE_VOID, this fails for the 'void' type as it has code TYPE_CODE_INT and GDB then tries to print the 'void' type. This eventually ends in a call to valprint.c:maybe_negate_by_bytes, however, the len (length) of the value being negated is 0, which is not detected or expected by this code, and invalid memory accesses occur, some of which might cause GDB to crash. The above DWARF was seen on version 14.0.5.212 of ICC. I have also tested ICC versions 18.0.2.199 and 17.0.7.259, on both of these versions, the DW_AT_type on the DW_TAG_subprogram has been removed, bringing ICC inline with the DWARF standard, and with the DWARF produced by GCC. I only have limited access to these specific versions of ICC so I am unable to get more specific details for when the generated DWARF became non-standard or when it was changed to be more inline with the DWARF standard. Further testing revealed additional places where ICC produced 'void' related DWARF that GDB struggles with. When I compiled code that contained a function with this signature: void funcx (void *arg); on ICC 17/18, I got the following DWARF (notice the void return type is now gone): ... <1><32>: Abbrev Number: 2 (DW_TAG_subprogram) <33> DW_AT_decl_line : 2 <34> DW_AT_decl_file : 1 <35> DW_AT_prototyped : 1 <36> DW_AT_name : (indirect string, offset: 0xc5): funcx <3a> DW_AT_MIPS_linkage_name: (indirect string, offset: 0xc5): funcx <3e> DW_AT_low_pc : 0x6dc <46> DW_AT_high_pc : 0x703 <4e> DW_AT_external : 1 <2><4f>: Abbrev Number: 3 (DW_TAG_formal_parameter) <50> DW_AT_decl_line : 2 <51> DW_AT_decl_file : 1 <52> DW_AT_type : <0x6a> <56> DW_AT_name : arg <5a> DW_AT_location : 2 byte block: 76 70 (DW_OP_breg6 (rbp): -16) ... <1><6a>: Abbrev Number: 5 (DW_TAG_pointer_type) <6b> DW_AT_type : <0x6f> <1><6f>: Abbrev Number: 6 (DW_TAG_base_type) <70> DW_AT_byte_size : 0 <71> DW_AT_encoding : 5 (signed) <72> DW_AT_name : (indirect string, offset: 0xcb): void ... However, the function argument 'arg' does still reference a 'void' type. This case doesn't seem as obviously non-standard as the previous one, but I think that the DWARF standard (V5 5.2) does suggest that the above is not the recommended approach. If we compare to the DWARF generated by GCC 7.3.1: ... <1><68>: Abbrev Number: 5 (DW_TAG_subprogram) <69> DW_AT_external : 1 <69> DW_AT_name : (indirect string, offset: 0x221): funcx <6d> DW_AT_decl_file : 1 <6e> DW_AT_decl_line : 2 <6f> DW_AT_prototyped : 1 <6f> DW_AT_low_pc : 0x400487 <77> DW_AT_high_pc : 0x22 <7f> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <81> DW_AT_GNU_all_call_sites: 1 <81> DW_AT_sibling : <0xa0> <2><85>: Abbrev Number: 6 (DW_TAG_formal_parameter) <86> DW_AT_name : arg <8a> DW_AT_decl_file : 1 <8b> DW_AT_decl_line : 2 <8c> DW_AT_type : <0xa0> <90> DW_AT_location : 2 byte block: 91 58 (DW_OP_fbreg: -40) ... <1>: Abbrev Number: 7 (DW_TAG_pointer_type) DW_AT_byte_size : 8 ... Here we see that the DW_TAG_pointer_type doesn't reference any further type. This also seems out of line with the DWARF standard (which I think recommends using a DW_TAG_unspecified_type entry), however GDB does handle the GCC generated DWARF better. If we look at how GDB handles the DWARF from GCC, then we see this: (gdb) print *arg Attempt to dereference a generic pointer. While on the current HEAD of master dereferencing arg causes undefined behaviour which will likely crash GDB (for the same reason as was described above for the 'finish' case). On earlier versions of GDB the ICC DWARF would cause this: (gdb) print *arg $1 = 0 In this patch both the return type, and general variable/parameter type handling is fixed by transforming the synthetic void entries in the DWARF, the ones that look like this: <1><6f>: Abbrev Number: 6 (DW_TAG_base_type) <70> DW_AT_byte_size : 0 <71> DW_AT_encoding : 5 (signed) <72> DW_AT_name : (indirect string, offset: 0xcb): void into GDB's builtin void type. My criteria for performing the fix are: 1. Binary produced by any version of ICC, 2. We're producing an integer type, 3. The size is 0, and 4. The name is "void". I ignore the signed / unsigned nature of the integer. Potentially we could drop the ICC detection too, this should be a reasonably safe transformation to perform, however, I'm generally pretty nervous when it comes to modifying how the DWARF is parsed so, for now, I have restricted this to ICC only. I also added an assertion to maybe_negate_by_bytes. This is nothing to do with the actual fix, but should detect incorrect use of this function in the future, without relying on undefined behaviour to crash GDB. I added a new test that makes use the of the testsuite's DWARF generator. As it is tricky to create target independent tests that pass function parameters using the DWARF generator (as specifying the argument location is target specific) I have instead made use of a global variable void*. This still shows the issue. We already have a predicate in the DWARF parser to detect versions of ICC prior to 14, however, this issue was spotted on a later version. As a result I've added a new predicate that is true for any version of ICC. gdb/ChangeLog: * dwarf2read.c (struct dwarf2_cu): Add producer_is_icc field. (producer_is_icc): New function. (check_producer): Set producer_is_icc field on dwarf2_cu. (dwarf2_init_integer_type): New function. (read_base_type): Call dwarf2_init_integer_type instead of init_integer_type in all cases. (dwarf2_cu::dwarf2_cu): Initialise producer_is_icc field. * valprint.c (maybe_negate_by_bytes): Add an assertion that the LEN is greater than 0. gdb/testsuite/ChangeLog: * gdb.dwarf2/void-type.c: New file. * gdb.dwarf2/void-type.exp: New file. commit 664306bcceb99fbe021ceb701a7192d62234f327 Author: Andre Vieira Date: Wed Oct 31 12:08:36 2018 +0000 [GAS][ARM] Fix ARMv8.1 AdvSIMD testism This test never used to test the output of objdump as the old 'error-output' check would exit after verifying the output in stdout and stderr from the assembler. Given the use of warning_output now, the objdump runs and expects its output to be verified. Assuming the correct disassembly of these instructions is tested elsewhere given we never tested them here, this patch removes the objdump run. gas/ChangeLog 2018-10-31 Andre Vieira * testsuite/gas/arm/armv8-a+rdma-warning.d: Remove objdump execution. commit a66cf75c9cbd7ee9abfd3ca2f3a82fb32ba83387 Author: Andre Vieira Date: Wed Oct 31 12:05:19 2018 +0000 [GAS][ARM] Fix UDF testism The old test never checked the objdump output since the 'error-output' directive would exit and thus never run objdump. When this test was changed to adhere to use the new warning_output we started to run objdump. The expected objdump output was old and had bitrotten, this fixes the layout, as the "disassembly" itself did not change. gas/ChangeLog 2018-10-31 Andre Vieira * testsuite/gas/arm/udf.d: Update expected output. commit cd53832b008b25222ec55bf947e3700528ee0814 Author: Andre Vieira Date: Wed Oct 31 11:57:38 2018 +0000 [GAS][ARM] Fix failing Armv1 test This test has been failing for a while and it could be argued that since we started testing 'arm7t' here (and not Armv1) the test itself was wrong. So I changed the assembly to Armv1. Given the changes to objdump when "disassembling all" it seemed like a good idea to force the disassembly to 'armv2' instead and actually accept the disassembly of the 26-bit Architecture variants of tst, teq, cmn and cmp. gas/ChangeLog 2018-10-31 Andre Vieira * testsuite/gas/arm/armv1.d: Assemble for Armv1 and disassemble for Armv2. commit b4e093995600e8f482c10467379f9395b4871ca2 Author: GDB Administrator Date: Wed Oct 31 00:00:40 2018 +0000 Automatic date update in version.in commit c1230d1bab8e36e1aa40f3bbadcef9b5d9ddc041 Author: Joel Sherrill Date: Tue Oct 30 16:41:12 2018 +0000 [src/erc32] Use ncurses instead of termcap on Cygwin too This removes a Cygwin-specific libtermcap hack that was dependent on the presence of one of the multiple alternative libraries. The one it was hard-coded to pick isn't included with Cygwin anymore. According to Corinna, libtermcap was removed from Cygwin a long time ago, and libncurses is used in Cygwin for a long time too. The fix is to make Cygwin use the same autoconf code to figure out the correct lib as any other target. sim/erc32/Changelog: 2018-10-30 Joel Sherrill * configure.ac: Remove the Cygwin-specific libtermcap.a hack and use the standard logic to determine which library to use. * configure: Regenerate. commit 4d5d104997da3b7beaaf7920caee40dcff8a78d9 Author: Tom Tromey Date: Thu Oct 25 09:00:52 2018 -0600 Check return value of bfd_init Alan recently added a way for BFD library users to check whether they were in fact loading a compatible version of BFD: https://sourceware.org/ml/binutils/2018-10/msg00198.html It seemed reasonable to me that gdb should do this check as well, in case someone is dynamically linking against BFD. Simon pointed out that an earlier version of the patch would cause a gdb crash if the test failed. This version works around this by lowering the call to bfd_init and adding a comment explaining where 'error' can safely be called in captured_main_1. gdb/ChangeLog 2018-10-30 Tom Tromey * main.c (captured_main_1): Check return value of bfd_init. commit fd332753fa7050bb9d7c89147e32d285099fe402 Author: Sergio Durigan Junior Date: Thu Oct 25 16:46:46 2018 -0400 Remove relational operators from common/offset-type.h This patch is a follow-up of: https://sourceware.org/ml/gdb-patches/2018-10/msg00601.html It removes the declaration of the relational operators for common/offset-type.h. As it turns out, these overloads are not being used when a new offset type is declared, because, according to Pedro Alves: I think the functions aren't called because they are templates, and thus the built-in (non-template) versions take precedence. If you make them non-templates, then they should be called. But, the built-ins are fine, so yeah, we can just remove the custom definitions. The patch also adjusts the comments on the code. No regressions introduced. gdb/ChangeLog: 2018-10-29 Sergio Durigan Junior * common/offset-type.h (DEFINE_OFFSET_REL_OP): Delete. Adjust comments. commit 9c3adfb9a409a240bb4cf087f0adeb8b1472f67a Author: GDB Administrator Date: Tue Oct 30 00:00:40 2018 +0000 Automatic date update in version.in commit 80e24d09860dbeba7d435b4a4f0990f85dbc084e Author: Simon Marchi Date: Mon Oct 29 13:28:24 2018 -0400 Revert "GDBSERVER: Listen on a unix domain (instead of TCP) socket if requested." This reverts commit f19c7ff839d7a32ebb48482ae7d318fb46ca823d. commit 6a0b3457ee0c51fcc0708b630cc3cdd66226e9a6 Author: Simon Marchi Date: Mon Oct 29 13:28:15 2018 -0400 Revert "GDB: Document the unix::/path/to/socket of remote connection." This reverts commit 6d0f8100c1a3053c967bec716e34b65dd054cc39. commit 6cf3675653e477ae0755195171a6a256a2aa8ac0 Author: Simon Marchi Date: Mon Oct 29 13:24:23 2018 -0400 Revert "GDB: Fix documentation for invoking GDBSERVER" This reverts commit 0a163825df5e98ad55de13eb3d3534d875943047. commit 431f22cc098a118a862412c1bac1a8aa1bc6ceb7 Author: Simon Marchi Date: Mon Oct 29 13:22:47 2018 -0400 Revert "GDB: Remote target can now accept the form unix::/path/to/socket." This reverts commit 88f5cc8cf8606478832c7d0d7b74755f3f625015. commit 7f53228719a0111e41c66da6c9c3b2ed1fd2aab9 Author: Simon Marchi Date: Mon Oct 29 13:22:42 2018 -0400 Revert "GDB: Only build for "unix:" connections if AF_LOCAL is supported." This reverts commit 98a17ece013cb94cd602496b9efb92b8816b3953. commit 30a7953dbfe3659c7bdc5b9b4c96f46903cb0254 Author: Rainer Orth Date: Mon Oct 29 10:28:40 2018 +0100 Provide get_shell declaration in procfs.c The Solaris build is currently broken: /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In member function ‘virtual void procfs_target::create_inferior(const char*, const string&, char**, int)’: /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:3038:28: error: ‘get_shell’ was not declared in this scope const char *shell_file = get_shell (); ^~~~~~~~~ /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:3038:28: note: suggested alternative: ‘getusershell’ const char *shell_file = get_shell (); ^~~~~~~~~ getusershell The following patch fixes this. Tested on amd64-pc-solaris2.11. 2018-10-29 Rainer Orth * procfs.c: Include common/pathstuff.h. commit 727a29badd95a68d08b86fec0b98702ce756c660 Author: Alan Modra Date: Mon Oct 29 18:10:06 2018 +1030 Report scripts and libraries searched for ld --trace The idea of this change is to make -t output useful for users wanting to package all the object files involved in linking for a bug report. Something like the following should do the trick. gcc hello.c -save-temps -Wl,-t | xargs realpath | sort | uniq > files tar cJf test.tar.xz `cat files` * ldlang.c (load_symbols): When -t, print file names for script files and archives. * ldmain.c (trace_files): Make an int. (add_archive_element): Print archive elements only with multiple -t options, or when archive is thin. * ldmain.h (trace_files): Update. * ldmisc.c (vfinfo): Don't print both original path and path in sysroot. * lexsup.c (parse_args ): Increment trace_files. commit 5c87f94bb85e5b8e715aa7f947ecc602960f20ee Author: Alan Modra Date: Mon Oct 29 18:09:59 2018 +1030 Remove some ld --trace output This output really belongs in ld --verbose. * ldmain.c (main): Print emulation mode and "deleting executable" for --verbose, not --trace. (add_archive_element): Only print "no new IR symbols" for --verbose. commit 55d5520ae35a2b0ce788bd6d43dd619043e887f7 Author: Alan Modra Date: Mon Oct 29 18:09:39 2018 +1030 Simplify --sysroot=/ Prepending '/' to absolute paths doesn't gain us much, and results in the current implementation of --trace emitting silly path-in-sysroot output, eg. /lib/ld-linux-x86-64.so.2 (//lib/ld-linux-x86-64.so.2) * ldmain.c (get_sysroot): Return "" for "--sysroot=/". commit 8d1015a887c18c363d9bd707b13348daf4e5f556 Author: Alan Modra Date: Mon Oct 29 16:37:24 2018 +1030 Move struc-symbol.h to symbols.c This file was never supposed to be widely used. The fact that it has found its way into many gas files led to bugs, typically when code expecting a symbolS* to point at a struct symbol is presented with a struct local_symbol. Also, commit 158184ac9e changed these structs in 2012 but didn't catch all places where symbol bsym was being used to test for a local_symbol. * Makefile.am (HFILES): Delete struc-symbol.h. * doc/internals.texi: Delete struc-symbol.h reference and out of date local symbol description. * struc-symbol.h: Delete. Move contents to.. * symbols.c: ..here. (symbol_on_chain, symbol_symbolS): New functions. * symbols.h (symbol_on_chain, symbol_symbolS): Declare. * cgen.c: Don't #include struc-symbol.h. (gas_cgen_parse_operand): Don't test for local_symbol using bsym, instead call symbol_symbolS. Use symbol_get_bfdsym. (weak_operand_overflow_check, make_right_shifted_expr): Use symbol accessors. * config/obj-coff.c: Don't #include struc-symbol.h. (GET_FILENAME_STRING): Delete. * config/obj-elf.c: Don't #include struc-symbol.h. (elf_file_symbol): Use symbol accessors. (elf_adjust_symtab): Call symbol_on_chain. * config/obj-evax.c: Don't #include struc-symbol.h. * config/tc-nds32.c: Likewise. * config/tc-rl78.c: Likewise. * config/tc-rx.c: Likewise. * config/tc-alpha.c: Likewise. (add_to_link_pool, s_alpha_comm): Use symbol accessors. * config/tc-arc.c: Don't #include struc-symbol.h. (arc_check_relocs): Use symbol accessors, testing gas symbol section rather than bfd symbol section. * config/tc-avr.c: Don't #include struc-symbol.h. (avr_patch_gccisr_frag): Use symbol accessors. * config/tc-bfin.c: Don't #include struc-symbol.h. (bfin_loop_beginend): Use symbol accessors. * config/tc-csky.c: Don't #include struc-symbol.h. (v2_work_movih, v2_work_ori): Use symbol accessors. Check for absolute symbol as well as O_constant. * config/tc-riscv.c: Don't #include struc-symbol.h. (riscv_pre_output_hook): Use symbol accessors. * config/tc-s390.c: Don't #include struc-symbol.h. (s390_literals): Use symbol accessors. * config/tc-score.c (s3_build_la_pic, s3_build_lwst_pic): Use symbol accessors. (s3_relax_branch_inst16, s3_relax_cmpbranch_inst32): Don't test symbol bsym. * config/tc-score7.c: Don't #include struc-symbol.h. (s7_build_la_pic, s7_build_lwst_pic): Use symbol accessors. (s7_b32_relax_to_b16): Don't test symbol bsym. * config/tc-sh.c: Don't #include struc-symbol.h. (insert_loop_bounds): Use symbol accessors. (sh_frob_section): Remove bogus symbol canonicalization. * config/tc-tic54x.c: Don't #include struc-symbol.h. (tic54x_bss): Use symbol accessors. * config/tc-tilegx.c: Don't #include struc-symbol.h. (emit_tilegx_instruction, tilegx_parse_name): Use symbol accessors. * config/tc-tilepro.c: Don't #include struc-symbol.h. (emit_tilepro_instruction, tilepro_parse_name): Use accessors. * config/tc-xtensa.c: Don't #include struc-symbol.h. (xg_assemble_vliw_tokens): Use symbol accessors. (xg_order_trampoline_chain): Likewise. * ehopt.c: Don't #include struc-symbol.h. (check_eh_frame): Correct local symbol test. Use symbol accessors. * write.c: Don't #include struc-symbol.h. (create_note_reloc, maybe_generate_build_notes): Use symbol accessors. * Makefile.in: Regenerate. * po/POTFILES.in: Regenerate. commit c2e863866d9b206c387d8fdc0f1bfa9f246e4355 Author: Alan Modra Date: Fri Oct 26 10:01:54 2018 +1030 ld -r script fixes For ld -r, we generally set the VMA of sections to zero. This is done to make the output of ld -r most similar to that output by the assembler, which generally has sections starting at VMA zero. In some cases that covers for backend bugs which would mis-handle relocatable object files with non-zero section VMAs. This patch fixes a few sections that didn't have zero VMAs for ld -r. A missing zero on .note.gnu.build-id and .eh_frame_hdr doesn't matter much since these are linker generated symbols only output on final link, but it's good to be consistent. * Makefile.am (ei386beos.c, ei386go32.c): Correct dependencies. * Makefile.in: Regenerate. * scripttempl/elf.sc (.note.gnu.build-id, .eh_frame_hdr): Set address with ${RELOCATING-0}. * scripttempl/arclinux.sc: Likewise. * scripttempl/armbpabi.sc: Likewise. * scripttempl/avr.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/elf_chaos.sc: Likewise. * scripttempl/elfarc.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise. * scripttempl/mep.sc: Likewise. * scripttempl/nds32elf.sc: Likewise. * scripttempl/pru.sc: Likewise. * scripttempl/elf32msp430.sc: Likewise, and for other sections. * scripttempl/epiphany_4x4.sc: Similarly. commit 98a17ece013cb94cd602496b9efb92b8816b3953 Author: John Darrington Date: Sun Oct 28 20:14:24 2018 +0100 GDB: Only build for "unix:" connections if AF_LOCAL is supported. Commit f19c7ff839d7a32ebb48482ae7d318fb46ca823d added a new member to the prefixes array which included a use of the symbol AF_LOCAL. Unfortunately, not all systems declare this symbol. This change only compiles the "unix:" member if the system knows about AF_LOCAL. gdb/ChangeLog: * configure.ac: New test HAVE_AF_LOCAL * common/netstuff.c (parse_connection_spec) [prefixes]: Only compile "unix:" if HAVE_AF_LOCAL is true. * configure: regenerate. * config.in: regenerate. commit cad26cec079bf79d078bb92ecc6b7cf1df2e5845 Author: GDB Administrator Date: Mon Oct 29 00:00:35 2018 +0000 Automatic date update in version.in commit a3d7226832e5750211ec300c5929dc0f035a3661 Author: Andrew Burgess Date: Sun Oct 28 10:43:26 2018 +0000 gdb/riscv: Add back missing braces in riscv-linux-nat.c In this commit: commit ee67fd7f3f6ca78eede2862e309c0bcf266bbd7e Date: Thu Oct 25 12:03:31 2018 +0100 gdb/riscv: Use correct regnum in riscv_linux_nat_target::fetch_registers I incorrectly removed a set of braces in violation of the GDB coding standard. This commit adds them back. gdb/ChangeLog: * riscv-linux-nat.c (riscv_linux_nat_target::fetch_registers): Add missing braces. No functional change. commit 8fc91c409847f0d4e3e4cdac8161158fafd78636 Author: Alan Modra Date: Sun Oct 28 16:14:35 2018 +1030 Correct ChangeLog commit b0d99ba9e9c7d7967b53e271e683b7563b710dae Author: Alan Modra Date: Sun Oct 28 15:57:17 2018 +1030 PR23837, Segmentation fault in resolve_symbol_value Local symbols don't have a sy_frag field. PR 23837 * config/tc-hppa.c: Don't include struc-symbol.h. (pa_build_unwind_subspace): Call get_symbol_frag rather than referencing sy_frag. commit 9da2bd6ac9b1c15f6ba4f6e87fc8571aee8efa18 Author: GDB Administrator Date: Sun Oct 28 00:00:46 2018 +0000 Automatic date update in version.in commit cd948f5b2be612b784591dbe438dc518f6b80d61 Author: Philippe Waroquiers Date: Sat Oct 27 21:25:44 2018 +0200 OBVIOUS Use report_unrecognized_option_error in 'demangle' and 'info macro' commands. Rather than have some local logic to throw an error for an unrecognized option, use the new cli-utils.h function throwing an error. At the same time, fix some wrong indentation in info_macro_command and fix a small bug in 'demangle' error handling: Without the patch: (gdb) demangle -L c++ abcd Unrecognized option 'c++' to demangle command. Try "help demangle". (gdb) With the patch: (gdb) demangle -L c++ abcd Unrecognized option '-L' to demangle command. Try "help demangle". 2018-10-27 Philippe Waroquiers * macrocmd.c (info_macro_command): Use report_unrecognized_option_error to report a bad option and fix indentation. * demangle.c (demangle_command): Use report_unrecognized_option_error to report a bad option and correctly report the bad option. commit b50a8b9a916ea2fe1379bcd8f122feef8129a0e9 Author: Tom Tromey Date: Mon Sep 17 12:29:22 2018 -0600 Cache a copy of the user's shell on macOS Recent versions of macOS have a feature called System Integrity Protection. Among other things, This feature prevents ptrace from tracing certain programs --- for example, the programs in /bin, which includes typical shells. This means that startup-with-shell does not work properly. This is PR cli/23364. Currently there is a workaround in gdb to disable startup-with-shell when this feature might be in use. This patch changes gdb to be a bit more precise about when startup-with-shell will not work, by checking whether the shell executable is restricted. If the shell is restricted, then this patch will also cause gdb to cache a copy of the shell in the gdb cache directory, and then reset the SHELL environment variable to point to this copy. This lets startup-with-shell work again. Tested on High Sierra by trying to start a program using redirection, and by running startup-with-shell.exp. gdb/ChangeLog 2018-10-27 Tom Tromey PR cli/23364: * darwin-nat.c (copied_shell): New global. (may_have_sip): Rename from should_disable_startup_with_shell. (copy_shell_to_cache, maybe_cache_shell): New functions. (darwin_nat_target::create_inferior): Update. Use copied_shell. commit 36033ef57cd048588f9a3d5523712147066421f2 Author: Tom Tromey Date: Thu Sep 20 16:30:47 2018 -0600 Do not reopen temporary files The current callers of mkostemp close the file descriptor and then re-open it with fopen. It seemed better to me to continue to use the already-opened file descriptor, so this patch rearranges the code a little in order to do so. It takes care to ensure that the files are only unlinked after the file descriptor in question is closed, as before. gdb/ChangeLog 2018-10-27 Tom Tromey * unittests/scoped_fd-selftests.c (test_to_file): New function. (run_tests): Call test_to_file. * dwarf-index-write.c (write_psymtabs_to_index): Do not reopen temporary files. * common/scoped_fd.h (scoped_fd::to_file): New method. commit b3279b601e67ce47263082ef86cfc86e25607c5e Author: Tom Tromey Date: Thu Sep 20 16:04:04 2018 -0600 Use mkostemp, not mkstemp I noticed that gdb could leak file descriptors coming from mkstemp. This patch fixes the problem by importing the gnulib mkostemp instead, and then changing gdb to pass O_CLOEXEC. A small gnulib patch was needed. This has already been accepted upstream. gdb/ChangeLog 2018-10-27 Tom Tromey * unittests/scoped_mmap-selftests.c (test_normal): Use gdb_mkostemp_cloexec. * unittests/scoped_fd-selftests.c (test_destroy, test_release): Use gdb_mkostemp_cloexec. * gnulib/aclocal-m4-deps.mk, gnulib/aclocal.m4, gnulib/config.in, gnulib/configure, gnulib/import/Makefile.am, gnulib/import/Makefile.in, gnulib/import/m4/gnulib-cache.m4, gnulib/import/m4/gnulib-comp.m4: Update. * gnulib/import/m4/mkostemp.m4: New file. * gnulib/import/m4/mkstemp.m4: Remove. * gnulib/import/mkostemp.c: New file. * gnulib/import/mkstemp.m4: Remove. * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Remove mkstemp, add mkostemp. Apply new patch. * gnulib/import/stdlib.in.h: Apply patch. * gnulib/patches/0002-mkostemp-mkostemps-Fix-compilation-error-in-C-mode-o.patch: New file. * dwarf-index-write.c (write_psymtabs_to_index): Use gdb_mkostemp_cloexec. * common/filestuff.h (gdb_mkostemp_cloexec): New function. commit e418a61a67a3476826259163383e5deb661042cc Author: Tom Tromey Date: Mon Sep 17 10:48:20 2018 -0600 Move mkdir_recursive to common/filestuff.c This moves mkdir_recursive from dwarf-index-cache.c to common/filestuff.c, and also changes it to return a boolean that says whether or not it worked. gdb/ChangeLog 2018-10-27 Tom Tromey * unittests/mkdir-recursive-selftests.c: New file. * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add unittests/mkdir-recursive-selftests.c. * dwarf-index-cache.c (mkdir_recursive): Move to common/filestuff.c. (index_cache::store): Check return value of mkdir_recursive. (create_dir_and_check, test_mkdir_recursive): Move to new file. (_initialize_index_cache): Don't register test. * common/filestuff.h (mkdir_recursive): Declare. * common/filestuff.c (mkdir_recursive): Move from dwarf-index-cache.c. Return bool. commit 29be4d9dee1263b36e33421dd8ea69b9b7308391 Author: Tom Tromey Date: Fri Sep 14 11:28:45 2018 -0600 Move make_temp_filename to common/pathstuff.c Currently make_temp_filename is a function local to write_psymtabs_to_index. This patch moves it to pathstuff.c so that it can be used from other places in gdb. gdb/ChangeLog 2018-10-27 Tom Tromey * dwarf-index-write.c (write_psymtabs_to_index): Move make_temp_filename to common/pathstuff.c. * common/pathstuff.h (make_temp_filename): Declare. * common/pathstuff.c (make_temp_filename): New function, moved from dwarf-index-write.c. commit 974e68446388769f023c6c9bfb1e67ed75199618 Author: Tom Tromey Date: Fri Sep 14 10:35:45 2018 -0600 Unify shell-finding logic I noticed several places in gdb that were using getenv("SHELL") and then falling back to "/bin/sh" if it returned NULL. This unifies these into a single function. gdb/ChangeLog 2018-10-27 Tom Tromey * procfs.c (procfs_target::create_inferior): Use get_shell. * cli/cli-cmds.c (shell_escape): Use get_shell. * windows-nat.c (windows_nat_target::create_inferior): Use get_shell. * common/pathstuff.c (get_shell): New function. * nat/fork-inferior.c (SHELL_FILE, get_startup_shell): Remove. (fork_inferior): Use get_shell. * common/pathstuff.h (get_shell): Declare. commit c8ee3f04a66141d5fa930cd77bc53ac0bc17de32 Author: Philippe Waroquiers Date: Thu Oct 25 22:42:58 2018 +0200 Remove a bunch of usages of gdb_suppress_tests in 'runto_main'. In the 'info -q -t' patch series, I started a new test from gdb.threads/threadapply.exp, that uses an obsolete way to do runto_main. This patch changes all occurrences of runto_main using gdb_suppress_tests to use instead fail+return. Note that there are still about 220 occurrences of gdb_suppress_tests but unclear (to me) if these can be similarly trivially be replaced by a fail+return. Further cleanup can be done in follow-up patches. Tests run on Debian/x86_64. gdb/testsuite/ChangeLog 2018-10-27 Philippe Waroquiers * gdb.arch/altivec-regs.exp: Do not use gdb_suppress_tests in runto_main, use fail + return instead. gdb.arch/amd64-byte.exp: Likewise. gdb.arch/amd64-dword.exp: Likewise. gdb.arch/amd64-word.exp: Likewise. gdb.arch/e500-abi.exp: Likewise. gdb.arch/e500-regs.exp: Likewise. gdb.arch/gdb1291.exp: Likewise. gdb.arch/gdb1431.exp: Likewise. gdb.arch/i386-avx.exp: Likewise. gdb.arch/i386-byte.exp: Likewise. gdb.arch/i386-prologue.exp: Likewise. gdb.arch/i386-sse.exp: Likewise. gdb.arch/i386-word.exp: Likewise. gdb.arch/iwmmxt-regs.exp: Likewise. gdb.arch/pa-nullify.exp: Likewise. gdb.arch/powerpc-prologue.exp: Likewise. gdb.arch/s390-tdbregs.exp: Likewise. gdb.arch/vsx-regs.exp: Likewise. gdb.asm/asm-source.exp: Likewise. gdb.base/auxv.exp: Likewise. gdb.base/bigcore.exp: Likewise. gdb.base/overlays.exp: Likewise. gdb.base/savedregs.exp: Likewise. gdb.base/setshow.exp: Likewise. gdb.base/sigaltstack.exp: Likewise. gdb.base/sigbpt.exp: Likewise. gdb.base/siginfo-addr.exp: Likewise. gdb.base/siginfo-obj.exp: Likewise. gdb.base/siginfo-thread.exp: Likewise. gdb.base/siginfo.exp: Likewise. gdb.base/signull.exp: Likewise. gdb.base/sigrepeat.exp: Likewise. gdb.base/structs2.exp: Likewise. gdb.threads/threadapply.exp: Likewise. gdb.threads/watchthreads.exp: Likewise. gdb.threads/watchthreads2.exp: Likewise. commit 82b5e646c22b25862debc68a30d44957a9e5e3d3 Author: Philippe Waroquiers Date: Thu Jul 5 22:39:41 2018 +0200 Add a test case for info args|functions|locals|variables [-q] [-t TYPEREGEXP] [NAMEREGEXP] Add a test case for info args|functions|locals|variables [-q] [-t TYPEREGEXP] [NAMEREGEXP] gdb/testsuite/ChangeLog 2018-10-27 Philippe Waroquiers * gdb.base/info_qt.c: New file. * gdb.base/info_qt.exp: New file. commit e0a7911fa24e838e3e11481903dbe9c3970306d0 Author: Philippe Waroquiers Date: Sun Jul 1 23:02:41 2018 +0200 Announce changes in NEWS to info [args|functions|locals|variables] Announce changes in NEWS to info [args|functions|locals|variables] gdb/ChangeLog 2018-10-27 Philippe Waroquiers * NEWS: Mention changes to 'info [args|functions|locals|variables]' commit d321477b39b44f2b55834ceae7911563d9f5db15 Author: Philippe Waroquiers Date: Sun Jul 1 23:02:14 2018 +0200 Document changes to info [args|functions|locals|variables] Document changes to info [args|functions|locals|variables] gdb/doc/ChangeLog 2018-10-27 Philippe Waroquiers * gdb.texinfo (Information About a Frame): Document changes to 'info args' and 'info locals'. (Examining the Symbol Table): Document changes to 'info functions' and 'info variables'. commit 12615cba8411c845b33b98cc616439c66a34f03a Author: Philippe Waroquiers Date: Sun Jul 1 22:56:56 2018 +0200 Add [-q] [-t TYPEREGEXP] [NAMEREGEXP] args to info [args|functions|locals|variables] Add [-q] [-t TYPEREGEXP] [NAMEREGEXP] args to info [args|functions|locals|variables] Main changes are: * stack.c: Add two regexp preg and treg to print_variable_and_value_data and used them inside do_print_variable_and_value to filter the variables to print. * symtab.h: Add a new function bool treg_matches_sym_type_name, that factorises type matching logic. * symtab.c: Add type/name matching logic to 'info functions|variables'. * stack.c : Add type/name matching logic to 'info args|locals'. gdb/ChangeLog 2018-10-27 Philippe Waroquiers * stack.c (print_variable_and_value_data): Add preg and treg. (print_frame_local_vars): Add quiet, regexp and t_regexp arguments, and update callers. (print_frame_arg_vars): Likewise. (prepare_reg): New function. (info_locals_command): Extract info print args and use them. (info_args_command): Likewise. (_initialize_stack): Modify on-line help. * symtab.c (treg_matches_sym_type_name): New function. (search_symbols): New arg t_regexp. (symtab_symbol_info): New args quiet, regexp, t_regexp. (info_variables_command): Extract info print args and use them. (info_functions_command): Likewise. (info_types_command): Update call to symtab_symbol_info. (_initialize_symtab): Modify on-line help. * symtab.h (treg_matches_sym_type_name): New function. (search_symbols): New t_regexp arg. commit 0d4cad90ca7c4394a1799efaa79c784f84a18161 Author: Philippe Waroquiers Date: Sun Jul 1 22:46:41 2018 +0200 New cli-utils.h/.c function extract_info_print_args New cli-utils.h/.c function extract_info_print_args factorizes the extraction of the args '[-q] [-t TYPEREGEXP] [NAMEREGEXP]'. New cli-utils.h/.c function report_unrecognized_option_error factorizes reporting an unknown option for a command. These functions will be used by the commands info [args|functions|locals|variables] As extract_info_print_args will be used for 'info functions|variables' which already have the NAMEREGEXP arg, it provides a backward compatible behaviour. cli-utils.c has a new static function extract_arg_maybe_quoted that extracts an argument, possibly quoted. The behaviour of this function is similar to the parsing done by gdb_argv. gdb/ChangeLog 2018-10-27 Philippe Waroquiers * cli-utils.c (extract_arg_maybe_quoted): New function. (extract_info_print_args): New function. (info_print_args_help): New function. (report_unrecognized_option_error): New function. * cli-utils.h (extract_arg_maybe_quoted): New function. (extract_info_print_args): New function. (info_print_args_help): New function. (report_unrecognized_option_error): New function. commit 6951e9f3e219cb6867beccb48dde39530e48d582 Author: GDB Administrator Date: Sat Oct 27 00:01:21 2018 +0000 Automatic date update in version.in commit 4c39bc03545798694b4ed2a5cd5caedd7ce3cc50 Author: Tom Tromey Date: Sun Oct 14 12:18:21 2018 -0600 Remove DEF_VECs from symtab.h This removes a couple of DEF_VECs from symtab.h, replacing them with std::vector at the points of use. gdb/ChangeLog 2018-10-26 Tom Tromey * dwarf2read.c (recursively_compute_inclusions): Use std::vector. (compute_compunit_symtab_includes): Update. * symtab.h: (symtab_ptr): Remove typedef. Don't define a VEC. (compunit_symtab_ptr): Likewise. commit fd2b4de5e63ad5994baf9c57b5d0c49d1f1dd4e4 Author: John Baldwin Date: Fri Oct 26 10:20:56 2018 -0700 Treat all unknown auxv tags on FreeBSD as unknown. Previously, default_print_auxv_entry was called for any auxv entries without a known AT_FREEBSD_* tag. However, this resulted in false positive matches when FreeBSD added a new tag that has an existing AT_* tag with a different meaning. Instead, only call default_print_auxv_entry for specific tag values for which FreeBSD matches the default AT_* values. gdb/ChangeLog: * fbsd-tdep.c (fbsd_print_auxv_entry): Only use default_print_auxv_entry for specific tag values. commit d7ded98f4cf9891cf04fe6af5c90b6af6709dff8 Author: John Baldwin Date: Fri Oct 26 10:20:56 2018 -0700 Support AT_HWCAP2 on FreeBSD. include/ChangeLog: * elf/common.h (AT_FREEBSD_HWCAP2): Define. gdb/ChangeLog: * fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_FREEBSD_HWCAP2. commit 77c6f5fcdae65da0428ff75fa81059f1b5271cf0 Author: Jim Wilson Date: Fri Oct 26 10:32:58 2018 -0700 RISC-V: Linux signal frame support. Add support for recognizing signal trampolines, parsing the signal frame, and reading register values from it. gdb/ * riscv-linux-tdep.c: Include tramp-frame.h and trad-frame.h. (riscv_linux_sigframe_init): Declare. (RISCV_INST_LI_A7_SIGRETURN, RISCV_INT_ECALL): New. (riscv_linux_sigframe): New. (SIGFRAME_SIGINFO_SIZE, UCONTEXT_MCONTEXT_OFFSET): New. (riscv_linux_sigframe_init): Define. (riscv_linux_init_abi): Call tramp_frame_prepend_unwinder. commit 8a61382623e271fe2df0fe8f7558ea545db8b561 Author: Jim Wilson Date: Fri Oct 26 10:29:46 2018 -0700 RISC-V: Linux signal frame support. Make riscv_isa_flen available to the linux native code, and clean up duplicate comments. gdb/ * riscv-tdep.c (riscv_isa_xlen): Refer to riscv-tdep.h comment. (riscv_isa_flen): Likewise. Drop static. * riscv-tdep.h (riscv_isa_xlen): Move riscv-tdep.c comment to here. (riscv_isa_flen): Likewise. commit 8d619c01db64c533df3ffc706b694f293347f0d8 Author: Edjunior Barbosa Machado Date: Fri Oct 26 09:37:55 2018 -0300 [PowerPC] Add support for HTM registers This patch adds support for Hardware Transactional Memory registers for the powerpc linux native and core file targets, and for the pwoerpc linux server stub. These registers include both the HTM special-purpose registers (TFHAR, TEXASR and TFIAR) as well as the set of registers that are checkpointed (saved) when a transaction is initiated, which the processor restores in the event of a transaction failure. The set of checkpointed general-purpose registers is returned by the linux kernel in the same format as the regular general-purpose registers, defined in struct pt_regs. However, the architecture specifies that only some of the registers present in pt_regs are checkpointed (GPRs 0-31, CR, XER, LR and CTR). The kernel fills the slots for MSR and NIP with other info. The other fields usually don't have meaningful values. GDB doesn't define registers that are not checkpointed in the architecture, but when generating a core file, GDB fills the slot for the checkpointed MSR with the regular MSR. These are usually similar, although some bits might be different, and in some cases the checkpointed MSR will have a value of 0 in a kernel-generated core-file. The checkpointed NIP is filled with TFHAR by GDB in the core-file, which is what the kernel does. The other fields are set to 0 by GDB. Core files generated by the kernel have a note section for checkpointed GPRs with the same size for both 32-bit and 64-bit threads, and the values for the registers of a 32-bit thread are squeezed in the first half, with no useful data in the second half. GDB generates a smaller note section for 32-bit threads, but can read both sizes. The checkpointed XER is required to be 32-bit in the target description documentation, even though the more recent ISAs define it as 64-bit wide, since the high-order 32-bits are reserved, and because in Linux there is no way to get a 64-bit checkpointed XER for 32-bit threads. If this changes in the future, the target description feature requirement can be relaxed to allow for a 64-bit checkpointed XER. Access to the checkpointed CR (condition register) can be confusing. The architecture only specifies that CR fields 1 to 7 (the 24 least significant bits) are checkpointed, but the kernel provides all 8 fields (32 bits). The value of field 0 is not masked by ptrace, so it will sometimes show the result of some kernel operation, probably treclaim., which sets this field. The checkpointed registers are marked not to be saved and restored. Inferior function calls during an active transaction don't work well, and it's unclear what should be done in this case. TEXASR and TFIAR can be altered asynchronously, during transaction failure recording, so they are also not saved and restored. For consistency neither is TFHAR. Record and replay also doesn't work well when transactions are involved. This patch doesn't address this, so the values of the HTM SPRs will sometimes be innacurate when the record/relay target is enabled. For instance, executing a "tbegin." alters TFHAR and TEXASR, but these changes are not currently recorded. Because the checkpointed registers are only available when a transaction is active (or suspended), ptrace can return ENODATA when gdb tries to read these registers and the inferior is not in a transactional state. The registers are set to the unavailable state when this happens. When gbd tries to write to one of these registers, and it is unavailable, an error is raised. The "fill" functions for checkpointed register sets in the server stub are not implemented for the same reason as for the EBB register set, since ptrace can also return ENODATA for checkpointed regsets. The same issues with 'G' packets apply here. Just like for the EBB registers, tracepoints will not mark the checkpointed registers as unavailable if the inferior was not in a transaction, so their content will also show 0 instead of when inspecting trace data. The new tests record the values of the regular registers before stepping the inferior through a "tbegin." instruction to start a transaction, then the checkpointed registers are checked against the recorded pre-transactional values. New values are written to the checkpointed registers and recorded, the inferior continues until the transaction aborts (which is usually immediately when it is resumed), and the regular registers are checked against the recorded values, because the abort should have reverted the registers to these values. Like for the EBB registers, target_store_registers will ignore the checkpointed registers when called with -1 as the regno argument (store all registers in one go). gdb/ChangeLog: 2018-10-26 Edjunior Barbosa Machado Pedro Franco de Carvalho * arch/ppc-linux-tdesc.h (tdesc_powerpc_isa207_htm_vsx32l) (tdesc_powerpc_isa207_htm_vsx64l): Declare. * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_TM_SPRREGSET) (PPC32_LINUX_SIZEOF_CGPRREGSET, PPC64_LINUX_SIZEOF_CGPRREGSET) (PPC_LINUX_SIZEOF_CFPRREGSET, PPC_LINUX_SIZEOF_CVMXREGSET) (PPC_LINUX_SIZEOF_CVSXREGSET, PPC_LINUX_SIZEOF_CPPRREGSET) (PPC_LINUX_SIZEOF_CDSCRREGSET, PPC_LINUX_SIZEOF_CTARREGSET): Define. (struct ppc_linux_features) : New field. (ppc_linux_no_features): Add initializer for htm field. * arch/ppc-linux-common.c (ppc_linux_match_description): Return new tdescs. * nat/ppc-linux.h (PPC_FEATURE2_HTM, NT_PPC_TM_CGPR) (NT_PPC_TM_CFPR, NT_PPC_TM_CVMX, NT_PPC_TM_CVSX) (NT_PPC_TM_SPR, NT_PPC_TM_CTAR, NT_PPC_TM_CPPR, NT_PPC_TM_CDSCR): Define if not already defined. * features/Makefile (WHICH): Add rs6000/powerpc-isa207-htm-vsx32l and rs6000/powerpc-isa207-htm-vsx64l. (XMLTOC): Add rs6000/powerpc-isa207-htm-vsx32l.xml and rs6000/powerpc-isa207-htm-vsx64l.xml. * features/rs6000/power-htm-spr.xml: New file. * features/rs6000/power-htm-core.xml: New file. * features/rs6000/power64-htm-core.xml: New file. * features/rs6000/power-htm-fpu.xml: New file. * features/rs6000/power-htm-altivec.xml: New file. * features/rs6000/power-htm-vsx.xml: New file. * features/rs6000/power-htm-ppr.xml: New file. * features/rs6000/power-htm-dscr.xml: New file. * features/rs6000/power-htm-tar.xml: New file. * features/rs6000/powerpc-isa207-htm-vsx32l.xml: New file. * features/rs6000/powerpc-isa207-htm-vsx64l.xml: New file. * features/rs6000/powerpc-isa207-htm-vsx32l.c: Generate. * features/rs6000/powerpc-isa207-htm-vsx64l.c: Generate. * regformats/rs6000/powerpc-isa207-htm-vsx32l.dat: Generate. * regformats/rs6000/powerpc-isa207-htm-vsx64l.dat: Generate. * ppc-linux-nat.c (fetch_register, fetch_ppc_registers): Call fetch_regset with HTM regsets. (store_register, store_ppc_registers): Call store_regset with HTM regsets. (ppc_linux_nat_target::read_description): Set htm field in the features struct if needed. * ppc-linux-tdep.c: Include features/rs6000/powerpc-isa207-htm-vsx32l.c and features/rs6000/powerpc-isa207-htm-vsx64l.c. (ppc32_regmap_tm_spr, ppc32_regmap_cgpr, ppc64_le_regmap_cgpr) (ppc64_be_regmap_cgpr, ppc32_regmap_cfpr, ppc32_le_regmap_cvmx) (ppc32_be_regmap_cvmx, ppc32_regmap_cvsx, ppc32_regmap_cppr) (ppc32_regmap_cdscr, ppc32_regmap_ctar): New globals. (ppc32_linux_tm_sprregset, ppc32_linux_cgprregset) (ppc64_be_linux_cgprregset, ppc64_le_linux_cgprregset) (ppc32_linux_cfprregset, ppc32_le_linux_cvmxregset) (ppc32_be_linux_cvmxregset, ppc32_linux_cvsxregset) (ppc32_linux_cpprregset, ppc32_linux_cdscrregset) (ppc32_linux_ctarregset): New globals. (ppc_linux_cgprregset, ppc_linux_cvmxregset): New functions. (ppc_linux_collect_core_cpgrregset): New function. (ppc_linux_iterate_over_regset_sections): Call back with the htm regsets. (ppc_linux_core_read_description): Check if the tm spr section is present and set htm in the features struct. (_initialize_ppc_linux_tdep): Call initialize_tdesc_powerpc_isa207_htm_vsx32l and initialize_tdesc_powerpc_isa207_htm_vsx64l. * ppc-linux-tdep.h (ppc_linux_cgprregset, ppc_linux_cvmxregset): Declare. (ppc32_linux_tm_sprregset, ppc32_linux_cfprregset) (ppc32_linux_cvsxregset, ppc32_linux_cpprregset) (ppc32_linux_cdscrregset, ppc32_linux_ctarregset): Declare. * ppc-tdep.h (struct gdbarch_tdep) : New fields. : Likewise. : Likewise. : Likewise. (enum) : New enum fields. : Likewise. : Likewise. : Likewise. : Likewise. : Likewise. : Likewise. (PPC_IS_TMSPR_REGNUM, PPC_IS_CKPTGP_REGNUM, PPC_IS_CKPTFP_REGNUM) (PPC_IS_CKPTVMX_REGNUM, PPC_IS_CKPTVSX_REGNUM): Define. * rs6000-tdep.c (IS_CDFP_PSEUDOREG, IS_CVSX_PSEUDOREG) (IS_CEFP_PSEUDOREG): Define. (rs6000_register_name): Hide the upper halves of checkpointed VSX registers. Return names for the checkpointed DFP, VSX, and EFP pseudo registers. (rs6000_pseudo_register_type): Remove initial assert and raise an internal error in the else clause instead. Return types for the checkpointed DFP, VSX, and EFP pseudo registers. (dfp_pseudo_register_read, dfp_pseudo_register_write): Handle checkpointed DFP pseudo registers. (vsx_pseudo_register_read, vsx_pseudo_register_write): Handle checkpointed VSX pseudo registers. (efp_pseudo_register_read, efp_pseudo_register_write): Rename from efpr_pseudo_register_read and efpr_pseudo_register_write. Handle checkpointed EFP pseudo registers. (rs6000_pseudo_register_read, rs6000_pseudo_register_write): Handle checkpointed DFP, VSX, and EFP registers. (dfp_ax_pseudo_register_collect, vsx_ax_pseudo_register_collect) (efp_ax_pseudo_register_collect): New functions. (rs6000_ax_pseudo_register_collect): Move DFP, VSX and EFP pseudo register logic to new functions. Handle checkpointed DFP, VSX, and EFP pseudo registers. (rs6000_gdbarch_init): Look for and validate the htm features. Include checkpointed DFP, VSX and EFP pseudo-registers. * NEWS: Mention access to PPR, DSCR, TAR, EBB/PMU registers and HTM registers. gdb/gdbserver/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * configure.srv (ipa_ppc_linux_regobj): Add powerpc-isa207-htm-vsx32l-ipa.o and powerpc-isa207-htm-vsx64l-ipa.o. (powerpc*-*-linux*): Add powerpc-isa207-htm-vsx32l.o and powerpc-isa207-htm-vsx64l.o to srv_regobj. Add rs6000/power-htm-spr.xml, rs6000/power-htm-core.xml, rs6000/power64-htm-core.xml, rs6000/power-htm-fpu.xml, rs6000/power-htm-altivec.xml, rs6000/power-htm-vsx.xml, rs6000/power-htm-ppr.xml, rs6000/power-htm-dscr.xml, rs6000/power-htm-tar.xml, rs6000/powerpc-isa207-htm-vsx32l.xml, and rs6000/powerpc-isa207-htm-vsx64l.xml to srv_xmlfiles. * linux-ppc-tdesc-init.h (enum ppc_linux_tdesc) : New enum value. (init_registers_powerpc_isa207_htm_vsx32l) (init_registers_powerpc_isa207_htm_vsx64l): Declare. * linux-ppc-low.c (ppc_fill_tm_sprregset, ppc_store_tm_sprregset) (ppc_store_tm_cgprregset, ppc_store_tm_cfprregset) (ppc_store_tm_cvrregset, ppc_store_tm_cvsxregset) (ppc_store_tm_cpprregset, ppc_store_tm_cdscrregset) (ppc_store_tm_ctarregset): New functions. (ppc_regsets): Add entries for HTM regsets. (ppc_arch_setup): Set htm in features struct when needed. Set sizes for the HTM regsets. (ppc_get_ipa_tdesc_idx): Return PPC_TDESC_ISA207_HTM_VSX. (initialize_low_arch): Call init_registers_powerpc_isa207_htm_vsx32l and init_registers_powerpc_isa207_htm_vsx64l. * linux-ppc-ipa.c (get_ipa_tdesc): Handle PPC_TDESC_ISA207_HTM_VSX. (initialize_low_tracepoint): Call init_registers_powerpc_isa207_htm_vsx32l and init_registers_powerpc_isa207_htm_vsx64l. gdb/testsuite/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * gdb.arch/powerpc-htm-regs.c: New file. * gdb.arch/powerpc-htm-regs.exp: New file. gdb/doc/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * gdb.texinfo (PowerPC Features): Describe new features "org.gnu.gdb.power.htm.spr", "org.gnu.gdb.power.htm.core", "org.gnu.gdb.power.htm.fpu", "org.gnu.gdb.power.htm.altivec", "org.gnu.gdb.power.htm.vsx", "org.gnu.gdb.power.htm.ppr", "org.gnu.gdb.power.htm.dscr", "org.gnu.gdb.power.htm.tar". commit 81ab84fd6cdaab121988e0c424f8cdc0ae472e14 Author: Pedro Franco de Carvalho Date: Fri Oct 26 09:37:55 2018 -0300 [PowerPC] Reject tdescs with VSX and no FPU or Altivec Currently rs6000_gdbarch_init will accept a tdesc with the "org.gnu.gdb.power.vsx" feature but without the "org.gnu.gdb.power.altivec" or "org.gnu.gdb.power.fpu". It isn't clear from the standard features documentation that these are requirements. However, these tdescs would cause trouble in the VSX pseudo-register functions, so this patch will cause them to be rejected. gdb/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * rs6000-tdep.c (rs6000_gdbarch_init): Reject tdescs with vsx but without altivec or fpu. commit 232bfb8644f0a083969d8359a37bc23764642611 Author: Edjunior Barbosa Machado Date: Fri Oct 26 09:37:54 2018 -0300 [PowerPC] Add support for EBB and PMU registers This patch adds support for registers of the Event Based Branching and Performance Monitoring Units for the powerpc linux native and core file targets, and for the powerpc linux server stub. All three EBB registers are accessible. Only a subset of the PMU registers can be accessed through ptrace. Because of this, the PMU registers are enumerated individually in gdbarch_tdep, as opposed to having a single "have_pmu" flag. This is intended to make it easier to add additional PMU registers in the future, since checking a "have_pmu" flag elsewhere in the code would no longer be correct. The tdesc feature is named org.gnu.gdb.power.linux.pmu because of this. It's unclear if it makes sense to save and restore these registers across function calls, since some of them can be modified asynchronously. They are also not tracked in record-replay mode. The kernel can return ENODATA when ptrace is used to get the EBB registers, unless a linux performance event that uses EBB is open in the inferior. For this reason, the "fill" functions in the server stub for the ebb register sets is not implemented. Since gdbserver writes all registers in one go before resuming the inferior, this error would not be detected at the time the user tries to write to one of the registers on the client side, and gdbserver would print out warnings every time it resumes the inferior when no ebb performance event is opened, so there is currently no straightforward way to handle this case. This means the ebb registers in the client-side regcache can become dirty when the user tries to write to them, until the inferior is resumed and stopped again. A related issue is that 'G' packets used to write to unrelated registers will include bad data for the EBB registers if they are unavailable, since no register status information is included in the 'G' packet. This data won't be written to the inferior by the gdbserver stub because the "fill" functions are not implemented, and currently the gdbserver stub doesn't change the status of the registers in its own regcache in response to 'G' packets. Another limitation for the ebb registers is that traceframes don't record if registers are available or not, so if these registers are collected when a tracepoint is hit and the inferior has no ebb event opened, the user will see zero values for all of them, instead of the usual . Because these registers are often unavailable, trying to store them with target_store_registers with -1 for the regno argument (all registers) would almost always fail, so they are ignored in this case. gdb/ChangeLog: 2018-10-26 Edjunior Barbosa Machado Pedro Franco de Carvalho * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_EBBREGSET) (PPC_LINUX_SIZEOF_PMUREGSET): Declare. * nat/ppc-linux.h (PPC_FEATURE2_EBB, NT_PPC_EBB, NT_PPC_PMU): Define if not already defined. * features/rs6000/power-ebb.xml: New file. * features/rs6000/power-linux-pmu.xml: New file. * features/rs6000/powerpc-isa207-vsx32l.xml: Include ebb and pmu features. * features/rs6000/powerpc-isa207-vsx64l.xml: Likewise. * features/rs6000/powerpc-isa207-vsx32l.c: Re-generate. * features/rs6000/powerpc-isa207-vsx64l.c: Re-generate. * regformats/rs6000/powerpc-isa207-vsx32l.dat: Re-generate. * regformats/rs6000/powerpc-isa207-vsx64l.dat: Re-generate. * ppc-linux-nat.c (fetch_register, fetch_ppc_registers): Call fetch_regset with ebb and pmu regsets. (store_register, store_ppc_registers): Call store_regset with ebb and pmu regsets. (ppc_linux_nat_target::read_description): Set isa207 field in the features struct if ebb and pmu are avaiable. * ppc-linux-tdep.c (ppc32_regmap_ebb, ppc32_regmap_pmu) (ppc32_linux_ebbregset, ppc32_linux_pmuregset): New globals. (ppc_linux_iterate_over_regset_sections): Call back with the ebb and pmu regsets. (ppc_linux_core_read_description): Check if the pmu section is present and set isa207 in the features struct. * ppc-linux-tdep.h (ppc32_linux_ebbregset) (ppc32_linux_pmuregset): Declare. * ppc-tdep.h (struct gdbarch_tdep) : New field. : New fields. : New field. (enum): : New enum values. : New enum values. : New enum values. (PPC_IS_EBB_REGNUM, PPC_IS_PMU_REGNUM): Define. * rs6000-tdep.c (rs6000_gdbarch_init): Look for and validate the ebb and pmu features. gdb/gdbserver/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * configure.srv (powerpc*-*-linux*): Add rs6000/power-ebb.xml and rs6000/power-linux-pmu.xml to srv_xmlfiles. * linux-ppc-low.c (ppc_store_ebbregset, ppc_fill_pmuregset) (ppc_store_pmuregset): New functions. (ppc_regsets): Add entries for ebb and pmu regsets. (ppc_arch_setup): Set isa207 in features struct if the ebb and pmu regsets are available. Set sizes for these regsets. gdb/doc/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * gdb.texinfo (PowerPC Features): Describe new features "org.gnu.gdb.power.ebb" and "org.gnu.gdb.power.linux.pmu". commit f2cf6173f33bbb562881c571bfecd129fe94b158 Author: Edjunior Barbosa Machado Date: Fri Oct 26 09:37:54 2018 -0300 [PowerPC] Add support for TAR This patch adds support for the Target Address Register for powerpc linux native and core file targets, and in the powerpc linux server stub. gdb/ChangeLog: 2018-10-26 Edjunior Barbosa Machado Pedro Franco de Carvalho * arch/ppc-linux-tdesc.h (tdesc_powerpc_isa207_vsx32l) (tdesc_powerpc_isa207_vsx64l): Declare. * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_TARREGSET): Define. (struct ppc_linux_features) : New field. (ppc_linux_no_features): Add initializer for isa207 field. * arch/ppc-linux-common.c (ppc_linux_match_description): Return new tdescs. * nat/ppc-linux.h (PPC_FEATURE2_ARCH_2_07, PPC_FEATURE2_TAR) (NT_PPC_TAR): Define if not already defined. * features/Makefile (WHICH): Add rs6000/powerpc-isa207-vsx32l and rs6000/powerpc-isa207-vsx64l. (XMLTOC): Add rs6000/powerpc-isa207-vsx32l.xml and rs6000/powerpc-isa207-vsx64l.xml. * features/rs6000/power-tar.xml: New file. * features/rs6000/powerpc-isa207-vsx32l.xml: New file. * features/rs6000/powerpc-isa207-vsx64l.xml: New file. * features/rs6000/powerpc-isa207-vsx32l.c: Generate. * features/rs6000/powerpc-isa207-vsx64l.c: Generate. * regformats/rs6000/powerpc-isa207-vsx32l.dat: Generate. * regformats/rs6000/powerpc-isa207-vsx64l.dat: Generate. * ppc-linux-nat.c (fetch_register, fetch_ppc_registers): Call fetch_regset with the TAR regset. (store_register, store_ppc_registers): Call store_regset with the TAR regset. (ppc_linux_nat_target::read_description): Set isa207 field in the features struct if needed. * ppc-linux-tdep.c: Include features/rs6000/powerpc-isa207-vsx32l.c and features/rs6000/powerpc-isa207-vsx64l.c. (ppc32_regmap_tar, ppc32_linux_tarregset): New globals. (ppc_linux_iterate_over_regset_sections): Call back with the tar regset. (ppc_linux_core_read_description): Check if the tar section is present and set isa207 in the features struct. (_initialize_ppc_linux_tdep): Call initialize_tdesc_powerpc_isa207_vsx32l and initialize_tdesc_powerpc_isa207_vsx64l. * ppc-linux-tdep.h (ppc32_linux_tarregset): Declare. * ppc-tdep.h (gdbarch_tdep) : New field. (enum) : New enum value. * rs6000-tdep.c (rs6000_gdbarch_init): Look for and validate tar feature. (ppc_process_record_op31): Record changes to TAR. gdb/gdbserver/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * configure.srv (ipa_ppc_linux_regobj): Add powerpc-isa207-vsx64l-ipa.o and powerpc-isa207-vsx32l-ipa.o. (powerpc*-*-linux*): Add powerpc-isa207-vsx32l.o and powerpc-isa207-vsx64l.o to srv_regobj, add rs6000/power-tar.xml, rs6000/powerpc-isa207-vsx32l.xml, and rs6000/powerpc-isa207-vsx64l.xml to srv_xmlfiles. * linux-ppc-tdesc-init.h (enum ppc_linux_tdesc) : New enum value. (init_registers_powerpc_isa207_vsx32l): Declare. (init_registers_powerpc_isa207_vsx64l): Declare. * linux-ppc-low.c (ppc_fill_tarregset): New function. (ppc_store_tarregset): New function. (ppc_regsets): Add entry for the TAR regset. (ppc_arch_setup): Set isa207 in features struct when needed. Set size for the TAR regsets. (ppc_get_ipa_tdesc_idx): Return PPC_TDESC_ISA207_VSX. (initialize_low_arch): Call init_registers_powerpc_isa207_vsx32l and init_registers_powerpc_isa207_vsx64l. * linux-ppc-ipa.c (get_ipa_tdesc): Handle PPC_TDESC_ISA207_VSX. (initialize_low_tracepoint): Call init_registers_powerpc_isa207_vsx32l and init_registers_powerpc_isa207_vsx64l. gdb/testsuite/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * gdb.arch/powerpc-tar.c: New file. * gdb.arch/powerpc-tar.exp: New file. gdb/doc/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * gdb.texinfo (PowerPC Features): Describe new feature "org.gnu.gdb.power.tar". commit 7ca18ed6d22398dd3009ba72d3a1e7747e40753d Author: Edjunior Barbosa Machado Date: Fri Oct 26 09:37:54 2018 -0300 [PowerPC] Add support for PPR and DSCR This patch adds gdb support for the Program Priorty Register and the Data Stream Control Register, for the powerpc linux native and core file targets, and for the powerpc linux server stub. gdb/ChangeLog: 2018-10-26 Edjunior Barbosa Machado Pedro Franco de Carvalho * arch/ppc-linux-tdesc.h (tdesc_powerpc_isa205_ppr_dscr_vsx32l) (tdesc_powerpc_isa205_ppr_dscr_vsx64l): Declare. * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_PPRREGSET) (PPC_LINUX_SIZEOF_DSCRREGSET): Define. (struct ppc_linux_features) : New field. (ppc_linux_no_features): Add initializer for ppr_dscr field. * arch/ppc-linux-common.c (ppc_linux_match_description): Return new tdescs. * nat/ppc-linux.h (PPC_FEATURE2_DSCR, NT_PPC_PPR, NT_PPC_DSCR): Define if not already defined. * features/Makefile (WHICH): Add rs6000/powerpc-isa205-ppr-dscr-vsx32l and rs6000/powerpc-isa205-ppr-dscr-vsx64l. (XMLTOC): Add rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml and rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml. * features/rs6000/power-dscr.xml: New file. * features/rs6000/power-ppr.xml: New file. * features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml: New file. * features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml: New file. * features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c: Generate. * features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c: Generate. * regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat: Generate. * regformats/rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat: Generate. * ppc-linux-nat.c: Include . (fetch_regset, store_regset, check_regset): New functions. (fetch_register, fetch_ppc_registers): Call fetch_regset with DSCR and PPR regsets. (store_register, store_ppc_registers): Call store_regset with DSCR and PPR regsets. (ppc_linux_get_hwcap2): New function. (ppc_linux_nat_target::read_description): Call ppc_linux_get_hwcap2 and check_regset, set ppr_dscr field in the features struct if needed. * ppc-linux-tdep.c: Include features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c and features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c. (ppc32_regmap_ppr, ppc32_regmap_dscr, ppc32_linux_pprregset) (ppc32_linux_dscrregset): New globals. (ppc_linux_iterate_over_regset_sections): Call back with the ppr and dscr regsets. (ppc_linux_core_read_description): Check if the ppr and dscr sections are present and set ppr_dscr in the features struct. (_initialize_ppc_linux_tdep): Call initialize_tdesc_powerpc_isa205_ppr_dscr_vsx32l and initialize_tdesc_powerpc_isa205_ppr_dscr_vsx64l. * ppc-linux-tdep.h (ppc32_linux_pprregset) (ppc32_linux_dscrregset): Declare. * ppc-tdep.h (struct gdbarch_tdep) : New field. : New field. (enum) : New enum values. * rs6000-tdep.c (rs6000_gdbarch_init): Look for and validate ppr and dscr features. (ppc_process_record_op31): Record changes to PPR and DSCR. gdb/gdbserver/ChangeLog: 2018-10-26 Edjunior Barbosa Machado Pedro Franco de Carvalho * configure.srv (ipa_ppc_linux_regobj): Add powerpc-isa205-ppr-dscr-vsx32l-ipa.o and powerpc-isa205-ppr-dscr-vsx64l-ipa.o. (powerpc*-*-linux*): Add powerpc-isa205-ppr-dscr-vsx32l.o and powerpc-isa205-ppr-dscr-vsx64l.o to srv_regobj, add rs6000/power-dscr.xml, rs6000/power-ppr.xml, rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml and rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml to srv_xmlfiles. * linux-ppc-tdesc-init.h (enum ppc_linux_tdesc) : New enum value. (init_registers_powerpc_isa205_ppr_dscr_vsx32l) (init_registers_powerpc_isa205_ppr_dscr_vsx64l): Declare. * linux-ppc-low.c: Include "elf/common.h" and . (ppc_hwcap): Add comment. (ppc_hwcap2): New global. (ppc_check_regset, ppc_fill_pprregset, ppc_store_pprregset) (ppc_fill_dscrregset, ppc_store_dscrregset): New functions. (ppc_regsets): Add entries for the DSCR and PPR regsets. (ppc_arch_setup): Get AT_HWCAP2. Set ppr_dscr in features struct when needed. Set sizes for the the DSCR and PPR regsets. (ppc_get_ipa_tdesc_idx): Return PPC_TDESC_ISA205_PPR_DSCR_VSX. (initialize_low_arch): Call init_registers_powerpc_isa205_ppr_dscr_vsx32l and init_registers_powerpc_isa205_ppr_dscr_vsx64l. * linux-ppc-ipa.c (get_ipa_tdesc): Handle PPC_TDESC_ISA205_PPR_DSCR_VSX. (initialize_low_tracepoint): Call init_registers_powerpc_isa205_ppr_dscr_vsx32l and init_registers_powerpc_isa205_ppr_dscr_vsx64l. gdb/testsuite/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * gdb.arch/powerpc-ppr-dscr.c: New file. * gdb.arch/powerpc-ppr-dscr.exp: New file. gdb/doc/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * gdb.texinfo (PowerPC Features): Describe new features "org.gnu.gdb.power.ppr" and "org.gnu.gdb.power.dscr". commit 93b4691f0fe1f8249de3c3f9d2e271cb0ba3254e Author: Pedro Franco de Carvalho Date: Fri Oct 26 09:37:54 2018 -0300 [PowerPC] Refactor have_ initializers in rs6000-tdep.c This patch refactors a series of initializers in rs6000_gdbarch_init for clarity. The have_fpu initializer is also changed to set the variable to 0, like the other similar variables. This doesn't affect program behavior. gdb/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * rs6000-tdep.c (rs6000_gdbarch_init): Replace line wrapping by a second initializer line for the have_* variables. Initialize have_fpu to 0 instead of 1. commit 71733a7bf696fd54b1c75a2c9c16fd61819c0ddb Author: Pedro Franco de Carvalho Date: Fri Oct 26 09:37:54 2018 -0300 [PowerPC] Fix indentation in arch/ppc-linux-common.c This patch parenthesizes the tdesc selection expressions in arch/ppc-linux-common.c so that they can be tab-indented. gdb/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * arch/ppc-linux-common.c (ppc_linux_match_description): Parenthesize tdesc assignements and indent them properly. commit 3d907528ca584b522125ce4ac818f45dfe7a9a24 Author: Pedro Franco de Carvalho Date: Fri Oct 26 09:37:54 2018 -0300 [PowerPC] Fix two if statements in gdb/ppc-linux-nat.c This patch changes two if statements to else if statements in ppc-linux-nat.c:fetch_register for clarity. gdb/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * ppc-linux-nat.c (fetch_register): Change if statement to else if. (store_register): Likewise. commit 500f01a0e2f79d64cc08011ad70c6ffa1e1c7694 Author: Pedro Franco de Carvalho Date: Fri Oct 26 09:37:53 2018 -0300 [PowerPC] Remove rs6000_pseudo_register_reggroup_p This patch removes rs6000_pseudo_register_reggroup_p. Group membership for the pseudoregisters can be detected through their types in default_register_reggroup_p through tdesc_register_reggroup_p. gdb/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * rs6000-tdep.c: Remove reggroups.h include. (rs6000_pseudo_register_reggroup_p): Remove. (rs6000_gdbarch_init): Remove call to set_tdesc_pseudo_register_reggroup_p. commit 7ed29001c4a965520f6a243ec7ad41c156f96a20 Author: Pedro Franco de Carvalho Date: Fri Oct 26 09:37:53 2018 -0300 Add decfloat registers to float reggroup This patch changes default_register_reggroup_p to return true when the register type is decimal floating point and the reggroup is float_reggroup. gdb/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * reggroups.c (default_register_reggroup_p): Return true for decfloat registers and float_reggroup. commit 5c849b222b154cd5f481fee9d6f3971bd2eeddc2 Author: Pedro Franco de Carvalho Date: Fri Oct 26 09:37:53 2018 -0300 [PowerPC] Don't zero-initialize vector register buffers Now that linux-tdep.c already zero-initializes the buffer used for generating core file notes, there is no need to do this in the linux collect functions for the vector regset. The memsets in gdbserver were not useful to begin with. gdb/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * ppc-linux-tdep.c (ppc_linux_collect_vrregset): Remove. (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): Replace ppc_linux_collect_vrregset by regcache_collect_regset. gdb/gdbserver/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * linux-ppc-low.c (ppc_fill_vrregset): Remove memset calls. commit afde3032dde478a2bbb2e0c4b0cb4256b27eb949 Author: Pedro Franco de Carvalho Date: Fri Oct 26 09:37:53 2018 -0300 Zero-initialize linux note sections This patches changes linux-tdep.c so that the buffer used to write note sections when generating a core file is zero-initialized. This way, bytes that are not collected won't contain random data (e.g. padding bytes). gdb/ChangeLog: 2018-10-26 Pedro Franco de Carvalho * linux-tdep.c (linux_collect_regset_section_cb): Use std::vector instead of char * and malloc for buf. Remove xfree. commit b971899198607b844f5a37e39dc561766c3b331a Author: Sangamesh Mallayya Date: Fri Oct 26 15:31:36 2018 +0530 Fix SYMBOL_LANGUAGE assertion failure on AIX. commit 0b0eff8b1d8b4fe51ad3a14f60816f98bc0e963a Author: Andrew Burgess Date: Tue Oct 23 12:10:23 2018 +0100 gdb/riscv: Remove redundant code, and catch more errors when accessing MISA When reading the MISA register, the RISC-V specification says that, if MISA can't be found then a default value of 0 should be assumed. As such, this patch ensures that GDB ignores errors when accessing both the new and old locations for the MISA register. Additionally, this patch removes an unneeded flag parameter which didn't provide any additional functionality beyond checking the MISA for the default value of 0. gdb/ChangeLog: * riscv-tdep.c (riscv_read_misa_reg): Update comment, remove READ_P parameter, catch and ignore register access errors from either the old or new MISA location. (riscv_has_feature): Update call to riscv_read_misa_reg. commit e8138a6b782685a5b5b262b793cea90ebaec1d37 Author: GDB Administrator Date: Fri Oct 26 00:00:32 2018 +0000 Automatic date update in version.in commit b69e1ff3507b3ba841f59dcf9bb121fcdd78044e Author: Christoph Conrads Date: Thu Oct 25 21:21:41 2018 +0200 ELF: update ld man page on `--gc-sections` Commit 91ae256e33 fixes the behavior of ld when `--gc-sections` and `--gc-keep-exported` are both given on the linker command line. This updates the ld documentation to suit. * ld.texi (--gc-sections): Update. commit ac732bc9fd501d1e9288b6087848cc3ecabafe0c Author: Tom de Vries Date: Thu Oct 25 16:09:57 2018 +0200 [gdb/testsuite] Move valgrind-db-attach.{c,exp} to valgrind-bt.{c,exp} Now that valgrind-db-attach.exp no longer use --db-attach, rename valgrind-db-attach.{c,exp} to valgrind-bt.{c,exp}. 2018-10-25 Tom de Vries * gdb.base/valgrind-db-attach.c: Rename to ... * gdb.base/valgrind-bt.c: ... this. * gdb.base/valgrind-db-attach.exp: Rename to ... * gdb.base/valgrind-bt.exp: ... this. commit bfcc0eba9e66f3793feecc059f80e97d03dbdbef Author: Tom de Vries Date: Thu Oct 25 11:03:23 2018 +0200 [gdb/testsuite] Rewrite valgrind-db-attach.exp to use vgdb The valgrind option --db-attach has been deprecated in version 3.10.0, and removed in version 3.11.0, so the valgrind-db-attach.exp testcase is unsupported starting version 3.11.0. Rewrite the test-case to use vgdb instead (making it supported starting version 3.7.0). Tested on x86_64-linux with and without --target_board=native-gdbserver. 2018-10-25 Tom de Vries * gdb.base/valgrind-db-attach.exp: Rewrite to use vgdb. commit b352ceb6b4fc9f026944d307704076d1e6894de9 Author: Andrew Burgess Date: Mon Sep 10 12:05:22 2018 +0100 gdb/python: Make convert_values_to_python return gdbpy_ref<> Make convert_values_to_python return a gdbpy_ref<> directly rather than building a gdbpy_ref<>, releasing it, and then having a new gdbpy_ref<> created to hold the result. I also added a header comment to convert_values_to_python. gdb/ChangeLog: * python/py-function.c (convert_values_to_python): Return gdbpy_ref<>. Add header comment. (fnpy_call): Adjust. commit 50db9ef4c014d28dd64b2d660b043a40224a1a27 Author: Andrew Burgess Date: Mon Sep 10 11:48:28 2018 +0100 gdb/python: Make cmdpy_completer_helper return gdbpy_ref<> Make cmdpy_completer_helper return a gdbpy_ref<> directly rather than building a gdbpy_ref<>, releasing it, and then having a new gdbpy_ref<> created to hold the result. gdb/ChangeLog: * python/py-cmd.c (cmdpy_completer_helper): Return gdbpy_ref<>. (cmdpy_completer_handle_brkchars): Adjust. (cmdpy_completer): Adjust. commit ee67fd7f3f6ca78eede2862e309c0bcf266bbd7e Author: Andrew Burgess Date: Thu Oct 25 12:03:31 2018 +0100 gdb/riscv: Use correct regnum in riscv_linux_nat_target::fetch_registers In riscv_linux_nat_target::fetch_registers, if we are asked to supply all registers (regnum parameter is -1), then we currently end up calling regcache::raw_supply_zeroed with the regnum -1, which is invalid. Instead we should be passing the regnum of the specific register we wish to supply zeroed, in this case RISCV_CSR_MISA_REGNUM. I removed the extra { ... } block in line with the coding standard while editing this area. gdb/ChangeLog: * riscv-linux-nat.c (riscv_linux_nat_target::fetch_registers): Pass correct regnum to raw_supply_zeroed. commit 0a640d719684f25bdb88ae60148c6978e6131701 Author: H.J. Lu Date: Wed Oct 24 18:08:13 2018 -0700 ELF: Hide symbols defined in discarded input sections When assigning symbol version, we should hide debug symbols defined in discarded sections from IR objects so that they can be removed later. bfd/ PR ld/23818 * elflink.c (_bfd_elf_link_assign_sym_version): Hide symbols defined in discarded input sections. ld/ PR ld/23818 * testsuite/ld-plugin/lto.exp: Run PR ld/23818 test. * testsuite/ld-plugin/pr23818.d: New file. * testsuite/ld-plugin/pr23818.t: Likewise. * testsuite/ld-plugin/pr23818a.c: Likewise. * testsuite/ld-plugin/pr23818b.c: Likewise. commit 0e139b87870258ce666826efd14fafd543c778d0 Author: GDB Administrator Date: Thu Oct 25 00:00:43 2018 +0000 Automatic date update in version.in commit fe1a5cad302b5535030cdf62895e79512713d738 Author: Tom de Vries Date: Wed Oct 24 12:54:33 2018 +0200 [gdb/testsuite] Log wait status on process no longer exists error Proc gdb_test_multiple can run into a process no longer exists error, but when that happens it shows no details about the process: ... ERROR: Process no longer exists ... Fix this by showing the wait status of the process in the log: ... ERROR: GDB process no longer exists GDB process exited with wait status 8106 exp8 0 0 CHILDKILLED SIGSEGV \ {segmentation violation} ... In order to run the wait commmand we need an explicit pid, so we can't use any_spawn_id, and duplicate the "-i any_spawn_id eof" pattern for gdb_spawn_id, and add the wait status logging there. Build and tested on x86_64-linux. 2018-10-24 Tom de Vries * lib/gdb.exp (gdb_test_multiple): Log wait status on process no longer exists error. commit 8c246a60c08d82066b16973bcd622e671300eb02 Author: Alan Modra Date: Wed Oct 24 15:08:28 2018 +1030 cmse_scan segfault elf_sym_hashes for as-needed libs will be zeroed if the library is found to be not needed. More than that, the local symbols for such a library should not be considered by cmse_scan. * elf32-arm.c (elf32_arm_size_stubs): Ignore as-needed libs that were not needed. commit a76dc3b7705c5c85efc00521ebfac49e80c3fedf Author: Tom de Vries Date: Tue Oct 23 23:54:21 2018 +0200 [gdb/testsuite] Rewrite catch-follow-exec.exp using gdb_test The testcase catch-follow-exec.exp is written use gdb -batch in order to avoid a GDB SIGTTOU. After the commit of "Avoid GDB SIGTTOU on catch exec + set follow-exec-mode new (PR 23368)", that no longer is necessary. Rewrite the test using regular gdb_test commands. Tested with x86_64-linux. 2018-10-24 Tom de Vries * gdb.base/catch-follow-exec.exp: Rewrite using gdb_test. commit 4df46df7a4643c0f6f93a2739c4b7bc0e83bcdce Author: Tom de Vries Date: Wed Oct 24 09:49:44 2018 +0200 [gdb/testsuite] Handle removed valgrind option --db-attach When running valgrind-db-attach.exp with valgrind version 3.13.0, we get: ... PASS: gdb.base/valgrind-db-attach.exp: spawn valgrind valgrind: Unknown option: --db-attach=yes valgrind: Use --help for more information or consult the user manual. ERROR: Process no longer exists UNRESOLVED: gdb.base/valgrind-db-attach.exp: valgrind started ... The valgrind option --db-attach has been deprecated in version 3.10.0, and removed in version 3.11.0. Fix valgrind-db-attach.exp to replace the ERROR/UNRESOLVED with: ... UNSUPPORTED: gdb.base/valgrind-db-attach.exp: valgrind started ... Tested on x86_64-linux. 2018-10-24 Tom de Vries * gdb.base/valgrind-db-attach.exp: Handle removed support for --db-attach in valgrind. commit 20784627bfe0a33e954f8af786eb3a518ace5dff Author: GDB Administrator Date: Wed Oct 24 00:00:40 2018 +0000 Automatic date update in version.in commit bea556ab08927862bc2e052d3b93f1d82055d37e Author: Hafiz Abid Qadeer Date: Tue Oct 23 23:16:58 2018 +0100 Fix failing cooked_read selftest for CSKY. The problem was discussed and approved in https://sourceware.org/ml/gdb-patches/2018-10/msg00514.html 2018-10-23 Hafiz Abid Qadeer * regcache.c (cooked_read_test): Add CSKY to the list of architectures with a save_reggroup commit 35ed81d4f45855b98ea0c517b396662c3ae2a8c5 Author: Simon Marchi Date: Tue Oct 23 17:00:33 2018 -0400 Avoid GDB SIGTTOU on catch exec + set follow-exec-mode new (PR 23368) Here's a summary of PR 23368: #include int main (void) { char *exec_args[] = { "/bin/ls", NULL }; execve (exec_args[0], exec_args, NULL); } $ gdb -nx t -ex "catch exec" -ex "set follow-exec-mode new" -ex run ... [1] + 13146 suspended (tty output) gdb -q -nx t -ex "catch exec" -ex "set follow-exec-mode new" -ex run $ Here's what happens: when the inferior execs with "follow-exec-mode new", we first "mourn" it before creating the new one. This ends up calling inflow_inferior_exit, which sets the per-inferior terminal state to "is_ours": inf->terminal_state = target_terminal_state::is_ours; At this point, the inferior's terminal_state is is_ours, while the "reality", tracked by gdb_tty_state, is is_inferior (GDB doesn't own the terminal). Later, we continue processing the exec inferior event and decide we want to stop (because of the "catch exec") and call target_terminal::ours to make sure we own the terminal. However, we don't actually go to the target backend to change the settings, because the core thinks that no inferior owns the terminal (inf->terminal_state is target_terminal_state::is_ours, as checked in target_terminal_is_ours_kind, for both inferiors). When something in readline tries to mess with the terminal settings, it generates a SIGTTOU. This patch fixes this by tranferring the state of the terminal from the old inferior to the new inferior. gdb/ChangeLog: PR gdb/23368 * infrun.c (follow_exec): In the follow_exec_mode_new case, transfer terminal state from old new new inferior. * terminal.h (swap_terminal_info): New function. * inflow.c (swap_terminal_info): New function. commit 79b8d3b090bcbfbcffa8bdd195476c6db172273b Author: Tom Tromey Date: Sat Jul 28 14:19:09 2018 -0600 Fix use-after-free in record_btrace_start_replaying -fsanitize=address showed a use-after-free in record_btrace_start_replaying. The bug occurred because get_thread_current_frame returned a frame_info, but this object was then invalidated before the return by ~scoped_restore_current_thread. This patch fixes the problem by renaming get_thread_current_frame and having it return a frame id. gdb/ChangeLog 2018-10-23 Tom Tromey * record-btrace.c (get_thread_current_frame_id): Rename from get_thread_current_frame. Return a frame_id. (record_btrace_start_replaying): Update. commit f47998d69f8d290564c022b010e63d5886a1fd7d Author: Andreas Krebbel Date: Tue Oct 23 18:02:37 2018 +0200 S/390: Support vector alignment hints This patch adds the vector alignment hints to the vector load and store instructions as documented in the IBM z14 Principles of Operations manual: http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr011.pdf opcodes/ChangeLog: 2018-10-23 Andreas Krebbel * s390-opc.txt: Add vector load/store instructions with additional alignment parameter. gas/ChangeLog: 2018-10-23 Andreas Krebbel * config/tc-s390.c (md_gather_operands): Fix for optional operands following memory addresses. * testsuite/gas/s390/zarch-arch12.d: Add regexp checks for new instruction variants. * testsuite/gas/s390/zarch-arch12.s: Emit new instruction variants. commit 51d21d60b37f1e1a0aa6fd1f5439b22591fa6d5f Author: John Darrington Date: Mon Jul 9 20:54:26 2018 +0200 GDB: New target s12z gdb/ * configure.tgt: Add configuration for s12z. * s12z-tdep.c: New file. * NEWS: Mention new target. commit 88f5cc8cf8606478832c7d0d7b74755f3f625015 Author: John Darrington Date: Sat Oct 13 18:12:01 2018 +0200 GDB: Remote target can now accept the form unix::/path/to/socket. Allow target remote to use the unix::/path/to/socket syntax as well as just plain /path/to/socket gdb/ * ser-uds.c (uds_open): Use parse_connection_spec to deal with the comm form unix::/path/to/socket. * serial.c (serial_open): Consider the "unix:" prefix when deciding which interface to use. commit 0a163825df5e98ad55de13eb3d3534d875943047 Author: John Darrington Date: Sat Oct 13 17:27:05 2018 +0200 GDB: Fix documentation for invoking GDBSERVER The documentation did not mention the possibility of invoking gdbserver with the new connection forms such as tcp6:host:port. This change fixes that. gdb/doc/ * gdb.texinfo (Server): Tabulate the various permitted forms of the @var{comm} metasyntactical variable. Include the unix:@var{host}:@var{socket} form as one of them. commit 6d0f8100c1a3053c967bec716e34b65dd054cc39 Author: John Darrington Date: Sat Oct 13 16:48:01 2018 +0200 GDB: Document the unix::/path/to/socket of remote connection. gdb/doc: * gdb.texinfo (Connecting)[Remote Connection Commands]: Provide alternative unix::/tmp/xxx example. Include @code{unix::@var{local-socket}} in the list of remote and extended-remote syntaxes. commit f19c7ff839d7a32ebb48482ae7d318fb46ca823d Author: John Darrington Date: Sat Sep 22 12:35:41 2018 +0200 GDBSERVER: Listen on a unix domain (instead of TCP) socket if requested. When invoking gdbserver, if the COMM parameter takes the form "unix::/path/name" then a local (unix) domain socket will be created with that name and gdbserver will listen for connections on that. gdb/ * NEWS: Mention new feature. gdb/gdbserver/ * configure.ac (AC_CHECK_HEADERS): Add sys/un.h. * configure: Regenerate. * remote-utils.c (remote_prepare): Create a local socket if requested. (remote_open): Don't attempt to open a file if it's a socket. (handle_accept_event): Display the name of the socket on connection. gdb/common/ * netstuff.c (parse_connection_spec)[prefixes]: New member for local domain sockets. commit 2849d19feb458ade67cdcc6a82f0e7b1be99b46b Author: John Darrington Date: Wed Oct 3 12:26:42 2018 +0200 S12Z: New 32 bit Reloc. Third party tools produce 32 bit relocs at index 6 with strange properties. This change moves the existing 32 bit reloc (R_S12Z_EXT32) to index 7 and introduces a new one (R_S12Z_CW32) at index 6 to try to support code generated by these tools. * bfd/elf32-s12z.c (elf_s12z_howto_table) [R_S12Z_CW32]: New member. * binutils/readelf.c (is_32bit_abs_reloc): Reloc type 7 is also 32 bit. * include/elf/s12z.h (elf_s12z_reloc_tpe) [RELOC_NUMBER (R_S12Z_CW32)]: New enum. commit 405b61965ff7608840cfda36083c1be1f926ccdb Author: John Darrington Date: Tue Oct 23 15:33:18 2018 +0200 S12Z: Handle 16 bit fixups which are constant. Commit 1f38083f425e03faf55595414daf291306738222 added a test to check that the assembler handled fixups with resolved to constant values. We were not handling this in the case of 16 bit values. This change fixes that. * gas/config/tc-s12z.c (md_apply_fix): Handle BFD_RELOC_16 commit 420ecd9ce8a3d61f950bf24d8d7b8827d09f59db Author: Andrew Burgess Date: Tue Oct 23 13:23:34 2018 +0100 gdb/riscv: Give user-friendly names for CSRs The recent commit: commit 0dbfcfffe9abbc5198bce95eb8c66b6bc9b364be Date: Tue Oct 16 22:40:09 2018 +0100 gdb/riscv: Fix register access for register aliases broke the CSR names for RISC-V, now all of the CSRs have names like, csr0, csr1, csr2, etc. This commit restores the previous user-friendly names. gdb/ChangeLog: * riscv-tdep.c (riscv_register_name): Use the user-friendly names for CSRs. commit 45a0eaf77022963d639d6d19871dbab7b79703fc Author: Alan Modra Date: Tue Oct 23 19:02:06 2018 +1030 PR23806, NULL pointer dereference in merge_strings PR 23806 * merge.c (_bfd_add_merge_section): Don't attempt to merge sections with ridiculously large alignments. commit 102def4da826b3d9e169741421e5e67e8731909a Author: Alan Modra Date: Tue Oct 23 18:30:22 2018 +1030 PR23805, NULL pointer dereference in elf_link_input_bfd 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. commit ab419ddbb2cdd17ca83618990f2cacf904ce1d61 Author: Alan Modra Date: Tue Oct 23 18:29:24 2018 +1030 PR23804, buffer overflow in sec_merge_hash_lookup PR 23804 * merge.c (_bfd_add_merge_section): Don't attempt to merge sections where size is not a multiple of entsize. commit 8e3152af14a91df65af8e922a0e8e77c60ed99ba Author: Alan Modra Date: Tue Oct 23 15:50:43 2018 +1030 alpha testsuite fixes Fixes a couple of ERROR results due to .set difference on alpha. * testsuite/ld-elf/shared.exp: Don't build pr19073 test on alpha. * testsuite/ld-elf/pr18720b.c: Don't use .set on alpha. commit 5a77b1b49f49cc5cfdb30727d8fc1bf456cad429 Author: Joel Brobecker Date: Tue Oct 23 11:27:50 2018 +0100 gdb/riscv: expect h/w watchpoints to trigger before the memory is written When using QEMU as a RISCV simulator, hardware watchpoint events are reported to GDB before the target memory gets written. GDB currently expects the event to be reported after it is written. As a result of this mismatch, upon receiving the event, GDB sees that the target memory region has not changed, and therefore decides to ignore the event. It therefore resumes the program's execution with a continue, which is the start of an infinite loop between QEMU repeatedly reporting the same watchpoint event over and over, and GDB repeatedly ignoring it. This patch fixes the issue by telling GDB to expect the watchpoint event to be reported ahead of the memory region being modified. Upon receiving the event, GDB then single-steps the program before checking the watched memory value. gdb/ChangeLog: * riscv-tdep.c (riscv_gdbarch_init): Set the gdbarch's have_nonsteppable_watchpoint attribute to 1. commit 0dbfcfffe9abbc5198bce95eb8c66b6bc9b364be Author: Andrew Burgess Date: Tue Oct 16 22:40:09 2018 +0100 gdb/riscv: Fix register access for register aliases Some confusion over how the register names and aliases are setup in riscv means that we currently can't access registers through their architectural name. This commit fixes this issue, and moves some of the csr register handling out of the alias handling code and deals with it separately. This has the benefit that we can now directly access some arrays rather than having to iterate over them. A new test is added to ensure that register aliases now work correctly. gdb/ChangeLog: * riscv-tdep.c (riscv_gdb_reg_names): Update comment, and all register names. (struct register_alias): Rename to... (struct riscv_register_alias): ...this, and update comment. (riscv_register_aliases): Update type, and alias names. Remove CSR names from this list. (riscv_register_name): Use riscv_gdb_reg_names for int and float register names. Add an extra assertion. (riscv_is_regnum_a_named_csr): New function. (riscv_register_reggroup_p): Use riscv_is_regnum_a_named_csr. gdb/testsuite/ChangeLog: * gdb.arch/riscv-reg-aliases.c: New file. * gdb.arch/riscv-reg-aliases.exp: New file. commit ba37fe2e8b13194a1ef216f4224d7521e748e1cf Author: GDB Administrator Date: Tue Oct 23 00:00:53 2018 +0000 Automatic date update in version.in commit 3399f1b3030c3419859f1230bc66a981154d176d Author: Jim Wilson Date: Mon Oct 22 14:11:55 2018 -0700 RISC-V: NaN-box FP values smaller than an FP register. The hardware requires that values in FP registers be NaN-boxed, so we must extend them with 1's instead of 0's as we do for integer values. gdb/ * riscv-tdep.c (riscv_push_dummy_call) : Check for value in FP reg smaller than FP reg size, and fill with -1 instead of 0. commit 270b9329b713fdc166f95dfa3a0a2f72f3a49608 Author: Jim Wilson Date: Mon Oct 22 14:10:13 2018 -0700 RISC-V: Print FP regs as union of float types. A 64-bit FP register can hold either a single or double float value, so print it as both types by using a union type for FP registers. Likewise for 128-bit regs which can also hold long double. gdb/ * riscv-tdep.c (riscv_fpreg_d_type, riscv_fpreg_q_type): New. (riscv_register_type): Use them. (riscv_print_one_register_info): Handle union of floats same as float. * riscv-tdep.h (struct gdbarch_tdep): Add riscv_fpreg_d_type and riscv_fpreg_q_type fields. commit 192c2bfbd7a6d4b2069f6b94b020d274a483c198 Author: John Darrington Date: Mon Oct 22 16:59:47 2018 +0200 S12Z: Disassembly: Fallback to show the address if the symbol table is empty. * opcodes/s12z-dis.c (decode_possible_symbol): Add fallback case. (rel_15_7): Likewise. commit 1f38083f425e03faf55595414daf291306738222 Author: Alan Modra Date: Mon Oct 22 13:49:21 2018 +1030 gas simple-forward test Tests that target md_apply_fix can handle fixups that have resolved down to a constant and thus do not need relocations. Also a fix for eqv-dot xfails. * testsuite/gas/all/simple-forward.d, * testsuite/gas/all/simple-forward.s: New test. * testsuite/gas/all/gas.exp: Run it. * testsuite/gas/all/eqv-dot.d: xfail tic30 and tic54x. commit e1748c54a200f45d6e88c232ca97171be23ba0b0 Author: Alan Modra Date: Mon Oct 22 20:30:40 2018 +1030 Apply alpha BFD_RELOC_8 fixups * config/tc-alpha.c (md_apply_fix): Handle BFD_RELOC_8 for fixups without a symbol. * testsuite/gas/all/gas.exp: Don't xfail forward test here.. * testsuite/gas/all/forward.d: ..do so here, removing alpha. commit 38cf168be5816b098cc05abffc482fc905db86a2 Author: Alan Modra Date: Sat Oct 20 22:22:37 2018 +1030 PR23040, .uleb128 directive doesn't accept some valid expressions What a trip down a rabbit hole this bug has been. First observation: You can't use deferred_expression in s_leb128. deferred_expression implements the semantics of .eqv or '==', saving an expression with minimal simplification for assignment to a symbol so that the expression is evaluated at uses of the symbol. In particular, the value of "dot" is not evaluated at the .eqv symbol assignment, but later. When s_leb128 uses deferred_expression, "later" is at the end of assembly, giving entirely the wrong value of "dot". There is no way to fix this for the s_leb128 use without breaking .equ (which incidentally was already somewhat broken, see commit e4c2619ad1). So, don't use deferred_expression in s_leb128. But that leads to the gas test elf/dwarf2-17 failing, because view symbols are calculated with a chain of expression symbols. In the dwarf2-17 .L1 case there is a "temp_sym_1 > temp_sym_2" expression, with temp_sym_1 and temp_sym_2 on either side of a ".balign". Since ".balign" and many other directives moving "dot" are not calculated on the first (and only) pass over source, .L1 cannot be calculated until final addresses are assigned to frags. However, ".uleb128 .L1" *is* calculated immediately, resulting in the wrong value. The reason why .L1 is calculated immediately is that code in expr.c:operand after the comment /* If we have an absolute symbol or a reg, then we know its value now. */ does as it says and fixes the value of .L1, because .L1 is assigned to absolute_section in dwarf2dbg.c:set_or_check_view. So, correct that to expr_section. Unfortunately that fix leads to failure of the elf/dwarf2-5 test with ../gas/elf/dwarf2-5.s: Error: attempt to get value of unresolved symbol `.L5' ../gas/elf/dwarf2-5.s: Error: attempt to get value of unresolved symbol `.L11' ../gas/elf/dwarf2-5.s: Error: attempt to get value of unresolved symbol `.L12' So why is that? Well, it turns out that .L5 is defined in terms of .L4, and apparently .L4 is undefined. But .L4 clearly is defined, otherwise we would hit an error when trying to use .L4 a little earlier. There are two copies of .L4! So, symbols are cloned when that should not happen. Symbol cloning is a technique used by gas to support saving the value of symbols that change between uses, but that isn't the case with .L4. Only one value is set and used for .L4, but indeed .L4 was being cloned by symbol_clone_if_forward_ref. This despite no forward refs being present. Also, .L4 is a local symbol and a cursory glance at symbol_clone_if_forward_ref "if (symbolP && !LOCAL_SYMBOL_CHECK (symbolP))" would seem to prevent cloning of local symbols. All is not as it seems though, a curse of using macros. LOCAL_SYMBOL_CHECK modifies its argument if a "struct local_symbol" is converted to the larger "struct symbol", as happens when assigning a view symbol value. That fact results in the recursive call to symbol_clone_if_forward_ref returning a different address for "add_symbol". This problem could have been fixed by using symbol_same_p rather than comparing symbol pointers, but I thought it better to use the real symbol throughout. Note that symbol_find_exact also returns the real symbol for a converted local symbol. Finally, this patch does expose lack of support for forward symbol definitions in various targets. For example: alpha-linux +ERROR: ../ld/testsuite/ld-elf/pr11138-2.c: compilation failed This is caused by view symbol uses. On alpha-linux-gcc (GCC) 8.1.1 20180502 they happen to occur in .byte directives so were silently broken in cases like elf/dwarf2-17 anyway. /tmp/ccvtsMfU.s: Assembler messages: /tmp/ccvtsMfU.s: Fatal error: unhandled relocation type BFD_RELOC_8 /tmp/ccvtsMfU.s: Fatal error: unhandled relocation type BFD_RELOC_8 md_apply_fix on those targets needs to handle fixups that resolve down to a constant. PR 23040 * symbols.c (get_real_sym): New function. (symbol_same_p): Use get_real_sym. (symbol_clone_if_forward_ref): Save real original add_symbol and op_symbol for comparison against that returned from lookup or recursive calls. * dwarf2dbg.c (set_or_check_view): Use expr_section for expression symbols, not absolute_section. (dwarf2_directive_loc): Check symbol_equated_p and tidy cloning of view symbols. * read.c (s_leb128): Don't use deferred_expression. commit f6efe3f842e72e23ec6d8a57d683ce90d2e89785 Author: Simon Marchi Date: Sun Oct 21 22:29:21 2018 -0400 Introduce gdbarch_num_cooked_regs The expression gdbarch_num_regs (gdbarch) + gdbarch_num_pseudo_regs (gdbarch) is used quite often to find the number of cooked registers (raw + pseudo registers). This patch introduces gdbarch_num_cooked_regs, which does the equivalent. It substantially reduces required wrapping in some places, so should improve readability. There is a for loop in m68hc11_frame_unwind_cache that had iterated until (the equivalent of) gdbarch_num_cooked_regs (gdbarch) - 1. During review, we concluded that this is most likely an off-by-one mistake, so I replaced it with gdbarch_num_cooked_regs (gdbarch). gdb/ChangeLog: * gdbarch.sh (gdbarch_num_cooked_regs): New. * gdbarch.h: Re-generate. * ax-gdb.c (gen_expr): Use gdbarch_num_cooked_regs. * dwarf2-frame.c (dwarf2_frame_cache): Likewise. * eval.c (evaluate_subexp_standard): Likewise. * findvar.c (value_of_register): Likewise. (value_of_register_lazy): Likewise. (address_from_register): Likewise. * frame.c (get_frame_register_bytes): Likewise. * gdbarch-selftests.c (register_to_value_test): Likewise. * h8300-tdep.c (h8300_register_type): Likewise. * i386-tdep.c (i386_dbx_reg_to_regnum): Likewise. (i386_svr4_reg_to_regnum): Likewise. * infcmd.c (default_print_registers_info): Likewise. (registers_info): Likewise. (print_vector_info): Likewise. (default_print_float_info): Likewise. * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Likewise. * mdebugread.c (mdebug_reg_to_regnum): Likewise. * mi/mi-main.c (mi_cmd_data_list_register_names): Likewise. (mi_cmd_data_list_changed_registers): Likewise. (mi_cmd_data_list_register_values): Likewise. (mi_cmd_data_write_register_values): Likewise. (mi_cmd_trace_frame_collected): Likewise. * mips-tdep.c (print_gp_register_row): Likewise. (mips_print_registers_info): Likewise. * nds32-tdep.c (nds32_gdbarch_init): Likewise. * regcache.c (init_regcache_descr): Likewise. (register_size): Likewise. (register_dump::dump): Likewise. (cooked_read_test): Likewise. (cooked_write_test): Likewise. * rs6000-tdep.c (rs6000_register_sim_regno): Likewise. (rs6000_gdbarch_init): Likewise. * stabsread.c (stab_reg_to_regnum): Likewise. * stack.c (info_frame_command): Likewise. * target-descriptions.c (tdesc_register_name): Likewise. * trad-frame.c (trad_frame_alloc_saved_regs): Likewise. * tui/tui-regs.c (tui_show_register_group): Likewise. * user-regs.c (user_reg_map_name_to_regnum): Likewise. (user_reg_map_regnum_to_name): Likewise. (value_of_user_reg): Likewise. (maintenance_print_user_registers): Likewise. * xtensa-tdep.c (xtensa_find_register_by_name): Likewise. (xtensa_register_name): Likewise. (xtensa_register_type): Likewise. (xtensa_reg_to_regnum): Likewise. (xtensa_pseudo_register_read): Likewise. (xtensa_pseudo_register_write): Likewise. commit 925047fed0d6ab86e6fe86d3e22e1aa9dde7b3eb Author: Simon Marchi Date: Sun Oct 21 22:09:24 2018 -0400 Allocate buffer with proper size in amd64_pseudo_register_{read_value,write} Running "maintenance selftest" on an amd64 build with AddressSanitizer enabled, I get this: ==18126==ERROR: AddressSanitizer: dynamic-stack-buffer-overflow on address 0x7ffdf72397c1 at pc 0x7fb5f437b011 bp 0x7ffdf7239740 sp 0x7ffdf7238ee8 WRITE of size 8 at 0x7ffdf72397c1 thread T0 #0 0x7fb5f437b010 in __interceptor_memcpy /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:737 #1 0x55a1f899c1b3 in readable_regcache::raw_read(int, unsigned char*) /home/simark/src/binutils-gdb/gdb/regcache.c:530 #2 0x55a1f7db241b in amd64_pseudo_register_read_value /home/simark/src/binutils-gdb/gdb/amd64-tdep.c:384 #3 0x55a1f8413a2e in gdbarch_pseudo_register_read_value(gdbarch*, readable_regcache*, int) /home/simark/src/binutils-gdb/gdb/gdbarch.c:1992 #4 0x55a1f899c9d1 in readable_regcache::cooked_read(int, unsigned char*) /home/simark/src/binutils-gdb/gdb/regcache.c:636 #5 0x55a1f89a2251 in cooked_read_test /home/simark/src/binutils-gdb/gdb/regcache.c:1649 In amd64_pseudo_register_read_value, when we try to read the al register, for example, we need to read rax and extract al from it. We allocate a buffer of the size of al (1 byte): gdb_byte *raw_buf = (gdb_byte *) alloca (register_size (gdbarch, regnum)); but read in it the whole rax value (8 bytes): status = regcache->raw_read (gpnum, raw_buf); Fix it by allocating a buffer correctly sized for the full register from which the smaller register is extracted. The amd64_pseudo_register_write function had the same problem. gdb/ChangeLog: * amd64-tdep.c (amd64_pseudo_register_read_value): Use correctly-sized buffer with raw_read. (amd64_pseudo_register_write): Use correctly-sized buffer for raw_read/raw_write. commit df80d00c5f4da112b6803ce472c1396c0c4a342b Author: GDB Administrator Date: Mon Oct 22 00:00:58 2018 +0000 Automatic date update in version.in commit b8265d61940e9e61db1c7d48c9981b50670d81a2 Author: GDB Administrator Date: Sun Oct 21 00:01:05 2018 +0000 Automatic date update in version.in commit 4051d2d65a73f02cfd2baebf8803fe2880dbd76c Author: Philippe Waroquiers Date: Sat Oct 20 23:00:52 2018 +0200 [PUSHED/OBVIOUS] ensure help set print type gives the correct help. Without this patch: (gdb) help set print type Generic command for setting how types print. List of show print type subcommands: show print type methods -- Set printing of methods defined in classes ... With this patch: (gdb) h set print type Generic command for setting how types print. List of set print type subcommands: set print type methods -- Set printing of methods defined in classes ... commit d6677607c2e96c28178467894fa3fe9ba6db7c27 Author: Tom Tromey Date: Sat Oct 20 12:18:20 2018 -0600 Fix "make info" in gdb "make info" in gdb was broken by my last patch. This fixes it. Tested by rebuilding; committing as obvious. gdb/doc/ChangeLog 2018-10-20 Tom Tromey * gdb.texinfo (TUI Commands): Add @end table. (TUI Configuration): Remove stray @end table. commit 1a088a2e2628409832326254ce1c42ccf671e847 Author: John Darrington Date: Sat Oct 13 20:07:34 2018 +0200 GDB: Documentation: Remove greengrocer's apostrophe. gdb/doc/gdb.texinfo (gdbserver man): "it's symbol" --> its symbol. commit e4c2619ad1f31cf73d275b027e8c0cf9c6e9597a Author: Alan Modra Date: Sat Oct 20 11:12:46 2018 +1030 PR23800, .eqv doesn't always defer expression evaluation .eqv (and ==) ought not simplify expressions involving dot or other symbols set by .eqv. If such simplification occurs, the value of dot will be that at the assignment rather than at the place where the symbol is used. PR 23800 * expr.c (expr): Don't simplify expressions involving forward_ref symbols when mode is expr_defer. * config/tc-spu.c (spu_cons): Parse expression using normal expression evaluation if @ppu is not detected. * testsuite/gas/all/eqv-dot.d, * testsuite/gas/all/eqv-dot.s: New test. * testsuite/gas/all/gas.exp: Run it. commit ac85e67c053f1555def2c111962f4e68740794f9 Author: Alan Modra Date: Sat Oct 20 00:02:17 2018 +1030 PR23788, objcopy: failed to find link section Symbol tables can change when a number of objcopy options are used. I figure string tables are similarly changeable. PR 23788 * elf.c (section_match): Don't require a size match for SHT_SYMTAB or SHT_STRTAB. commit 91ae256e33f7c068443d877fe3e2b2ffd91cf60b Author: Alan Modra Date: Fri Oct 19 23:59:11 2018 +1030 Relax a -r --gc-sections requirement A symbol root is not needed if --gc-keep-exported is also given. * ldlang.c (lang_end): Don't error if no --entry or --undefined is given with -r -gc-sections if --gc-keep-exported. commit fe19e45ff30986ed0751332b2128c0737efd2838 Author: GDB Administrator Date: Sat Oct 20 00:00:40 2018 +0000 Automatic date update in version.in commit 7806cea72329a354c36ed8b2177d03f9d5e2673f Author: Tom Tromey Date: Sun Sep 2 19:41:41 2018 -0600 Deprecate and replace the "tabset" command The "tabset" command sets the tab width as used by the TUI for source and disassembly display. This command has long seemed to be misnamed to me. It is more in keeping with gdb design to call it "set tui tab-width". Also, making this change allows for the corresponding "show" command to work. gdb/ChangeLog 2018-10-19 Tom Tromey PR tui/18388: * NEWS: Mention tabset deprecation. * tui/tui-win.c (tui_tab_width, internal_tab_width): New globals. (update_tab_width): New function. (tui_set_tab_width, tui_show_tab_width): New functions. (tui_set_tab_width_command): Use update_tab_width. (_initialize_tui_win): Move to end of file. Deprecate "tabset". Add new "set tui tab-width" command. * tui/tui-source.c (tui_set_source_content): Update. * tui/tui-disasm.c (tui_set_disassem_content): Update. * tui/tui-data.h (tui_default_tab_len, tui_set_default_tab_len): Don't declare. (tui_tab_width): Declare. * tui/tui-data.c (default_tab_len, tui_default_tab_len) (tui_set_default_tab_len): Remove. gdb/doc/ChangeLog 2018-10-19 Tom Tromey PR tui/18388: * gdb.texinfo (TUI Commands): Remove tabset documentation. (TUI Configuration): Document "set tui tab-width". commit 84371624ada07e6f107ee14c48a609466055fe0d Author: Tom Tromey Date: Sat Sep 1 18:44:33 2018 -0600 Minor cleanups in tui-io.c I noticed that a couple of functions in tui-io.c could be static, and that a couple more were unused and could be removed. gdb/ChangeLog 2018-10-19 Tom Tromey * tui/tui-io.h (key_is_start_sequence, key_is_end_sequence) (key_is_backspace, tui_getc): Don't declare. * tui/tui-io.c (key_is_start_sequence): Now static. (key_is_end_sequence, key_is_backspace): Remove. (tui_getc): Now static. commit 22ad8107d35d833db000e5a5050c0f53af7af51f Author: Tom Tromey Date: Thu Jul 26 17:54:00 2018 -0600 Clear static_links in reread_symbols -fsanitize=address pointed out a use-after free in objfile_register_static_link. The bug turned out to be that reread_symbols does not clear the static_links field; this leaves a hash table that is filled with freed pointers. Jan's (now quite old) idea of replacing reread_symbols with a simple delete/new still seems good to me, and it's worth noting that it would have avoided this bug. Tested by the buildbot and by observing the change with -fsanitize=address. gdb/ChangeLog 2018-10-19 Tom Tromey * symfile.c (reread_symbols): Clear "static_links". commit bacb77d0188ff37bacdbb211edd7e2419406b864 Author: Tamar Christina Date: Fri Oct 19 16:18:37 2018 +0100 Arm: Skip new binary decode tests on pe targets The two new test I added require the use of the ".inst" directive which the PE targets don't support. Because of that I excluded *-unknown-pe but the mask needs to be wider. I am now excluding *-*-pe. gas/ChangeLog: * testsuite/gas/arm/undefined-insn-arm.d: Widen pe skip. * testsuite/gas/arm/undefined-insn-thumb.d: Likewise. commit 74b3c713184abb8e07f92c4e069ebafde78c0a0e Author: Alan Hayward Date: Fri Oct 19 13:51:00 2018 +0100 Aarch64: Better termination checks for sigcontext reading When reading the reserved section in the sigcontext ensure the address is updated on an unknown section. Also add additional checks to prevent reading past the end of the array. Fixes gdb.base/savedregs.exp * aarch64-linux-tdep.c (AARCH64_SIGCONTEXT_RESERVED_SIZE): New define. (aarch64_linux_sigframe_init): Extra boundary checks. commit 0667c506823489f2fab1938d3fc8ee27f8a7c651 Author: Andreas Arnez Date: Fri Oct 19 14:05:08 2018 +0200 S390: Fix crash when remote tdesc doesn't define vec128 I've encountered a GDB crash when trying to read registers from a remote stub that provided a target.xml with vector registers, but without the 'vec128' data type. The crash is caused by NULL register type entries for the "concatenated" pseudo-registers v0-v15. These NULL entries are introduced by the logic in s390_pseudo_register_type(), where the tdesc type 'vec128' is returned unconditionally -- even if it doesn't exist (is NULL). The fixed logic for determining a "concatenated" vector register's type now returns the type of the raw register v16 instead. This also makes sure that all vector register have the same type. gdb/ChangeLog: * s390-tdep.c (s390_pseudo_register_type): For v0-v15 don't yield the possibly non-existent tdesc type 'vec128', but the type of raw register v16 instead. commit ba543ca5afafed5bda2db52e8f424f20ff605173 Author: Gary Benson Date: Fri Oct 19 11:51:41 2018 +0100 Fix cli_interp::cli_uiout resource leak found by Coverity This commit fixes a resource leak found by Coverity, where cli_interp's constructor creates a new cli_ui_out, but there was no corresponding destructor to free it. gdb/ChangeLog: * cli/cli-interp.c (cli_interp::~cli_interp): New function. commit b04480b11925aff2a1d2fbca30908801fd46c7f3 Author: Alan Hayward Date: Tue Oct 9 16:42:33 2018 +0100 Testsuite: Fix racy conditions in py-cmd.exp The test loop in test_python_inline_or_multiline was not checking for the gdb prompt. readline_is_used then reads in the prompt causing it to fail and the final chunk of tests to be skipped. Spotted this error because sometimes the gdb prompt does get processed correctly and the final tests are run, causing it to show up in the racy tests script output. Fix by ensuring the prompt is always checked for. To do this the list style needs reformatting so that variables get expanded. 2018-10-19 Alan Hayward * gdb.python/py-cmd.exp: Check for gdb_prompt. commit 2c6ac8d7ce6e018168c17b11d978b25dba721554 Author: Alan Hayward Date: Thu Oct 18 11:43:40 2018 +0100 Testsuite: vla-optimized-out.exp is too pessimistic On aarch64 (and possibly other ports), for O3 the sizeof "a" can still be shown. 2018-10-19 Alan Hayward * gdb.base/vla-optimized-out.exp: Allow either optimized out or 6. commit 2bc69f2588c0beef39a56f057f61f6a063ed4405 Author: Alan Hayward Date: Thu Oct 18 14:36:06 2018 +0100 testsuite: ovldbreak.exp: fix regexp Fix the layout used in the regexp for breakpoints. Gets rid of two FAILS. 2018-10-18 Alan Hayward * gdb.cp/ovldbreak.exp: Fix regexps. commit 1f1ae3a34faf8217bd253fa12b4d0abaaa42c2d2 Author: Alan Hayward Date: Thu Oct 18 13:58:57 2018 +0100 Testsuite: compile-cplus-print.exp: Start inferior before compiling skip_compile_feature_tests is only valid if the inferior has already been started (see proc comments). Move the runto_main earlier. 2018-10-18 Alan Hayward * gdb.compile/compile-cplus-print.exp: Start inferior earlier. commit 0b347048e7e33070212a408dc2371075ee60b556 Author: Tamar Christina Date: Fri Oct 19 10:31:42 2018 +0100 Arm: Fix disassembler crashing on -b binary when thumb file and thumb not forced. The disassembler for Arm has some aborts in it in places it assumes can never be reached. Under normal circumstances they indeed cannot be reached because the right options are selected from the ARM attributes in the ELF file. However when disassembling with -b binary then if you do not get the options right the disassembler just aborts. This changes it so it just prints how it was trying to interpret the instruction and prints UNKNOWN instructions next to it. This way the user has an idea of what's going. gas/ChangeLog: * testsuite/gas/arm/undefined-insn-arm.d: New test. * testsuite/gas/arm/undefined-insn-thumb.d: New test. * testsuite/gas/arm/undefined-insn.s: New test. opcodes/ChangeLog: * arm-dis.c (UNKNOWN_INSTRUCTION_32BIT): Format specifier for arm mode. (UNKNOWN_INSTRUCTION_16BIT): Format specifier for thumb mode. (print_insn_arm, print_insn_thumb16, print_insn_thumb32): Use them. commit 33d64ca5db656f1f377de18f94403d8b3b91e3a1 Author: Fredrik Noring Date: Fri Oct 19 09:47:55 2018 +0100 This set of changes clarifies the conditions for the R5900 short loop fix and extends its test with the border cases of six and seven instructions. * testsuite/gas/mips/r5900.s: Extend the R5900 short loop fix test with border cases. * testsuite/gas/mips/r5900.d: Add extra expected disassembly. * config/tc-mips.c (can_swap_branch_p): Clarify the R5900 short loop hardware bug conditions. Correct note on the R5900 instruction count short loop fix. commit 08acaf5caf47225ff94dc5e64ce8edce6664615a Author: GDB Administrator Date: Fri Oct 19 00:00:36 2018 +0000 Automatic date update in version.in commit 94c18618a8e29894a7b3104375e0510d71a568fb Author: Sergio Durigan Junior Date: Thu Oct 18 12:56:25 2018 -0400 Fix PR cli/23785: Check if file exists when invoking "restore FILE binary" This simple patch fixes the segfault reported on PR cli/23785, which happens when using the "restore FILE binary" command with a non-existent file. We just have to check if the file handler returned by "gdb_fopen_cloexec" is not NULL, and error out if it is. A test has also been added to gdb.base/restore.exp in order to exercise this scenario. No regressions introduced. gdb/ChangeLog: 2018-10-18 Sergio Durigan Junior PR cli/23785 * cli/cli-dump.c (restore_binary_file): Check if "file" is NULL. gdb/testsuite/ChangeLog: 2018-10-18 Sergio Durigan Junior PR cli/23785 * gdb.base/restore.exp: New test to check if "restore" with an invalid file doesn't segfault. commit f63085d15f05eb296744ba634edfc68ca806e578 Author: Nick Clifton Date: Thu Oct 18 16:58:16 2018 +0100 Update documentation of readelf's --unwind option. * doc/binutils.texi (readelf): Document alternatives to the --unwind option if it is not supported for the target architecture. commit 812cd6eb0502fa87b6e1d3e751ac2e9239680cf4 Author: Tom de Vries Date: Thu Oct 18 13:23:08 2018 +0200 [gdb/testsuite] Fix capitalized test names At https://sourceware.org/gdb/wiki/GDBTestcaseCookbook\ #Follow_the_test_name_convention we find: .. Test names should start with a lower case and don't need to end with a period (they are not sentences). ... Fix some capitalized test names. Tested on x86_64-linux. 2018-10-18 Tom de Vries * gdb.ada/bp_inlined_func.exp: Fix capitalized test name. * gdb.ada/excep_handle.exp: Same. * gdb.ada/mi_string_access.exp: Same. * gdb.ada/mi_var_union.exp: Same. * gdb.arch/arc-analyze-prologue.exp: Same. * gdb.arch/arc-decode-insn.exp: Same. * gdb.base/readnever.exp: Same. * gdb.fortran/printing-types.exp: Same. * gdb.guile/scm-lazy-string.exp: Same. commit 841ef605eed1e91c1ef450e6931216644999f04d Author: GDB Administrator Date: Thu Oct 18 00:00:35 2018 +0000 Automatic date update in version.in commit 89eb3c547018af6a41ce9b3614cc2ab9a679168b Author: Paul Koning Date: Wed Oct 17 19:26:55 2018 -0400 gdb/ChangeLog: * charset.c (convert_between_encodings): Fix unsigned overflow. gdb/charset.c (convert_between_encodings): Fix unsigned overflow. commit 6f3b1098e820cef84709ef71c287c4b72e6c671b Author: John Baldwin Date: Wed Oct 17 11:41:30 2018 -0700 Share the code to format "info proc mappings" entries for FreeBSD. gdb/ChangeLog: * fbsd-nat.c (fbsd_nat_target::info_proc) Use fbsd_info_proc_mappings_header and fbsd_info_proc_mappings_entry. * fbsd-tdep.c (fbsd_vm_map_entry_flags): Mark static. (fbsd_info_proc_mappings_header, fbsd_info_proc_mappings_entry): New functions. (fbsd_core_info_proc_mappings): Use fbsd_info_proc_mappings_header and fbsd_info_proc_mappings_header. * fbsd-tdep.h (fbsd_vm_map_entry_flags): Remove. (fbsd_info_proc_mappings_header, fbsd_info_proc_mappings_entry): New. commit d500b4f23fc329f5c8cce6ee8fa3629c0f130038 Author: Joel Brobecker Date: Wed Oct 17 11:04:14 2018 -0700 gdb/MAINTAINERS: Add Rainer Orth as Solaris maintainer for GDB gdb/ChangeLog: * MAINTAINERS (Responsible Maintainers): Add Rainer Orth as Solaris Maintainer. commit 4de5434b694fc260d02610e8e7fec21b2923600a Author: Alan Modra Date: Wed Oct 17 09:17:30 2018 +1030 PR23653, ld SIGSEGVs when attempts to link sparc object with x86_64 library This patch improves dynobj selection. This allows the testcase in the PR to proceed further before segfaulting due to other bugs in the sparc backend. ../ld/ld-new --eh-frame-hdr -m elf_x86_64 -shared -o bug.so.5 bug.o ./libc.so.6 ./crtendS.o ../ld/ld-new: sparc architecture of input file `bug.o' is incompatible with i386:x86-64 output ../ld/ld-new: bug.o: in function `a': bug.c:(.text+0x4): undefined reference to `_GLOBAL_OFFSET_TABLE_' ../ld/ld-new: bug.c:(.text+0x8): undefined reference to `_GLOBAL_OFFSET_TABLE_' Segmentation fault PR 23653 * elflink.c (_bfd_elf_link_create_dynstrtab): Match elf_object_id too when choosing dynobj. commit c69f6b80965608480be970c3c42f9da1b08a3ef0 Author: GDB Administrator Date: Wed Oct 17 00:01:28 2018 +0000 Automatic date update in version.in commit c4b90788516fd431c86c22deac5001d6c4648227 Author: Tom de Vries Date: Fri Oct 5 00:04:27 2018 +0200 [gdb/testsuite] Rewrite catch-follow-exec.exp There are two problems with the current catch-follow-exec.exp: - INTERNAL_GDBFLAGS (containing the datadir setting) is not used - remote host testing doesn't work Fix the former by using gdb_spawn_with_cmdline_opts. Fix the latter by requiring gdb-native. Build on x86_64-linux with and without ubsan, and tested. 2018-10-16 Tom de Vries PR gdb/23730 * gdb.base/catch-follow-exec.c: Add copyright notice. * gdb.base/catch-follow-exec.exp: Rewrite to use gdb_spawn_with_cmdline_opts. Require gdb-native. commit 66e6f0b760c2480e4ebdac8169adcee1fc31f689 Author: Matthew Malcomson Date: Tue Oct 16 18:49:36 2018 +0100 AArch64: Fix error checking for SIMD udot (by element) Committed on behalf of Matthew Malcomson: The SIMD UDOT instruction assembly has an unusual operand that selects a single 32 bit element with the mnemonic 4B. This unusual mnemonic is handled by a special operand qualifier and associated qualifier data in `aarch64_opnd_qualifiers`. The current qualifier data describes 4 1-byte elements with the structure {1, 4, 0x0, "4b", OQK_OPD_VARIANT} This makes sense, as the instruction does work on 4 1-byte elements, however some logic in the `operand_general_constraint_met_p` makes assumptions about the range of index allowed when selecting a SIMD_ELEMENT depending on element size. That function reasons that e.g. in order to select a byte-sized element in a 16 byte V register an index must allow selection of one of the 16 elements and hence its range will be in [0,15]. This reasoning breaks with the above description of a 4 part selection of 1 byte elements and allows an index outside the valid [0,3] range, triggering an assert later on in the program in `aarch64_ins_reglane`. vshcmd: > echo 'udot v0.2s, v1.8b, v2.4b[4]' | ../src/binutils-build/gas/as-new -march=armv8.4-a as-new: ../../binutils-gdb/opcodes/aarch64-asm.c:134: aarch64_ins_reglane: Assertion `reglane_index < 4' failed. {standard input}: Assembler messages: {standard input}:1: Internal error (Aborted). Please report this bug. This patch changes the operand qualifier data so that it describes a single 32 bit element. {4, 1, 0x0, "4b", OQK_OPD_VARIANT} Hence the calculation in `operand_general_constraint_met_p` provides the correct answer and the usual error checking machinery is used. vshcmd: > echo 'udot v0.2s, v1.8b, v2.4b[4]' | ../src/binutils-build/gas/as-new -march=armv8.4-a {standard input}: Assembler messages: {standard input}:1: Error: register element index out of range 0 to 3 at operand 3 -- `udot v0.2s,v1.8b,v2.4b[4]' commit 48dcd4ea064ae86364dacbf4dd7f035fba56151c Author: Alan Modra Date: Tue Oct 16 16:29:23 2018 +1030 Simplify PR23110 PE_DEBUG_DATA size checks The negative size check can be rolled into the "exceeds space left in section" check if that is done using an unsigned comparison. We know that "addr - section->vma" is never larger than section->size since the section is found by find_section_by_vma. * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Simplify PE_DEBUG_DATA size checks. commit 8df73d5cc3a87101f3bd254f33820fcce61bc971 Author: Alan Modra Date: Tue Oct 16 15:23:20 2018 +1030 PR23781, _bfd_pe_bfd_copy_private_bfd_data_common memory leak PR 23781 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Free data before returning. commit feceaa596ebd1da9d8315c8ce74e45df4384da15 Author: Alan Modra Date: Tue Oct 16 14:39:03 2018 +1030 PR23780, assertion abort in function display_raw_attribute PR 23780 * readelf.c (display_raw_attribute): Correct assertion. commit 08ea4a7805705668c2c4c63b858b6641d052f7e7 Author: Cherry Zhang Date: Tue Oct 16 14:07:41 2018 +1030 PR23769, mixing split-stack and non-split-stack error message Corrects which file is reported as being split-stack. PR 23769 * gold.cc (queue_middle_tasks): Correct split-stack error message. commit 63a33118e05a84fbae40cbe3ef955b52bad359a7 Author: Tom Tromey Date: Sun Oct 14 12:50:32 2018 -0600 Remove unnecessary casts from TUI This removes a number of unnecessary casts from the TUI. Some were found with -Wuseless-cast (which, I think, can't easily be enabled for gdb); and some were found by inspection. Tested by rebuilding on x86-64 Fedora 28. I'm checking this in. gdb/ChangeLog 2018-10-15 Tom Tromey * tui/tui.c (strcat_to_buf): Remove casts. * tui/tui-winsource.c (tui_show_source_line) (tui_set_is_exec_point_at, tui_line_is_displayed): Remove casts. * tui/tui-wingeneral.c (tui_refresh_win, box_win): Remove casts. * tui/tui-windata.c (tui_first_data_item_displayed) (tui_delete_data_content_windows, tui_erase_data_content) (tui_display_all_data, tui_display_data_from) (tui_refresh_data_win, tui_vertical_data_scroll): Remove casts. * tui/tui-win.c (tui_set_win_height) (make_invisible_and_set_new_height, parse_scrolling_args): Remove casts. * tui/tui-win.c (tui_resize_all): Remove casts. (tui_scroll_backward_command, tui_set_focus) (tui_set_tab_width_command): Likewise. * tui/tui-source.c (tui_vertical_source_scroll): Remove cast. * tui/tui-regs.c (tui_show_register_group): Remove cast. * tui/tui-layout.c (tui_set_layout_by_name): Remove cast. * tui/tui-disasm.c (tui_vertical_disassem_scroll): Remove cast. * tui/tui-data.c (tui_partial_win_by_name, tui_free_win_content): Remove casts. commit d53eec4ef86cf85841ceaec7db99753827f2beee Author: GDB Administrator Date: Tue Oct 16 00:00:36 2018 +0000 Automatic date update in version.in commit 640be958cd6bdc339211f29851e69a297033e172 Author: Jim Wilson Date: Mon Oct 15 16:00:28 2018 -0700 RISC-V: Adjust __global_pointer$ value to reduce code size. ld/ * emulparams/elf32lriscv-defs.sh (DATA_START_SYMBOLS): New. (SDATA_START_SYMBOLS): Define __SDATA_BEGIN__. Don't define __global_pointer$. (OTHER_END_SYMBOLS): New. Define __global_pointer$. * testsuite/ld-riscv-elf/pcrel-lo-addend-2.d (#ld): Add --no-relax. commit 0e0dd7f1e8b64efff9a981d0421ffeaeff70cd20 Author: Alan Modra Date: Tue Oct 16 09:01:55 2018 +1030 Re: BFD_INIT_MAGIC I should know better than to introduce the first use of size_t in bfd.h. PR 23534 * init.c (bfd_init): Return an unsigned int. bfd-in2.h: Regenerate. commit 933e62b1c17b1cf396f8bf8e17a066d03226533e Author: Simon Marchi Date: Mon Oct 15 15:52:03 2018 -0400 Add Alan Hayward as AArch64/ARM GDB maintainer gdb/ChangeLog: * MAINTAINERS (Responsible Maintainers): Add Alan Hayward as AArch64/ARM maintainer. commit bf2dd8d7cf4114b8a60dbb83b340f76b9b2474d1 Author: Alan Modra Date: Mon Oct 15 16:10:27 2018 +1030 BFD_INIT_MAGIC This patch performs a run-time test that a shared libbfd.so has been compiled with the same size bfd_vma as that of apps using the library. On a 32-bit host it is easily possible to have one libbfd.so compiled to support 64-bit targets (or configured with --enable-64-bit-bfd) while another only supports 32-bit targets. The two libraries will have differently sized bfd_vma types, and if the wrong one is loaded all sorts of weird behaviour might be seen. bfd/ PR 23534 * init.c (BFD_INIT_MAGIC): Define. (bfd_init): Return BFD_INIT_MAGIC. bfd-in2.h: Regenerate. binutils/ PR 23534 * addr2line.c (main): Exit with fatal error if bfd_init returns an unexpected value. * ar.c (main): Likewise. * dlltool.c (identify_dll_for_implib): Likewise. * nm.c (main): Likewise. * objcopy.c (main): Likewise. * objdump.c (main): Likewise. * size.c (main): Likewise. * strings.c (main): Likewise. * windmc.c (main): Likewise. * windres.c (main): Likewise. gas/ PR 23534 * as.c (main): Exit with fatal error if bfd_init returns an unexpected value. ld/ PR 23534 * ldmain.c (main): Exit with fatal error if bfd_init returns an unexpected value. commit dc86962bf15e7b8dfdcebc17d83b9b48be0bd9cb Author: GDB Administrator Date: Mon Oct 15 00:00:54 2018 +0000 Automatic date update in version.in commit cf8d3709ebe8895591cb3bd5c8f79bdaef9f194a Author: GDB Administrator Date: Sun Oct 14 00:01:07 2018 +0000 Automatic date update in version.in commit 0930cb3021b8078b34cf216e79eb8608d017864f Author: Alan Modra Date: Sat Oct 13 22:03:02 2018 +1030 _bfd_clear_contents bounds checking This PR shows a fuzzed binary triggering a segfault via a bad relocation in .debug_line. It turns out that unlike normal relocations applied to a section, the linker applies those with symbols from discarded sections via _bfd_clear_contents without checking that the relocation is within the section bounds. The same thing now happens when reading debug sections since commit a4cd947aca23, the PR23425 fix. 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. commit 2bf2bf23da5237f465fdbb759657aeb7825a08a3 Author: Alan Modra Date: Fri Oct 12 12:06:40 2018 +1030 ELF ld -r scripts "ld -r" generally should not combine object file sections with different names. For example, "ld -r" should not combine ".text", ".text.hot" and ".text.cold" into an output ".text" section. An exception needs to be made for linker created sections, for example, branch trampoline sections that might be created even for ld -r. "ld -r" also should not define symbols in linker scripts. Any definitions are likely to conflict with those defined at final link. A MEMORY spec is also not needed for ld -r. * Makefile.am (eelf32btsmip_fbsd.c, eelf32btsmipn32_fbsd.c), (eelf32epiphany.c, eelf32epiphany_4x4.c, eelf32ltsmip_fbsd.c), (eelf32ltsmipn32_fbsd.c, eelf32xc16x.c, eelf32xc16xl.c), (eelf32xc16xs.c, emcorepe.c, enios2elf.c, enios2linux.c), (eelf64btsmip_fbsd.c, eelf64ltsmip_fbsd.c): Correct dependencies. * Makefile.in: Regenerate. * emulparams/aarch64cloudabi.sh, * emulparams/aarch64fbsd.sh, * emulparams/aarch64linux.sh, * emulparams/aarch64linux32.sh, * emulparams/arc-nps.sh, * emulparams/elf32_spu.sh, * emulparams/elf32_tic6x_le.sh, * emulparams/elf32bmip.sh, * emulparams/elf32btsmipn32.sh, * emulparams/elf32lr5900n32.sh, * emulparams/elf32mep.sh, * emulparams/elf32metag.sh, * emulparams/elf64btsmip.sh, * emulparams/shelf_vxworks.sh, * emulparams/shlelf_fd.sh, * scripttempl/DWARF.sc, * scripttempl/alpha.sc, * scripttempl/alphavms.sc, * scripttempl/arclinux.sc, * scripttempl/armbpabi.sc, * scripttempl/avr.sc, * scripttempl/dlx.sc, * scripttempl/elf.sc, * scripttempl/elf32cr16.sc, * scripttempl/elf32cr16c.sc, * scripttempl/elf32crx.sc, * scripttempl/elf32msp430.sc, * scripttempl/elf32msp430_3.sc, * scripttempl/elf32xc16x.sc, * scripttempl/elf32xc16xl.sc, * scripttempl/elf32xc16xs.sc, * scripttempl/elf64hppa.sc, * scripttempl/elf_chaos.sc, * scripttempl/elfarc.sc, * scripttempl/elfarcv2.sc, * scripttempl/elfd10v.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/hppaelf.sc, * scripttempl/ia64vms.sc, * scripttempl/ip2k.sc, * scripttempl/iq2000.sc, * scripttempl/mep.sc, * scripttempl/mmo.sc, * scripttempl/nds32elf.sc, * scripttempl/pru.sc, * scripttempl/sh.sc, * scripttempl/v850.sc, * scripttempl/v850_rh850.sc, * scripttempl/visium.sc, * scripttempl/xstormy16.sc: Condition various parts of scripts on ${RELOCATABLE} in order to prevent ld -r merging sections or defining symbols. Remove MEMORY and VERSION definitions from ld -r scripts too. * testsuite/ld-elf/group2.d, * testsuite/ld-elf/group4.d, * testsuite/ld-elf/group5.d, * testsuite/ld-elf/group6.d, * testsuite/ld-elf/group7.d, * testsuite/ld-elf/group8a.d, * testsuite/ld-elf/group8b.d, * testsuite/ld-elf/group9a.d, * testsuite/ld-elf/group9b.d, * testsuite/ld-elf/pr17550a.d, * testsuite/ld-elf/pr17550b.d, * testsuite/ld-elf/pr17550d.d: Don't xfail cr16 and crx. * testsuite/ld-elf/init-fini-arrays.d, * testsuite/ld-elf/pr22677.d: Likewise, and dont' xfail mep. commit 8bca297856b2e54ac093674554f6abd82e7ce6b0 Author: Sandra Loosemore Date: Fri Oct 12 17:56:13 2018 -0700 Clean up gdb.trace test results on targets not supporting this feature. 2018-10-12 Sandra Loosemore gdb/testsuite/ * gdb.trace/actions-changed.exp: Check for arch support. * gdb.trace/actions.exp: Likewise. * gdb.trace/ax.exp: Likewise. * gdb.trace/backtrace.exp: Likewise. * gdb.trace/change-loc.exp: Likewise. * gdb.trace/deltrace.exp: Likewise. * gdb.trace/ftrace-lock.exp: Check for shlib and arch support. * gdb.trace/ftrace.exp: Likewise. * gdb.trace/infotrace.exp: Check for arch support. * gdb.trace/mi-trace-frame-collected.exp: Likewise. * gdb.trace/mi-tracepoint-changed.exp: Likewise. * gdb.trace/mi-tsv-changed.exp: Likewise. * gdb.trace/packetlen.exp: Likewise. * gdb.trace/passc-dyn.exp: Likewise. * gdb.trace/passcount.exp: Likewise. * gdb.trace/pending.exp: Likewise. * gdb.trace/range-stepping.exp: Check for shlib support. * gdb.trace/report.exp: Check for arch support. * gdb.trace/save-trace.exp: Likewise. * gdb.trace/signal.exp: Check for signal support. * gdb.trace/tfind.exp: Check for arch support. * gdb.trace/trace-break.exp: Check for arch and shlib support. * gdb.trace/trace-common.h: Add comment. * gdb.trace/trace-condition.exp: Check for shlib and arch support. * gdb.trace/trace-enable-disable.exp: Likewise. * gdb.trace/trace-mt.exp: Likewise. Remove redundant untested call. * gdb.trace/tracecmd.exp: Check for arch support. * gdb.trace/tspeed.exp: Check for shlib and target support. * gdb.trace/tstatus.exp: Check for arch support. * gdb.trace/tsv.exp: Likewise. * gdb.trace/while-dyn.exp: Likewise. * gdb.trace/while-stepping.exp: Likewise. * lib/trace-support.exp (gdb_trace_common_supports_arch): New. commit 032c98ec5206ac120374aa9d990c1d58bee976a4 Author: GDB Administrator Date: Sat Oct 13 00:00:38 2018 +0000 Automatic date update in version.in commit f9c49bffe616013ba97f679afd3446a8c87d80a7 Author: Simon Marchi Date: Fri Oct 12 16:27:29 2018 -0400 Fix buglets in gdb.trace/tspeed.{exp,c} When trying to run gdb.trace/tspeed.exp, I get: ERROR: can't read "ipalib": no such variable while executing "gdb_load_shlib $ipalib" (procedure "prepare_for_trace_test" line 5) This problem seems to come from commit c708f4d256f ("gdb: Don't call gdb_load_shlib unless GDB is running") which moved the gdb_load_shlib call in prepare_for_trace_test. In order to access the ipalib variable, we need to declare "global ipalib" first. Then, this test uses nowarnings, for no good reason I could find. We can remove that and fix the two trivial warnings that appear: /home/emaisin/src/binutils-gdb/gdb/testsuite/gdb.trace/tspeed.c: In function 'main': /home/emaisin/src/binutils-gdb/gdb/testsuite/gdb.trace/tspeed.c:87:16: warning: too many arguments for format [-Wformat-extra-args] printf ("Negative times, giving up\n", max_iters); ^ /home/emaisin/src/binutils-gdb/gdb/testsuite/gdb.trace/tspeed.c:99:7: warning: implicit declaration of function 'sleep' [-Wimplicit-function-declaration] sleep (1); /* set post-run breakpoint here */ ^ gdb/testsuite/ChangeLog: * gdb.trace/tspeed.exp: Remove nowarnings. (prepare_for_trace_test): Declare "global ipalib". * gdb.trace/tspeed.c: Include unistd.h. (main): Remove superfluous printf argument. commit fe4ba873246386204af4da6bcadd8c01bb7f86c7 Author: GDB Administrator Date: Fri Oct 12 00:00:39 2018 +0000 Automatic date update in version.in commit d4330bde6891c74498cea8866ce9992181798861 Author: Sandra Loosemore Date: Thu Oct 11 16:51:26 2018 -0700 Fix pathname regexp in gdb.base/solib-vanish.exp. 2018-10-11 Sandra Loosemore gdb/testsuite/ * gdb.base/solib-vanish.exp: Fix regexp not to require a POSIX directory prefix on the filename. commit de564eb5cc8c67fc38f9910937935eef5ebc17d8 Author: Nick Clifton Date: Thu Oct 11 11:38:10 2018 +0100 Prevent the --keep-global-symbol and --globalize-symbol options from being used together. This is the result of an email thread starting here: https://sourceware.org/ml/binutils/2018-09/msg00031.html The main point of the thread is this observation: * Supposing we had an object file with two globals, SomeGlobal and SomeOtherGlobal, if one were to do "--globalize-symbol SomeGlobal --keep-global-symbol SomeOtherGlobal", you might expect that both SomeGlobal and SomeOtherGlobal are global in the output file... but it isn't. Because --keep-global-symbol is set and doesn't include SomeGlobal, SomeGlobal will be demoted to a local symbol. And because the check to see if we should apply the --globalize-symbol flag checks "flags" (the original flag set), and not "sym->flags", it decides not to do anything, so SomeGlobal remains a local symbol. Although this is a weird edge case, should this be changed so that --keep-global-symbol implicitly keeps anything also specified via --globalize-symbol? (The code seems technically correct with respect to the documentation, but IMO the behavior is counter-intuitive). binutils* objcopy.c (copy_main): Issue a fata error if the --keep-global-symbol(s) and the --globalize-symbol(s) options are used together. * doc/binutils.texi: Document that the two options are incompatible. * testsuite/binutils-all/copy-5.d: New test. * testsuite/binutils-all/objcopy.exp: Run the new test. commit fbe61a3661b083a666e6550b3b0c2de364e6d4a6 Author: Gary Benson Date: Thu Oct 11 10:19:26 2018 +0100 Fix interp::m_name resource leak found by Coverity This commit fixes a resource leak found by Coverity, where interp's constructor allocated memory for m_name that interp's destructor did not free. gdb/ChangeLog: * interps.h (interp::m_name): Make private and mutable. * interps.c (interp::~interp): Free m_name. commit a9597defaf39e2277c4c5ff510e708f226f54fbc Author: Jan Beulich Date: Thu Oct 11 09:16:28 2018 +0200 x86: add {,V}MOVQ cases to xmmword test I had overlooked these when putting together the original test. commit 30653a8a7da3e7b7d3b17b0bd8ffe7c6d40b7193 Author: GDB Administrator Date: Thu Oct 11 00:00:34 2018 +0000 Automatic date update in version.in commit 8ecfd7bd4acd69213c06fac6de9af38299123547 Author: Sergio Durigan Junior Date: Mon Sep 17 15:58:55 2018 -0400 Add parameter to allow enabling/disabling selftests via configure This is a follow-up of: https://sourceware.org/ml/gdb-patches/2018-08/msg00347.html Instead of going throttle and always enabling our selftests (even in non-development builds), this patch is a bit more conservative and introduces a configure option ("--enable-unit-tests") that allows the user to choose whether she wants unit tests in the build or not. Note that the current behaviour is retained: if no option is provided, GDB will have selftests included in a development build, and will *not* have selftests included in a non-development build. The rationale for having this option is still the same: due to the many racy testcases and random failures we see when running the GDB testsuite, it is unfortunately not possible to perform a full test when one is building a downstream package. As the Fedora GDB maintainer and one of the Debian GDB uploaders, I feel like this situation could be improved by, at least, executing our selftests after the package has been built. This patch introduces no regressions to our build. OK? gdb/ChangeLog: 2018-10-10 Sergio Durigan Junior Simon Marchi * README (`configure' options): Add documentation for new "--enable-unit-tests" option. * acinclude.m4: Include "selftest.m4". * configure: Regenerate. * configure.ac: Use "GDB_AC_SELFTEST". * maint.c (maintenance_selftest): Update message informing that selftests have been disabled. (maintenance_info_selftests): Likewise. * selftest.m4: New file. gdb/gdbserver/ChangeLog: 2018-10-10 Sergio Durigan Junior Simon Marchi * acinclude.m4: Include "../selftest.m4". * configure: Regenerate. * configure.ac: Use "GDB_AC_SELFTEST". * configure.srv: Use "$enable_unittests" instead of "$development" when checking whether unit tests have been enabled. * server.c (captured_main): Update message informing that selftests have been disabled. gdb/testsuite/ChangeLog: 2018-10-10 Sergio Durigan Junior * gdb.gdb/unittest.exp: Update expected message informing that selftests have been disabled. * gdb.server/unittest.exp: Likewise. squash! Add parameter to allow enabling/disabling selftests via configure commit 33b031ce7a9b8b1b7c729518af965b7cb70a1cd6 Author: Gary Benson Date: Wed Oct 10 15:01:50 2018 +0100 Add missing va_end found by Coverity This commit adds a missing va_end found by Coverity. gdb/ChangeLog: * remote.c (remote_target::remote_send_printf): Add missing va_end found by Coverity. commit 2cb2ba9a5b7fe39f30604650efa64cff05cb72e4 Author: Markus Metzger Date: Mon Sep 24 11:33:11 2018 +0200 btrace: check for indirect jump return in _Unwind_RaiseException Some versions of _Unwind_RaiseException, e.g. on Fedora 28, use an indirect jump to return to the exception handler. This messes up the output of "record function-call-history /c" since the return is interpreted as cross-function goto. It had been detected by gdb.btrace/exception.exp. Add a heuristic for "_Unwind_*" functions to interpret an indirect jump that ends in one of our caller functions as return to the first instance of that function in our call stack. gdb/ * btrace.c (ftrace_update_function): Add indirect jump heuristic. commit 673fe0f0a7a0624819f1b4cdc289f43691567e91 Author: Jan Beulich Date: Wed Oct 10 08:41:52 2018 +0200 x86: fold Size{16,32,64} template attributes Only one of them can be set at a time, which means they can be expressed by a single 2-bit field instead of three 1-bit ones. commit 43f6cd0588a735c202934789d67b6ed4302f255d Author: Alan Modra Date: Wed Oct 10 13:14:56 2018 +1030 HPPA64 .PARISC.unwind entries .PARISC.unwind has 32-bit addresses in both 32-bit ELF and 64-bit ELF. Well, strictly speaking, the 32-bit "start" and "end" fields are segment relative offsets. (The 64-bit ABI says so, while the 32-bit ABI says they are addresses but it appears they are segment relative offsets in practice. Likely the 32-bit ABI lacks an update.) * readelf.c (hppa_process_unwind): Don't use eh_addr_size to calculate number of entries. (slurp_hppa_unwind_table): Don't use eh_addr_size here either. commit 8ab159a96565be6e60f8d88ba3a4638116f7e9d3 Author: Alan Modra Date: Wed Oct 10 12:17:54 2018 +1030 S12Z: Set eh_addr_size to 4 * objdump.c (dump_dwarf): Set s12z eh_addr_size to 4. commit daff3a48c17625ade8b57cf770fc77b4c1815df2 Author: GDB Administrator Date: Wed Oct 10 00:00:45 2018 +0000 Automatic date update in version.in commit 163cffefafb1d427ab46603d98bbfc45e813c9a0 Author: Tom Tromey Date: Tue Oct 9 13:57:10 2018 -0600 Make @pxref for Inferior.architecture point to gdb.Frame documentation This fixes he @pxref in Inferior.architecture to point to the "Frames In Python" node, as originally intended; somewhat reverting an earlier build fix. The initial patch had typod the "In". Tested by "make info". gdb/doc/ChangeLog 2018-10-09 Tom Tromey * python.texi (Inferiors In Python): Link to "Frames In Python", not "Unwinding Frames in Python". commit eff98030f90d3dab4c7d133ab0b0cb02d1921543 Author: Tom Tromey Date: Tue Oct 9 11:51:33 2018 -0600 Disable the undefined behavior sanitizer by default There have been a few undefined behavior failures reported, and Pedro suggested that the sanitizer be disabled by default. This patch implements this. gdb/ChangeLog 2018-10-09 Tom Tromey * configure: Rebuild. * sanitize.m4 (AM_GDB_UBSAN): Default to no. * NEWS: Update --enable-ubsan documentation. gdb/doc/ChangeLog 2018-10-09 Tom Tromey * gdb.texinfo (Configure Options): Update --enable-ubsan documentation. commit 104fefeebb544b7745bb353b63110afa46119647 Author: Sudakshina Das Date: Wed Sep 26 11:04:32 2018 +0100 [PATCH, BINUTULS, AARCH64, 9/9] Add SSBS to MSR/MRS This patch is part of the patch series to add support for ARMv8.5-A extensions. (https://developer.arm.com/products/architecture/cpu-architecture/a-profile/exploration-tools) The encodings can be found in the System Register XML. This patch adds support for the mitigation for Spectre Variant 4 by adding the PSTATE bit SSBS which are accessible using MSR and MRS instructions. Although this is a mandatory addition to the ARMv8.5-A, it is permitted to be added to any version of the ARMv8 architecture. This is enabled using the command line option of +ssbs for older versions. *** include/ChangeLog *** 2018-10-09 Sudakshina Das * opcode/aarch64.h (AARCH64_FEATURE_SSBS): New. (AARCH64_ARCH_V8_5): Add AARCH64_FEATURE_SSBS by default. *** opcodes/ChangeLog *** 2018-10-09 Sudakshina Das * aarch64-opc.c (operand_general_constraint_met_p): Add SSBS in the check for one-bit immediate. (aarch64_sys_regs): New entry for SSBS. (aarch64_sys_reg_supported_p): New check for above. (aarch64_pstatefields): New entry for SSBS. (aarch64_pstatefield_supported_p): New check for above. *** gas/ChangeLog *** 2018-10-09 Sudakshina Das * config/tc-aarch64.c (aarch64_features): Add new "ssbs". * doc/c-aarch64.texi: Document the same. * testsuite/gas/aarch64/ssbs-illegal1.d: New test. * testsuite/gas/aarch64/ssbs-illegal1.l: New test. * testsuite/gas/aarch64/ssbs-illegal2.d: New test. * testsuite/gas/aarch64/ssbs-illegal2.l: New test. * testsuite/gas/aarch64/ssbs.s: New test. * testsuite/gas/aarch64/ssbs1.d: Test with +ssbs * testsuite/gas/aarch64/ssbs2.d: Test with armv8.5-a. commit a97330e723cf3c639a951329ac5fe2797528249b Author: Sudakshina Das Date: Wed Sep 26 11:02:28 2018 +0100 [PATCH, BINUTILS, AARCH64, 8/9] Add SCXTNUM_ELx and ID_PFR2_EL1 system registers This patch is part of the patch series to add support for ARMv8.5-A extensions. (https://developer.arm.com/products/architecture/cpu-architecture/a-profile/exploration-tools) The encodings can be found in the System Register XML. This patch adds the new system registers SCXTNUM_ELx and ID_PFR2_EL1. *** include/ChangeLog *** 2018-10-09 Sudakshina Das * opcode/aarch64.h (AARCH64_FEATURE_SCXTNUM): New. (AARCH64_FEATURE_ID_PFR2): New. (AARCH64_ARCH_V8_5): Add both by default. *** opcodes/ChangeLog *** 2018-10-09 Sudakshina Das * aarch64-opc.c (aarch64_sys_regs): New entries for scxtnum_el[0,1,2,3,12] and id_pfr2_el1. (aarch64_sys_reg_supported_p): New checks for above. *** gas/ChangeLog *** 2018-10-09 Sudakshina Das * testsuite/gas/aarch64/sysreg-4.s: Test registers scxtnum_el[0,1,2,3,12] and id_pfr2_el1. * testsuite/gas/aarch64/sysreg-4.d: Likewise. * testsuite/gas/aarch64/illegal-sysreg-4.l: Likewise. commit ff6054520cc86ac2f34c21bcc2e44ede50b56cdc Author: Sudakshina Das Date: Wed Sep 26 11:00:49 2018 +0100 [PATCH, BINUTILS, AARCH64, 7/9] Add BTI instruction This patch is part of the patch series to add support for ARMv8.5-A extensions. (https://developer.arm.com/products/architecture/cpu-architecture/a-profile/docs/ddi0596/a/a64-base-instructions-alphabetic-order/bti-branch-target-identification) The Branch Target Identification instructions (BTI) are allocated to existing HINT space, using HINT numbers 32, 34, 36, 38, such that bits[7:6] of the instruction identify the compatibility of the BTI instruction to different branches. BTI {} where one of the following, specifying which type of indirection is allowed: j : Can be a target of any BR Xn isntruction. c : Can be a target of any BLR Xn and BR {X16|X17}. jc: Can be a target of any free branch. A BTI instruction without any is the strictest of all and can not be a target of nay free branch. *** include/ChangeLog *** 2018-10-09 Sudakshina Das * opcode/aarch64.h (AARCH64_FEATURE_BTI): New. (AARCH64_ARCH_V8_5): Add AARCH64_FEATURE_BTI by default. (aarch64_opnd): Add AARCH64_OPND_BTI_TARGET. (HINT_OPD_CSYNC, HINT_OPD_C, HINT_OPD_J): New macros to define HINT #imm values. (HINT_OPD_JC, HINT_OPD_NULL): Likewise. *** opcodes/ChangeLog *** 2018-10-09 Sudakshina Das * aarch64-opc.h (HINT_OPD_NOPRINT, HINT_ENCODE): New. (HINT_FLAG, HINT_VALUE): New macros to encode NO_PRINT flag with the hint immediate. * aarch64-opc.c (aarch64_hint_options): New entries for c, j, jc and default (with HINT_OPD_F_NOPRINT flag) for BTI. (aarch64_print_operand): Add case for AARCH64_OPND_BTI_TARGET while checking for HINT_OPD_F_NOPRINT flag. * aarch64-dis.c (aarch64_ext_hint): Use new HINT_VALUE to extract value. * aarch64-tbl.h (aarch64_feature_bti, BTI, BTI_INSN): New. (aarch64_opcode_table): Add entry for BTI. (AARCH64_OPERANDS): Add new description for BTI targets. * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Regenerate. * aarch64-opc-2.c: Regenerate. *** gas/ChangeLog *** 2018-10-09 Sudakshina Das * config/tc-aarch64.c (parse_bti_operand): New. (process_omitted_operand): Add case for AARCH64_OPND_BTI_TARGET. (parse_operands): Likewise. * testsuite/gas/aarch64/system.d: Update for BTI. * testsuite/gas/aarch64/bti.s: New. * testsuite/gas/aarch64/bti.d: New. * testsuite/gas/aarch64/illegal-bti.d: New. * testsuite/gas/aarch64/illegal-bti.l: New. commit af4bcb4ce6939da1738c847a06789d2223b67ca4 Author: Sudakshina Das Date: Wed Sep 26 10:57:16 2018 +0100 [PATCH, BINUTILS, AARCH64, 6/9] Add Random number instructions This patch is part of the patch series to add support for ARMv8.5-A extensions. (https://developer.arm.com/products/architecture/cpu-architecture/a-profile/exploration-tools) The encodings can be found in the System Register XML. This patch adds the following: MSR Xn, RNDR MSR Xn, RNDRRS These are optional instructions in ARMv8.5-A and hence the new +rng is added. *** include/ChangeLog *** 2018-10-09 Sudakshina Das * opcode/aarch64.h (AARCH64_FEATURE_RNG): New. *** opcodes/ChangeLog *** 2018-10-09 Sudakshina Das * aarch64-opc.c (aarch64_sys_regs): New entries for rndr and rndrrs. (aarch64_sys_reg_supported_p): New check for above. *** gas/ChangeLog *** 2018-10-09 Sudakshina Das * config/tc-aarch64.c (aarch64_features): New "rng" option. * doc/c-aarch64.texi: Document the same. * testsuite/gas/aarch64/sysreg-4.s: Test both instructions. * testsuite/gas/aarch64/sysreg-4.d: Likewise. * testsuite/gas/aarch64/illegal-sysreg-4.l: Likewise. commit 3fd229a447cd28a70bfd921f617bc6c3553b8fdd Author: Sudakshina Das Date: Wed Sep 26 10:54:07 2018 +0100 [PATCH, BINUTILS, AARCH64, 5/9] Add DC CVADP instruction This patch is part of the patch series to add support for ARMv8.5-A extensions. (https://developer.arm.com/products/architecture/cpu-architecture/a-profile/docs/ddi0596/a/a64-base-instructions-alphabetic-order/dc-data-cache-operation-an-alias-of-sys) This patch adds the DC CVADP instruction. Since this has a separate identification mechanism a new feature bit is added. *** include/ChangeLog *** 2018-10-09 Sudakshina Das * opcode/aarch64.h (AARCH64_FEATURE_CVADP): New. *** opcodes/ChangeLog *** 2018-10-09 Sudakshina Das * aarch64-opc.c (aarch64_sys_regs_dc): New entry for cvadp. (aarch64_sys_ins_reg_supported_p): New check for above. *** gas/ChangeLog *** 2018-10-09 Sudakshina Das * testsuite/gas/aarch64/sysreg-4.s: Test instruction. * testsuite/gas/aarch64/sysreg-4.d: Likewise. * testsuite/gas/aarch64/illegal-sysreg-4.l: Likewise. commit 2ac435d46608be7ef90f80aaf9ff48443aea571e Author: Sudakshina Das Date: Wed Sep 26 10:52:51 2018 +0100 [PATCH, BINUTILS, AARCH64, 4/9] Add Execution and Data Restriction instructions This patch is part of the patch series to add support for ARMv8.5-A extensions. (https://developer.arm.com/products/architecture/cpu-architecture/a-profile/docs/ddi0596/a/a64-base-instructions-alphabetic-order) This patch adds the prediction restriction instructions (that is, cfp, dvp, cpp). These instructions are retrospectively made optional for all versions of the architecture from ARMv8.0 to ARMv8.4 and is mandatory from ARMv8.5. Hence adding a new +predres which can be used by the older architectures. *** include/ChangeLog *** 2018-10-09 Sudakshina Das * opcode/aarch64.h (AARCH64_FEATURE_PREDRES): New. (AARCH64_ARCH_V8_5): Add AARCH64_FEATURE_PREDRES by default. (aarch64_opnd): Add AARCH64_OPND_SYSREG_SR. (aarch64_sys_regs_sr): Declare new table. *** opcodes/ChangeLog *** 2018-10-09 Sudakshina Das * aarch64-dis.c (aarch64_ext_sysins_op): Add case for AARCH64_OPND_SYSREG_SR. * aarch64-opc.c (aarch64_print_operand): Likewise. (aarch64_sys_regs_sr): Define table. (aarch64_sys_ins_reg_supported_p): Check for RCTX with AARCH64_FEATURE_PREDRES. * aarch64-tbl.h (aarch64_feature_predres): New. (PREDRES, PREDRES_INSN): New. (aarch64_opcode_table): Add entries for cfp, dvp and cpp. (AARCH64_OPERANDS): Add new description for SYSREG_SR. * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Regenerate. * aarch64-opc-2.c: Regenerate. *** gas/ChangeLog *** 2018-10-09 Sudakshina Das * config/tc-aarch64.c (aarch64_sys_regs_sr_hsh): New. (parse_operands): Add entry for AARCH64_OPND_SYSREG_SR. (md_begin): Allocate and initialize aarch64_sys_regs_sr_hsh with aarch64_sys_regs_sr. (aarch64_features): Add new "predres" option for older architectures. * doc/c-aarch64.texi: Document the same. * testsuite/gas/aarch64/sysreg-4.s: New. * testsuite/gas/aarch64/sysreg-4.d: New. * testsuite/gas/aarch64/illegal-sysreg-4.d: New. * testsuite/gas/aarch64/illegal-sysreg-4.l: New. * testsuite/gas/aarch64/predres.s: New. * testsuite/gas/aarch64/predres.d: New. commit 68dfbb92ef5f013a315d652c88ede2082c16a88e Author: Sudakshina Das Date: Wed Sep 26 10:47:40 2018 +0100 [PATCH, BINUTILS, AARCH64, 3/9] Add instruction SB for ARMv8.5-A This patch is part of the patch series to add support for ARMv8.5-A extensions. (https://developer.arm.com/products/architecture/cpu-architecture/a-profile/docs/ddi0596/a/a64-base-instructions-alphabetic-order) This instruction is retrospectively made optional for all versions of the architecture from ARMv8.0 to ARMv8.4 and is mandatory from ARMv8.5. Hence a new command line option of "+sb" is added for older architectures. *** include/ChangeLog *** 2018-10-09 Sudakshina Das * opcode/aarch64.h (AARCH64_FEATURE_SB): New. (AARCH64_ARCH_V8_5): Add AARCH64_FEATURE_SB by default. *** opcodes/ChangeLog *** 2018-10-09 Sudakshina Das * aarch64-tbl.h (aarch64_feature_sb): New. (SB, SB_INSN): New. (aarch64_opcode_table): Add entry for sb. * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Regenerate. * aarch64-opc-2.c: Regenerate. *** gas/ChangeLog *** 2018-10-09 Sudakshina Das * config/tc-aarch64.c (aarch64_features): Add new "sb" option for older architectures. * doc/c-aarch64.texi: Document the same. * testsuite/gas/aarch64/sb.s: New. * testsuite/gas/aarch64/sb.d: New. commit 13c60ad7e1211ee1dfbf6bfb5e35110a33e4eed5 Author: Sudakshina Das Date: Wed Sep 26 10:45:35 2018 +0100 [PATCH, BINUTILS, AARCH64, 2/9] Add Data procoessing instructions for ARMv8.5-A This patch is part of the patch series to add support for ARMv8.5-A extensions. (https://developer.arm.com/products/architecture/cpu-architecture/a-profile/docs/ddi0596/a/a64-base-instructions-alphabetic-order) This patch adds the data processing instructions that are new to ARMv8.5-A. 1) There are 2 instructions: xaflag, axflag, that are added to manipulate the states of the flag and are used to convert between the Arm representation and the fcmp representation. 2) The other instructions are rounding instructions which have 8 versions based on whether the floating-point number is a Single-Precision or Double-Precision number, whether the target integer is a 32-bit or 64-bit integer and whether the rounding mode is the ambient rounding mode or to zero. Each of these instruction is available in both Scalar and Vector forms. Since both 1) and 2) have separate identification mechanism and it is permissible that a ARMv8.4 compliant implementation may include any arbitrary subset of the ARMv8.5 features unless otherwise specified, new feature bits are added. *** include/ChangeLog *** 2018-10-09 Sudakshina Das * opcode/aarch64.h (AARCH64_FEATURE_FLAGMANIP): New. (AARCH64_FEATURE_FRINTTS): New. (AARCH64_ARCH_V8_5): Add both by default. *** opcodes/ChangeLog *** 2018-10-09 Sudakshina Das * aarch64-tbl.h (aarch64_feature_flagmanip): New. (aarch64_feature_frintts): New. (FLAGMANIP, FRINTTS): New. (aarch64_opcode_table): Add entries for xaflag, axflag and frint[32,64][x,z] instructions. * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Regenerate. * aarch64-opc-2.c: Regenerate. *** gas/ChangeLog *** 2018-10-09 Sudakshina Das * testsuite/gas/aarch64/armv8_5-a-dp.s: New. * testsuite/gas/aarch64/armv8_5-a-dp.d: New. commit 70d561813cd4da84109395c36662a187411a4d97 Author: Sudakshina Das Date: Wed Sep 26 10:38:59 2018 +0100 [PATCH, BINUTILS, AARCH64, 1/9] Add -march=armv8.5-a and related internal feature macros This patch is part of the patch series to add support for ARMv8.5-A extensions. (https://developer.arm.com/products/architecture/cpu-architecture/a-profile/exploration-tools) This is the first of the patch series and adds -march=armv8.5-a and other internal feature marcos needed for it. 2018-10-09 Sudakshina Das * config/tc-aarch64.c (aarch64_archs): New entry for armv8.5-a. * doc/c-aarch64.texi: Add documentation for the same. *** include/ChnageLog *** 2018-10-09 Sudakshina Das * opcode/aarch64.h (AARCH64_FEATURE_V8_5): New. (AARCH64_ARCH_V8_5): New. *** opcodes/ChangeLog *** 2018-10-09 Sudakshina Das * aarch64-tbl.h (aarch64_feature_set aarch64_feature_v8_5): New. (ARMV8_5, V8_5_INSN): New. commit 58bbcd02dee8ba018b97706c068ed8ed7afac15d Author: Tom de Vries Date: Thu Oct 4 14:10:39 2018 +0200 [gdb/testsuite] Fix target_supports_scheduler_locking raciness When calling gdb_start_cmd, it's the caller's responsibility to wait for gdb to return to the prompt. In target_supports_scheduler_locking, that's not the case, and consequently, target_supports_scheduler_locking fails spuriously. Fix by using runto_main instead. Build and reg-tested on x86_64-linux. 2018-10-09 Tom de Vries * lib/gdb.exp (target_supports_scheduler_locking): Replace gdb_start_cmd with runto_main. commit 04fd5eed91c0a960e1706fb627912ad6350ae391 Author: Gary Benson Date: Tue Oct 9 14:13:12 2018 +0100 Fix buffer overrun found by Coverity This commit fixes a buffer overrun found by Coverity, where 36 bytes are written into a 24 byte buffer. gdb/ChangeLog: * dwarf2read.c (create_dwp_hash_table): Fix buffer overrun found by Coverity. commit 1c2649ed7481881cb963bb53251a79bfb8b1047e Author: Egeyar Bagcioglu Date: Wed Oct 3 23:27:32 2018 +0200 Do not place symbols into a discarded .dynsym Prevents getting an error about dynamic symbols in sections indexed 64K+ when .dynsym is discarded. * elflink.c (elf_link_output_extsym): Do not place symbols into a discarded .dynsym. commit 35dc7e6b77c6d379dda8072e9f0b88a24c008d06 Author: GDB Administrator Date: Tue Oct 9 00:01:10 2018 +0000 Automatic date update in version.in commit a0c3048e3f397a595a14208e82e21399131f782b Author: Tom Tromey Date: Mon Oct 8 16:39:29 2018 -0600 Remove unused variables from riscv-fbsd-tdep.c This removes a couple of unused variables from riscv-fbsd-tdep.c. This allows a --enable-targets=all build to complete on x86-64 Fedora 28. gdb/ChangeLog 2018-10-08 Tom Tromey * riscv-fbsd-tdep.c (riscv_fbsd_sigframe_init): Remove unused variable. (riscv_fbsd_init_abi): Likewise. commit a51bb70c8a1570f2e6fa74432578bcdf7f2785aa Author: Weimin Pan Date: Mon Oct 8 22:14:11 2018 +0000 Fix the [-Werror=shadow=local] warning Rename local variable in value_struct_elt_for_reference() to work around the shadowing a previous local warning. commit 74792ff782431ec6113b9a8a8e85b95f46094c7f Author: John Baldwin Date: Mon Oct 8 14:47:34 2018 -0700 Add native target for FreeBSD/riscv. gdb/ChangeLog: * Makefile.in (ALLDEPFILES): Add riscv-fbsd-nat.c. * NEWS: Mention new FreeBSD/riscv native configuration. * configure.host: Add riscv*-*-freebsd*. * configure.nat: Likewise. * riscv-fbsd-nat.c: New file. gdb/doc/ChangeLog: * gdb.texinfo (Contributors): Add SRI International and University of Cambridge for FreeBSD/riscv. commit ed65e20bc7cd18406081cf5ba29f9c9bccd4e52f Author: John Baldwin Date: Mon Oct 8 14:47:34 2018 -0700 Add FreeBSD/riscv architecture. Support for collecting and supplying general purpose and floating point register sets is provided along with signal frame unwinding. FreeBSD only supports RV64 currently, so while some provision is made for RV32 in the general-purpose register set, the changes have only been tested on RV64. gdb/ChangeLog: * Makefile.in (ALL_TARGET_OBS): Add riscv-fbsd-tdep.o. (HFILES_NO_SRCDIR): Add riscv-fbsd-tdep.h. (ALLDEPFILES): Add riscv-fbsd-tdep.c. * NEWS: Mention new FreeBSD/riscv target. * configure.tgt: Add riscv*-*-freebsd*. * riscv-fbsd-tdep.c: New file. * riscv-fbsd-tdep.h: New file. commit 498f740792fe0edd2955c5cee6bb864f60a5b173 Author: John Baldwin Date: Mon Oct 8 14:47:33 2018 -0700 Add a helper function to trad_frame to support register cache maps. Currently, signal frame handlers require explicitly coded calls to trad_frame_set_reg_addr() to describe the location of saved registers within a signal frame. This change permits the regcache_map_entry arrays used with regcache::supply_regset and regcache::collect_regset to be used to describe a block of saved registers given an initial address for the register block. Some systems use the same layout for registers in core dump notes, native register sets with ptrace(), and the register contexts saved in signal frames. On these systems, a single register map can now be used to describe the layout of registers in all three places. If a register map entry's size does not match the native size of a register, try to match the semantics used by regcache::transfer_regset. If a register slot is too large, assume that the register's value is stored in the first N bytes and ignore the remaning bytes. If the register slot is smaller than the register, assume the slot holds the low N bytes of the register's value. Read these low N bytes from the target and zero-extend them to generate a register value. While here, document the semantics for both regcache::transfer_regset and trad_frame with respect to register slot's whose size does not match the register's size. gdb/ChangeLog: * regcache.h (struct regcache_map_entry): Note that this type can be used with traditional frame caches. * trad-frame.c (trad_frame_set_reg_regmap): New. * trad-frame.h (trad_frame_set_reg_regmap): New. commit 9f6b697b0efd4ba4e2cb21ac17d2b18a23f81abd Author: Weimin Pan Date: Mon Oct 8 21:16:59 2018 +0000 Finding data member in virtual base class This patch fixes the original problem - printing member in a virtual base, using various expressions, do not yield the same value. Simple test case below demonstrates the problem: % cat t.cc struct base { int i; }; typedef base tbase; struct derived: virtual tbase { void func() { } }; int main() { derived().func(); } % g++ -g t.cc % gdb a.out (gdb) break derived::func (gdb) run (gdb) p i $1 = 0 (gdb) p base::i $3 = 0 (gdb) p derived::i $4 = 4196392 To fix the problem, add function get_baseclass_offset() which searches recursively for the base class along the class hierarchy. If the base is virtual, it uses "vptr" in virtual class object, which indexes to its derived class's vtable, to get and returns the baseclass offset. If the base is non-virtual, it returns the accumulated offset of its parent classes. The offset is then added to the address of the class object to access its member in value_struct_elt_for_reference(). commit 780f601cf3bfd2eb141c2ea32b673b5bd0956a33 Author: Tamar Christina Date: Mon Oct 8 13:33:42 2018 +0100 AArch64: Replace C initializers with memset Clang doesn't accept {0} as a valid C struct initializer under their implementation of -Wmissing-field-initializers. This makes using C initializers a bit tricky. Instead I'm changing the code to use memset instead, which at least GCC inlines and generates the same code for. This also seems to be the idiom used in binutils for most targets. opcodes/ * aarch64-opc.c (verify_constraints): Use memset instead of {0}. commit 80f3ac5d61a5d01d7cf951de0e24ecdc71c545cb Author: H.J. Lu Date: Mon Oct 8 05:14:02 2018 -0700 x86: Don't add GNU_PROPERTY_X86_FEATURE_2_NEEDED for -z separate-code With commit 64029e93683a266c38d19789e780f3748bd6a188 Author: Alan Modra Date: Fri Oct 5 11:40:54 2018 +0930 Separate header PT_LOAD for -z separate-code there is no need to add a GNU_PROPERTY_X86_ISA_1_USED note to force program header in in non-code PT_LOAD segment when -z separate-code is used. bfd/ 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. ld/ PR ld/23428 * testsuite/ld-i386/property-x86-4a.d: Updated. * testsuite/ld-x86-64/property-x86-4a-x32.d: Likewise. * testsuite/ld-x86-64/property-x86-4a.d: Likewise. commit f3e660db14a0a95f3953496d8beb7c58ef34c6d5 Author: H.J. Lu Date: Mon Oct 8 04:39:09 2018 -0700 ELF: Properly group and place orphan note sections Properly group orphan note sections. When placing orphan note section as the first note section, place it after the section before all note sections. PR ld/23658 * ldlang.c (lang_insert_orphan): Properly group and place orphan note sections. Properly handle orphan note section before all note sections. * testsuite/ld-elf/pr23658-1.d: Renamed to ... * testsuite/ld-elf/pr23658-1a.d: This. Updated. * testsuite/ld-elf/pr23658-1b.d: New test. * testsuite/ld-elf/pr23658-1c.d: Likewise. commit 64029e93683a266c38d19789e780f3748bd6a188 Author: Alan Modra Date: Fri Oct 5 11:40:54 2018 +0930 Separate header PT_LOAD for -z separate-code This patch, along with previous patches in the series, supports putting the ELF file header and program headers in a PT_LOAD without sections. Logic governing whether headers a loaded has changed a little: The primary reason to include headers is now the presence of SIZEOF_HEADERS in a linker script. However, to support scripts that may have reserved space for headers by hand, we continue to add headers whenever the first section address is past the end of headers modulo page size. include/ * bfdlink.h (struct bfd_link_info): Add load_phdrs field. bfd/ * 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 section. ld/ * ldexp.c (fold_name ): Set link_info.load_phdrs. * testsuite/ld-elf/loadaddr1.d: Pass -z noseparate-code. * testsuite/ld-elf/loadaddr2.d: Likewise. * testsuite/ld-i386/vxworks2.sd: Adjust expected output. * testsuite/ld-powerpc/vxworks2.sd: Likewise. * testsuite/ld-elf/overlay.d: Remove spu xfail. * testsuite/ld-spu/ovl.lnk: Don't use SIZEOF_HEADERS. * testsuite/ld-tic6x/dsbt-be.ld: Likewise. * testsuite/ld-tic6x/dsbt-inrange.ld: Likewise. * testsuite/ld-tic6x/dsbt-overflow.ld: Likewise. * testsuite/ld-tic6x/dsbt.ld: Likewise. commit 7358942661ccb0ea1e819fd2f5d47914cebf0aa2 Author: Alan Modra Date: Mon Oct 8 08:44:50 2018 +1030 ld insert_os_after ignoring first assignment Some time ago the pr19593 test was xfailed for alpha. This turned out to be the wrong course of action since the test exposed a bug in orphan section placement. On alpha, orphan sections were being inserted before ". = SIZEOF_HEADERS" due to the test having two assignments, and on alpha, an output section statement from -Ttext-segment being passed to ld. * ldlang.c (insert_os_after): Clear ignore_first on assignment to dot, not any assignment. Clear ignore_first on output section statement contents too. * testsuite/ld-elf/pr19539.d: Remove alpha xfail. commit 5d695627883b32cf33adb529c8fc7271b46dcf55 Author: Alan Modra Date: Sat Oct 6 12:24:28 2018 +0930 Use p_vaddr_offset to set p_vaddr on segments without sections p_vaddr is currently set from the first section vma if a segment has sections, and to zero if a segment has no sections. This means we lose p_vaddr when objcopy'ing executables if a segment without sections has a non-zero p_vaddr. This patch saves p_vaddr to p_vaddr_offset, and to make the use of p_vaddr_offset consistent, inverts the sign. (It's now added to section vma to get segment vaddr, and added to zero when there are no sections.) * 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. commit 1b9e270b09c140464a7892c95c28eafa812c6b08 Author: Alan Modra Date: Sat Oct 6 00:05:51 2018 +0930 No PT_INTERP when .interp is zero size Some targets don't set a default interpreter, resulting in an empty .interp section unless --dynamic-linker is passed to ld. A PT_INTERP without a path is rather useless. The testsuite change fixes a failure on microblaze-linux. bfd/ * 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. ld/ * testsuite/ld-elf/pr22423.d: Pass --dynamic-linker to ld. commit e0c3dfa2eebcf862d45b05f363a81f57ca30dead Author: Alan Modra Date: Fri Oct 5 23:35:01 2018 +0930 SPU overlay headers Overlay PT_LOAD headers are moved early for reasons explained by comments in spu_elf_modify_segment_map. This patch fixes cases that shouldn't occur in sane SPU executables. * elf32-spu.c (spu_elf_modify_segment_map): Don't insert overlays before segment containing headers. commit 00bee008e9f7d0b3adf3278962450944653787f8 Author: Alan Modra Date: Fri Oct 5 22:17:00 2018 +0930 Tidy elf_segment_map allocation This cleans up elf_segment_map allocation when the section array is empty. "amt += (to - from - 1) * sizeof (asection *)", when "to" and "from" are unsigned int results in an unsigned value inside the parentheses. When "to" and "from" are equal on a 64-bit host, 0xffffffff * 8 is added to "amt", not -8 as desired. The patch also renames a variable for consistency with other functions using a similar index. * 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. commit c258c396faa626a4c7929a5ec97ee9b294073c5e Author: John Darrington Date: Thu Sep 20 19:52:07 2018 +0200 GDB: Work around buggy dwarf line information produced by Codewarrior Version 5.0.40 (build 15175). gdb/ChangeLog: * dwarf2read.c (dwarf2_cu) : New field. (check_producer): Check if the producer is codewarrior. (producer_is_codewarrior): New function. (lnp_state_machine::record_line): Ignore is_stmt flag for records produced by codewarrior. (dwarf2_cu::dwarf2_cu): Initialize producer_is_codewarrior. commit 25cbdcbbc5d2d4ca834790b1d370fe5159b560de Author: Andreas Schwab Date: Thu Oct 4 14:35:12 2018 +0200 Handle R_RISCV_32_PCREL in readelf * readelf.c (is_32bit_pcrel_reloc): Handle R_RISCV_32_PCREL. commit 9e1698c6186a3239479058d2abe195a384d5ee6e Author: Andreas Krebbel Date: Mon Oct 8 09:48:04 2018 +0200 Python doc build fixes gdb/doc/ChangeLog: 2018-10-08 Andreas Krebbel * python.texi (Inferior.Architecture): Add "@end defun". Rename ref target to "Unwinding Frames in Python". commit de3e5eca9908ef76b53a091c356be4855dcfd1e1 Author: GDB Administrator Date: Mon Oct 8 00:00:30 2018 +0000 Automatic date update in version.in commit add5ded5e476918ef8b05823801531de2f51fa9c Author: Tom Tromey Date: Sat Oct 6 22:57:19 2018 -0600 Add Inferior.architecture method I've written a couple of gdb unwinders in Python, and while doing so, I wanted to find the architecture of the inferior. (In an unwinder in particular, one can't use the frame's architecture, because there is no frame.) This patch adds Inferior.architecture to allow this. Normally I think I would have chosen an attribute and not a method here, but seeing that Frame.architecture is a method, I chose a method as well, for consistency. gdb/ChangeLog 2018-10-06 Tom Tromey PR python/19399: * python/py-inferior.c: Add "architecture" entry. (infpy_architecture): New function. gdb/doc/ChangeLog 2018-10-06 Tom Tromey PR python/19399: * python.texi (Inferiors In Python): Document Inferior.Architecture. gdb/testsuite/ChangeLog 2018-10-06 Tom Tromey PR python/19399: * gdb.python/py-inferior.exp: Add architecture test. commit 51e78fc5fa21870d415c52f90b93e3c6ad57be46 Author: Tom Tromey Date: Sat Oct 6 22:55:19 2018 -0600 Update symbol domain and location values for Python In the distant past, there was no distinction between domain_enum and search_domain. At that point, there were two sets of enumerators in a single enum -- which is why these were eventually split. This confusion leaked out to the Python API as well, as noted in PR python/21765. This patch deprecates the constants that aren't useful to the Python API. They are left in place for now, but removed from the documentation. Also, their values are changed so that, if used, they might work. Finally, missing domains and location constants are added. gdb/ChangeLog 2018-10-06 Tom Tromey PR python/21765: * python/py-symbol.c (gdbpy_initialize_symbols): Redefine SYMBOL_VARIABLES_DOMAIN, SYMBOL_FUNCTIONS_DOMAIN, SYMBOL_TYPES_DOMAIN. Define SYMBOL_MODULE_DOMAIN, SYMBOL_COMMON_BLOCK_DOMAIN, SYMBOL_LOC_COMMON_BLOCK. gdb/doc/ChangeLog 2018-10-06 Tom Tromey PR python/21765: * python.texi (Symbols In Python): Document the module and common-block domains. Remove documentation for incorrect domains. commit f9e48344d54f45368a5e449fb2ccca70a723cd3a Author: Tom Tromey Date: Fri Sep 28 14:32:42 2018 -0600 Use standard_output_file in a couple more places I noticed a few files left over in the testsuite/ directory in the build tree after running tests. Normally output files should not wind up there, but instead should end up in the test's subdirectory. This isn't always crucial, but in the past there were problems with tests clashing, preventing parallel runs, and so it is better to be clean here. This patch changes a couple of tests to use standard_output_file to fix this problem. Tested by re-running the tests in question and examining the directory. gdb/testsuite/ChangeLog 2018-10-06 Tom Tromey * gdb.base/gnu-ifunc.exp (build): Use standard_output_file. * gdb.trace/unavailable-dwarf-piece.exp: Use standard_output_file. commit a8a5dbcab8df0b3a9e04745d4fe8d64740acb323 Author: Tom Tromey Date: Wed Sep 26 06:54:17 2018 -0600 Do not accidentally include in-tree readline headers PR build/17077 points out that when --with-system-readline is given, gdb will still pick up the in-tree readline headers. Normally this is not a big problem, because readline is very stable and so the ABI does not change much; but it is clearly a bug to do this, and could bite at some point. The basic problem is that OPCODES_CFLAGS uses -I$(OPCODES_SRC)/.. so that #include "opcodes/..." works. However, this also makes it so the This patch fixes the problem in a mildly hacky way: remove the offending -I option, and change gdb to use #include "../opcodes/..." instead. This continues to make it clear where the header comes from, without allowing incorrect behavior. Tested by rebuilding and then looking at the *.Po files. gdb/ChangeLog 2018-10-06 Tom Tromey PR build/17077: * Makefile.in (OPCODES_CFLAGS): Remove "-I$(OPCODES_SRC)/..". * arc-tdep.c, frv-tdep.c, lm32-tdep.c, mep-tdep.c, microblaze-tdep.c, or1k-tdep.h: Use ../opcodes, not opcodes, in #include. commit 2a8be20359dba9cc684fd3ffa222d985399f3b18 Author: Tom Tromey Date: Tue Sep 18 06:27:09 2018 -0600 Fix Python gdb.Breakpoint.location crash I noticed today that gdb.Breakpoint.location will crash when applied to a catchpoint made with "catch throw". The bug is that "catch throw" makes a breakpoint that is of type bp_breakpoint, but which does not have a location. Regression tested on x86-64 Fedora 28. gdb/ChangeLog 2018-10-06 Tom Tromey * python/py-breakpoint.c (bppy_get_location): Handle a bp_breakpoint without a location. gdb/testsuite/ChangeLog 2018-10-06 Tom Tromey * gdb.python/py-breakpoint.exp (check_last_event): Check location of a "throw" catchpoint. commit 2fb009bbd1d65a837e5032e744ba30b49c7f472a Author: Tom Tromey Date: Sat Oct 6 22:01:42 2018 -0600 Update help text for commands implemented in Python Philippe pointed out that the "enable frame-filter" help text looked funny. While fixing this I noticed a few more problems in the help text of commands written in Python: * Trailing newlines * Wrong style for metasyntactic variables * Indentation of the text * ... and finally, I thought the function usage lines didn't need that extra newline -- someday I'd like to be able to write a "usage" command that just greps for the Usage line, so ideally it would be tighter than what was done here This patch fixes all the problems I noticed. gdb/ChangeLog 2018-10-06 Tom Tromey * python/lib/gdb/function/strfns.py (_MemEq, _StrLen, _StrEq) (_RegEx): Reformat help text. * python/lib/gdb/function/caller_is.py (CallerIs, CallerMatches) (AnyCallerIs, AnyCallerMatches): Reformat help text. * python/lib/gdb/function/as_string.py (_AsString): Reformat help text. * python/lib/gdb/command/xmethods.py (InfoXMethod) (EnableXMethod, DisableXMethod): Remove help indentation. Capitalize meta-syntactic variables. * python/lib/gdb/command/unwinders.py (InfoUnwinder) (EnableUnwinder, DisableUnwinder): Remove help indentation. Capitalize meta-syntactic variables. * python/lib/gdb/command/explore.py (ExploreCommand) (ExploreValueCommand, ExploreTypeCommand): Reformat help text. * python/lib/gdb/command/type_printers.py (InfoTypePrinter) (EnableTypePrinter, DisableTypePrinter): Remove help indentation. * python/lib/gdb/command/pretty_printers.py (InfoPrettyPrinter): Remove help indentation. (EnablePrettyPrinter, DisablePrettyPrinter): Likewise. * python/lib/gdb/command/frame_filters.py (EnableFrameFilter) (DisableFrameFilter, SetFrameFilterPriority) (ShowFrameFilterPriority, InfoFrameFilter): Reword help text. commit 9e9b8787e962890a5df7ca109e40e87697610cb0 Author: GDB Administrator Date: Sun Oct 7 00:01:19 2018 +0000 Automatic date update in version.in commit 7a9569281a63e472750e3b7b481e2cdf5c931ed8 Author: Tom Tromey Date: Mon Sep 3 15:23:48 2018 -0600 Call nonl before wgetch in TUI PR tui/28819 points out that, in the TUI, the C-j and C-m keys cannot be bound differently in one's ~/.inputrc. However, this works in other readline applications. The bug is that the TUI uses curses' "nl" mode, which causes wgetch to return the same value for both keys. There is a "nonl" mode, but it also affects output. This patch fixes the bug by arranging to call nonl before reading a key and then nl afterward. This avoids any potential problem with changing the output if gdb was to use nonl globally. gdb/ChangeLog 2018-10-06 Tom Tromey PR tui/28819: * tui/tui-io.c (gdb_wgetch): New function. (tui_mld_getc, tui_getc): Use it. commit e04caa70901ed44eb9537ccdbd286fe9b0a46ce2 Author: Sergio Durigan Junior Date: Sat Oct 6 11:23:02 2018 -0400 Update string expected from "help info proc" on gdb.base/info-proc.exp Commit 73f1bd769a5 ("Make the "info proc" documentation more consistent.") updated the output from "help info proc", but forgot to update the test on gdb.base/info-proc.exp. This obvious patch does that. Checked-in as obvious. gdb/testsuite/ChangeLog: 2018-10-06 Sergio Durigan Junior * gdb.base/info-proc.exp: Update string expected from "help info proc". commit ce3a1736b59a05128049459fcd6c91c221f40257 Author: GDB Administrator Date: Sat Oct 6 00:00:33 2018 +0000 Automatic date update in version.in commit a4e78aa5fed5ba2cc343c76b78d062291a6fb659 Author: H.J. Lu Date: Fri Oct 5 11:56:42 2018 -0700 x86: Add Intel ENCLV to assembler and disassembler gas/ * testsuite/gas/i386/se1.s: Add enclv. * testsuite/gas/i386/x86-64-se1.s: Likewise. * testsuite/gas/i386/se1.d: Updated. * testsuite/gas/i386/x86-64-se1.d: Likewise. opcodes/ * i386-dis.c (rm_table): Add enclv. * i386-opc.tbl: Add enclv. * i386-tbl.h: Regenerated. commit f8740dc531c006311ee9f7287180550fe46a94ab Author: Tom Tromey Date: Fri Oct 5 07:28:16 2018 -0600 Fix -Wshadow=local warning in sol_thread_target::wait Rainer pointed out that -Wshadow=local broke the Solaris build. This fixes it. gdb/ChangeLog 2018-10-05 Tom Tromey * sol-thread.c (sol_thread_target::wait): Rename inner "save_ptid". commit d1c86cff1ecdd1027bd224d38f2161196e9955fa Author: Alan Modra Date: Fri Oct 5 19:52:55 2018 +0930 Set correct SHT_NOTE type for .note.spu_name * elf32-spu.c (spu_elf_create_sections): Make .note.spu_name SHT_NOTE. commit dad0c3bfb5e32ff3f2a03830dc189fe207c7ae00 Author: Sudakshina Das Date: Fri Oct 5 10:51:22 2018 +0100 [Arm, 3/3] Add Execution and Data Prediction instructions for AArch32 This patch is part of the patch series to add support for ARMv8.5-A extensions. (https://developer.arm.com/products/architecture/cpu-architecture/a-profile/exploration-tools) This patch adds the Execution and Data Prediction Restriction instructions (that is, cfprctx, dvprxtc, cpprctx). These are all aliases to MCR and are disassembled as such. This instruction is retrospectively made optional for all versions of the architecture from ARMv8.0 to ARMv8.4 and is mandatory from ARMv8.5. Hence adding a new +predres for older versions of the architecture. *** include/ChangeLog *** 2018-10-05 Sudakshina Das * opcode/arm.h (ARM_EXT2_PREDRES): New. (ARM_ARCH_V8_5A): Add ARM_EXT2_PREDRES by default. *** gas/ChangeLog *** 2018-10-05 Sudakshina Das * config/tc-arm.c (arm_ext_predres): New. (insns): Add new cfprctx, dvprctx and cpprctx instructions. (arm_extensions): Add "predres". * doc/c-arm.texi: Document the above. * testsuite/gas/arm/predres-bad.d: New test. * testsuite/gas/arm/predres-bad.l: New test. * testsuite/gas/arm/predres.s: New test. * testsuite/gas/arm/predres1.d: New test. * testsuite/gas/arm/predres2.d: New test. commit 7fadb25d6faf2665305016ceb4aeaeeb86015569 Author: Sudakshina Das Date: Fri Oct 5 10:49:53 2018 +0100 [Arm, 2/3] Add instruction SB for AArch32 This patch is part of the patch series to add support for ARMv8.5-A extensions. (https://developer.arm.com/products/architecture/cpu-architecture/a-profile/exploration-tools) This patch adds the instruction SB. This instruction is retrospectively made optional for all versions of the architecture from ARMv8.0 to ARMv8.4 and is mandatory from ARMv8.5. Hence adding a new "+sb" for older archtectures. *** include/ChangeLog *** 2018-10-05 Sudakshina Das * opcode/arm.h (ARM_EXT2_SB): New. (ARM_ARCH_V8_5A): Add ARM_EXT2_SB by default. *** opcodes/ChangeLog *** 2018-10-05 Sudakshina Das * arm-dis.c (arm_opcodes): Add sb. (thumb32_opcodes): Likewise. *** gas/ChangeLog *** 2018-10-05 Sudakshina Das * config/tc-arm.c (arm_ext_sb): New. (insns): Add new sb instruction. (arm_extensions): Add "sb". * doc/c-arm.texi: Document the above. * testsuite/gas/arm/sb-bad.d: New test. * testsuite/gas/arm/sb-bad.l: New test. * testsuite/gas/arm/sb-thumb1.d: New test. * testsuite/gas/arm/sb-thumb2.d: New test. * testsuite/gas/arm/sb.s: New test. * testsuite/gas/arm/sb1.d: New test. * testsuite/gas/arm/sb2.d: New test. commit 23f233a595dc7d8b9a6ababe7c4527f743c0cec1 Author: Sudakshina Das Date: Fri Oct 5 10:47:29 2018 +0100 [Arm, 1/3] Add -march=armv8.5-a and related internal feature macros to AArch32 This patch is part of the patch series to add support for ARMv8.5-A extensions. (https://developer.arm.com/products/architecture/cpu-architecture/a-profile/exploration-tools) This is the first of the patch series and adds -march=armv8.5-a and other internal feature marcos needed for it. *** gas/ChangeLog *** 2018-10-05 Sudakshina Das * config/tc-arm.c (arm_archs): New entry for armv8.5-a. (cpu_arch_ver): Likewise. * doc/c-arm.texi: Add documentation for the same. * testsuite/gas/arm/attr-march-armv8_5-a.d: New. *** include/ChnageLog *** 2018-10-05 Sudakshina Das * opcode/arm.h (ARM_EXT2_V8_5A): New. (ARM_AEXT2_V8_5A, ARM_ARCH_V8_5A): New. commit 96643e35c077ed36c74b231ceefa4c30b3b02e28 Author: Tom Tromey Date: Sat Apr 21 16:09:10 2018 -0600 Add -Wshadow=local This adds -Wshadow=local to configure. gdb/ChangeLog 2018-10-04 Tom Tromey * configure: Rebuild. * warning.m4 (AM_GDB_WARNINGS): Add -Wshadow=local. gdb/gdbserver/ChangeLog 2018-10-04 Tom Tromey * configure: Rebuild. commit d951f98b3c8bf202571327d8679ae30ca1da9fdc Author: Tom Tromey Date: Sun Apr 22 10:46:03 2018 -0600 Shadowing fix in gdbscm_frame_read_var -Wshadow=local pointed out that the shadowing in gdbscm_frame_read_var means that the ultimate call to read_var_value will always be passed block==NULL. The fix is to remove the inner declaration. gdb/ChangeLog 2018-10-04 Tom Tromey * guile/scm-frame.c (gdbscm_frame_read_var): Remove inner declaration of "block". commit b8c888478d517a39d8b0104857d573e47620a3d1 Author: Tom Tromey Date: Sun Apr 22 10:11:32 2018 -0600 Avoid shadowing in fdwalk -Wshadow=local caught this buglet. fdwalk redeclares "result" in the inner scope, meaning that this function will always return 0, even on error. gdb/ChangeLog 2018-10-04 Tom Tromey * common/filestuff.c (fdwalk): Remove inner declaration of "result". commit ef789dc484a35159ad825c98c4a2502f2097aed7 Author: Tom Tromey Date: Sat Apr 21 22:42:00 2018 -0600 Fix latent bug in msp430-tdep.c -Wshadow=local found this latent bug. msp430-tdep.c does: const gdb_byte *arg_bits; { /* Aggregates of any size are passed by reference. */ gdb_byte struct_addr[4]; [... arg_bits = struct_addr; } ... use arg_bits Here, arg_bits can point to an object that's gone out of scope. The fix is to hoist the inner "struct_addr" buffer to an outer scope, and rename it to avoid shadowing. gdb/ChangeLog 2018-10-04 Tom Tromey * msp430-tdep.c (msp430_push_dummy_call): Rename inner "structs_addr" and hoist declaration. commit 3fba72f7612c071f07fc7e65887bd1e8e056e272 Author: Tom Tromey Date: Sun Apr 22 10:46:51 2018 -0600 Avoid shadowing in linux-tdep.c This is one of the uglier changes to avoid local shadowing. Because obstack.h uses statement expressions, in some cases a nested obstack call will result in shadowing. Rather than try to fix obstack.h, this patch simply works around the one instance of this problem. gdb/ChangeLog 2018-10-04 Tom Tromey * linux-tdep.c (linux_make_mappings_corefile_notes): Introduce new variable "size". commit 795afcbbb4b6c9a47597b9da57221b1bf9fdc88f Author: Tom Tromey Date: Sun Apr 22 10:26:18 2018 -0600 Use std::string in mdebugread.c This changes a couple of spots in mdebugread to use std::string rather than manual management. This is simpler, and also avoids shadowing by renaming the variable in question. gdb/ChangeLog 2018-10-04 Tom Tromey * mdebugread.c (parse_partial_symbols): Use std::string. commit da4ae14a4d1614015f6e8d4a37df1b882806630a Author: Tom Tromey Date: Sun Apr 22 10:50:27 2018 -0600 Avoid shadowing in gdbserver This fixes a few instances of shadowing in gdbserver. These are all simple fixes. gdb/gdbserver/ChangeLog 2018-10-04 Tom Tromey * server.c (handle_status): Rename inner "thread". (process_serial_event): Declare "res" in 'm' case. * linux-low.c (last_thread_of_process_p, find_lwp_pid) (iterate_over_lwps): Rename inner "thread". (linux_qxfer_libraries_svr4): Rename inner "len". * gdbthread.h (find_thread_in_random): Rename inner "thread". commit b926417afaea99ed17663e06d6654d0048536017 Author: Tom Tromey Date: Sat Apr 21 16:16:27 2018 -0600 Simple -Wshadow=local fixes This fixes all the straightforward -Wshadow=local warnings in gdb. A few standard approaches are used here: * Renaming an inner (or outer, but more commonly inner) variable; * Lowering a declaration to avoid a clash; * Moving a declaration into a more inner scope to avoid a clash, including the special case of moving a declaration into a loop header. I did not consider any of the changes in this patch to be particularly noteworthy, though of course they should all still be examined. gdb/ChangeLog 2018-10-04 Tom Tromey * ctf.c (SET_ARRAY_FIELD): Rename "u32". * p-valprint.c (pascal_val_print): Split inner "i" variable. * xtensa-tdep.c (xtensa_push_dummy_call): Declare "i" in loop header. * xstormy16-tdep.c (xstormy16_push_dummy_call): Declare "val" in more inner scope. * xcoffread.c (read_xcoff_symtab): Rename inner "symbol". * varobj.c (varobj_update): Rename inner "newobj", "type_changed". * valprint.c (generic_emit_char): Rename inner "buf". * valops.c (find_overload_match): Rename inner "temp". (value_struct_elt_for_reference): Declare "v" in more inner scope. * v850-tdep.c (v850_push_dummy_call): Rename "len". * unittests/array-view-selftests.c (run_tests): Rename inner "vec". * tui/tui-stack.c (tui_show_frame_info): Declare "i" in loop header. * tracepoint.c (merge_uploaded_trace_state_variables): Declare "tsv" in more inner scope. (print_one_static_tracepoint_marker): Rename inner "tuple_emitter". * tic6x-tdep.c (tic6x_analyze_prologue): Declare "inst" lower. (tic6x_push_dummy_call): Don't redeclare "addr". * target-float.c: Declare "dto" lower. * symtab.c (lookup_local_symbol): Rename inner "sym". (find_pc_sect_line): Rename inner "pc". * stack.c (print_frame): Don't redeclare "gdbarch". (return_command): Rename inner "gdbarch". * s390-tdep.c (s390_prologue_frame_unwind_cache): Renam inner "sp". * rust-lang.c (rust_internal_print_type): Declare "i" in loop header. * rs6000-tdep.c (ppc_process_record): Rename inner "addr". * riscv-tdep.c (riscv_push_dummy_call): Declare "info" in inner scope. * remote.c (remote_target::update_thread_list): Don't redeclare "tp". (remote_target::process_initial_stop_replies): Rename inner "thread". (remote_target::remote_parse_stop_reply): Don't redeclare "p". (remote_target::wait_as): Don't redeclare "stop_reply". (remote_target::get_thread_local_address): Rename inner "result". (remote_target::get_tib_address): Likewise. commit 1f88d0c87c37d3a15fa6376335e8b0d1c79d85aa Author: Simon Marchi Date: Thu Oct 4 22:43:27 2018 -0400 Fix undefined behavior, don't pass NULL to fwrite If a vector that we try to write using file_write is empty, we may end up passing NULL to fwrite, which triggers UBSan: .../gdb/dwarf-index-write.c:73:14: runtime error: null pointer passed as argument 1, which is declared to never be null Avoid it by skipping the write if the vector is empty. gdb/ChangeLog: * dwarf-index-write.c (file_write): Don't write if the vector is empty. commit 1f041c6edf49a896b99db253066fce427a7d2264 Author: Stafford Horne Date: Fri Oct 5 11:41:42 2018 +0900 or1k: Add OpenRISC gas documentation gas/ChangeLog: yyyy-mm-dd Stafford Horne * doc/Makefile.am (CPU_DOCS): Add entry for OpenRISC. * doc/Makefile.in: Regenerated. * doc/all.texi: Set OPENRISC. * doc/as.texi: Document OpenRISC. * doc/c-or1k.texi: New file. commit 07f5f4c683879e844d20d0d4963bbaf1b7cd47b9 Author: Richard Henderson Date: Fri Oct 5 11:41:41 2018 +0900 or1k: Add the l.muld, l.muldu, l.macu, l.msbu insns Also fix the incorrect definitions of multiply and divide carry and overflow float. Changes to the instructions are made in the .cpu file, then we regenerate the binutils and sim files. The changes also required a few fixups for tests and additional sim helpers. cpu/ChangeLog: yyyy-mm-dd Richard Henderson Stafford Horne * or1korbis.cpu (insn-opcode-mac): Add opcodes for MACU and MSBU. (insn-opcode-alu-regreg): Add opcodes for MULD and MULDU. (l-mul): Fix overflow support and indentation. (l-mulu): Fix overflow support and indentation. (l-muld, l-muldu, l-msbu, l-macu): New instructions. (l-div); Remove incorrect carry behavior. (l-divu): Fix carry and overflow behavior. (l-mac): Add overflow support. (l-msb, l-msbu): Add carry and overflow support. opcodes/ChangeLog: yyyy-mm-dd Richard Henderson Stafford Horne * or1k-desc.c: Regenerate. * or1k-desc.h: Regenerate. * or1k-opc.c: Regenerate. * or1k-opc.h: Regenerate. * or1k-opinst.c: Regenerate. sim/common/ChangeLog: yyyy-mm-dd Stafford Horne * cgen-ops.h (ADDCFDI): New function, add carry flag DI variant. (ADDOFDI): New function, add overflow flag DI variant. (SUBCFDI): New function, subtract carry flag DI variant. (SUBOFDI): New function, subtract overflow flag DI variant. sim/ChangeLog: yyyy-mm-dd Stafford Horne * 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: sim/testsuite/sim/or1k/ChangeLog: yyyy-mm-dd Stafford Horne * div.S: Fix tests to match correct overflow/carry semantics. * mul.S: Likewise. gas/ChangeLog: yyyy-mm-dd Stafford Horne * testsuite/gas/or1k/allinsn.s: Add instruction tests for l.muld, l.muldu, l.macu, l.msb, l.msbu. * testsuite/gas/or1k/allinsn.d: Add test results for new instructions. commit c8e98e3692cec125b92c995d8f881d9bdf1fac00 Author: Stafford Horne Date: Fri Oct 5 11:41:41 2018 +0900 or1k: Add the l.adrp insn and supporting relocations This patch adds the new instruction and relocation as per proposal: https://openrisc.io/proposals/ladrp This is to be added to the spec in an upcoming revision. The new instruction l.adrp loads the page offset of the current instruction offset by a 21-bit immediate shifted left 13-bits. This is meant to be used with a 13-bit lower bit page offset. This allows us to free up the got register r16. l.adrp r3, foo l.ori r4, r3, po(foo) l.lbz r5, po(foo)(r3) l.sb po(foo)(r3), r6 The relocations we add are: - BFD_RELOC_OR1K_PLTA26 For PLT jump relocation with PLT entry asm: plta() implemented using l.ardp, meaning no need for r16 (the GOT reg) - BFD_RELOC_OR1K_GOT_PG21 Upper 21-bit Page offset got address asm: got() - BFD_RELOC_OR1K_TLS_GD_PG21 Upper 21-bit Page offset with TLS General asm: tlsgd() Dynamic calculation - BFD_RELOC_OR1K_TLS_LDM_PG21 Upper 21-bit Page offset with TLS local asm: tlsldm() dynamic calculation - BFD_RELOC_OR1K_TLS_IE_PG21 Upper 21-bit Page offset with TLS Initial asm: gottp() Executable calculation - BFD_RELOC_OR1K_PCREL_PG21 Default relocation for disp21 (l.adrp instructions) - BFD_RELOC_OR1K_LO13 low 13-bit page offset relocation asm: po() i.e. mem loads, addi etc - BFD_RELOC_OR1K_SLO13 low 13-bit page offset relocation asm: po() i.e. mem stores, with split immediate - BFD_RELOC_OR1K_GOT_LO13, low 13-bit page offset with GOT calcs asm: gotpo() - BFD_RELOC_OR1K_TLS_GD_LO13 Lower 13-bit offset with TLS GD calcs asm: tlsgdpo() - BFD_RELOC_OR1K_TLS_LDM_LO13 Lower 13-bit offset with TLS LD calcs asm: tlsldmpo() - BFD_RELOC_OR1K_TLS_IE_LO13 Lower 13-bit offset with TLS IE calcs asm: gottppo() bfd/ChangeLog: yyyy-mm-dd Richard Henderson * 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. cpu/ChangeLog: yyyy-mm-dd Richard Henderson * or1k.opc (parse_disp26): Add support for plta() relocations. (parse_disp21): New function. (or1k_rclass): New enum. (or1k_rtype): New enum. (or1k_imm16_relocs): Define new PO and SPO relocation mappings. (parse_reloc): Add new po(), gotpo() and gottppo() for LO13 relocations. (parse_imm16): Add support for the new 21bit and 13bit relocations. * or1korbis.cpu (f-disp26): Don't assume SI. (f-disp21): New pc-relative 21-bit 13 shifted to right. (insn-opcode): Add ADRP. (l-adrp): New instruction. gas/ChangeLog: yyyy-mm-dd Richard Henderson * config/tc-or1k.c (or1k_apply_fix): Add 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. * testsuite/gas/or1k/allinsn.s: Add test for l.adrp. * testsuite/gas/or1k/allinsn.d: Add test results for new instructions. * testsuite/gas/or1k/reloc-1.s: Add tests to generate R_OR1K_PLTA26, 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_TLD_LDM_LO13, R_OR1K_TLS_IE_LO13, R_OR1K_LO13, R_OR1K_SLO13 relocations. * testsuite/gas/or1k/reloc-1.d: Add relocation results for tests. * testsuite/gas/or1k/reloc-2.s: Add negative tests for store to gotpo(). * testsuite/gas/or1k/reloc-2.l: Add expected error test results. ld/ChangeLog: yyyy-mm-dd Richard Henderson * testsuite/ld-or1k/or1k.exp: Add test cases for plt generation. * testsuite/ld-or1k/plt1.dd: New file. * testsuite/ld-or1k/plt1.s: New file. * testsuite/ld-or1k/plt1.x.dd: New file. * testsuite/ld-or1k/plta1.dd: New file. * testsuite/ld-or1k/plta1.s: New file. * testsuite/ld-or1k/pltlib.s: New file. include/ChangeLog: yyyy-mm-dd Richard Henderson * elf/or1k.h (elf_or1k_reloc_type): 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. opcodes/ChangeLog: yyyy-mm-dd Richard Henderson * 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 f2c1801f6255a3f9f483ae2f07c7d7da0ddae4af Author: Stafford Horne Date: Fri Oct 5 11:41:41 2018 +0900 or1k: Fix messages for relocations in shared libraries Added checks include: - Do not allow relocations to global symbols using relocations which are meant for local symbol relocations. - Require the use of -fpic when compiling shared libraries. - Require zero addend for plt relocations. bfd/ChangeLog: yyyy-mm-dd Richard Henderson * 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. commit 1c4f3780f7d939402cfe555007ebff45c8e38951 Author: Richard Henderson Date: Fri Oct 5 11:41:40 2018 +0900 or1k: Add relocations for high-signed and low-stores This patch adds the following target relocations: - BFD_RELOC_HI16_S High 16-bit relocation, for used with signed asm: ha() lower. - BFD_RELOC_HI16_S_GOTOFF High 16-bit GOT offset relocation for local asm: gotoffha() symbols, for use with signed lower. - BFD_RELOC_OR1K_TLS_IE_AHI16 High 16-bit TLS relocation with initial asm: gottpoffha() executable calculation, for use with signed lower. - BFD_RELOC_OR1K_TLS_LE_AHI16 High 16-bit TLS relocation for local executable asm: tpoffha() variables, for use with signed lower. - BFD_RELOC_OR1K_SLO16 Split lower 16-bit relocation, used with asm: lo() OpenRISC store instructions. - BFD_RELOC_OR1K_GOTOFF_SLO16 Split lower 16-bit GOT offset relocation for asm: gotofflo() local symbols, used with OpenRISC store instructions. - BFD_RELOC_OR1K_TLS_LE_SLO16 Split lower 16-bit relocation for TLS local asm: tpofflo() executable variables, used with OpenRISC store instructions. bfd/ChangeLog: yyyy-mm-dd Richard Henderson Stafford Horne * 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. cpu/ChangeLog: yyyy-mm-dd Richard Henderson * or1k.opc: Add RTYPE_ enum. (INVALID_STORE_RELOC): New string. (or1k_imm16_relocs): New array array. (parse_reloc): New static function that just does the parsing. (parse_imm16): New static function for generic parsing. (parse_simm16): Change to just call parse_imm16. (parse_simm16_split): New function. (parse_uimm16): Change to call parse_imm16. (parse_uimm16_split): New function. * or1korbis.cpu (simm16-split): Change to use new simm16_split. (uimm16-split): Change to use new uimm16_split. gas/ChangeLog: yyyy-mm-dd Richard Henderson * testsuite/gas/or1k/allinsn.d (l_ha): Add result for ha() relocation. * testsuite/gas/or1k/allinsn.s (l_ha): Add test for ha() relocations. * testsuite/gas/or1k/allinsn.exp: Renamed to or1k.exp. * testsuite/gas/or1k/or1k.exp: Add reloc-2 list test. * testsuite/gas/or1k/reloc-1.d: New file. * testsuite/gas/or1k/reloc-1.s: New file. * testsuite/gas/or1k/reloc-2.l: New file. * testsuite/gas/or1k/reloc-2.s: New file. include/ChangeLog: yyyy-mm-dd Richard Henderson * elf/or1k.h (elf_or1k_reloc_type): Add 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. ld/ChangeLog: yyyy-mm-dd Richard Henderson * testsuite/ld-or1k/offsets1.d: New file. * testsuite/ld-or1k/offsets1.s: New file. * testsuite/ld-or1k/or1k.exp: New file. opcodes/ChangeLog: yyyy-mm-dd Richard Henderson * or1k-asm.c: Regenerate. commit 4677effd9e320d9f09337ef17bf0dc0377a9e8ce Author: GDB Administrator Date: Fri Oct 5 00:00:44 2018 +0000 Automatic date update in version.in commit 5c4481cc9bf9dfec3c35aaf5d95b08542ab8970b Author: Tom de Vries Date: Tue Oct 2 21:47:54 2018 +0200 [gdb/python] Fix cpychecker error in pspy_solib_name When using cpychecker, we run into: ... gdb/python/py-progspace.c: \ In function ‘PyObject* pspy_solib_name(PyObject*, PyObject*)’: gdb/python/py-progspace.c:370:25: error: Mismatching type in call to \ PyArg_ParseTuple with format code "K" [-Werror] if (!PyArg_ParseTuple (args, GDB_PY_LLU_ARG, &pc)) argument 3 ("&pc") had type "gdb_py_longest *" (pointing to 64 bits) but was expecting "long long unsigned int *" (pointing to 64 bits) for format code "K" ... Fix this fixing the type of the variable. Build and reg-tested on x86_64-linux. 2018-10-05 Tom de Vries * python/py-progspace.c (pspy_solib_name): Fix type mismatch in PyArg_ParseTuple call. commit 96b1ad866b1c861f772c5a11b556766c73c3d1ab Author: Tom de Vries Date: Tue Oct 2 21:47:37 2018 +0200 [gdb/python] Fix cpychecker error in recpy_bt_goto When using cpychecker, we run into this error: ... gdb/python/py-record-btrace.c: \ In function ‘PyObject* recpy_bt_goto(PyObject*, PyObject*)’: gdb/python/py-record-btrace.c:783:25: error: Mismatching type in call to \ PyArg_ParseTuple with format code "O" [-Werror] if (!PyArg_ParseTuple (args, "O", &obj)) argument 3 ("&obj") had type "const struct recpy_element_object * *" but was expecting "struct PyObject * *" for format code "O" ... Fix this by using a new variable of the expected type instead. Build and reg-tested on x86_64-linux. 2018-10-05 Tom de Vries * python/py-record-btrace.c (recpy_bt_goto): Fix type mismatch in PyArg_ParseTuple call. commit d2f7dcb218cc281288a5c3ea800a186c68f9d2ae Author: Joel Brobecker Date: Thu Oct 4 18:04:13 2018 -0400 reformat parameters of gdb/psymtab.c::recursively_search_psymtabs This is just to make sure one of the parameters doesn't end past the 80 characters limit. And while at it, since all parameters were on their own line except the first two that were listed on the same line, it felf more consistent to just split them to have each and every parameter on their own line. gdb/ChangeLog: * psymtab.c (recursively_search_psymtabs): Reformat parameters to avoid exceeding 80 characters per line limit. Tested by rebuilding GDB on x86_64-linux. commit 3e1b4df89cfa5171c52245d79434774f4b570ae1 Author: Jim Wilson Date: Thu Oct 4 13:29:57 2018 -0700 RISC-V: Delete zero-size .tdata.dyn section. bfd/ * elfnn-riscv.c (riscv_elf_size_dynamic_sections): In dynobj->sections loop, handle htab->sdyntdata section. commit 5ca8c39f059b30991b7090e7a662e4eb35d11133 Author: Tom Tromey Date: Sun May 27 21:31:14 2018 -0600 Simplify complaints even more This removes the SHORT_FIRST_MESSAGE case from complaints, leaving only a single case. This allows for the removal of the last argument to clear_complaints, and also simplifies complaint_internal, removing an extra allocation in the process. After this, the "./gdb -iex 'set complaint 1' -nx ./gdb" example will show: Reading symbols from ./gdb... During symbol reading: .debug_ranges entry has start address of zero [in module /home/tromey/gdb/build/gdb/gdb] During symbol reading: DW_AT_low_pc 0x0 is zero for DIE at 0x17116c1 [in module /home/tromey/gdb/build/gdb/gdb] During symbol reading: .debug_line address at offset 0xa22f5 is 0 [in module /home/tromey/gdb/build/gdb/gdb] During symbol reading: unsupported tag: 'DW_TAG_unspecified_type' During symbol reading: const value length mismatch for 'std::ratio<1, 1000000000>::num', got 8, expected 0 This is a bit wordier but, I think, a bit more clear, as the form of the message no longer depends on precisely when it was emitted. In particular if you compare to the output from the 'Clean up "Reading symbols" output' patch, you can see that earlier gdb would switch from the prefix-less form to the "During symbol reading" form at a point that is meaningless to the user (specifically, after psymtab reading is done and gdb tries to expand a CU). 2018-10-04 Tom Tromey * symfile.c (syms_from_objfile_1, finish_new_objfile) (reread_symbols): Update. * complaints.h (clear_complaints): Remove argument. * complaints.c (enum complaint_series): Remove. (series): Remove global. (complaint_internal): Update. (clear_complaints): Remove argument. gdb/testsuite/ChangeLog 2018-10-04 Tom Tromey * gdb.cp/maint.exp (test_invalid_name): Update expected output. * gdb.gdb/complaints.exp (test_short_complaints): Remove. (test_initial_complaints, test_empty_complaints): Update. * gdb.dwarf2/dw2-stack-boundary.exp: Update. commit e79497a160f38368688107520d7d1bd0aeafc1c7 Author: Tom Tromey Date: Sun May 27 21:12:58 2018 -0600 Only print "no debugging symbols" message once The "no debugging symbols" message can be confusing in some cases, for example when gdb finds separate debug info for an objfile, but the separate debug info does not contain symbols. For example: (gdb) file /bin/ls Reading symbols from /bin/ls... Reading symbols from .gnu_debugdata for /usr/bin/ls... (No debugging symbols found in .gnu_debugdata for /usr/bin/ls) (No debugging symbols found in /bin/ls) Here, I think the second "no debugging symbols" message is redundant and confusing. This patch changes gdb to only emit this message when the objfile in question does not have a separate debug file. So, in the example above, the output would now read: (gdb) file /bin/ls Reading symbols from /bin/ls... Reading symbols from .gnu_debugdata for /usr/bin/ls... (No debugging symbols found in .gnu_debugdata for /usr/bin/ls) 2018-10-04 Tom Tromey * symfile.c (symbol_file_add_with_addrs): Do not print "no debugging symbols" message if there is a separate debug objfile. commit 3453e7e409f44a79ac6695589836edb8a49bfb08 Author: Tom Tromey Date: Sat May 19 11:25:20 2018 -0600 Clean up "Reading symbols" output This patch is another attempt to fix PR cli/19551. Unlike my previous attempt, it doesn't print progress. Instead, it just changes some messages and adds newlines to make the output a bit nicer. It also removes the "done." text that was previously emitted. The idea here is that it is obvious when gdb is done reading debug info, as it starts then doing something else; and that while this message did not provide much benefit to users, it did make it harder to make the output clean. After this change the output from "./gdb -iex 'set complaint 1' -nx ./gdb" reads: Reading symbols from ./gdb... .debug_ranges entry has start address of zero [in module /home/tromey/gdb/build/gdb/gdb] DW_AT_low_pc 0x0 is zero for DIE at 0x17116c1 [in module /home/tromey/gdb/build/gdb/gdb] .debug_line address at offset 0xa22f5 is 0 [in module /home/tromey/gdb/build/gdb/gdb] During symbol reading, unsupported tag: 'DW_TAG_unspecified_type'. During symbol reading, const value length mismatch for 'std::ratio<1, 1000000000>::num', got 8, expected 0. gdb/ChangeLog 2018-10-04 Tom Tromey PR cli/19551: * symfile.c (symbol_file_add_with_addrs): Update output. * psymtab.c (require_partial_symbols): Update output. gdb/testsuite/ChangeLog 2018-10-04 Tom Tromey PR cli/19551: * lib/mi-support.exp (mi_gdb_file_cmd): Update. * lib/gdb.exp (gdb_file_cmd): Update. * gdb.stabs/weird.exp (print_weird_var): Update. * gdb.server/solib-list.exp: Update. * gdb.multi/remove-inferiors.exp (test_remove_inferiors): Update. * gdb.mi/mi-cli.exp: Update. * gdb.linespec/linespec.exp: Update. * gdb.dwarf2/dw2-stack-boundary.exp: Update. * gdb.dwarf2/dw2-objfile-overlap.exp: Update. * gdb.cp/cp-relocate.exp: Update. * gdb.base/sym-file.exp: Update. * gdb.base/relocate.exp: Update. * gdb.base/readnever.exp: Update. * gdb.base/print-symbol-loading.exp (test_load_core): Update. * gdb.base/kill-detach-inferiors-cmd.exp: Update. * gdb.base/dbx.exp (gdb_file_cmd): Update. * gdb.base/code_elim.exp: Update. * gdb.base/break-unload-file.exp (test_break): Update. * gdb.base/break-interp.exp (test_attach_gdb): Update. * gdb.base/break-idempotent.exp (force_breakpoint_re_set): Update. * gdb.base/attach.exp (do_attach_tests): Update. * gdb.base/sepdebug.exp: Update. * gdb.python/py-section-script.exp: Update. commit 6afcf761c2d8ffcb04ede75d1e670042e196bc5b Author: Tom Tromey Date: Wed May 16 23:30:43 2018 -0600 Make complaint output prettier Currently complaints are not always printed with a newline. For example, when I run gdb on itself, I see output like: (gdb) set complaints 5 (gdb) file ./gdb/gdb Reading symbols from ./gdb/gdb...DW_AT_low_pc 0x0 is zero for DIE at 0x437dd4 [in module /home/tromey/gdb/build/gdb/gdb]....debug_line address at offset 0x21bf9 is 0 [in module /home/tromey/gdb/build/gdb/gdb]...DW_AT_low_pc 0x0 is zero for DIE at 0x5a85dd [in module /home/tromey/gdb/build/gdb/gdb]....debug_line address at offset 0x2dc2d is 0 [in module /home/tromey/gdb/build/gdb/gdb]...DW_AT_low_pc 0x0 is zero for DIE at 0xab6033 [in module /home/tromey/gdb/build/gdb/gdb]....debug_line address at offset 0x4f683 is 0 [in module /home/tromey/gdb/build/gdb/gdb]...DW_AT_low_pc 0x0 is zero for DIE at 0x10028f0 [in module /home/tromey/gdb/build/gdb/gdb]....debug_line address at offset 0x75edf is 0 [in module /home/tromey/gdb/build/gdb/gdb]...DW_AT_low_pc 0x0 is zero for DIE at 0x1021364 [in module /home/tromey/gdb/build/gdb/gdb]....debug_line address at offset 0x76f62 is 0 [in module /home/tromey/gdb/build/gdb/gdb]...done. That's one very long line. I find it quite difficult to read that, and I thought it would be better with some newlines, which is what this patch does. Now the output looks like: (gdb) file ./gdb Reading symbols from ./gdb... DW_AT_low_pc 0x0 is zero for DIE at 0x437dd4 [in module /home/tromey/gdb/build/gdb/gdb] .debug_line address at offset 0x21bf9 is 0 [in module /home/tromey/gdb/build/gdb/gdb] DW_AT_low_pc 0x0 is zero for DIE at 0x5a85dd [in module /home/tromey/gdb/build/gdb/gdb] .debug_line address at offset 0x2dc2d is 0 [in module /home/tromey/gdb/build/gdb/gdb] done. gdb/ChangeLog 2018-10-04 Tom Tromey PR cli/22234: * complaints.c: Emit \n. gdb/testsuite/ChangeLog 2018-10-04 Tom Tromey PR cli/22234: * gdb.dwarf2/dw2-stack-boundary.exp: Update expected output. * gdb.gdb/complaints.exp (test_short_complaints): Update expected output. commit 22068491adac735905948fd4c2e9aaacf9e22e06 Author: Tom Tromey Date: Wed May 16 21:52:04 2018 -0600 Use filtered printing when reading symbols While working on this series, I found some unfiltered prints that didn't make sense -- many things, like complaints, are filtered, while their context (in this case the "Reading symbols ..." messages) may not be. This patch changes some spots in symbol reading to use filtered prints. I think this is preferable overall; in fact I'd go farther and say that unfiltered printing should just be removed. One of these spots was not strictly related (the change to dump_psymtab), but I left it in partly because it makes psymtab.c "unfiltered-clean", and partly because it is an example of filtered and unfiltered printing being mixed in the same function. gdb/ChangeLog 2018-10-04 Tom Tromey * symfile.c (symbol_file_add_with_addrs, symbol_file_clear) (separate_debug_file_exists, find_separate_debug_file) (add_symbol_file_command, reread_symbols, allocate_symtab) (allocate_compunit_symtab): Use filtered printing, not unfiltered. * psymtab.c (require_partial_symbols, dump_psymtab) (allocate_psymtab): Use filtered printing, not unfiltered. commit 9fdd7193e7fd041e9ff311a69dc02aecef53070f Author: Tom Tromey Date: Sun May 27 21:36:44 2018 -0600 Fix off-by-one error in complaint_internal complaint_internal had an off-by-one error, where it would allow one extra complaint to be issued. gdb/ChangeLog 2018-10-04 Tom Tromey * complaints.c (complaint_internal): Correctly check complaint count. commit 3f2cf4dcd578d60fcdbbc28e720badffe8c15661 Author: Tom Tromey Date: Sun May 27 21:26:11 2018 -0600 Remove some leftovers from complaints There were a couple of leftovers from earlier patches in complaints.[ch]. This removes them. gdb/ChangeLog 2018-10-04 Tom Tromey * complaints.h (struct complaints): Remove declaration. * complaints.c (clear_complaints): Remove an unused variable. commit b35334aa98b75e4e166d30d673fd3bf1238dc7b7 Author: H.J. Lu Date: Thu Oct 4 12:06:33 2018 -0700 pr23658-1.d: Also xfail ft32-* and xgate-* Since ft32-* and xgate-* use generic linker, SHT_NOTE sections aren't grouped nor sorted. PR ld/23658 * testsuite/ld-elf/pr23658-1.d: Also xfail ft32-* and xgate-*. commit fef1b2933d911476c52418ae7c207d94e13ebb97 Author: Tom Tromey Date: Thu Oct 4 11:01:53 2018 -0600 Avoid pagination in attach.exp While re-testing the complaint series, I saw some unresolved tests in attach.exp. In particular, the tests were failing because the pager was active. This is partly a new problem, introduced because that series changes some prints from unfiltered to filtered. However, it is also a latent bug, which you can see by shrinking your window very small and then running the test. This patch avoids the problem by passing -quiet to gdb and arranging to set the window height and width in one other test. Arguably instead of -quiet we should disable the pager during gdb's welcome message. I can do that if it seems desirable; but meanwhile this patch is safe. gdb/testsuite/ChangeLog 2018-10-04 Tom Tromey * gdb.base/attach.exp (test_command_line_attach_run): Use -quiet; set width and height to 0. (test_command_line_attach_run): Use -quiet. commit 4f9bdf7fa52ba0d520647d0b69fe94e523fabf56 Author: Rainer Orth Date: Thu Oct 4 14:10:16 2018 +0200 Add self to gdb/MAINTAINERS Joel asked me to add myself to gdb/MAINTAINERS. Done as follows, fixing two incorrectly indented lines on the way. Installed on master. * MAINTAINERS (Write After Approval): Add self. commit dca0df07ae4ab31c51a40edeb3e5cda7587f9beb Author: Jose E. Marchesi Date: Thu Oct 4 12:16:11 2018 +0200 bfd: amend ChangeLog entry commit 6d0a6093c5fe82eb4c2b67d3d10fa44eeb0bc98b Author: Jose E. Marchesi Date: Thu Oct 4 02:12:48 2018 -0700 bfd,sparc: fix the .dynsym sh_index when stripping all symbols in ld The SPARC ELF BFD backend uses a hack in order to accomodate the STT_REGISTER symbols mandated by the SPARC V9 ABI for 64-bit objects. The hack works as follows: - Early in `size_dynamic_symbols', it adds the dynamic STT_REGISTER symbols and the corresponding DT_SPARC_REGISTER tags if needed, i.e. if the input object has been annotated by the assembler to use any of the global registers requiring annotations by the ABI. The STT_REGISTER symbols are not local, but nevertheless they are added to the end of the dynlocal linked list (eek, yes) to be fixed "later". This is done so the symbols are emitted in the symtab. - Consequently, when the `sh_info' field of the .dynsym section is calculated in `bfd_elf_final_link' to be `local_dynsymcount + 1', it may have the wrong value, since the real first global symbol is the first STT_REGISTER symbol. - However, this temporary inconsistency is fixed in the `elf64_sparc_output_arch_syms' backend hook: the sh_index is adjusted to its rightful value. So all is well and good. However the 2015 changeset commit 8539e4e89eb4c54bb6668582cd709765a3803588 Author: Alan Modra Date: Thu Jan 15 19:42:59 2015 +1030 Fix ARM fail of gap test ld-elf/gap test was failing due to the ARM backend attempting to output arch symbols when ld -s (strip all symbols) is in force. This patch stops that happening and tidies the code a little. made the `elf_backend_output_arch_syms' backend hook to not be called when all symbols are to be stripped. This resulted in an incorrect sh_index for .dynsym when a link is performed with -s (strip_all), in 64-bit sparc ELF objects. This patch moves the sh_index adjusting code from the target `output_arch_syms' to `finish_dynamic_sections'. It also removes the strip_all check from `elf64_sparc_output_arch_syms', as the function is no longer called in that case. Tested in sparc64-linux-gnu and sparc-linux-gnu. No regressions observed. bfd/ChangeLog: 2018-10-04 Jose E. Marchesi * elf64-sparc.c (elf64_sparc_output_arch_syms): Do not correct the impact of STT_REGISTER symbols in the dynsym sh_index here... * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): ... but do it here. commit 875e539851bb2702f3292f819e220545a8776242 Author: Tom Tromey Date: Wed Oct 3 16:01:12 2018 -0600 Avoid two uninitialized warnings from gcc This avoids a couple of uninitialized warnings from gcc by initializing the object in question. The one in coffread.c seems like it could be a latent bug. The one in scm-value.c is harmless, but GCC can't see that. gdb/ChangeLog 2018-10-03 Tom Tromey * guile/scm-value.c (gdbscm_value_to_string): Initialize "buffer_contents". * coffread.c (coff_symtab_read): Initialize "newobj". commit a4cf95167c83c0b8c9dcd55f475a3b028eb883fc Author: GDB Administrator Date: Thu Oct 4 00:00:35 2018 +0000 Automatic date update in version.in commit 8634679f82df75cf482b0c0814c2b3865da91d22 Author: Simon Marchi Date: Wed Oct 3 14:34:18 2018 -0400 Remove struct keyword in range-based for I get the following error with gcc 6.3.0: /home/simark/src/binutils-gdb/gdb/dwarf2read.c: In function 'void read_func_scope(die_info*, dwarf2_cu*)': /home/simark/src/binutils-gdb/gdb/dwarf2read.c:13838:12: error: types may not be defined in a for-range-declaration [-Werror] for (struct symbol *sym : template_args) ^~~~~~ Removing the struct keyword fixes it. gdb/ChangeLog: * dwarf2read.c (read_func_scope): Remove struct keyword in range-based for. commit f35d5adea1cee8ce9141ad85a7e59d008c2e4d42 Author: Tom Tromey Date: Sat Aug 18 15:32:46 2018 -0600 Add --enable-ubsan This adds --enable-ubsan to gdb's configure. By default it is enabled in development mode, and disabled otherwise. This passes both -fsanitize=undefined and -fno-sanitize-recover=undefined to compilations, so that undefined behavior violations will be sure to cause test failures. gdb/ChangeLog 2018-10-03 Tom Tromey * README: Mention --enable-ubsan. * NEWS: Mention --enable-ubsan. * acinclude.m4: Include sanitize.m4. * configure: Rebuild. * configure.ac: Call AM_GDB_UBSAN. * sanitize.m4: New file. gdb/doc/ChangeLog 2018-10-03 Tom Tromey * gdb.texinfo (Configure Options): Document --enable-ubsan. commit 1dffa580e7e083a43216fd7cbcadd72c760cf29d Author: Tom Tromey Date: Fri Aug 17 20:34:40 2018 -0600 Avoid undefined behavior in expression dumping -fsanitize=undefined pointed out undefined behavior in dump_raw_expression like: runtime error: load of value 2887952, which is not a valid value for type 'exp_opcode' dump_raw_expression will try to print the opcode for each element of the expression, even when it is not valid. To allow this, but have it avoid undefined behavior, this patch sets the underlying type of enum exp_opcode, and arranges for op_name to handle invalid opcodes more nicely. Before this patch, debug-expr.exp shows: Dump of expression @ 0x60f000007750, before conversion to prefix form: Language c, 8 elements, 16 bytes each. Index Opcode Hex Value String Value 0 OP_TYPE 89 Y............... 107820862850704 ..:..b.......... 2 OP_TYPE 89 Y............... 3 OP_VAR_VALUE 40 (............... 4 107820861806352 ..*..b.......... 5 107820861805152 `.*..b.......... 6 OP_VAR_VALUE 40 (............... 7 UNOP_MEMVAL_TYPE 57 9............... Afterward, the output is: Dump of expression @ 0x4820f90, before conversion to prefix form: Language c, 8 elements, 16 bytes each. Index Opcode Hex Value String Value 0 OP_TYPE 89 Y............... 1 unknown opcode: 176 75444400 .0.............. 2 OP_TYPE 89 Y............... 3 OP_VAR_VALUE 40 (............... 4 OP_BOOL 74616912 P.r............. 5 unknown opcode: 128 74615680 ..r............. 6 OP_VAR_VALUE 40 (............... 7 UNOP_MEMVAL_TYPE 57 9............... gdb/ChangeLog 2018-10-03 Tom Tromey * expression.h (enum exp_opcode): Use uint8_t as base type. * expprint.c (op_name): Handle invalid opcodes. commit 5e70ee0905a848701bb929a66f84ff2e212cfa81 Author: Tom Tromey Date: Sat Aug 18 14:51:46 2018 -0600 Avoid undefined behavior in ada_operator_length -fsanitize=undefined pointed out this error: runtime error: load of value 2887952, which is not a valid value for type 'exp_opcode' This happens in gdb.ada/complete.exp when processing "complete p my_glob". This does not parse, so the Ada parser throws an exception; but then the code in parse_exp_in_context_1 accepts the expression anyway. However, as no elements have been written to the expression, undefined behavior results. The fix is to notice this case in parse_exp_in_context_1. This patch also adds an assertion to prefixify_expression to enforce this pre-existing constraint. gdb/ChangeLog 2018-10-03 Tom Tromey * parse.c (prefixify_expression): Add assert. (parse_exp_in_context_1): Throw exception if the expression is empty. commit 4dd1b46077b2ae7331f274f7888733de5166445c Author: Tom Tromey Date: Fri Aug 17 20:19:13 2018 -0600 Avoid undefined behavior in read_signed_leb128 -fsanitize=undefined pointed out that read_signed_leb128 had an undefined left-shift when processing the final byte of a 64-bit leb: runtime error: left shift of 127 by 63 places cannot be represented in type 'long int' and an undefined negation: runtime error: negation of -9223372036854775808 cannot be represented in type 'long int'; cast to an unsigned type to negate this value to itself Both of these problems are readily avoided by havinng read_signed_leb128 work in an unsigned type, and then casting to the signed type at the return. gdb/ChangeLog 2018-10-03 Tom Tromey * dwarf2read.c (read_signed_leb128): Work in ULONGEST. commit 20562150d8a894bc91657c843ee88c508188e32e Author: Tom Tromey Date: Sun Jul 29 20:23:33 2018 -0600 Avoid undefined behavior in parse_number -fsanitize=undefined pointed out that c-exp.y relied on undefined behavior here: if (c != 'l' && c != 'u') n *= base; ...when a large hex constant "just fit" into a LONGEST, causing the high bit to be set. This fixes the problem by having the function work in an unsigned type. gdb/ChangeLog 2018-10-03 Tom Tromey * c-exp.y (parse_number): Work in unsigned. Remove casts. commit d359392f976d48b04a27e6a09b5b61846b0727f9 Author: Tom Tromey Date: Sun Jul 29 17:29:24 2018 -0600 Avoid undefined behavior in read_subrange_type -fsanitize=undefined pointed out an undefined shift of a negative value in read_subrange_type. The fix is to do the work in an unsigned type, where this is defined. gdb/ChangeLog 2018-10-03 Tom Tromey * dwarf2read.c (read_subrange_type): Make "negative_mask" unsigned. commit 0101665f864383147448c5871a67286a3f7a9a28 Author: Tom Tromey Date: Sun Jul 29 17:16:03 2018 -0600 Avoid undefined behavior in extract_integer -fsanitize=undefined showed that extract_integer could left-shift a negative value, which is undefined. This patch fixes the problem by doing all the work in an unsigned type. This relies on implementation-defined behavior, but I tend to think we are on safe ground there. (Also, if need be, violations of this could probably be detected, either by configure or by a static_assert.) gdb/ChangeLog 2018-10-03 Tom Tromey * findvar.c (extract_integer): Do work in an unsigned type. commit ad69edbb4b230582ecd1863e68d0c2044f5ad901 Author: Tom Tromey Date: Thu Jul 26 19:52:47 2018 -0600 Use unsigned as base type for some enums -fsanitize=undefined complains about using operator~ on various enum types that are used with DEF_ENUM_FLAGS_TYPE. This patch fixes these problems by explicitly setting the base type for these enums to unsigned. It also adds a static assert to enum_flags to ensure that future enums used this way have an unsigned underlying type. gdb/ChangeLog 2018-10-03 Tom Tromey * common/enum-flags.h (enum_flags::operator~): Add static assert. * symfile-add-flags.h (enum symfile_add_flag): Use unsigned as base type. * objfile-flags.h (enum objfile_flag): Use unsigned as base type. * gdbtypes.h (enum type_instance_flag_value): Use unsigned as base type. * c-lang.h (enum c_string_type_values): Use unsigned as base type. * btrace.h (enum btrace_thread_flag): Use unsigned as base type. commit 780942fc2422d80a49b748e484890f11db31f49e Author: Tom Tromey Date: Tue Aug 28 16:14:52 2018 -0600 Change dwarf2_frame_state_reg_info::reg to be std::vector This changes dwarf2_frame_state_reg_info::reg to be a std::vector. This avoids passing NULL to memcpy in the copy constructor when the original object does not have any registers. gdb/ChangeLog 2018-10-03 Tom Tromey * dwarf2-frame.h (dwarf2_frame_state_reg_info) <~dwarf2_frame_state_reg_info>: Update. : Update. : Add assertion. Update. : Now a std::vector. : Remove. : Update. * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program) (execute_cfa_program_test, dwarf2_frame_cache): Update. commit 10657c047e4e0257440c80fda5f4e23a3452616c Author: Tom Tromey Date: Thu Jul 26 17:48:40 2018 -0600 Do not pass NULL to memcpy -fsanitize=undefined pointed out a spot that passes NULL to memcpy, which is undefined behavior according to the C standard. gdb/ChangeLog 2018-10-03 Tom Tromey * namespace.c (add_using_directive): Don't pass NULL to memcpy. commit fb9bbfd7f2d39a1d4850fcf0f63ef1f077f55e4b Author: H.J. Lu Date: Wed Oct 3 14:11:43 2018 -0700 ELF: Add testcases for PR ld/23658 Add testcases to verify that all SHT_NOTE sections with the same section alignment are placed in a single PT_NOTE segment. PR ld/23658 * testsuite/ld-elf/pr23658-1.d: New file. * testsuite/ld-elf/pr23658-1a.s: Likewise. * testsuite/ld-elf/pr23658-1b.s: Likewise. * testsuite/ld-elf/pr23658-1c.s: Likewise. * testsuite/ld-elf/pr23658-1d.s: Likewise. * testsuite/ld-elf/pr23658-2.rd: Likewise. * testsuite/ld-elf/pr23658-3.d: Likewise. * testsuite/ld-elf/pr23658-3.s: Likewise. * testsuite/ld-elf/pr23658-3.t: Likewise. * testsuite/ld-elf/shared.exp: Run PR ld/23658 tests. commit 34c0fc000f5202dc8f5feeb35d682913ee508230 Author: Philippe Waroquiers Date: Wed Oct 3 22:27:52 2018 +0200 tid-parse.c tid_is_in_list correct 'See' comment. Refer to tid-parse.h and tid_is_in_list is explained there. commit 1887ae7304dced5b081ee200a9e27fbb8f180143 Author: H.J. Lu Date: Wed Oct 3 13:25:16 2018 -0700 ELF: Group and sort output note sections by section alignments To support putting all adjacent SHT_NOTE sections with the same section alignment into a single PT_NOTE segment, lang_insert_orphan must group and sort output note sections by section alignments in both output section list as well as output section statement list. PR ld/23658 * ldlang.c (lang_insert_orphan): Group and sort output note sections by section alignments. commit 23e463ed7c0d289e2291aaefd576bf02efd98df8 Author: H.J. Lu Date: Wed Oct 3 13:22:26 2018 -0700 ELF: Group PT_NOTE segments by section alignments Alignments of SHT_NOTE sections can be 8 bytes for 64-bit ELF files. We should put all adjacent SHT_NOTE sections with the same section alignment into a single PT_NOTE segment even when the section alignment != 4 bytes. Also check SHT_NOTE section type instead of section name. 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. commit e66cfcef729d758a5e605d57600530ad9b1bb9c3 Author: Tamar Christina Date: Wed Oct 3 18:52:36 2018 +0100 AArch64: Add MOVPRFX tests and update testsuite This patch adds the tests and expected output for each of the conditions where the MOVPRFX constraint should apply. The specific test cases are all documented to indicate what the expected behavior should be. gas/ * testsuite/gas/aarch64/sve-movprfx_1.d: New test. * testsuite/gas/aarch64/sve-movprfx_1.s: New test. * testsuite/gas/aarch64/sve-movprfx_10.d: New test. * testsuite/gas/aarch64/sve-movprfx_10.l: New test. * testsuite/gas/aarch64/sve-movprfx_10.s: New test. * testsuite/gas/aarch64/sve-movprfx_11.d: New test. * testsuite/gas/aarch64/sve-movprfx_11.s: New test. * testsuite/gas/aarch64/sve-movprfx_12.d: New test. * testsuite/gas/aarch64/sve-movprfx_12.s: New test. * testsuite/gas/aarch64/sve-movprfx_13.d: New test. * testsuite/gas/aarch64/sve-movprfx_13.l: New test. * testsuite/gas/aarch64/sve-movprfx_13.s: New test. * testsuite/gas/aarch64/sve-movprfx_14.d: New test. * testsuite/gas/aarch64/sve-movprfx_14.l: New test. * testsuite/gas/aarch64/sve-movprfx_14.s: New test. * testsuite/gas/aarch64/sve-movprfx_15.d: New test. * testsuite/gas/aarch64/sve-movprfx_15.l: New test. * testsuite/gas/aarch64/sve-movprfx_15.s: New test. * testsuite/gas/aarch64/sve-movprfx_16.d: New test. * testsuite/gas/aarch64/sve-movprfx_16.s: New test. * testsuite/gas/aarch64/sve-movprfx_17.d: New test. * testsuite/gas/aarch64/sve-movprfx_17.l: New test. * testsuite/gas/aarch64/sve-movprfx_17.s: New test. * testsuite/gas/aarch64/sve-movprfx_18.d: New test. * testsuite/gas/aarch64/sve-movprfx_18.l: New test. * testsuite/gas/aarch64/sve-movprfx_18.s: New test. * testsuite/gas/aarch64/sve-movprfx_19.d: New test. * testsuite/gas/aarch64/sve-movprfx_19.s: New test. * testsuite/gas/aarch64/sve-movprfx_2.d: New test. * testsuite/gas/aarch64/sve-movprfx_2.l: New test. * testsuite/gas/aarch64/sve-movprfx_2.s: New test. * testsuite/gas/aarch64/sve-movprfx_20.d: New test. * testsuite/gas/aarch64/sve-movprfx_20.l: New test. * testsuite/gas/aarch64/sve-movprfx_20.s: New test. * testsuite/gas/aarch64/sve-movprfx_21.d: New test. * testsuite/gas/aarch64/sve-movprfx_21.s: New test. * testsuite/gas/aarch64/sve-movprfx_22.d: New test. * testsuite/gas/aarch64/sve-movprfx_22.l: New test. * testsuite/gas/aarch64/sve-movprfx_22.s: New test. * testsuite/gas/aarch64/sve-movprfx_23.d: New test. * testsuite/gas/aarch64/sve-movprfx_23.l: New test. * testsuite/gas/aarch64/sve-movprfx_23.s: New test. * testsuite/gas/aarch64/sve-movprfx_24.d: New test. * testsuite/gas/aarch64/sve-movprfx_24.l: New test. * testsuite/gas/aarch64/sve-movprfx_24.s: New test. * testsuite/gas/aarch64/sve-movprfx_25.d: New test. * testsuite/gas/aarch64/sve-movprfx_25.l: New test. * testsuite/gas/aarch64/sve-movprfx_25.s: New test. * testsuite/gas/aarch64/sve-movprfx_26.d: New test. * testsuite/gas/aarch64/sve-movprfx_26.l: New test. * testsuite/gas/aarch64/sve-movprfx_26.s: New test. * testsuite/gas/aarch64/sve-movprfx_3.d: New test. * testsuite/gas/aarch64/sve-movprfx_3.l: New test. * testsuite/gas/aarch64/sve-movprfx_3.s: New test. * testsuite/gas/aarch64/sve-movprfx_4.d: New test. * testsuite/gas/aarch64/sve-movprfx_4.l: New test. * testsuite/gas/aarch64/sve-movprfx_4.s: New test. * testsuite/gas/aarch64/sve-movprfx_5.d: New test. * testsuite/gas/aarch64/sve-movprfx_5.s: New test. * testsuite/gas/aarch64/sve-movprfx_6.d: New test. * testsuite/gas/aarch64/sve-movprfx_6.l: New test. * testsuite/gas/aarch64/sve-movprfx_6.s: New test. * testsuite/gas/aarch64/sve-movprfx_7.d: New test. * testsuite/gas/aarch64/sve-movprfx_7.l: New test. * testsuite/gas/aarch64/sve-movprfx_7.s: New test. * testsuite/gas/aarch64/sve-movprfx_8.d: New test. * testsuite/gas/aarch64/sve-movprfx_8.l: New test. * testsuite/gas/aarch64/sve-movprfx_8.s: New test. * testsuite/gas/aarch64/sve-movprfx_9.d: New test. * testsuite/gas/aarch64/sve-movprfx_9.l: New test. * testsuite/gas/aarch64/sve-movprfx_9.s: New test. commit bde90be2cddc06371ee80a258bf6855d0f346324 Author: Tamar Christina Date: Wed Oct 3 18:51:11 2018 +0100 AArch64: Constraint disassembler and assembler changes. This patch wires in the new constraint verifiers into the assembler and disassembler. Because of this the MOVPRFX tests have to be split out from the generic SVE tests into their own tests so warnings can be ignored. These tests are only intended to test the encoding correctness and not the constraints. gas/ * testsuite/gas/aarch64/sve-movprfx.d: New test. * testsuite/gas/aarch64/sve-movprfx.s: New test. * testsuite/gas/aarch64/sve.d: Refactor. * testsuite/gas/aarch64/sve.s: Refactor. * testsuite/gas/aarch64/sysreg-diagnostic.d: Update. opcodes/ * aarch64-asm.c (aarch64_opcode_encode): Apply constraint verifier. * aarch64-dis.c (print_operands): Refactor to take notes. (print_verifier_notes): New. (print_aarch64_insn): Apply constraint verifier. (print_insn_aarch64_word): Update call to print_aarch64_insn. * aarch64-opc.c (aarch64_print_operand): Remove attribute, update notes format. commit 4f5d2536289c0aedc3234f1bff6e9f4284f267c5 Author: Tamar Christina Date: Wed Oct 3 18:50:15 2018 +0100 AArch64: Close sequences at the end of sections Any open sequence at the end of a section or assembly is considered an error. This patch adds a check at the end to ensure that all sequences have been closed and if not reports a warning. During disassembly it's not possible to detect this condition in the back-end so the warning is only emitted from the assembler for now. gas/ * config/tc-aarch64.c (force_automatic_sequence_close, aarch64_frob_section): New. * config/tc-aarch64.h (tc_frob_section, aarch64_frob_section): New. commit a68f4cd235a36776d3d9fea7291163b8d8e35869 Author: Tamar Christina Date: Wed Oct 3 18:38:42 2018 +0100 AArch64: Add SVE constraints verifier. This patch adds the verification rules for move prefix constraints. The Arm SVE instruction MOVPRFX introduces[1] constraints on the instruction at PC+4. Particularly the following constraints are handled by this patch * MOVPRFX must be followed by an instruction. * MOVPRFX can only be followed by non-layout altering directives. * MOVPRFX destination register MUST be used as the destination register in the instruction at PC+4, and is not allowed to be used in any other position other than destructive input. This includes registers that architecturally overlap. e.g. x1 should be treated as z1. * MOVPRFX must be followed by a restricted set of SVE instructions. * The size of the destination register of MOVPRFX must be equal to that of the operation at PC+4. * The predicate register and operation of MOVPRFX must match that of the instruction at PC+4 * The predicated instruction at PC+4 must use the merging predicate. * Architectural aliases and pseudo-instructions need to be supported as well. * MOVPRFX cannot be the last instruction in a sequence Any failure to adhere to any of these constrains will emit an assembly warning and a disassembly note. [1] https://developer.arm.com/docs/ddi0584/latest/arm-architecture-reference-manual-supplement-the-scalable-vector-extension-sve-for-armv8-a include/ * opcode/aarch64.h (aarch64_inst): Remove. (enum err_type): Add ERR_VFI. (aarch64_is_destructive_by_operands): New. (init_insn_sequence): New. (aarch64_decode_insn): Remove param name. opcodes/ * aarch64-opc.c (init_insn_block): New. (verify_constraints, aarch64_is_destructive_by_operands): New. * aarch64-opc.h (verify_constraints): New. gas/ * config/tc-aarch64.c (output_operand_error_report): Order warnings. commit 755b748fd9fbee8cad2e55535d23298e8ac76b15 Author: Tamar Christina Date: Wed Oct 3 18:37:07 2018 +0100 AArch64: Refactor verifiers to make more general. The current verifiers only take an instruction description and encoded value as arguments. This was enough when the verifiers only needed to do simple checking but it's insufficient for the purposes of validating instruction sequences. This patch adds the required arguments and also a flag to allow a verifier to distinguish between whether it's being run during encoding or decoding. It also allows for errors and warnings to be returned by a verifier instead of a simple pass/fail. include/ * opcode/aarch64.h (struct aarch64_opcode): Expand verifiers to take more arguments. opcodes/ * aarch64-dis.c (aarch64_opcode_decode): Update verifier call. * aarch64-opc.c (verify_ldpsw): Update arguments. commit 1d4823943d92e7fccb0616f885c029d9952cfb0e Author: Tamar Christina Date: Wed Oct 3 18:35:15 2018 +0100 AArch64: Refactor err_type. Previously the ERR_ values were defined as different constants, to make this a bit more type safe and so they can be more easily re-used I'm changing them into an actual enum and updating any usages. include/ * opcode/aarch64.h (enum err_type): New. (aarch64_decode_insn): Use it. opcodes/ * aarch64-dis.c (ERR_OK, ERR_UND, ERR_UNP, ERR_NYI): Remove. (aarch64_decode_insn, print_insn_aarch64_word): Use err_type. commit 7e84b55d8f973b011f55f604a76c2d1d989d0b6b Author: Tamar Christina Date: Wed Oct 3 18:27:52 2018 +0100 AArch64: Wire through instr_sequence This patch introduces aarch64_instr_sequence which is a structure similar to IT blocks on Arm in order to track instructions that introduce a constraint or dependency on instruction 1..N positions away from the instruction that opened the block. The struct is also wired through to the locations that require it. gas/ * config/tc-aarch64.c (now_instr_sequence): (*insn_sequence, now_instr_sequence): New. (output_operand_error_record, do_encode): Add insn_sequence. (md_assemble): Update insn_sequence. (try_to_encode_as_unscaled_ldst, fix_mov_imm_insn, fix_insn): Pass insn_sequence. * config/tc-aarch64.h (struct aarch64_segment_info_type): Add insn_sequence. include/ * opcode/aarch64.h (struct aarch64_instr_sequence): New. (aarch64_opcode_encode): Use it. opcodes/ * aarch64-asm.c (aarch64_opcode_encode): Add insn_sequence. * aarch64-dis.c (insn_sequence): New. commit eae424aef0b14e1765602088ac866b95d14d4a22 Author: Tamar Christina Date: Wed Oct 3 18:22:15 2018 +0100 AArch64: Mark sve instructions that require MOVPRFX constraints This patch series is to allow certain instructions such as the SVE MOVPRFX instruction to apply a constraint/dependency on the instruction at PC+4. This patch starts this off by marking which instructions impose the constraint and which instructions must adhere to the constraint. This is done in a generic way by extending the verifiers. * The constraint F_SCAN indicates that an instruction opens a sequence and imposes a constraint on an instructions following it. The length of the sequence depends on the instruction itself and it handled in the verifier code. * The C_SCAN_MOVPRFX flag is used to indicate which constrain the instruction is checked against. An instruction with both F_SCAN and C_SCAN_MOVPRFX starts a block for the C_SCAN_MOVPRFX instruction, and one with only C_SCAN_MOVPRFX must adhere to a previous block constraint is applicable. The SVE instructions in this list have been marked according to the SVE specification[1]. [1] https://developer.arm.com/docs/ddi0584/latest/arm-architecture-reference-manual-supplement-the-scalable-vector-extension-sve-for-armv8-a include/ * opcode/aarch64.h (struct aarch64_opcode): Add constraints, extend flags field size. (F_SCAN, C_SCAN_MOVPRFX, C_MAX_ELEM): New. opcodes/ * aarch64-tbl.h (CORE_INSN, __FP_INSN, SIMD_INSN, CRYP_INSN, _CRC_INSN, _LSE_INSN, _LOR_INSN, RDMA_INSN, FF16_INSN, SF16_INSN, V8_2_INSN, _SVE_INSN, V8_3_INSN, CNUM_INSN, RCPC_INSN, SHA2_INSN, AES_INSN, V8_4_INSN, SHA3_INSN, SM4_INSN, FP16_V8_2_INSN, DOT_INSN): Initialize constraints. (_SVE_INSNC): New. (struct aarch64_opcode): (fjcvtzs, ldpsw, ldpsw, esb, psb): Initialize constraints. (movprfx): Change _SVE_INSN into _SVE_INSNC, add C_SCAN_MOVPRFX and F_SCAN flags. (msb, mul, neg, not, orr, rbit, revb, revh, revw, sabd, scvtf, sdiv, sdivr, sdot, smax, smin, smulh, splice, sqadd, sqdecd, sqdech, sqdecp, sqdecw, sqincd, sqinch, sqincp, sqincw, sqsub, sub, subr, sxtb, sxth, sxtw, uabd, ucvtf, udiv, udivr, udot, umax, umin, umulh, uqadd, uqdecd, uqdech, uqdecp, uqdecw, uqincd, uqinch, uqincp, uqincw, uqsub, uxtb, uxth, uxtw, bic, eon, orn, mov, fmov): Change _SVE_INSN into _SVE_INSNC and add C_SCAN_MOVPRFX and C_MAX_ELEM constraints. commit ca98345e0b3fda08ae79e4cb07632eab84ef6ef2 Author: Sandra Loosemore Date: Wed Oct 3 09:16:53 2018 -0700 Skip gdb ifunc tests on targets that don't support this feature. 2018-10-03 Sandra Loosemore * lib/gdb.exp (skip_ifunc_tests): New. * gdb.base/gnu-ifunc.exp: Skip if no ifunc support. Handle other compile failures. * gdb.compile/compile-ifunc.exp: Skip if no ifunc support. commit c8d3f93237d77f76d14e09e44bc770ce9428b0e4 Author: Millan Wolff Date: Wed Oct 3 12:06:09 2018 +0100 Fix the handling of inlined frames in DWARF debug info. PR 23715 * dwarf2.c (find_abstract_instance): Allow recursive invocations of find_abstract_instance to override the name variable. commit 527b9e87ac1915aec4c26f96951c3b49a145bc88 Author: Nick Clifton Date: Wed Oct 3 11:36:11 2018 +0100 Updated French translation for the binutils/ subdirectory. commit 8e90d6d2c2f84abf25efc669e10efa3ae29b1039 Author: Nick Clifton Date: Wed Oct 3 10:56:59 2018 +0100 Updated Portuguese translations for the bfd/ and binutils/ subdirectories. commit 007d2fe43e27fa38a0bc1e22c5f5fb4ee945830d Author: John Darrington Date: Mon Oct 1 11:24:15 2018 +0200 Make print_insn_s12z public. Gdb can use this function in its stack unwinder. * include/dis-asm.h (print_insn_s12z): Add declaration. commit 2398abf8bca3563ddab4bd41c710af8027fe2919 Author: Tom Tromey Date: Tue Oct 2 16:44:47 2018 -0600 Use pulongest in aarch64-linux-tdep.c I tried a build on macOS today and it failed due to a mismatch between the printf format and the type in aarch64-linux-tdep.c. This patch fixes the problem by using pulongest and %s rather than %ld. gdb/ChangeLog 2018-10-02 Tom Tromey * aarch64-linux-tdep.c (aarch64_linux_sigframe_init): Use pulongest. commit 53c30c89d160e83ba3870693a9b32363c6811ede Author: GDB Administrator Date: Wed Oct 3 00:00:33 2018 +0000 Automatic date update in version.in commit 64a336ac134ebd7f9452a7088e90e29551465251 Author: Palmer Dabbelt Date: Tue Oct 2 08:26:32 2018 -0700 RISC-V: Add fence.tso instruction The RISC-V memory model has been ratified, and it includes an additional fence: "fence.tso". This pseudo instruction extends one of the previously reserved full fence patterns to be less restrictive, and therefor will execute correctly on all existing microarchitectures. Thus there is no reason to allow this instruction to be disabled (or unconverted to a full fence), so it's just unconditionally allowed. I've added a test case for GAS to check that "fence.tso" correctly assembles on rv32i-based targets. I checked to see that "fence.tso" appears in "gas.log", but that's the only testing I've done. gas/ChangeLog 2018-10-02 Palmer Dabbelt * testsuite/gas/riscv/fence-tso.d: New file. * testsuite/gas/riscv/fence-tso.s: Likewise. include/ChangeLog 2018-10-02 Palmer Dabbelt * opcode/riscv-opc.h (MATCH_FENCE_TSO): New define. (MASK_FENCE_TSO): Likewise. opcodes/ChangeLog 2018-10-02 Palmer Dabbelt * riscv-opc.c (riscv_opcodes) : New opcode. commit c1168a2f66553cd4730931cf59e3be8378a1a03f Author: John Darrington Date: Wed Aug 29 21:51:26 2018 +0200 Allow remote debugging over a Unix local domain socket. Extend the "target remote" and "target extended-remote" commands such that if the filename provided is a Unix local domain (AF_UNIX) socket, then it'll be treated as such, instead of trying to open it as if it were a character device. gdb/ChangeLog: * NEWS: Mention changed commands. * ser-uds.c: New file. * configure.ac (SER_HARDWIRE): Add ser-uds.o. * configure: Regenerate. * Makefile.in: Add new file. * serial.c (serial_open): Check if filename is a socket and lookup the appropriate interface accordingly. gdb/doc/ChangeLog: * gdb.texinfo (Remote Connection Commands): Describe the changes to target remote and target extended-remote relating to Unix domain sockets. commit eb528ad18b276117cb1016edbb12419819786366 Author: Cupertino Miranda Date: Mon Oct 1 12:59:43 2018 +0100 [ARC] Entries to Changelog for previous commits. commit 3d5b1c0abe2c80ee454ad3057de8317579fd7c26 Author: GDB Administrator Date: Tue Oct 2 00:00:44 2018 +0000 Automatic date update in version.in commit a0389de085c9caca66ec53bcf7faf830cbf24b89 Author: Nick Clifton Date: Mon Oct 1 17:17:54 2018 +0100 Fix typo setting user_specified variable when parsing -Z option. PR 23698 * gprof.c (main): Fix typo setting user_specified variable when parsing -Z option. commit ff34e6ae3867a5686b53ce3b69584c1c3b553d7d Author: Simon Marchi Date: Mon Oct 1 12:02:57 2018 -0400 Fix is_amd64_regs_target check in i386-avx512.exp As reported by Jan here: https://sourceware.org/ml/gdb-patches/2018-09/msg00831.html the check that sets the number of available registers is backwards. gdb/testsuite/ChangeLog: * gdb.arch/i386-avx512.exp: Fix setting of nr_regs based on is_amd64_regs_target. commit 6bb8890e2ccf2b1ae7860fcb6fe4579c4aa9ebf6 Author: Alan Hayward Date: Fri Aug 24 10:33:10 2018 +0100 Add aarch64-sighandler-regs.exp test Add Aarch64 test to check register values of a previous frame can be shown correctly across a signal. gdb/testsuite/ChangeLog: * gdb.arch/aarch64-sighandler-regs.c: New test. * gdb.arch/aarch64-sighandler-regs.exp: New file. * lib/gdb.exp (skip_aarch64_sve_tests): New proc. commit 05c71722fc5d9407d712b58b80eaf469ffbc406f Author: Alan Hayward Date: Fri Aug 24 09:53:57 2018 +0100 Aarch64: Detect FP regs in signal frame Both the VFP and SVE registers may be contained within the reserved space of the sigcontext and can be found by seraching for MAGIC values. Detect these and add the registers (including pseudos) to the trad frame cache. gdb/ * aarch64-linux-tdep.c (AARCH64_SIGCONTEXT_RESERVED_OFFSET): Add define. (AARCH64_EXTRA_MAGIC): Likewise. (AARCH64_FPSIMD_MAGIC): Likewise. (AARCH64_SVE_MAGIC): Likewise. (AARCH64_EXTRA_DATAP_OFFSET): Likewise. (AARCH64_FPSIMD_FPSR_OFFSET): Likewise. (AARCH64_FPSIMD_FPCR_OFFSET): Likewise. (AARCH64_FPSIMD_V0_OFFSET): Likewise. (AARCH64_FPSIMD_VREG_SIZE): Likewise. (AARCH64_SVE_CONTEXT_VL_OFFSET): Likewise. (AARCH64_SVE_CONTEXT_REGS_OFFSET): Likewise. (AARCH64_SVE_CONTEXT_P_REGS_OFFSET): Likewise. (AARCH64_SVE_CONTEXT_FFR_OFFSET): Likewise. (AARCH64_SVE_CONTEXT_SIZE): Likewise. (read_aarch64_ctx): Add function. (aarch64_linux_sigframe_init): Detect FP registers. commit c74e7cb96ffc525b0218cd329c292aacb16f94f8 Author: Alan Hayward Date: Fri Aug 24 09:53:09 2018 +0100 Aarch64: Move pseudo defines to header gdb/ * aarch64-tdep.c (AARCH64_Q0_REGNUM): Move to here. (AARCH64_D0_REGNUM): Likewise. (AARCH64_S0_REGNUM): Likewise. (AARCH64_H0_REGNUM): Likewise. (AARCH64_B0_REGNUM): Likewise. (AARCH64_SVE_V0_REGNUM): Likewise. * arch/aarch64.h (AARCH64_Q0_REGNUM): Move from here. (AARCH64_D0_REGNUM): Likewise. (AARCH64_S0_REGNUM): Likewise. (AARCH64_H0_REGNUM): Likewise. (AARCH64_B0_REGNUM): Likewise. (AARCH64_SVE_V0_REGNUM): Likewise. commit 714e9a954a2e4123dcb26bb8da850e1344de4f5f Author: Cupertino Miranda Date: Thu Sep 6 00:50:35 2018 +0100 [ARC] Fixed issue with DTSOFF relocs. Inserted offset in final section in the GOT entry of type DTSOFF soon to be relocated by the dynamic loader. bfd/ 2018-09-06 Cupertino Miranda * arc-got.h (relocate_fix_got_relocs_for_got_info): Changed. Take TLS section alignment in consideration for this relocation. * elf32-arc.c (FINAL_SECTSTART): Added this formula macro. (ARC_TLS_DTPOFF) Updated reloc to use new created macro instead. commit 0411fca5ec2a6adb96ed768f70ed468435d778ea Author: Cupertino Miranda Date: Wed Aug 1 17:22:07 2018 +0100 [ARC] Fixes TLS failures related to tls-align. This patch fixes glibc testcase in nptl/tls-align. bfd/ 2018-08-01 Cupertino Miranda * arc-got.h (relocate_fix_got_relocs_for_got_info): Changed, fixed TCB_SIZE offsize to include section alignment. * elf32-arc.c (arc_special_overflow_checks): Likewise. include/ 2018-08-01 Cupertino Miranda * arc-reloc.def (ARC_TLS_LE_32): Updated reloc formula. commit ab16fcd743b8fc963e736f7d00e3c2f039ce0d56 Author: Cupertino Miranda Date: Fri Mar 2 17:44:29 2018 +0100 [ARC] PLT information was still being generated when symbol was forced_local. A change upstream reveiled this issue, triggering an assert when linking glibc. bfd/ 2018-03-01 Cupertino Miranda * elf32-arc.c (elf_arc_check_relocs): Changed. commit 2936af90155cf7f7647b4886dc5b9568d15ca298 Author: Cupertino Miranda Date: Fri Mar 2 17:38:14 2018 +0100 [ARC] Make sure global symbol is not an indirect or warning. Problem identified in the context of glibc with latest upstream binutils. Dynamic symbol space was being reserved but, no actual information for the symbol was being set. Data for the symbol was kept initialized with -1. No easy test case was possible to be created. bfd/ 2018-03-01 Cupertino Miranda * elf32-arc.c (elf_arc_check_relocs): Changed. commit c834917fda58d9e4cd72b67f7793e2f429ccce57 Author: Cupertino Miranda Date: Fri Mar 2 17:33:48 2018 +0100 [ARC] Improved robustness. Return FALSE in case of NULL pointer. bfd/ 2018-03-01 Cupertino Miranda * elf32-arc.c (elf_arc_finish_dynamic_symbol) Return FALSE in case arc_htab is NULL. commit 854b8506815f7786b3c82f7824557e7f32a64ac5 Author: Cupertino Miranda Date: Fri Mar 2 17:16:21 2018 +0100 [ARC] Refactored location where GOT information is collected. Change location where GOT information is collected for ARC target, avoiding posible use conflicts of the previous .got field in the symbols hash_entry. bfd/ 2018-03-01 Cupertino Miranda * arc-got.h (get_got_entry_list_for_symbol): Changed. * ef32-arc.c (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. commit 12b164e9a96f75ffd030d04a7633dfbb64862806 Author: Gary Benson Date: Mon Oct 1 10:37:39 2018 +0100 Remove ancient workaround This commit removes a workaround for a bug in glibc 2.1.3, which was released 2000-02-24 and superseded 2000-11-09. gdb/ChangeLog: * gdb_proc_service.h (gdb_prfpregset_t): Remove typedef. * proc-service.c (ps_lgetfpregs, ps_lsetfpregs): Use prfpregset_t instead of gdb_prfpregset_t. * configure.ac (PRFPREGSET_T_BROKEN): Remove check. * configure, config.in: Rebuild. commit 7c619dbdae11bead6f85863b7ce25f8b8610c59d Author: Gary Benson Date: Mon Oct 1 10:37:39 2018 +0100 Move duplicated code to common/gdb_proc_service.h This commit moves now-identical code from gdb/gdb_proc_service.h and gdb/gdbserver/gdb_proc_service.h into the new shared file gdb/common/gdb_proc_service.h. gdb/ChangeLog: * common/gdb_proc_service.h: New file, factored out from... * gdb_proc_service.h: Moved common code to the above file. * Makefile.in (HFILES_NO_SRCDIR): Add the above new file. gdb/gdbserver/ChangeLog: * gdb_proc_service.h: Moved common code to common/gdb_proc_service.h. commit 358ffcf28cf6e7c23311e91869ada4c480527d93 Author: Gary Benson Date: Mon Oct 1 10:37:39 2018 +0100 Update GDB gdb_proc_service.h workaround to match gdbserver This commit updates GDB's gdb_proc_service.h to use elf_{g,fp}regset_t instead of gdb_{g,fp}regset_t if pr{g,fp}regset_t are undefined. The types have been equivalent on GNU/Linux since at least 2005. gdb/ChangeLog: * gdb_proc_service.h: Use elf_gregset_t if prgregset_t is undefined. Use elf_fpregset_t if prfpregset_t is undefined. commit 43b7e92b0c73d693d3b656b84b2a1181e40477ca Author: Gary Benson Date: Mon Oct 1 10:37:39 2018 +0100 Add workaround from gdbserver's gdb_proc_service.h to GDB This commit adds a workaround from gdbserver's gdb_proc_service.h to GDB's. It doesn't seem to have been needed on any glibc as far back as 2001, but it's possibly required for other C libraries so I've retained it. gdb/ChangeLog: * configure.ac: Check if sys/procfs.h defines elf_fpregset_t. (AC_CHECK_HEADERS): Check for linux/elf.h. * configure, config.in: Rebuild. * gdb_proc_service.h: Include linux/elf.h if sys/procfs.h doesn't define elf_fpregset_t. commit 3795e814428a269a3528d3d9a86da957449fc5b6 Author: Gary Benson Date: Mon Oct 1 10:37:39 2018 +0100 gdb_proc_service.h comment and whitespace synchronization This commit updates comments and whitespace in GDB's and gdbserver's gdb_proc_service.h. gdb/ChangeLog: * gdb_proc_service.h: Whitespace change. gdb/gdbserver/ChangeLog: * gdb_proc_service.h: Synchronize comments and whitespace with GDB's version of this file. commit 4176f14d9c9e509425bffc01404c751e238b1f01 Author: Tom Tromey Date: Wed Sep 26 05:28:07 2018 -0600 Don't check HAVE_UNISTD_H I noticed some spots that were checking HAVE_UNISTD_H. There is no need to do this, as is unconditionally included in many places in gdb. This sort of cleanup was done once before, in 2013: 2013-07-01 Pedro Alves * defs.h: Don't check HAVE_UNISTD_H before including . (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): Delete. * tracepoint.c: Don't check HAVE_UNISTD_H before including . HAVE_UNISTD_H seems to come from gnulib, so there are still mentions of it in the source. gdb/ChangeLog 2018-10-01 Tom Tromey * unittests/scoped_mmap-selftests.c: Don't check HAVE_UNISTD_H. * unittests/scoped_fd-selftests.c: Don't check HAVE_UNISTD_H. * common/scoped_fd.h: Don't check HAVE_UNISTD_H. commit a95746f91769c0f65e9393ff83aad0871d1a666b Author: Tom Tromey Date: Sun Sep 30 06:00:01 2018 -0600 Copy configure option documentation to gdb.texinfo I realized that while I'd updated the README, I didn't update gdb.texinfo to document the options to configure. This patch copies the text from README into gdb.texinfo, adding Texinfo markup. gdb/ChangeLog 2018-10-01 Tom Tromey * README: Minor change. gdb/doc/ChangeLog 2018-10-01 Tom Tromey * gdb.texinfo (Configure Options): Document configure options. commit 224d30d393654ff0689429505a3e725cdad1cca5 Author: Markus Metzger Date: Wed Sep 26 15:28:28 2018 +0200 testsuite: fix is_amd64_regs_target Commit c221b2f Testsuite: Add gdb_can_simple_compile changed the source file name extension of the test program from .s to .c resulting in compile fails. This, in turn, causes is_amd64_regs_target checks to fail. In gdb.btrace/tailcall.exp and others, this causes the wrong source file to be picked and the test to fail on 64-bit targets. Change the test source from an assembly program to a C program using inline assembly. testsuite/ * lib/gdb.exp (is_amd64_regs_target): Change assembly to C inline assembly. commit 15ec67475f486077ccb45d80c46416bf4949e053 Author: GDB Administrator Date: Mon Oct 1 00:01:09 2018 +0000 Automatic date update in version.in commit dd2037827180f69e7e312a2080affcbb03c98d70 Author: Pedro Alves Date: Sun Sep 30 17:12:00 2018 +0100 Darwin: Remove unused variables [-Werror=unused-variable] Building GDB with --host=x86_64-apple-darwin15 using G++ 5.3.0 runs into a number of -Werror=unused-variable warnings/errors: ../../src/gdb/i386-darwin-nat.c: In function 'void i386_darwin_dr_set(int, CORE_ADDR)': ../../src/gdb/i386-darwin-nat.c:283:7: error: unused variable 'current_pid' [-Werror=unused-variable] int current_pid; ^ [etc, etc.] This commit fixes all such warnings. gdb/ChangeLog: 2018-09-30 Pedro Alves * darwin-nat-info.c (darwin_debug_regions_recurse) (info_mach_exceptions_command): Remove unused local variables. * darwin-nat.c (darwin_decode_notify_message) (darwin_nat_target::resume, darwin_nat_target::mourn_inferior) (darwin_stop_inferior, darwin_setup_exceptions) (darwin_nat_target::kill, darwin_attach_pid, darwin_ptrace_him) (darwin_nat_target::attach, darwin_nat_target::detach) (darwin_read_write_inferior, darwin_read_dyld_info): Remove unused local variables. * i386-darwin-nat.c (i386_darwin_dr_set): Remove unused local variables. commit 105cd1d7a6a7e6c5dce2e2eb32cdbfacc221a5d0 Author: GDB Administrator Date: Sun Sep 30 00:01:07 2018 +0000 Automatic date update in version.in commit c82a2e6ff60596266e7c1a419f8e81cb7a0ae2b3 Author: Tom Tromey Date: Sat Sep 29 07:32:10 2018 -0600 Remove some leftover text in gdb/README I accidentally left some stray text in gdb/README. This removes it. I'm checking this in as obvious. gdb/ChangeLog 2018-09-29 Tom Tromey * README: Remove some leftover text. commit 7f0bd4202c239b44b22645b9ae31fc0eeade1da3 Author: Tom Tromey Date: Thu Sep 13 22:24:07 2018 -0600 Update gdb's configure instructions gdb's README and configure instructions in the manual are quite out of date. They mention options that haven't existed for many years, among other things. This patch attempts to modernize the instructions somewhat. It is not exhaustive, just an improvement -- more could be done. Perhaps even a couple of the nodes should simply be removed and replaced by references to the Autoconf manual. The README file seems to have been generated from the Texinfo at some point in the past. I did not continue this, but instead edited it separately. gdb/ChangeLog 2018-09-29 Tom Tromey * PROBLEMS: Rewrite. * README: Update. gdb/doc/ChangeLog 2018-09-29 Tom Tromey * gdb.texinfo (Requirements): Mention C++, GNU make. (Requirements): Sort the table. Add more libraries. (Running Configure): Remove obsolete text. (Separate Objdir): Likewise. (Configure Options): Likewise. commit 6424bdfcfc3af751531b927ad3549916d98d8763 Author: GDB Administrator Date: Sat Sep 29 00:00:44 2018 +0000 Automatic date update in version.in commit 79c1bf3c71fcf5d453733ee45321e3fbc57b04b2 Author: H.J. Lu Date: Fri Sep 28 15:29:33 2018 -0700 bfd: Use elfclass instead of bed->s->elfclass elfclass has been set to bed->s->elfclass earlier. * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Use elfclass instead of bed->s->elfclass. commit f37bc8b13c898fa39731c20d8565b24e006c13a8 Author: John Baldwin Date: Fri Sep 28 14:15:54 2018 -0700 Use the existing instruction to determine the RISC-V breakpoint kind. RISC-V supports instructions of varying lengths. Standard existing instructions in the base ISA are 4 bytes in length, but the 'C' extension adds support for compressed, 2 byte instructions. RISC-V supports two different breakpoint instructions: EBREAK is a 4 byte instruction in the base ISA, and C.EBREAK is a 2 byte instruction only available on processors implementing the 'C' extension. Using EBREAK to set breakpoints on compressed instructions causes problems as the second half of EBREAK will overwrite the first 2 bytes of the following instruction breaking other threads in the process if their PC is the following instruction. Thus, breakpoints on compressed instructions need to use C.EBREAK instead of EBREAK. Previously, the riscv architecture checked the MISA register to determine if the 'C' extension was available. If so, it used C.EBREAK for all breakpoints. However, the MISA register is not necessarily available to supervisor mode operating systems. While native targets could provide a fake MISA register value, this patch instead examines the existing instruction at a breakpoint target to determine which breakpoint instruction to use. If the existing instruction is a compressed instruction, C.EBREAK is used, otherwise EBREAK is used. gdb/ChangeLog: * disasm-selftests.c (print_one_insn_test): Add bfd_arch_riscv to case with explicit breakpoint kind. * riscv-tdep.c (show_use_compressed_breakpoints): Remove 'additional_info' and related logic. (riscv_debug_breakpoints): New variable. (riscv_breakpoint_kind_from_pc): Use the length of the existing instruction to determine the breakpoint kind. (_initialize_riscv_tdep): Add 'set/show debug riscv breakpoints' flag. Update description of 'set/show riscv use-compressed-breakpoints' flag. commit 2283a21049cdefb87cdd0f11df367266e3e029d1 Author: Компан, Вячеслав Олегович Date: Fri Sep 28 16:00:46 2018 -0400 Change "xor" name in cpu_core to allow building with iso646.h or C++ compiler This code was introduced back in 1998, and C99 appeared next year, defining the `xor` as an 'alternative keyword' if iso646.h is included. Moreover, C++98 defines it on the language level. As a result, the code is not buildable with C++ compiler or if iso646.h is included beforehand. According to comment, `sim_cpu_core` is mostly a clone of `sim_core`, so I renamed it to `byte_xor` as it's called in `sim_core`. sim/common/ChangeLog: * sim-core.h (sim_cpu_core): Rename cpu_core.xor to cpu_core.byte_xor. * sim-core.c (sim_core_set_xor): Likewise. (sim_core_xor_read_buffer): Likewise. (sim_core_xor_write_buffer): Likewise. commit f67ffa6a785bee26bc23550670f85c6db578641f Author: Andrew Burgess Date: Thu Sep 10 13:06:16 2015 +0100 gdb: Change how frames are selected for 'frame' and 'info frame'. The 'frame' command, and thanks to code reuse the 'info frame' and 'select-frame' commands, currently have an overloaded mechanism for selecting a frame. These commands take one or two parameters, if it's one parameter then we first try to use the parameter as an integer to select a frame by level (or depth in the stack). If that fails then we treat the parameter as an address and try to select a stack frame by stack-address. If we still have not selected a stack frame, or we initially had two parameters, then GDB allows the user to view a stack frame that is not part of the current backtrace. Internally, a new frame is created with the given stack and pc addresses, and this is shown to the user. The result of this is that a typo by the user, entering the wrong stack frame level for example, can result in a brand new frame being viewed rather than an error. The purpose of this commit is to remove this overloading, while still offering the same functionality through some new sub-commands. By making the default behaviour of 'frame' (and friends) be to select a stack frame by level index, it is hoped that enough backwards-compatibility is maintained that users will not be overly inconvenienced. The 'frame', 'select-frame', and 'info frame' commands now all take a frame specification string as an argument, this string can be any of the following: (1) An integer. This is treated as a frame level. If a frame for that level does not exist then the user gets an error. (2) A string like 'level ', where is a frame level as in option (1) above. (3) A string like 'address ', where is a stack-frame address. If there is no frame for this address then the user gets an error. (4) A string like 'function ', where is a function name, the inner most frame for function is selected. If there is no frame for function then the user gets an error. (5) A string like 'view ', this views a new frame with stack address . (6) A string like 'view ', this views a new frame with stack address and the pc . This change assumes that the most common use of the commands like 'frame' is to select a frame by frame level, it is for this reason that this is the behaviour that is kept for backwards compatibility. Any of the alternative behaviours, which are assumed to be less used, now require a change in user behaviour. The MI command '-stack-select-frame' has not been changed. This ensures that we maintain backwards compatibility for existing frontends. gdb/ChangeLog: (NEWS): Mention changes to frame related commands. * cli/cli-decode.c (add_cmd_suppress_notification): New function. (add_prefix_cmd_suppress_notification): New function. (add_com_suppress_notification): Call add_cmd_suppress_notification. * command.h (add_cmd_suppress_notification): Declare. (add_prefix_cmd_suppress_notification): Declare. * mi/mi-cmd-stack.c: Add 'safe-ctype.h' include. (parse_frame_specification): Moved from stack.c, with simplification to handle a single argument. (mi_cmd_stack_select_frame): Use parse_frame_specification, the switch to the selected frame. Add a header comment. * stack.c: Remove 'safe-ctype.h' include. (find_frame_for_function): Add declaration. (find_frame_for_address): New function. (parse_frame_specification): Moved into mi/mi-cmd-stack.c. (frame_selection_by_function_completer): New function. (info_frame_command): Rename to... (info_frame_command_core): ...this, and update parameter types. (select_frame_command): Rename to... (select_frame_command_core): ...this, and update parameter types. (frame_command): Rename to... (frame_command_core): ...this, and update parameter types. (class frame_command_helper): New class to wrap implementations of frame related sub-commands. (frame_apply_cmd_list): New static global. (frame_cmd_list): Make static. (select_frame_cmd_list): New global for sub-commands. (info_frame_cmd_list): New global for sub-commands. (_initialize_stack): Register sub-commands for 'frame', 'select-frame', and 'info frame'. Update 'frame apply' commands to use frame_apply_cmd_list. Move function local static frame_apply_list to file static frame_apply_cmd_list for consistency. * stack.h (select_frame_command): Delete declarationn. (select_frame_for_mi): Declare new function. gdb/doc/ChangeLog: * gdb.texinfo (Frames): Rewrite the description of 'frame number' to highlight that the number is also the frame's level. (Selection): Rewrite documentation for 'frame' and 'select-frame' commands. (Frame Info): Rewrite documentation for 'info frame' command. gdb/testsuite/ChangeLog: * gdb.base/frame-selection.exp: New file. * gdb.base/frame-selection.c: New file. commit 5f9aecea0dfd9e8b0a728c332e8ddb105bae6054 Author: Jim Wilson Date: Thu Sep 27 17:16:34 2018 -0700 RISC-V: Pc-rel to gp-rel relaxation function cleanup. bfd/ * 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. commit fec3f4ea46c3f27206df97f379da3b70d4306cf2 Author: GDB Administrator Date: Fri Sep 28 00:00:43 2018 +0000 Automatic date update in version.in commit 9fc3183f0f8ab8ec85f0e5f65bae9e18ddf545a0 Author: Alan Hayward Date: Wed Sep 26 14:06:54 2018 +0100 testsuite: Fix race condition in check-libthread-db It is possible for the created thread to reach the breakpoint before the main thread has set errno to 23. Prevent this using a pthread barrier. * gdb.threads/check-libthread-db.c (thread_routine): Use a pthread barrier. (main): Likewise. commit 115d0c14437a07c686e58d8c0bf30755fb379c68 Author: GDB Administrator Date: Thu Sep 27 00:00:37 2018 +0000 Automatic date update in version.in commit ca60b3af44a74d2f430870ffbabc8ce158721dc4 Author: Sandra Loosemore Date: Wed Sep 26 09:45:56 2018 -0700 Skip broken assembler test on Windows host. 2018-09-26 Sandra Loosemore gas/ * testsuite/gas/all/gas.exp: Skip "Output file must be distinct from input" test on Windows host. commit d354055e6ee0b2640006e1b9f900eb0e91a6883c Author: Andrew Burgess Date: Wed Sep 12 17:35:08 2018 +0100 gdb/riscv: Improve non-dwarf stack unwinding This commit improves the prologue scanning stack unwinder, to better support AUIPC, LUI, and more variants of ADD and ADDI. This allows unwinding over frames containing large local variables, where the frame size does not fit into a single instruction immediate, and is first loaded into a temporary register, before being added to the stack pointer. A new test is added that tests this behaviour. As there's nothing truely RiscV specific about this test I've added it into gdb.base, but as this depends on target specific code to perform the unwind it is possible that some targets might fail this new test. gdb/ChangeLog: * riscv-tdep.c (riscv_insn::decode): Decode c.lui. (riscv_scan_prologue): Split handling of AUIPC, LUI, ADD, ADDI, and NOP. gdb/testsuite/ChangeLog: * gdb.base/large-frame-1.c: New file. * gdb.base/large-frame-2.c: New file. * gdb.base/large-frame.exp: New file. * gdb.base/large-frame.h: New file. commit 853924149dfc2a3b67fda0a491dc5716d7322a74 Author: Simon Marchi Date: Wed Sep 26 08:27:23 2018 -0400 elf32-nds32: Remove elf32_nds32_allocate_dynrelocs It is unused, removing it fixes this error when building with clang: /home/emaisin/src/binutils-gdb/bfd/elf32-nds32.c:3172:1: error: unused function 'elf32_nds32_allocate_dynrelocs' [-Werror,-Wunused-function] elf32_nds32_allocate_dynrelocs (struct bfd_link_info *info, asection *sreloc, ^ 1 error generated. gcc only reports the error if you remove "inline". I don't know if this is actually a mistake and it should actually be used though. gdb/ChangeLog: * elf32-nds32.c (elf32_nds32_allocate_dynrelocs): Remove. commit 896ee09882933a707d2adef76aaa184249e8de05 Author: Tom Tromey Date: Wed Sep 26 05:34:25 2018 -0600 Remove dead definition from valops.c This removes a variable definition in valops.c that has been surrounded by "#if 0" since gdb moved to sourceware. gdb/ChangeLog 2018-09-26 Tom Tromey * valops.c (auto_abandon): Remove dead code. commit 57dbb3afed804c8e0c350563339f5f3de2ded910 Author: Tom Tromey Date: Mon Sep 3 15:41:24 2018 -0600 Small fix for "winheight" usage I noticed that the usage string for "winheight" has a couple of extraneous ">"s in it. I must have forgotten to remove these back when I changed the text to use the GNU style for metasyntactic variables. gdb/ChangeLog 2018-09-26 Tom Tromey * tui/tui-win.c (WIN_HEIGHT_USAGE): Remove extra ">"s. commit 7504c64dd98ef6c85b15599a0d267a5179b70f50 Author: GDB Administrator Date: Wed Sep 26 00:00:55 2018 +0000 Automatic date update in version.in commit 5ef237932919a19fe85f70fc37f7d3a0660b7665 Author: Jim Wilson Date: Tue Sep 25 13:13:23 2018 -0700 RISC-V: Give error for RVE PLTs. bfd/ * 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. commit 3d6e0c015aa832f00ccd4fe3f5f43b90357258e8 Author: Andreas Krebbel Date: Tue Sep 25 17:13:28 2018 +0200 S/390: Fix symbolic displacement in lay Increase the fixup length to 4 for the 20 bit displacement. gas/ChangeLog: 2018-09-25 Andreas Krebbel * config/tc-s390.c (md_apply_fix): Set fx_size to 4 for 20 bit displacements. * testsuite/gas/s390/s390.exp: Run new test. * testsuite/gas/s390/zarch-z990-symbol-lay.s: New test. commit 49b036f1e0616b57294d85b06d3eb001b34f9958 Author: Tom Tromey Date: Tue Jul 31 07:49:55 2018 -0600 Remove dead code from gdbserver's configure gdbserver's configure removes -Wmissing-prototypes from the warning flags. However, this flag is only useful for C, so this deletion is no longer needed. gdb/gdbserver/ChangeLog 2018-09-25 Tom Tromey * configure: Rebuild. * configure.ac (WARN_CFLAGS): Don't remove -Wmissing-prototypes. commit e95bc8bb1dd5c7f55b3abf0fb1ee73c0c6b5596e Author: Eric Botcazou Date: Tue Sep 25 08:15:36 2018 +0200 Couple of minor tweaks to the linker testsuite. This gets rid of the couple of linker failures for visium-elf: FAIL: ld-elf/pr14156b FAIL: ld-elf/pr22677 by tweaking the respective testcases. The first tweak is the same as the one made to the sibling testcase ld-elf/pr14156a.d about one year ago and the second tweak adds the usual main/start/_start/__start symbols. ld/ * testsuite/ld-elf/pr14156b.d: Adjust for extra symbols. * testsuite/ld-elf/pr22677.s: Define main/start/_start/__start. commit 28fc25e06b449be061ceacf868e9040b14464aa3 Author: GDB Administrator Date: Tue Sep 25 00:00:40 2018 +0000 Automatic date update in version.in commit a05f27b68934c2ea3efa028a0af2cd968db1bd2d Author: Jim Wilson Date: Mon Sep 24 14:36:41 2018 -0700 RISC-V: For PCREL_LO12, fix addend handling in auipc lookup. bfd/ * elfnn-riscv.c (_bfd_riscv_relax_pc) : 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. commit 551703cfd409faca433626a0af077a43011381b7 Author: Jim Wilson Date: Mon Sep 24 14:05:32 2018 -0700 RISC-V: Allow pcrel_lo addends, error on addend overflow. bfd/ * 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. ld/ * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Run pcrel-lo-addend-2. * testsuite/ld-riscv/elf/ld-riscv-elf/pcrel-lo-addend-2.d: New. * testsuite/ld-riscv/elf/ld-riscv-elf/pcrel-lo-addend-2.s: New. * testsuite/ld-riscv/elf/ld-riscv-elf/pcrel-lo-addend.d: Update name and error string. commit db72737006fc383cb8838bf7f3dc8e641e60c38f Author: Jozef Lawrynowicz Date: Tue Sep 11 22:56:36 2018 +0100 Fix PR gdb/20948: --write option to GDB causes segmentation fault When opening a BFD for update, as gdb --write does, modifications to anything but the contents of sections is restricted. Do not try to write back any ELF headers in this case. bfd/ChangeLog 2018-09-24 Jozef Lawrynowicz PR gdb/20948 * elf.c (_bfd_elf_write_object_contents): Return from function early if abfd->direction == both_direction. gdb/testsuite/ChangeLog 2018-09-24 Jozef Lawrynowicz PR gdb/20948 * gdb.base/write_mem.exp: New test. * gdb.base/write_mem.c: Likewise. commit b5a9bfbebec0a42d3c5b4fe3b7a62bd31cecc440 Author: Tom Tromey Date: Mon Sep 24 06:15:17 2018 -0600 Add "const" to a few locals in gdb I noticed that some code in gdb was doing: char *mumble = getenv (...) However, using "const char *" here would be clearer. This patch fixes the instances I could readily build. Tested by rebuilding. gdb/ChangeLog 2018-09-24 Tom Tromey * common/pathstuff.c (get_standard_cache_dir): Make "xdg_cache_home" and "home" const. * top.c (init_history): Make "tmpenv" const. * main.c (get_init_files): Make "homedir" const. commit ae778caf097e08497f2e9218cf68b254b8da38f1 Author: Tom Tromey Date: Sat Sep 15 01:09:22 2018 -0600 Allow setting a parameter to raise gdb.GdbError A convention in the Python layer is that raising a gdb.GdbError will not print the Python stack -- instead the exception is treated as any other gdb exception. PR python/18852 asks that this treatment be extended the the get_set_value method of gdb.Parameter. This makes sense, because it lets Python-created parameters act like gdb parameters. 2018-09-23 Tom Tromey PR python/18852: * python/py-param.c (get_set_value): Use gdbpy_handle_exception. gdb/doc/ChangeLog 2018-09-23 Tom Tromey PR python/18852: * python.texi (Parameters In Python): Document exception behavior of get_set_string. gdb/testsuite/ChangeLog 2018-09-23 Tom Tromey PR python/18852: * gdb.python/py-parameter.exp: Add test for parameter that throws on "set". commit 2b4ad2fe4300489fd40dbe07e1675ff1cf0bee58 Author: Tom Tromey Date: Sat Sep 15 00:57:12 2018 -0600 Consolidate gdb.GdbError handling I noticed two nearly identical copies of the same code for handling gdb.GdbError. The only differences were in some error messages. These differences didn't seem very important, so this patch pulls the code out into a new function. 2018-09-23 Tom Tromey * python/py-function.c (fnpy_call): Use gdbpy_handle_exception. * python/py-cmd.c (cmdpy_function): Use gdbpy_handle_exception. * python/python-internal.h (gdbpy_handle_exception): Declare. * python/py-utils.c (gdbpy_handle_exception): New function. commit fd3ba736db19d4c7cd928f3735329339a8c8ef47 Author: Tom Tromey Date: Sat Sep 15 00:29:20 2018 -0600 Check for negative argument in Type.template_argument typy_template_argument did not check if the template argument was non-negative. A negative value could cause a gdb crash. 2018-09-23 Tom Tromey PR python/17284: * python/py-type.c (typy_template_argument): Check for negative argument number. gdb/testsuite/ChangeLog 2018-09-23 Tom Tromey PR python/17284: * gdb.python/py-template.exp (test_template_arg): Add test for negative template argument number. commit 39a24317ac65837663ce1e1b0adcf880758ddc8e Author: Tom Tromey Date: Sat Sep 15 00:07:32 2018 -0600 Report Python errors coming from gdb.post_event PR python/14062 points out that errors coming from the gdb.post_event callback are not reported. This can make it hard to understand why your Python code in gdb isn't working. Because users have control over whether exceptions are printed at all, it seems good to simply have post_event report errors in the usual way. 2018-09-23 Tom Tromey PR python/14062: * python/python.c (gdbpy_run_events): Do not ignore exceptions. gdb/testsuite/ChangeLog 2018-09-23 Tom Tromey PR python/14062: * gdb.python/python.exp: Add test for post_event error. commit f5769a2c696affc3ae1274e2329777d7d4d7e8be Author: Tom Tromey Date: Fri Sep 14 23:20:58 2018 -0600 Allow conversion of pointers to Python int PR python/18170 questions why it's not possible to convert a pointer value to a Python int. Digging a bit shows that the Python 2.7 int() constructor will happily return a long in some cases. And, it seems gdb already understands this in other places -- this is what gdb_py_object_from_longest handles. So, this patch simply extends valpy_int to allow pointer conversions, as valpy_long does. gdb/ChangeLog 2018-09-23 Tom Tromey PR python/18170: * python/py-value.c (valpy_int): Allow conversion from pointer type. gdb/testsuite/ChangeLog 2018-09-23 Tom Tromey PR python/18170: * gdb.python/py-value.exp (test_value_numeric_ops): Add tests to convert pointers to int and long. commit 1c1e54f6b4b6de83aa3f31e6584f5bb4d6242930 Author: Tom Tromey Date: Fri Sep 14 22:44:10 2018 -0600 Preserve sign when converting gdb.Value to Python int PR python/20126 points out that sometimes the conversion of a gdb.Value can result in a negative Python integer. This happens because valpy_int does not examine the signedness of the value's type. gdb/ChangeLog 2018-09-23 Tom Tromey PR python/20126: * python/py-value.c (valpy_int): Respect type sign. gdb/testsuite/ChangeLog 2018-09-23 Tom Tromey PR python/20126: * gdb.python/py-value.exp (test_value_numeric_ops): Add signed-ness conversion tests. commit fb4fa9469c5f5d87a956d45ed3b36fecc1fc31b9 Author: Tom Tromey Date: Fri Sep 14 22:31:12 2018 -0600 Allow more Python scalar conversions PR python/18352 points out that the gdb Python code can't convert an integer-valued gdb.Value to a Python float. While writing the test I noticed that, similarly, converting integer gdb.Values to float does not work. However, all of these cases seem reasonable. gdb/ChangeLog 2018-09-23 Tom Tromey PR python/18352; * python/py-value.c (valpy_float): Allow conversions from int or char. (valpy_int, valpy_long): Allow conversions from float. gdb/testsuite/ChangeLog 2018-09-23 Tom Tromey PR python/18352; * gdb.python/py-value.exp (test_float_conversion): New proc. Use it. commit e6b5f1e9f5aace67505b4eff43570c82b56139b9 Author: GDB Administrator Date: Mon Sep 24 00:00:42 2018 +0000 Automatic date update in version.in commit 6031ac352c05c5c9f44e24fa1c5a8222a7a7d02d Author: Sandra Loosemore Date: Sun Sep 23 12:31:23 2018 -0700 Fix incorrect extraction of signed constants in nios2 disassembler. 2018-09-23 Sandra Loosemore opcodes/ * nios2-dis.c (nios2_print_insn_arg): Make sure signed conversions are used when extracting signed fields and converting them to potentially 64-bit types. commit 65773341ee5ad9e2882fcb1aed7c3096e6b4f190 Author: Tom Tromey Date: Tue Sep 18 16:45:59 2018 -0600 Mark more file descriptors close-on-exec I noticed a couple of spots in gdb that were opening files but not marking the file descriptors as close-on-exec. This patch fixes these. There are still a few more of these, but they are in code that I can't compile, so I'd prefer not to touch. gdb/ChangeLog 2018-09-23 Tom Tromey * ctf.c (ctf_start): Use gdb_fopen_cloexec. * common/scoped_mmap.c (mmap_file): Use gdb_open_cloexec. commit 1db88d2272a776200db950c2af46e64e98ef056b Author: Rainer Orth Date: Sun Sep 23 19:49:14 2018 +0200 Also recognize __sighndlr on Solaris/x86 Unlike Solaris/SPARC, the __sighndlr function isn't recognized as part of a signal handler, causing a couple of testcases to fail. The following patch fixes that. A followup patch will move this to common code to avoid such unnecessary discrepancies between Solaris/SPARC and x86 in the future. While this fixes a couple of backtraces to now correctly print #1 they often fail later with #2 0x0ff3ffffff00857f in ?? () Backtrace stopped: Cannot access memory at address 0xff3000002e0886f which needs further investigation. Tested on amd64-pc-solaris2.11 (running the tests with both -m64 and -m32). * amd64-sol2-tdep.c (amd64_sol2_sigtramp_p): Also recognize __sighndlr. * i386-sol2-tdep.c (i386_sol2_sigtramp_p): Likewise. commit a44294f5ed9fe09fdfc9427f6f83677843590524 Author: Jon Turney Date: Mon Sep 26 15:45:28 2016 +0100 Remove a spurious target_terminal::ours() from windows_nat_target::wait() This causes the inferior to stop with SIGTTIN if it tries to read from the terminal after it has been continued. See https://cygwin.com/ml/cygwin/2016-09/msg00285.html for reproduction. Since MinGW doesn't have a tcsetpgrp(), I don't think this problem would be observed there, but Cygwin does so target_terminal::ours() will call it. Calling target_terminal::ours() here seems to be is no longer appropriate after the "Merge async and sync code paths" changes (as the inferior is now in a separate process group even in sync mode(?), which is always used on Windows targets) This call was added in commit c44537cf (and see https://sourceware.org/ml/gdb-patches/2007-02/msg00167.html for what it fixed, which is not regressed by this change) When windows_nat_target::wait() is entered, the inferior is running (either it's been just been started or attached to, or windows_continue() was called), so grabbing the controlling terminal away from it here seems to be wrong, since infrun.c takes care of calling target_terminal::ours() when the inferior stops. gdb/ChangeLog: 2018-08-02 Jon Turney * windows-nat.c (windows_nat_target::wait): Remove a spurious target_terminal::ours(). commit 0c0a40e0abb9f1a584330a1911ad06b3686e5361 Author: Simon Marchi Date: Sun Sep 23 10:12:29 2018 -0400 Fix build error in aarch64-linux-tdep.c on macOS When building with --enable-targets=all on macOS, I get this error: CXX aarch64-linux-tdep.o /Users/simark/src/binutils-gdb/gdb/aarch64-linux-tdep.c:328:7: error: no matching function for call to 'store_integer' store_integer ((gdb_byte *)&vg_target, sizeof (uint64_t), byte_order, ^~~~~~~~~~~~~ /Users/simark/src/binutils-gdb/gdb/defs.h:556:13: note: candidate template ignored: requirement 'Or, is_same >::value' was not satisfied [with T = unsigned long long] extern void store_integer (gdb_byte *addr, int len, enum bfd_endian byte_order, ^ I believe it's because uint64_t is defined as "unsigned long long" on macOS, even though "unsigned long" is also 64 bits. Other 64-bits platforms define uint64_t as "unsigned long". This makes the type of the argument to store_integer (unsigned long long) not match the requirement that it must be the same as ULONGEST, which is unsigned long. Fix it by changing the type of the vl variable to be ULONGEST, which is what extract_unsigned_integer returns anyway. gdb/ChangeLog: * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): Change type of vl to ULONGEST. commit 948f29603949cca8ccf581e0a09c08576d52c7b2 Author: GDB Administrator Date: Sun Sep 23 00:00:57 2018 +0000 Automatic date update in version.in commit fa0bb0c9f598d524305b889e0625781bb9fc9179 Author: GDB Administrator Date: Sat Sep 22 00:00:35 2018 +0000 Automatic date update in version.in commit dfc616fa26e8ee363a6dbf748dd9490896679412 Author: Alan Modra Date: Fri Sep 21 12:46:03 2018 +0930 Revert part of commit 32ec8896025 echo "__thread char *p;" | gcc -c -g -xc - -o thread.o With current powerpc64le-linux-gcc has this reloc in .debug_info 0000000000000025 0000000d0000004e R_PPC64_DTPREL64 0000000000000000 p + 8000 That stops me looking at .debug_info. ~/build/gas-virgin/powerpc64le-linux/binutils/readelf -wi thread.o readelf: Warning: unable to apply unsupported reloc type 78 to section .debug_info Older readelf continued on after the warning, dumping .debug_info. * readelf.c (apply_relocations): Don't return FALSE for warnings. commit f24ff6e9b5adc7983c3ad7cf28375eb49921b3ed Author: Simon Marchi Date: Fri Sep 21 10:27:48 2018 -0400 csky-opc.h: Initialize fields of last array elements clang gives these errors: In file included from /Users/simark/src/binutils-gdb/opcodes/csky-dis.c:30: /Users/simark/src/binutils-gdb/opcodes/csky-opc.h:2330:8: error: missing field 'transfer' initializer [-Werror,-Wmissing-field-initializers] {NULL} ^ /Users/simark/src/binutils-gdb/opcodes/csky-opc.h:8126:10: error: missing field 'transfer' initializer [-Werror,-Wmissing-field-initializers] {NULL} ^ They go away when we Initialize all fields. I noticed there used to be some files built with -Wno-missing-field-initializers, but it's not the case anymore, since commit e7ae278d0474ab84ba3b1ee932a19e83616ddacc. There is still a NO_WMISSING_FIELD_INITIALIZERS variable defined in the Makefile, but it's unused, so I removed it to avoid further confusion. opcodes/ChangeLog: * Makefile.am: Remove NO_WMISSING_FIELD_INITIALIZERS. * Makefile.in: Re-generate. * aclocal.m4: Re-generate. * configure: Re-generate. * configure.ac: Remove check for -Wno-missing-field-initializers. * csky-opc.h (csky_v1_opcodes): Initialize all fields of last element. (csky_v2_opcodes): Likewise. commit a767a1c4d3c7c5dd2f32cc106a21c1e01eddebcc Author: Simon Marchi Date: Fri Sep 21 10:27:30 2018 -0400 elf32-nds32: Don't define fls if it is provided by the system The fls function already exists on macOS and FreeBSD (and probably others), leading to this error: /Users/simark/src/binutils-gdb/bfd/elf32-nds32.c:5074:1: error: static declaration of 'fls' follows non-static declaration fls (register unsigned int x) ^ /usr/include/strings.h:87:6: note: previous declaration is here int fls(int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); ^ Add a configure-time check for it, and only define it if the system doesn't provide it. bfd/ChangeLog: * configure.ac: Check for fls. * elf32-nds32.c (fls): Only define if !HAVE_FLS. * config.in: Re-generate. * configure: Re-generate. commit 4daf19021fef36767e70845608a8a2c3b4d72f99 Author: Yacov Simhony Date: Fri Sep 21 07:53:51 2018 -0600 Remove redundant test in update_inserted_breakpoint_locations Remove a redundant test in update_inserted_breakpoint_locations. gdb/ChangeLog 2018-09-21 Yacov Simhony * breakpoint.c (update_inserted_breakpoint_locations): Remove redundant condition. commit 0192e8aeeb1f54ba10318d1b5a838749e20d233b Author: H.J. Lu Date: Fri Sep 21 04:36:08 2018 -0700 Correct ChangeLog entry for commit b8426d169d3f8a commit b8426d169d3f8ab820f3bdaf45fbc64f8bb827ed Author: H.J. Lu Date: Fri Sep 21 04:24:40 2018 -0700 gas: Make bfin-parse.c/rl78-parse.c/rx-parse.c depend on bfd/reloc.c It is for PR gas/23691, not PR gas/23692. commit b8426d169d3f8ab820f3bdaf45fbc64f8bb827ed Author: H.J. Lu Date: Fri Sep 21 04:24:40 2018 -0700 gas: Make bfin-parse.c/rl78-parse.c/rx-parse.c depend on bfd/reloc.c Since bfin-parse.c, rl78-parse.c and rx-parse.c use BFD_RELOC_XXX, we need to regenerate them when bfd/reloc.c changhes. PR gas/23692 * Makefile.am (bfin-parse.c): Depend on $(srcdir)/../bfd/reloc.c. (rl78-parse.c): Likewise. (rx-parse.c): Likewise. * Makefile.in: Regenerated. commit 95475e5d6b7529309ca804fdc2c2e04d654c3978 Author: H.J. Lu Date: Fri Sep 21 04:07:50 2018 -0700 ELF: Don't include zero size sections at start of PT_NOTE segment We shouldn't include zero size sections at start of PT_NOTE segment, similar to PT_DYNAMIC segment. PR binutils/23694 * include/elf/internal.h (ELF_SECTION_IN_SEGMENT_1): Don't include zero size sections at start of PT_NOTE segment. commit be9a9af90654c29c2e90375a64b4d18ef75c56a0 Author: Alan Modra Date: Fri Sep 21 09:52:08 2018 +0930 Fix more fallout from 17f6ade235fc gas/ * testsuite/gas/avr/large-debug-line-table.d: Update. ld/ * testsuite/ld-avr/gc-section-debugline.d: Update. commit c6a1c98cbc7cea017f030b3fb9c3f9581ee4ec33 Author: GDB Administrator Date: Fri Sep 21 00:00:35 2018 +0000 Automatic date update in version.in commit 3def145413e9707c985fa9c1dfda0682be750e55 Author: H.J. Lu Date: Thu Sep 20 12:28:09 2018 -0700 ld: Add the entry symbol, _main, for LynxOS targets Add the entry symbol, _main, to fix: FAIL: ld-elf/64ksec FAIL: ld-elf/comm-data4 FAIL: ld-elf/comm-data5 FAIL: ld-elf/eh5 FAIL: ld-elf/empty FAIL: ld-elf/empty2 FAIL: ld-elf/endsym FAIL: ld-elf/exclude3a FAIL: ld-elf/linkonce2 FAIL: ld-elf/orphan3 FAIL: ld-elf/pr12851 FAIL: ld-elf/pr14156a FAIL: ld-elf/pr14156b FAIL: ld-elf/pr14926 FAIL: ld-elf/pr20513a FAIL: ld-elf/pr20513b FAIL: ld-elf/stab FAIL: ld-elf/var1 FAIL: ld-elf/warn3 FAIL: section size overflow for i386-lynxos target. * testsuite/ld-checks/over2.s: Add "_main" for LynxOS targets. * testsuite/ld-elf/comm-data4.s: Likewise. * testsuite/ld-elf/comm-data5.s: Likewise. * testsuite/ld-elf/eh5b.s: Likewise. * testsuite/ld-elf/empty.s: Likewise. * testsuite/ld-elf/empty2.s: Likewise. * testsuite/ld-elf/exclude3.s: Likewise. * testsuite/ld-elf/fini0.s: Likewise. * testsuite/ld-elf/init0.s: Likewise. * testsuite/ld-elf/linkonce1b.s: Likewise. * testsuite/ld-elf/orphan3a.s: Likewise. * testsuite/ld-elf/pr14926.s: Likewise. * testsuite/ld-elf/pr20513a.s: Likewise. * testsuite/ld-elf/sec64k.exp: Likewise. * testsuite/ld-elf/start.s: Likewise. * testsuite/ld-elf/var1.s: Likewise. commit dbfcd05365abb8c919517df8b6d718bb85b0aefe Author: Jim Wilson Date: Thu Sep 20 12:06:28 2018 -0700 RISC-V: Fix library search path for rv32. 2018-09-19 Kito Cheng ld/ * emulparams/elf32lriscv.sh: Correct the library search path. * emulparams/elf32lriscv_ilp32.sh: Likewise. * emulparams/elf32lriscv_ilp32f.sh: Likewise. commit c475f569191cc0257bf0959c3475ca08644125b1 Author: Rainer Orth Date: Thu Sep 20 20:01:05 2018 +0200 More Solaris procfs cleanup This procfs.c (and friends) cleanup patch grew along a couple of lines: * First I noticed that PR_MODEL_NATIVE is always defined now that Solaris 10 is the minimum supported version. * Then there was a cleanup that I'd missed when removing support for !NEW_PROC_API, IRIX, and Tru64 UNIX: given that sysset_t is no longer dynamic, there's no need for the special sysset_t_alloc, but we can just use XNEW instead. * Then I found one of those ARI warning mails on gdb-patches, discovered how to run it myself and fixed a large number of the warnings, among them all uses of sprintf. I had to silence the warnings in only 3 instances of the same issue, namely references to LDT in function names which are due to the libthread_db API. * Even so, there were several formatting glitches, like braces around single statements in an if, which I chose to fix while I was at it. The result has been tested on amd64-pc-solaris2.11 and amd64-pc-solaris2.11. * proc-utils.h (PROC_CTL_WORD_TYPE): Remove. * procfs.c: Don't check for PR_MODEL_NATIVE definition. * sparc-sol2-nat.c: Likewise. Remove Linux, __arch64__ references. * sol-thread.c (ps_pdmodel): Don't guard definition. * procfs.c: Fix formatting. * procfs.c (sysset_t_alloc): Remove. (create_procinfo): Use XNEW instead of sysset_t_alloc. (procfs_debug_inferior): Likewise. (procfs_set_exec_trap): Likewise. (proc_set_traced_sysentry): Don't allocate argp dynamically. (proc_set_traced_sysexit): Likewise. * procfs.c (create_procinfo): Use xsnprintf to fix ARI warning. (dead_procinfo): Likewise. (proc_warn): Likewise. (proc_error): Likewise. (proc_get_LDT_entry): Likewise. (do_attach): Likewise. (procfs_target::pid_to_str): Likewise. (iterate_over_mappings): Likewise. * procfs.c (create_procinfo): Fix ARI warning. (proc_get_status): Likewise. (proc_stop_process): Likewise. (proc_run_process): Likewise. (proc_kill): Likewise. (proc_get_LDT_entry): Likewise. (procfs_find_LDT_entry): Likewise. (proc_update_threads): Likewise. (proc_iterate_over_threads): Likewise. (do_attach): Likewise. (procfs_xfer_memory): Likewise. (invalidate_cache): Likewise. (procfs_target::resume): Likewise. (procfs_init_inferior): Likewise. (procfs_set_exec_trap): Likewise. (procfs_target::thread_alive): Likewise. (procfs_target::pid_to_exec_file): Likewise. (iterate_over_mappings): Likewise. (procfs_target::make_corefile_notes): Likewise. * sol-thread.c (sol_thread_target::thread_alive): Likewise. * procfs.c (procfs_find_LDT_entry): Silence ARI warning. (procfs_find_LDT_entry): Likewise. * sol-thread.c (ps_lgetLDT): Likewise. commit ddb77fcccbbff14d6426d01357942e88d240dfbe Author: H.J. Lu Date: Thu Sep 20 10:55:36 2018 -0700 gas: Update expected outputs of "readelf -wL" Update expected outputs of "readelf -wL" for commit 17f6ade235fc96b4e572b5251b344d426c5f1cd5 Author: John Darrington Date: Wed Sep 19 19:56:29 2018 +0200 binutils --dwarf=decodedline: Add display of is_stmt flag which adds display of is_stmt flag. PR binutils/23695 * testsuite/gas/elf/dwarf2-11.d: Update expected outputs of "readelf -wL". * testsuite/gas/elf/dwarf2-12.d: Likewise. * testsuite/gas/elf/dwarf2-13.d: Likewise. * testsuite/gas/elf/dwarf2-14.d: Likewise. * testsuite/gas/elf/dwarf2-15.d: Likewise. * testsuite/gas/elf/dwarf2-16.d: Likewise. * testsuite/gas/elf/dwarf2-17.d: Likewise. * testsuite/gas/elf/dwarf2-18.d: Likewise. * testsuite/gas/elf/dwarf2-5.d: Likewise. * testsuite/gas/elf/dwarf2-6.d: Likewise. * testsuite/gas/elf/dwarf2-7.d: Likewise. commit 17f6ade235fc96b4e572b5251b344d426c5f1cd5 Author: John Darrington Date: Wed Sep 19 19:56:29 2018 +0200 binutils --dwarf=decodedline: Add display of is_stmt flag binutils/ * dwarf.c (display_debug_lines_decoded): Add display of is_stmt. * testsuite/binutils-all/dw5.W: Deal with the consequences. * testsuite/binutils-all/objdump.WL: Deal with the consequences. commit a466edac5f9913e3373e59335607e9666a0ac8c7 Author: Hafiz Abid Qadeer Date: Tue Sep 18 11:23:30 2018 +0100 Add '_' in the match pattern. I was looking at GDB testcase results for arm-eabi target with qemu and noticed that register groups returned by the qemu can have '_' in the name e.g. 'cp_regs'. The reggroups.exp fails to recognize that as group name. Fixed by adding '_' in the pattern. 2018-09-20 Hafiz Abid Qadeer gdb.base/reggroups.exp (fetch_reggroups): Add '_' in match pattern. commit fa9d2bd6b819ce143c149cee83456fa9dfe729b4 Author: Maciej W. Rozycki Date: Thu Sep 20 15:49:01 2018 +0100 S12Z/GAS: Correct a signed vs unsigned comparison error with GCC 4.1 Fix a build error: cc1: warnings being treated as errors .../gas/config/tc-s12z.c: In function 'lex_opr': .../gas/config/tc-s12z.c:617: warning: comparison between signed and unsigned .../gas/config/tc-s12z.c:624: warning: comparison between signed and unsigned make[4]: *** [config/tc-s12z.o] Error 1 observed with GCC 4.1.2 with the `s12z-elf' target. Here we have a constant assembly instruction operand, whose value is within the 24-bit unsigned range, to be placed in a machine instruction such as to use the least space-consuming encoding. So the sign of that value does not matter, because signed values are out of range and are not supposed to appear here, and we only have this warning here because the `X_add_number' member of `struct expressionS' is of the `offsetT' type, which is signed. Use an auxiliary variable of an unsigned data type then, observing that both `offsetT' and `valueT' have the same width, as they correspond to `bfd_signed_vma' and `bfd_vma' respectively. gas/ * config/tc-s12z.c (lex_opr): Use an auxiliary unsigned variable in encoding a constant operand. commit 16de26a611b78bd353af5b86ce67ace81ec1bfec Author: Maciej W. Rozycki Date: Thu Sep 20 15:49:01 2018 +0100 PPC/GAS: Correct a signed vs unsigned comparison error with GCC 4.1 Fix a build error: cc1: warnings being treated as errors .../gas/config/tc-ppc.c: In function 'ppc_dwsect': .../gas/config/tc-ppc.c:4091: warning: comparison between signed and unsigned make[4]: *** [config/tc-ppc.o] Error 1 observed with GCC 4.1.2 with the `powerpc-beos' target. Here `flag' identifies the type of a DWARF section, as used with the the first operand to the `.dwsect' pseudo-op, and has no notion of a sign, or for that matter being arithmetic in the first place[1]. We already handle this correctly with the `flag' member of the `xcoff_dwsect_name' structure, however not in the local variable used in GAS to hold the parsed value of said `.dwsect' pseudo-op's operand. Use an unsigned data type in GAS then too, observing that both `offsetT' and `valueT' have the same width, as they correspond to `bfd_signed_vma' and `bfd_vma' respectively. References: [1] "AIX Version 7.2: Assembler Language Reference", IBM Corporation 2015, 2018, Section ".dwsect pseudo-op", pp. 531-532 gas/ * config/tc-ppc.c (ppc_dwsect): Use `valueT' rather than `offsetT' as the type of `flag'. commit 53b6d6f5b2d8681cc4a061e05fe28ef896900908 Author: Maciej W. Rozycki Date: Thu Sep 20 15:49:00 2018 +0100 ARC: Fix build errors with large constants and C89 Fix build errors: cc1: warnings being treated as errors In file included from .../opcodes/arc-opc.c:2630: .../opcodes/arc-nps400-tbl.h:38: warning: integer constant is too large for 'long' type .../opcodes/arc-nps400-tbl.h:38: warning: integer constant is too large for 'long' type .../opcodes/arc-nps400-tbl.h:41: warning: integer constant is too large for 'long' type .../opcodes/arc-nps400-tbl.h:41: warning: integer constant is too large for 'long' type [...] .../opcodes/arc-nps400-tbl.h:712: warning: integer constant is too large for 'long' type .../opcodes/arc-nps400-tbl.h:712: warning: integer constant is too large for 'long' type .../opcodes/arc-nps400-tbl.h:715: warning: integer constant is too large for 'long' type .../opcodes/arc-nps400-tbl.h:715: warning: integer constant is too large for 'long' type make[4]: *** [arc-opc.lo] Error 1 and: cc1: warnings being treated as errors .../gas/config/tc-arc.c: In function 'md_number_to_chars_midend': .../gas/config/tc-arc.c:802: warning: integer constant is too large for 'long' type .../gas/config/tc-arc.c:810: warning: integer constant is too large for 'long' type make[4]: *** [config/tc-arc.o] Error 1 observed with GCC 4.1.2 and presumably other C89 compilers with the `arc-elf' and `arc-linux-gnu' targets, caused by the use of constants the values of which are outside the range of the `int' type (or the `long' type if it is of the same with). In the C89 language standard such constants are not implicitly converted to a wider type and an explicit suffix is required for such constants. Add a `ull' suffix then as with such constants used in other ports. gas/ * config/tc-arc.c (md_number_to_chars_midend): Append `ull' to large constants. opcodes/ * arc-nps400-tbl.h: Append `ull' to large constants throughout. commit ed3162adc45291b3de496be25911ebfd39f43a36 Author: Maciej W. Rozycki Date: Thu Sep 20 15:49:00 2018 +0100 RS6000/BFD: Remove dead duplicate `config.bfd' target matchers Remove duplicate `rs6000-*-aix5.[01]' and `rs6000-*-aix[5-9]*' target configuration selectors meant to correspond to `powerpc64-*-aix5.[01]' and `powerpc64-*-aix[5-9]*' respectively for the purpose of BFD target vector selection in `config.bfd'. These selectors were added with commit 9a9e2ca33263 ("rs6000 xcoff bfd config"), , and have been dead right from the beginning, because they appear twice each in the case statement, which means the earlier instance of each takes precedence and the other one is ignored. Here ones that alias to `powerpc-*-aix5.[01]' and `powerpc-*-aix[5-9]*' respectively immediately above are used instead. bfd/ * config.bfd : Remove duplicate `case' selectors. commit fbaf61ad525eb2818598b699d44df32e46583925 Author: Nick Clifton Date: Thu Sep 20 13:27:31 2018 +0100 Andes Technology has good news for you, we plan to update the nds32 port of binutils on upstream! We have not only removed all unsupported and obsolete code, but also supported lost of new features, including better link-time relaxations and TLS implementations. Besides, the files generated by the newly assembler and linker usually get higher performance and more optimized code size. ld * emultempl/nds32elf.em (hyper_relax): New variable. (nds32_elf_create_output_section_statements): the parameters of bfd_elf32_nds32_set_target_option (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Add new option --mhyper-relax. * emultempl/nds32elf.em (nds32_elf_after_open): Updated. * emultempl/nds32elf.em (tls_desc_trampoline): New variable. * (nds32_elf_create_output_section_statements): Updated. * (nds32_elf_after_parse): Disable relaxations when PIC is enable. * (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Add new option --m[no-]tlsdesc-trampoline. include * elf/nds32.h: Remove the unused target features. * dis-asm.h (disassemble_init_nds32): Declared. * elf/nds32.h (E_NDS32_NULL): Removed. (E_NDS32_HAS_DSP_INST, E_NDS32_HAS_ZOL): New. * opcode/nds32.h: Ident. (N32_SUB6, INSN_LW): New macros. (enum n32_opcodes): Updated. * elf/nds32.h: Doc fixes. * elf/nds32.h: Add R_NDS32_LSI. * elf/nds32.h: Add new relocations for TLS. gas * config/tc-nds32.c: Remove the unused target features. (nds32_relax_relocs, md_pseudo_table, nds32_elf_record_fixup_exp, nds32_set_elf_flags_by_insn, nds32_insert_relax_entry, nds32_apply_fix): Likewise. (nds32_no_ex9_begin): Removed. * config/tc-nds32.c (add_mapping_symbol_for_align, make_mapping_symbol, add_mapping_symbol): New functions. * config/tc-nds32.h (enum mstate): New. (nds32_segment_info_type): Likewise. * configure.ac (--enable-dsp-ext, --enable-zol-ext): New options. * config.in: Regenerated. * configure: Regenerated. * config/tc-nds32.c (nds32_dx_regs): Set the value according to the configuration. (nds32_perf_ext, nds32_perf_ext2, nds32_string_ext, nds32_audio_ext): Likewise. (nds32_dsp_ext): New variable. Set the value according to the configuration. (nds32_zol_ext): Likewise. (asm_desc, nds32_pseudo_opcode_table): Make them static. (nds32_set_elf_flags_by_insn): Updated. (nds32_check_insn_available): Updated. (nds32_str_tolower): New function. * config/tc-nds32.c (relax_table): Updated. (md_begin): Updated. (md_assemble): Use XNEW macro to allocate space for `insn.info', and then remember to free it. (md_section_align): Cast (-1) to ValueT. (nds32_get_align): Cast (~0U) to addressT. (nds32_relax_branch_instructions): Updated. (md_convert_frag): Add new local variable `final_r_type'. (invalid_prev_frag): Add new bfd_boolean parameter `relax'. All callers changed. * config/tc-nds32.c (struct nds32_relocs_pattern): Add `insn' field. (struct nds32_hint_map): Add `option_list' field. (struct suffix_name, suffix_table): Remove the unused `pic' field. (do_pseudo_b, do_pseudo_bal): Remove the suffix checking. (do_pseudo_la_internal, do_pseudo_pushpopm): Indent. (relax_hint_bias, relax_hint_id_current): New static variables. (reset_bias, relax_hint_begin): New variables. (nds_itoa): New function. (CLEAN_REG, GET_OPCODE): New macros. (struct relax_hint_id): New. (nds32_relax_hint): For .relax_hint directive, we can use `begin' and `end' to mark the relax pattern without giving exactly id number. (nds32_elf_append_relax_relocs): Handle the case that the .relax_hint directives are attached to pseudo instruction. (nds32_elf_save_pseudo_pattern): Change the second parameter from instruction's opcode to byte code. (nds32_elf_build_relax_relation): Add new bfd_boolean parameter `pseudo_hint'. (nds32_lookup_pseudo_opcode): Fix the overflow issue. (enum nds32_insn_type): Add N32_RELAX_ALU1 and N32_RELAX_16BIT. (nds32_elf_record_fixup_exp, relax_ls_table, hint_map, nds32_find_reloc_table, nds32_match_hint_insn, nds32_parse_name): Updated. * config/tc-nds32.h (MAX_RELAX_NUM): Extend it to 6. (enum nds32_relax_hint_type): Merge NDS32_RELAX_HINT_LA and NDS32_RELAX_HINT_LS into NDS32_RELAX_HINT_LALS. Add NDS32_RELAX_HINT_LA_PLT, NDS32_RELAX_HINT_LA_GOT and NDS32_RELAX_HINT_LA_GOTOFF. * config/tc-nds32.h (relax_ls_table): Add floating load/store to gp relax pattern. (hint_map, nds32_find_reloc_table): Likewise. * configure.ac: Define NDS32_LINUX_TOOLCHAIN. * configure: Regenerated. * config.in: Regenerated. * config/tc-nds32.h (enum nds32_ramp): Updated. (enum nds32_relax_hint_type): Likewise. * config/tc-nds32.c: Include "errno.h" and "limits.h". (relax_ls_table): Add TLS relax patterns. (nds32_elf_append_relax_relocs): Attach BFD_RELOC_NDS32_GROUP on each instructions of TLS patterns. (nds32_elf_record_fixup_exp): Updated. (nds32_apply_fix): Likewise. (suffix_table): Add TLSDESC suffix. binutils* testsuite/binutils-all/objcopy.exp: Set the unsupported reloc number from 215 to 255 for NDS32. bfd * 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 since the TEXTREL issue is fixed in the nds32_elf_check_relocs. (nds32_elf_finish_dynamic_sections): Update and add DT_RELASZ dynamic entry. (calculate_offset): Remove the unused parameter `pic_ext_target' and related codes. All callers changed. (elf_backend_dtrel_excludes_plt): Disable it temporarily since it will cause some errors for our test cases. * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Allow to link the generic object. * reloc.c: Add TLS relocations. * libbfd.h: Regenerated. * bfd-in2.h: Regenerated. * elf32-nds32.h (struct section_id_list_t): New. (elf32_nds32_lookup_section_id, elf32_nds32_check_relax_group, elf32_nds32_unify_relax_group, nds32_elf_unify_tls_model): New prototypes. (elf32_nds32_compute_jump_table_size, elf32_nds32_local_tlsdesc_gotent): New macro. (nds32_insertion_sort, bfd_elf32_nds32_set_target_option, elf_nds32_link_hash_table): Updated. * elf32-nds32.c (enum elf_nds32_tls_type): New. (struct elf32_nds32_relax_group_t, struct relax_group_list_t): New. (elf32_nds32_add_dynreloc, patch_tls_desc_to_ie, get_tls_type, fls, ones32, list_insert, list_insert_sibling, dump_chain, elf32_nds32_check_relax_group, elf32_nds32_lookup_section_id, elf32_nds32_unify_relax_group, nds32_elf_unify_tls_model): New functions. (elf_nds32_obj_tdata): Add new fields. (elf32_nds32_relax_group_ptr, nds32_elf_local_tlsdesc_gotent): New macros. (nds32_elf_howto_table): Add TLS relocations. (nds32_reloc_map): Likewise. (nds32_elf_copy_indirect_symbol, nds32_elf_size_dynamic_sections, nds32_elf_finish_dynamic_symbol, elf32_nds32_allocate_local_sym_info, nds32_elf_relocate_section, bfd_elf32_nds32_set_target_option, nds32_elf_check_relocs, allocate_dynrelocs): Updated. (nds32_elf_relax_section): Call nds32_elf_unify_tls_model. (dtpoff_base): Rename it to `gottpof' and then update it. opcodes * nds32-asm.c (operand_fields): Remove the unused fields. (nds32_opcodes): Remove the unused instructions. * nds32-dis.c (nds32_ex9_info): Removed. (nds32_parse_opcode): Updated. (print_insn_nds32): Likewise. * nds32-asm.c (config.h, stdlib.h, string.h): New includes. (LEX_SET_FIELD, LEX_GET_FIELD): Update defines. (nds32_asm_init, build_operand_hash_table, build_keyword_hash_table, build_opcode_hash_table): New functions. (nds32_keyword_table, nds32_keyword_count_table, nds32_field_table, nds32_opcode_table): New. (hw_ktabs): Declare it to a pointer rather than an array. (build_hash_table): Removed. * nds32-asm.h (enum): Add SYN_INPUT, SYN_OUTPUT, SYN_LOPT, SYN_ROPT and upadte HW_GPR and HW_INT. * nds32-dis.c (keywords): Remove const. (match_field): New function. (nds32_parse_opcode): Updated. * disassemble.c (disassemble_init_for_target): Add disassemble_init_nds32. * nds32-dis.c (eum map_type): New. (nds32_private_data): Likewise. (get_mapping_symbol_type, is_mapping_symbol, nds32_symbol_is_valid, nds32_add_opcode_hash_table, disassemble_init_nds32): New functions. (print_insn_nds32): Updated. * nds32-asm.c (parse_aext_reg): Add new parameter. (parse_re, parse_re2, parse_aext_reg): Only reduced registers are allowed to use. All callers changed. * nds32-asm.c (keyword_usr, keyword_sr): Updated. (operand_fields): Add new fields. (nds32_opcodes): Add new instructions. (keyword_aridxi_mx): New keyword. * nds32-asm.h (enum): Add NASM_ATTR_DSP_ISAEXT, HW_AEXT_ARIDXI_MX and NASM_ATTR_ZOL. (ALU2_1, ALU2_2, ALU2_3): New macros. * nds32-dis.c (nds32_filter_unknown_insn): Updated. commit cf93e9c2cf8f8b2566f8fc86e961592b51b5980d Author: Alan Modra Date: Thu Sep 20 18:23:17 2018 +0930 PR23685, buffer overflow PR 23685 * peXXigen.c (pe_print_edata): Correct export address table overflow checks. Check dataoff against section size too. commit 4206c05ea1542c413a4a361c29cbbd206861946c Author: Rainer Orth Date: Thu Sep 20 11:23:27 2018 +0200 Provide pid_to_exec_file on Solaris (PR tdep/17903) While looking through gdb.log, I found that two tests FAIL like this: warning: No executable has been specified and target does not support determining executable automatically. Try using the "file" command. 0x00400dc4 in ?? () (gdb) FAIL: gdb.base/attach.exp: attach2, with no file The other is gdb.base/quit-live.exp. I've implemented the following patch that fixes both failures, only then detecting that I'd previously reported the issue as PR tdep/17903. Tested on amd64-pc-solaris2.10 and amd64-pc-solaris2.11. PR tdep/17903 * procfs.c (procfs_target): Declare pid_to_exec_file. (procfs_target::pid_to_exec_file): New. commit 3d282ac37064ec0105d3aa3f379f7fb8af98759c Author: Rainer Orth Date: Thu Sep 20 10:23:46 2018 +0200 Handle missing Solaris auxv entries Currently, three tests FAIL on Solaris 11.4+ (amd64-pc-solaris2.11 and sparcv9-sun-solaris2.11): info auxv [...] 2009 AT_SUN_HWCAP Machine-dependent CPU capability hints 0x3f5ff7 2023 ??? 0x0 0 AT_NULL End of vector 0x0 (gdb) WARNING: Unrecognized tag value: 2023 ??? 0x0 FAIL: gdb.base/auxv.exp: info auxv on live process info auxv 4294969310 ??? 0x7fffbfffe410 9225589753816 ??? 0x7fffbfffe45c [...] WARNING: Unrecognized tag value: 4294969310 ??? 0x7fffbfffe410 WARNING: Unrecognized tag value: 9225589753816 ??? 0x7fffbfffe45c WARNING: Unrecognized tag value: 140733193388037 ??? 0x6 [...] 2009 AT_SUN_HWCAP Machine-dependent CPU capability hints 0x3f5ff7 2023 ??? 0x0 0 AT_NULL End of vector 0x0 (gdb) WARNING: Unrecognized tag value: 2023 ??? 0x0 UNRESOLVED: gdb.base/auxv.exp: info auxv on native core dump info auxv [...] 2009 AT_SUN_HWCAP Machine-dependent CPU capability hints 0x3f5ff7 2023 ??? 0x0 0 AT_NULL End of vector 0x0 (gdb) WARNING: Unrecognized tag value: 2023 ??? 0x0 FAIL: gdb.base/auxv.exp: info auxv on gcore-created dump The following patch fixes this by introducing the missing AT_SUN_* values from Solaris 11.4+ . This lets the live and gcore-created dump tests PASS. I don't know yet what's the reason for those weird 'Unrecognized tag value' warnings with native core dumps is; elfdump -n certainly doesn't show them. However, native core dumps still need quite some work (mostly in bfd) in this and other areas. Tested on amd64-pc-solaris2.11. gdb: * auxv.c (default_print_auxv_entry): Reflect AT_SUN_CAP_HW1 renaming. Handle AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1, AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2. include: * elf/common.h (AT_SUN_HWCAP): Rename to ... (AT_SUN_CAP_HW1): ... this. Retain old name for backward compatibility. (AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1) (AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2): Define. commit 8c93fae61550ee343ad15e98a6636c56bcb0dc9d Author: Rainer Orth Date: Thu Sep 20 10:17:41 2018 +0200 Missed last ChangeLog entry. commit 8674be792462bc4469b04723484c63ab4c7ad895 Author: Rainer Orth Date: Thu Sep 20 10:10:07 2018 +0200 Fold i386-v4-nat.c into i386-sol2-nat.c I've been carrying around the following patch for some time. I noticed that both i386-sol2-nat.c and i386-v4-nat.c are Solaris-only now and it seems confusing to carry both around. So this patch merges i386-v4-nat.c into i386-sol2-nat.c, simplifying it in a couple of places, like removing checks for macros that are always defined. Tested on 64-bit Solaris 11.5/x86 (amd64-pc-solaris2.11) and 32-bit Solaris 11.3/x86 (i386-pc-solaris2.11) half a year ago. * i386-v4-nat.c (regmap, supply_gregset, fill_gregset) (supply_fpregset, fill_fpregset): Move ... * i386-sol2-nat.c [PR_MODEL_NATIVE != PR_MODEL_LP64]: ... here. Remove HAVE_GREGSET_T, HAVE_FPREGET_T guards. Remove references to ioctl-based procfs. Include . Remove PR_MODEL_NATIVE guards. * configure.nat (NATDEPFILES): Remove i386-v4-nat.o. * Makefile.in (ALLDEPFILES): Remove i386-v4-nat.c. commit 30838132997e6a3cfe3ec11c58b32b22f6f6b102 Author: Alan Modra Date: Thu Sep 20 15:29:17 2018 +0930 Bug 23686, two segment faults in nm Fixes the bugs exposed by the testcases in the PR, plus two more bugs I noticed when looking at _bfd_stab_section_find_nearest_line. PR 23686 * dwarf2.c (read_section): Error when attempting to malloc "(bfd_size_type) -1". * syms.c (_bfd_stab_section_find_nearest_line): Bounds check function_name. Bounds check reloc address. Formatting. Ensure .stabstr zero terminated. commit 4ee9b0c53a8055b869dfe424846bc00eb0cd0c8f Author: Sandra Loosemore Date: Wed Sep 19 19:05:39 2018 -0700 Skip GDB tab-completion tests if no readline. 2018-09-18 Sandra Loosemore gdb/testsuite/ * gdb.base/complete-empty.exp: Skip tab-completion tests if no readline. * gdb.base/utf8-identifiers.exp: Likewise. * gdb.cp/cpcompletion.exp: Likewise. * gdb.linespec/cpcompletion.exp: Likewise. * gdb.linespec/cpls-abi-tag.exp: Likewise. * gdb.linespec/cpls-ops.exp: Likewise. commit 343a4a21eba7383a023140c33a5763ae1d547fc2 Author: GDB Administrator Date: Thu Sep 20 00:00:50 2018 +0000 Automatic date update in version.in commit 79b32f4a3a109321cb9a99014293b0ade57535ab Author: Xavier Roirand Date: Wed Aug 22 12:11:14 2018 +0200 Darwin: Handle unrelocated dyld. On Darwin, debugging an helloworld program with GDB does not work and ends with: (gdb) set startup-with-shell off (gdb) start Temporary breakpoint 1 at 0x100000fb4: file /tmp/helloworld.c, line 1. Starting program: /private/tmp/helloworld [New Thread 0x2703 of process 18906] [New Thread 0x2603 of process 18906] [1]+ Stopped ./gdb/gdb /tmp/helloworld When debugging with lldb, instead of having the STOP signal, we can see that a breakpoint is not set to a proper location: Warning: Cannot insert breakpoint -1. Cannot access memory at address 0xf726 Command aborted. The inserted breakpoint is the one used when GDB has to stop the target when a shared library is loaded or unloaded. The notifier address used for adding the breakpoint is wrong thus the above failure. This notifier address is an offset relative to dyld base address, so the value calculation has to be updated to reflect this. This was tested on High Sierra by trying to run a simple "hello world" program. gdb/ChangeLog: PR gdb/20981: * solib-darwin.c (darwin_get_dyld_bfd): New function. (darwin_solib_get_all_image_info_addr_at_init): Update call. (darwin_handle_solib_event): New function. (darwin_solib_create_inferior_hook): Handle unrelocated dyld. Change-Id: I7dde5008c9158f17b78dc89bd7f4bd8a12d4a6e1 commit 07147793e678dac92f6a16f140678f9a5aed21e7 Author: John Baldwin Date: Wed Sep 19 09:44:51 2018 -0700 Add missing spaces after inet_ntop invocations. gdb/ChangeLog: * fbsd-tdep.c (fbsd_print_sockaddr_in): Style fix. (fbsd_print_sockaddr_in6): Likewise. commit 23be8da7396ffc4d5492d976e244daaa543eaac9 Author: Richard Bunt Date: Wed Sep 19 10:43:56 2018 +0100 Logical short circuiting with argument lists When evaluating Fortran expressions such as the following: print truth_table(1,1) .OR. truth_table(2,1) where truth_table(1,1) evaluates to true, the debugger would report that it could not perform substring operations on this type. This patch addresses this issue. Investigation revealed that EVAL_SKIP was not being handled correctly for all types serviced by the OP_F77_UNDETERMINED_ARGLIST case in evaluate_subexp_standard. While skipping an undetermined argument list the type is resolved to be an integer (as this is what evaluate_subexp returns when skipping) and so it was not possible to delegate to the appropriate case (e.g. array, function call). The solution implemented here updates OP_VAR_VALUE to return correct type information when skipping. This way OP_F77_UNDETERMINED_ARGLIST can delegate the skipping to the appropriate case or routine, which should know how to skip/evaluate the type in question. koenig.exp was updated to include a testcase which exercises the modified skip logic in OP_VAR_VALUE, as it falls through from OP_ADL_FUNC. This patch has been tested for regressions with GCC 7.3 on aarch64, ppc64le and x86_64. gdb/ChangeLog: * eval.c (skip_undetermined_arglist): Skip argument list helper. (evaluate_subexp_standard): Return a dummy type when honoring EVAL_SKIP in OP_VAR_VALUE and handle skipping in the OP_F77_UNDETERMINED_ARGLIST case. * expression.h (enum noside): Update comment. gdb/testsuite/ChangeLog: * gdb.cp/koenig.exp: Extend to test logical short circuiting. * gdb.fortran/short-circuit-argument-list.exp: New file. * gdb.fortran/short-circuit-argument-list.f90: New test. commit 7307a73aed246eaccec9277b11e045f974322796 Author: Rainer Orth Date: Wed Sep 19 11:29:19 2018 +0200 Handle 64-bit Solaris/x86 ld.so.1 The next patch from the solaris-userland github repo https://github.com/oracle/solaris-userland/tree/master/components/gdb/patches (007-solib-svr4.patch) is equally trivial, creating partity between Solaris/SPARC and x86. Tested on amd64-pc-solaris2.11. 2018-09-19 George Vasick * solib-svr4.c (svr4_same_1): Also handle amd64 ld.so.1. commit 13db92d3f48cbd6784f50bbd0ce10220e0d48ee4 Author: Rainer Orth Date: Wed Sep 19 11:21:32 2018 +0200 Fix /proc pathname sizes on Solaris I'm slowly working my way through the gdb patches from the solaris-userland repo https://github.com/oracle/solaris-userland/tree/master/components/gdb/patches This one (001-fix-proc-name-size.patch) should be obvious given the patches' comment: # In Solaris, PID_MAX is 999999 (6 digit pid). # In Solaris, lwpid_t is an unsigned int, so theoretically the lwp id # could be 10 digits. Tested on i386-pc-solaris2.11. 2018-09-19 Stefan Teleman April Chin Rainer Orth * procfs.c (MAX_PROC_NAME_SIZE): Allow for 6-digit PID_MAX and uint_t lwpid_t. (create_procinfo): Print pids in /proc without leading zeros. commit 7e00df65a4e3e281604acab2450812a5fb275743 Author: Alan Modra Date: Wed Sep 19 16:07:44 2018 +0930 PR23648 testcase PR 23648 * testsuite/ld-elf/pr23648.d, * testsuite/ld-elf/pr23648.s, * testsuite/ld-elf/pr23648.t: New test. commit 7f0cfc6eb8bbead5c9a1ff3a8dec11d93304f5ad Author: Alan Modra Date: Wed Sep 19 13:22:43 2018 +0930 PR23648, Symbols based on MEMORY regions confuse --gc-sections Running lang_do_memory_regions earlier seems a reasonable solution to gaining better values for symbols prior to lang_gc_sections. PR ld/23648 * ldlang.c (lang_process): Move lang_do_memory_regions earlier. Comment on lang_do_assignments call. * ldgram.y (origin_exp): Don't assign region->current. commit aa654ee8f830ca0d4d31bad0ff18b9e6261267fd Author: Alan Modra Date: Wed Sep 19 13:05:17 2018 +0930 Tweak map file output for pei386_auto_import * ldmain.c (add_archive_element): Handle auto-inport symbols when printing map. commit 3d50f1706348142d0ad64cd9fad044e68951655e Author: Sandra Loosemore Date: Tue Sep 18 20:57:07 2018 -0700 Add gcc_target_options hook for nios2. 2018-09-18 Sandra Loosemore gdb/ * nios2-tdep.c (nios2_gcc_target_options): New. (nios2_gdb_arch_init): Install new hook. commit b567ca638c274e27969975403b885973af9ccae6 Author: Simon Marchi Date: Tue Sep 18 23:40:55 2018 -0400 Carry the gnulib getcwd backport as a patch Commit e2fc52e7457 ("Fix PR gdb/23558: Use system's 'getcwd' when cross-compiling GDB") backported some changes from a future gnulib version to our import. However, this means that every time someone wants to change our gnulib import (e.g. add a module), they must make sure not to include that backported change. It also means that someone running the update-gnulib.sh script without changes will get some diffs and wonder why. Instead, I suggest we carry that backport as a patch applied by the update-gnulib.sh script after running the import tool. It will make it clear what backport or local modification we have and should make running update-gnulib.sh give a reproducible result. There is a hunk in the configure file in this patch, this is because the commit that backported the getcwd bits didn't include the re-generated configure. Note: you'll need this patch as well to get deterministic results: Generate aclocal-m4-deps.mk more deterministically and portably. https://sourceware.org/ml/gdb-patches/2018-09/msg00643.html gdb/ChangeLog: * patches/0001-Fix-PR-gdb-23558-Use-system-s-getcwd-when-cross-comp.patch: New file. * update-gnulib.sh: Apply patch. * configure: Re-generate. commit 48219c6a06091b873f39c64c5df12ba7ec37a2e0 Author: GDB Administrator Date: Wed Sep 19 00:00:45 2018 +0000 Automatic date update in version.in commit 73f1bd769a5216b3debc1025faa62a466c5a1e68 Author: John Baldwin Date: Tue Sep 18 14:05:48 2018 -0700 Make the "info proc" documentation more consistent. Remove "running" in a few places since "info proc" can be used with core dumps as well as running processes on both Linux and FreeBSD. Use "the specified process" in the description of most "info proc" subcommands. Use "additional information" instead of "/proc process information" in the "info proc" description to more closely match the language in the manual. gdb/ChangeLog: * infcmd.c (_initialize_infcmd): Remove "running" from "info proc" description. Make "info proc" command descriptions more consistent. gdb/doc/ChangeLog: * gdb.texinfo (info proc): Remove "running". (info proc mappings): Replace "program" with "process". commit 8b11311136c0acb5c4d3fbc9c1c92f259feb6beb Author: John Baldwin Date: Tue Sep 18 14:05:48 2018 -0700 Document the 'info proc files' command. gdb/ChangeLog: * NEWS: Mention 'info proc files' command. gdb/doc/ChangeLog: * gdb.texinfo (Process Information): Document "info proc files" command. commit 7e69672e4dfa532607e4ecef99623680264a87b3 Author: John Baldwin Date: Tue Sep 18 14:05:47 2018 -0700 Support 'info proc files' on live FreeBSD processes. This walks the list of struct kinfo_file objects returned by a call to kinfo_getfile outputting a description of each open file descriptor. gdb/ChangeLog: * fbsd-nat.c (fbsd_nat_target::info_proc): List open file descriptors for IP_FILES and IP_ALL. commit 57c2a98a4c7e5ad4e62c876eb5cebe9d17a51ad0 Author: John Baldwin Date: Tue Sep 18 14:05:47 2018 -0700 Add support for 'info proc files' on FreeBSD core dumps. Walk the list of struct kinfo_file objects in the NT_FREEBSD_PROCSTAT_FILES core dump note outputting a description of each open file descriptor. For sockets, the local and remote socket addresses are displayed in place of the file name field. For UNIX local domain sockets, only a single address is displayed since most UNIX sockets only have one valid address and printing both pathnames could be quite long. The output format was somewhat inspired by the output of the "procstat -f" command on FreeBSD, but with a few less details and some fields were condensed. gdb/ChangeLog: * fbsd-tdep.c (KF_FLAGS, KF_OFFSET, KF_VNODE_TYPE, KF_SOCK_DOMAIN) (KF_SOCK_TYPE, KF_SOCK_PROTOCOL, KF_SA_LOCAL, KF_SA_PEER) (KINFO_FILE_TYPE_SOCKET, KINFO_FILE_TYPE_PIPE) (KINFO_FILE_TYPE_FIFO, KINFO_FILE_TYPE_KQUEUE) (KINFO_FILE_TYPE_CRYPTO, KINFO_FILE_TYPE_MQUEUE) (KINFO_FILE_TYPE_SHM, KINFO_FILE_TYPE_SEM, KINFO_FILE_TYPE_PTS) (KINFO_FILE_TYPE_PROCDESC, KINFO_FILE_FD_TYPE_ROOT) (KINFO_FILE_FD_TYPE_JAIL, KINFO_FILE_FD_TYPE_TRACE) (KINFO_FILE_FD_TYPE_CTTY, KINFO_FILE_FLAG_READ) (KINFO_FILE_FLAG_WRITE, KINFO_FILE_FLAG_APPEND) (KINFO_FILE_FLAG_ASYNC, KINFO_FILE_FLAG_FSYNC) (KINFO_FILE_FLAG_NONBLOCK, KINFO_FILE_FLAG_DIRECT) (KINFO_FILE_FLAG_HASLOCK, KINFO_FILE_FLAG_EXEC) (KINFO_FILE_VTYPE_VREG, KINFO_FILE_VTYPE_VDIR) (KINFO_FILE_VTYPE_VCHR, KINFO_FILE_VTYPE_VLNK) (KINFO_FILE_VTYPE_VSOCK, KINFO_FILE_VTYPE_VFIFO, FBSD_AF_UNIX) (FBSD_AF_INET, FBSD_AF_INET6, FBSD_SOCK_STREAM, FBSD_SOCK_DGRAM) (FBSD_SOCK_SEQPACKET, FBSD_IPPROTO_ICMP, FBSD_IPPROTO_TCP) (FBSD_IPPROTO_UDP, FBSD_IPPROTO_SCTP): New defines. (struct fbsd_sockaddr_in, struct fbsd_sockaddr_in6) (struct fbsd_sockaddr_un): New types. (fbsd_file_fd, fbsd_file_type, fbsd_file_flags, fbsd_ipproto) (fbsd_print_sockaddr_in, fbsd_print_sockaddr_in6) (fbsd_info_proc_files_header, fbsd_info_proc_files_entry) (fbsd_core_info_proc_files): New functions. (fbsd_core_info_proc): List open file descriptors for IP_FILES and IP_ALL. * fbsd-tdep.h (fbsd_info_proc_files_header) (fbsd_info_proc_files_entry): New. commit e98ee8c458f3a8405eb93e71b00f801b4bbe3635 Author: John Baldwin Date: Tue Sep 18 14:05:47 2018 -0700 Add a new 'info proc files' subcommand of 'info proc'. This command displays a list of open file descriptors. gdb/ChangeLog: * defs.h (enum info_proc_what) [IP_FILES]: New value. * infcmd.c (info_proc_cmd_files): New function. (_initialize_infcmd): Register 'info proc files' command. commit 725e299974632e529be8b9c004a72118240da9f1 Author: John Baldwin Date: Tue Sep 18 14:05:47 2018 -0700 Import gnulib's inet_ntop module. An upcoming patch to fbsd-tdep.c uses inet_ntop to format IP addresses. gdb/ChangeLog: * gnulib/aclocal-m4-deps.mk: Re-generate. * gnulib/aclocal.m4: Re-generate. * gnulib/config.in: Re-generate. * gnulib/configure: Re-generate. * gnulib/import/Makefile.am: Re-generate. * gnulib/import/Makefile.in: Re-generate. * gnulib/import/m4/gnulib-cache.m4: Re-generate. * gnulib/import/m4/gnulib-comp.m4: Re-generate. * gnulib/import/arpa_inet.in.h: New file. * gnulib/import/inet_ntop.c: New file. * gnulib/import/m4/arpa_inet_h.m4: New file. * gnulib/import/m4/inet_ntop.m4: New file. * gnulib/import/m4/netinet_in_h.m4: New file. * gnulib/import/m4/socklen.m4: New file. * gnulib/import/m4/sockpfaf.m4: New file. * gnulib/import/m4/stdalign.m4: New file. * gnulib/import/m4/sys_uio_h.m4: New file. * gnulib/import/netinet_in.in.h: New file. * gnulib/import/stdalign.in.h: New file. * gnulib/import/sys_socket.c: New file. * gnulib/import/sys_socket.in.h: New file. * gnulib/import/sys_uio.in.h: New file. * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add inet_ntop module. commit 2afffa7f629da4c07510014098294d1fd141f5c7 Author: John Baldwin Date: Tue Sep 18 14:05:47 2018 -0700 Generate aclocal-m4-deps.mk more deterministically and portably. Sort the list of files generated by find to make the order of the entries deterministic. When sorting, use explicit "C" collation. Use an explicit tab character instead of '\t' as some sed implementations treat '\t' as an escaped 't' instead of a tab. gdb/ChangeLog: * gnulib/aclocal-m4-deps.mk: New file. * gnulib/update-gnulib.sh: Generate "aclocal-m4-deps.mk" deterministically. commit 9f235e09e4d3dc6820e2d667200fe09b3e73b623 Author: John Baldwin Date: Tue Sep 18 14:05:47 2018 -0700 Use KF_PATH to verify the size of a struct kinfo_file. fbsd_core_vnode_path needs to use the offset of the kf_path member of struct kinfo_file as the minimum size of a struct kinfo_file object. However, it was using KVE_PATH instead due to a copy and paste bug. While here, fix another copy and paste bug in the error message for a truncated kinfo_file object. gdb/ChangeLog: * fbsd-tdep.c (fbsd_core_vnode_path): Use KF_PATH instead of KVE_PATH. commit 5031d0ae0b9fb1a42eb8ff9d2b5098a56774cee1 Author: Sergio Durigan Junior Date: Tue Sep 18 13:53:43 2018 -0400 Expect optional "arch=" when executing "-stack-list-frames" on gdb.arch/amd64-invalid-stack-top.exp Another case of incomplete regexp. The problem is very similar to the one happening with gdb.arch/amd64-invalid-stack-middle.exp. The output when GDB is compiled with "--enable-targets" is: (gdb) interpreter-exec mi "-stack-list-frames" ^done,stack=[frame={level="0",addr="0x00000000004005e7",func="func2",arch="i386:x86-64"}] While the output when "--enable-targets" is not specified is: (gdb) interpreter-exec mi "-stack-list-frames" ^done,stack=[frame={level="0",addr="0x00000000004005e7",func="func2"}] The fix is, again, to extend the current regexp and expect for the optional "arch=" part. With this patch, the test now passes on both scenarios. OK? gdb/testsuite/ChangeLog: 2018-09-18 Sergio Durigan Junior * gdb.arch/amd64-invalid-stack-top.exp: Expect optional "arch=" keyword when executing "-stack-list-frames". commit b4c0d1a440d054cd198041ddf0ba43b83794186f Author: Sergio Durigan Junior Date: Tue Sep 18 13:53:06 2018 -0400 Expect optional "arch=" when executing "-stack-list-frames" on gdb.arch/amd64-invalid-stack-middle.exp While regression-testing GDB on Fedora Rawhide, I saw the following output when running gdb.arch/amd64-invalid-stack-middle.exp's "-stack-list-frames" test: (gdb) interpreter-exec mi "-stack-list-frames" ^done,stack=[frame={level="0",addr="0x000000000040115a",func="breakpt",file="amd64-invalid-stack-middle.c",fullname="/home/sergio/fedora/gdb/master/gdb-8.2.50.20180917/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.c",line="27",arch="i386:x86-64"},frame={level="1",addr="0x000000000040116a",func="func5",file="amd64-invalid-stack-middle.c",fullname="/home/sergio/fedora/gdb/master/gdb-8.2.50.20180917/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.c",line="32",arch="i386:x86-64"},frame={level="2",addr="0x000000000040117a",func="func4",file="amd64-invalid-stack-middle.c",fullname="/home/sergio/fedora/gdb/master/gdb-8.2.50.20180917/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.c",line="38",arch="i386:x86-64"},frame={level="3",addr="0x000000000040118a",func="func3",file="amd64-invalid-stack-middle.c",fullname="/home/sergio/fedora/gdb/master/gdb-8.2.50.20180917/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.c",line="44",arch="i386:x86-64"}] This test is currently failing on Rawhide. However, this output is almost the same as I get on my local Fedora 28 machine (where the test is passing): (gdb) interpreter-exec mi "-stack-list-frames" ^done,stack=[frame={level="0",addr="0x00000000004005da",func="breakpt",file="amd64-invalid-stack-middle.c",fullname="/home/sergio/work/src/git/binutils-gdb/binutils-gdb/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.c",line="27"},frame={level="1",addr="0x00000000004005ea",func="func5",file="amd64-invalid-stack-middle.c",fullname="/home/sergio/work/src/git/binutils-gdb/binutils-gdb/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.c",line="32"},frame={level="2",addr="0x00000000004005fa",func="func4",file="amd64-invalid-stack-middle.c",fullname="/home/sergio/work/src/git/binutils-gdb/binutils-gdb/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.c",line="38"},frame={level="3",addr="0x000000000040060a",func="func3",file="amd64-invalid-stack-middle.c",fullname="/home/sergio/work/src/git/binutils-gdb/binutils-gdb/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.c",line="44"}] With the exception that there's an "arch=" keyword on Fedora Rawhide's version. This is because, on Rawhide, I've compiled GDB with "--enable-targets=xyz,kqp,etc.", while locally I haven't. This is easy to fix: we just have to extend the regexp and expect for the optional "arch=" keyword there. It's what this patch does. With it applied, the test now passes everywhere. OK? gdb/testsuite/ChangeLog: 2018-09-18 Sergio Durigan Junior * gdb.arch/amd64-invalid-stack-middle.exp: Expect optional "arch=" keyword when executing "-stack-list-frames". commit 7a6d2b458f95030f433a0dcdabd5cda7ee695a9b Author: Sergio Durigan Junior Date: Mon Sep 17 17:29:50 2018 -0400 Expect for "@" when doing "complete break ada" on gdb.ada/complete.exp Currently, gdb.ada/complete.exp's "complete break ada" test fails because the regexp used to match the command's output doesn't expect "@", but we have an output like: ... complete break ada break ada.assertions.assert break ada.calendar.arithmetic.difference break ada.calendar.arithmetic_operations.add break ada.calendar.arithmetic_operations.add.cold break ada.calendar.arithmetic_operations.add@plt break ada.calendar.arithmetic_operations.difference break ada.calendar.arithmetic_operations.difference@plt ... This patch adds "@" to the regexp, unbreaking the test. OK? gdb/testsuite/ChangeLog: 2018-09-18 Sergio Durigan Junior * gdb.ada/complete.exp: Expect for "@" when doing "complete break ada". commit 40f03055a23b7d77e18e14264046d8e21b6abf67 Author: Tom Tromey Date: Sat Sep 15 14:53:53 2018 -0600 Remove remaining cleanups from compile-object-load.c This removes the remaining cleanups from compile-object-load.c. gdb/ChangeLog 2018-09-18 Tom Tromey * compile/compile-object-load.c (struct link_hash_table_cleanup_data): Add constructor and destructor. Use DISABLE_COPY_AND_ASSIGN. (~link_hash_table_cleanup_data): Rename from link_hash_table_free. Now a destructor. (copy_sections): Use gdb::unique_xmalloc_ptr. Remove cleanups. commit c9e0a7e333107ad140d9e15110f8820115921555 Author: Tom Tromey Date: Sat Sep 15 14:45:51 2018 -0600 Remove munmap_listp_free_cleanup This removes munmap_listp_free_cleanup, replacing it with a std::unique_ptr at one spot and an explicit delete in another. It seemed simplest to completely change this data structure. gdb/ChangeLog 2018-09-18 Tom Tromey * compile/compile-object-run.c (do_module_cleanup): Use delete. * compile/compile-object-load.c (struct munmap_list): Move to header file. (munmap_list::add): Rename from munmap_list_add; rewrite. (munmap_list::~munmap_list): Rename from munmap_list_free. (munmap_listp_free_cleanup): Remove. (compile_object_load): Update. * compile/compile-object-load.h (struct munmap_list): Move from compile-object-load.c. Rewrite. commit 8ff71a9c80cfcf64c54d4ae938c644b1b1ea19fb Author: Nick Clifton Date: Tue Sep 18 16:54:07 2018 +0100 Add a warning to the bfd library for when it encounters an ELF file with an invalid section size. PR 23657 * elfcode.h (elf_swap_shdr_in): Generate a warning message if an ELF section has contents and size larger than the file size. commit 3ff2c72e14b7f4381c785ee35608c2812ef8610e Author: Alan Hayward Date: Mon Sep 17 15:28:53 2018 +0100 Aarch64 SVE: Fix stack smashing when calling functions Using "call" on a function that passes arguments via float registers can cause gdb to overflow buffers. Ensure enough memory is reserved to hold a full FP register. This fixes gdb.base/callfuncs.exp for Aarch64 SVE. 2018-09-18 Alan Hayward * aarch64-tdep.c (pass_in_v): Use register size. (aarch64_extract_return_value): Likewise. (aarch64_store_return_value): Likewise. commit af81c43b51e17c597c8eb5bfaa02fa7f5f6dbe72 Author: Tamar Christina Date: Tue Sep 18 14:36:37 2018 +0100 Fix Aarch64 bug in warning filtering. This fixes a small bug with the warning filtering code, which when a line has generated a warning and a template decode error (due to the way templates are resolved) which would not have been emitted and warnings are being suppressed with -W it would erroneously emit the error. I have no testcase for this because the only places we generate warnings during encoding/decoding now is using msr/mrs and system registers. They don't have a template that would trigger this. However an upcoming patch series will have tests in it which would expose this bug. gas/ChangeLog: * config/tc-aarch64.c (output_operand_error_report): Apply filtering to current instead of head message. commit 206c1947c1cb8e4ac6abb8e6803c762200167cde Author: Rainer Orth Date: Tue Sep 18 09:14:11 2018 +0200 Cast RLIM_INFINITY to rlim_t to fix 64-bit Solaris 10 build gdb doesn't currently build on 64-bit Solaris 10: /vol/src/gnu/gdb/hg/master/local/gdb/utils.c: In function ‘void dump_core()’: /vol/src/gnu/gdb/hg/master/local/gdb/utils.c:223:55: error: narrowing conversion of ‘-3’ from ‘long int’ to ‘rlim_t’ {aka ‘long unsigned int’} inside { } [-Wnarrowing] struct rlimit rlim = { RLIM_INFINITY, RLIM_INFINITY }; ^ /vol/src/gnu/gdb/hg/master/local/gdb/utils.c:223:55: error: narrowing conversion of ‘-3’ from ‘long int’ to ‘rlim_t’ {aka ‘long unsigned int’} inside { } [-Wnarrowing] This was introduced by 2018-08-27 Tom Tromey PR build/23087: * configure: Rebuild. * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing. and can be fixed by the following patch. Solaris 11 isn't affected because there has #define RLIM_INFINITY ((rlim_t)-3l) instead of #define RLIM_INFINITY (-3l) on Solaris 10. Tested on amd64-pc-solaris2.10 and amd64-pc-solaris2.11. * utils.c (dump_core) [HAVE_SETRLIMIT]: Cast RLIM_INFINITY to rlim_t. commit aff4a1199121481fdecbd34c63dca5ef87efe6c6 Author: GDB Administrator Date: Tue Sep 18 00:00:38 2018 +0000 Automatic date update in version.in commit 6eb5dbce1e29e74a3ed1661fa8634d455e41f34a Author: Philippe Waroquiers Date: Tue Sep 18 00:54:31 2018 +0200 [OBVIOUS] ChangeLog for obvious enable frame-filter help fix. ChangeLog for 62b1765c90ddce54c04a97caac86425d50f2cc56 commit 62b1765c90ddce54c04a97caac86425d50f2cc56 Author: Philippe Waroquiers Date: Tue Sep 18 00:14:26 2018 +0200 [OBVIOUS] enable frame-filter short help uses disable instead of enable Without the patch: (gdb) apropos able frame-filter disable frame-filter -- GDB command to disable the specified frame-filter enable frame-filter -- GDB command to disable the specified frame-filter With the patch: (gdb) apropos able frame-filter disable frame-filter -- GDB command to disable the specified frame-filter enable frame-filter -- GDB command to enable the specified frame-filter Pushed as obvious commit ae292b3afc0fce65c12014d2cc4621d7a0e661fd Author: Tom Tromey Date: Sun Sep 16 12:38:12 2018 -0600 Do not pass -DNDEBUG to Python compilations in development mode The Python CFLAGS include -DNDEBUG. This was apparently done intentionally -- setting the flags is done manually because, according to a comment, python-config passes too many things to the compiler (which is true). Per PR python/20445, this patch changes configure so that -DNDEBUG is only used by release builds. This probably doesn't have very much effect in practice, but I did see that some Python headers use assert, so perhaps it will give some safety. Tested by rebuilding and re-running gdb.python/*.exp on x86-64 Fedora 28. gdb/ChangeLog 2018-09-17 Tom Tromey PR python/20445: * configure: Rebuild. * configure.ac: Conditionally use -DNDEBUG for Python. commit da658607ed24bc5a4dcfcfb56b6e1440ccab33d2 Author: Tom Tromey Date: Sun Sep 16 09:52:09 2018 -0600 Check for gmp when checking for mpfr There was a report on irc that the gdb check for mpfr failed when only static libraries are available. The issue is that mpfr depends on gmp, but this is not handled explicitly by gdb. Ideally upstream would switch to pkg-config. Or even more ideally, we would incorporate pkg-config into the compiler and not mess with any of this. Meanwhile, this changes gdb's configure to add gmp to the link line when checking for mpfr. gdb/ChangeLog 2018-09-17 Tom Tromey * configure: Rebuild. * configure.ac: Use gmp as a library dependency when checking for mpfr. commit d35da542a7a7f62b909cef636f69c9da928e7d9b Author: Pedro Alves Date: Mon Sep 17 19:46:40 2018 +0100 [gdb/Python] Eliminate find_inferior_object Commit 00431a78b28f ("Use thread_info and inferior pointers more throughout") removed the declaration of find_inferior_object, but missed removing the definition. gdb/ChangeLog: 2018-09-17 Pedro Alves * python/py-inferior.c (find_inferior_object): Delete. commit 4e2b18982ade10897e62590896a1dec496269877 Author: Jim Wilson Date: Mon Sep 17 11:43:08 2018 -0700 RISC-V: bge[u] should get higher priority than ble[u]. 2018-09-17 Kito Cheng gas/ * testsuite/gas/riscv/bge.d: New. * testsuite/gas/riscv/bge.s: Likewise. opcodes/ * riscv-opc.c (riscv_opcodes): Adjust the order of ble and bleu. commit 461464f22632163209937ba5128d1f9f32554ea3 Author: Simon Marchi Date: Mon Sep 17 13:11:07 2018 -0400 Fix use-after-move in compile/compile-cplus-types.c Patch d82b3862f12 ("compile: Remove non-const reference parameters") introduced a regression in compile/compile-cplus-types.c. The new_scope variable in compile_cplus_instance::enter_scope is used after it was std::moved. This patch fixes it by referring to the back of the vector where it was moved instead. gdb/ChangeLog: * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope): Don't use new_scope after std::move. commit 04e2a1829ea137ac23ac96e98fd60f9d720dcdcb Author: H.J. Lu Date: Mon Sep 17 09:33:20 2018 -0700 x86: Set EVex=2 on EVEX.128 only vmovd and vmovq EVEX "VMOVD xmm1, r32/m32", "VMOVD r32/m32, xmm2", "VMOVQ xmm1, r64/m64", "VMOVD r64/m64, xmm2", "VMOVQ xmm1, xmm2/m64" and "VMOVQ xmm1/m64, xmm2" can only be encoded with EVEX.128. Set EVex=2 on EVEX.128 only vmovd and vmovq. gas/ PR gas/23670 * testsuite/gas/i386/evex-lig-2.d: New file. * testsuite/gas/i386/evex-lig-2.s: Likewise. * testsuite/gas/i386/x86-64-evex-lig-2.d: Likewise. * testsuite/gas/i386/x86-64-evex-lig-2.s: Likewise. * testsuite/gas/i386/i386.exp: Run evex-lig-2 and x86-64-evex-lig-2. opcodes/ PR gas/23670 * i386-dis-evex.h (evex_table): Use EVEX_LEN_0F6E_P_2, EVEX_LEN_0F7E_P_1, EVEX_LEN_0F7E_P_2 and EVEX_LEN_0FD6_P_2. (EVEX_LEN_0F6E_P_2): New EVEX_LEN_TABLE entry. (EVEX_LEN_0F7E_P_1): Likewise. (EVEX_LEN_0F7E_P_2): Likewise. (EVEX_LEN_0FD6_P_2): Likewise. * i386-dis.c (USE_EVEX_LEN_TABLE): New. (EVEX_LEN_TABLE): Likewise. (EVEX_LEN_0F6E_P_2): New enum. (EVEX_LEN_0F7E_P_1): Likewise. (EVEX_LEN_0F7E_P_2): Likewise. (EVEX_LEN_0FD6_P_2): Likewise. (evex_len_table): New. (get_valid_dis386): Handle USE_EVEX_LEN_TABLE. * i386-opc.tbl: Set EVex=2 on EVEX.128 only vmovd and vmovq. * i386-tbl.h: Regenerated. commit d5f787c2bc90793c1d781b7291758e77067daad5 Author: H.J. Lu Date: Mon Sep 17 09:31:07 2018 -0700 x86: Set Vex=1 on VEX.128 only vmovd and vmovq AVX "VMOVD xmm1, r32/m32", "VMOVD r32/m32, xmm2", "VMOVQ xmm1, r64/m64" and "VMOVD r64/m64, xmm2" can only be encoded with VEX.128. Set Vex=1 on VEX.128 only vmovd and vmovq. gas/ PR gas/23665 * testsuite/gas/i386/avx-scalar.s: Remove vmovq and vmovd tests. * testsuite/gas/i386/x86-64-avx-scalar.s: Likewise. * testsuite/gas/i386/avx-scalar-intel.d: Updated. * testsuite/gas/i386/avx-scalar.d: Likewise. * testsuite/gas/i386/x86-64-avx-scalar-intel.d: Likewise. * testsuite/gas/i386/x86-64-avx-scalar.d: Likewise. * testsuite/gas/i386/i386.exp: Run avx-scalar2 and x86-64-avx-scalar2. * testsuite/gas/i386/avx-scalar-2.d: New file. * testsuite/gas/i386/avx-scalar-2.s: Likewise. * testsuite/gas/i386/x86-64-avx-scalar-2.d: Likewise. * testsuite/gas/i386/x86-64-avx-scalar-2.s: Likewise. opcodes/ PR gas/23665 * i386-dis.c (vex_len_table): Update VEX_LEN_0F6E_P_2 and VEX_LEN_0F7E_P_2 entries. * i386-opc.tbl: Set Vex=1 on VEX.128 only vmovd and vmovq. * i386-tbl.h: Regenerated. commit 03751133023c5623cf60f8d3222cb79a376331f9 Author: H.J. Lu Date: Mon Sep 17 09:26:18 2018 -0700 x86: Add -mvexwig=[0|1] option to assembler Add -mvexwig=[0|1] option to x86 assembler to control how the assembler should encode the VEX.W bit in WIG VEX instructions. * gas/NEWS: Mention -mvexwig=[0|1] option. * config/tc-i386.c (vexwig): New. (build_vex_prefix): Set the VEX.W bit for -mvexwig=1 for WIG VEX instructions. (OPTION_MVEXWIG): New. (md_longopts): Add -mvexwig=. (md_parse_option): Handle OPTION_MVEXWIG. (md_show_usage): Show -mvexwig=[0|1]. * doc/c-i386.texi: Document -mvexwig=[0|1]. * testsuite/gas/i386/avx-wig.d: New file. * testsuite/gas/i386/avx-wig.s: Likewise. * testsuite/gas/i386/avx2-wig.d: Likewise. * testsuite/gas/i386/avx2-wig.s: Likewise. * testsuite/gas/i386/x86-64-avx-wig.d: Likewise. * testsuite/gas/i386/x86-64-avx-wig.s: Likewise. * testsuite/gas/i386/x86-64-avx2-wig.d: Likewise. * testsuite/gas/i386/x86-64-avx2-wig.s: Likewise. * testsuite/gas/i386/i386.exp: Run avx-wig, avx2-wig, x86-64-avx-wig and x86-64-avx2-wig. commit ec6f095abc396e60f46e1b4724d0eb2e4d18213d Author: H.J. Lu Date: Mon Sep 17 09:23:03 2018 -0700 x86: Update disassembler for VexWIG The VEX.W bit is ignored by some VEX instructions, aka WIG instructions. Update x86 disassembler to handle VEX WIG instructions. * i386-dis.c (VZERO_Fixup): Removed. (VZERO): Likewise. (VEX_LEN_0F10_P_1): Likewise. (VEX_LEN_0F10_P_3): Likewise. (VEX_LEN_0F11_P_1): Likewise. (VEX_LEN_0F11_P_3): Likewise. (VEX_LEN_0F2E_P_0): Likewise. (VEX_LEN_0F2E_P_2): Likewise. (VEX_LEN_0F2F_P_0): Likewise. (VEX_LEN_0F2F_P_2): Likewise. (VEX_LEN_0F51_P_1): Likewise. (VEX_LEN_0F51_P_3): Likewise. (VEX_LEN_0F52_P_1): Likewise. (VEX_LEN_0F53_P_1): Likewise. (VEX_LEN_0F58_P_1): Likewise. (VEX_LEN_0F58_P_3): Likewise. (VEX_LEN_0F59_P_1): Likewise. (VEX_LEN_0F59_P_3): Likewise. (VEX_LEN_0F5A_P_1): Likewise. (VEX_LEN_0F5A_P_3): Likewise. (VEX_LEN_0F5C_P_1): Likewise. (VEX_LEN_0F5C_P_3): Likewise. (VEX_LEN_0F5D_P_1): Likewise. (VEX_LEN_0F5D_P_3): Likewise. (VEX_LEN_0F5E_P_1): Likewise. (VEX_LEN_0F5E_P_3): Likewise. (VEX_LEN_0F5F_P_1): Likewise. (VEX_LEN_0F5F_P_3): Likewise. (VEX_LEN_0FC2_P_1): Likewise. (VEX_LEN_0FC2_P_3): Likewise. (VEX_LEN_0F3A0A_P_2): Likewise. (VEX_LEN_0F3A0B_P_2): Likewise. (VEX_W_0F10_P_0): Likewise. (VEX_W_0F10_P_1): Likewise. (VEX_W_0F10_P_2): Likewise. (VEX_W_0F10_P_3): Likewise. (VEX_W_0F11_P_0): Likewise. (VEX_W_0F11_P_1): Likewise. (VEX_W_0F11_P_2): Likewise. (VEX_W_0F11_P_3): Likewise. (VEX_W_0F12_P_0_M_0): Likewise. (VEX_W_0F12_P_0_M_1): Likewise. (VEX_W_0F12_P_1): Likewise. (VEX_W_0F12_P_2): Likewise. (VEX_W_0F12_P_3): Likewise. (VEX_W_0F13_M_0): Likewise. (VEX_W_0F14): Likewise. (VEX_W_0F15): Likewise. (VEX_W_0F16_P_0_M_0): Likewise. (VEX_W_0F16_P_0_M_1): Likewise. (VEX_W_0F16_P_1): Likewise. (VEX_W_0F16_P_2): Likewise. (VEX_W_0F17_M_0): Likewise. (VEX_W_0F28): Likewise. (VEX_W_0F29): Likewise. (VEX_W_0F2B_M_0): Likewise. (VEX_W_0F2E_P_0): Likewise. (VEX_W_0F2E_P_2): Likewise. (VEX_W_0F2F_P_0): Likewise. (VEX_W_0F2F_P_2): Likewise. (VEX_W_0F50_M_0): Likewise. (VEX_W_0F51_P_0): Likewise. (VEX_W_0F51_P_1): Likewise. (VEX_W_0F51_P_2): Likewise. (VEX_W_0F51_P_3): Likewise. (VEX_W_0F52_P_0): Likewise. (VEX_W_0F52_P_1): Likewise. (VEX_W_0F53_P_0): Likewise. (VEX_W_0F53_P_1): Likewise. (VEX_W_0F58_P_0): Likewise. (VEX_W_0F58_P_1): Likewise. (VEX_W_0F58_P_2): Likewise. (VEX_W_0F58_P_3): Likewise. (VEX_W_0F59_P_0): Likewise. (VEX_W_0F59_P_1): Likewise. (VEX_W_0F59_P_2): Likewise. (VEX_W_0F59_P_3): Likewise. (VEX_W_0F5A_P_0): Likewise. (VEX_W_0F5A_P_1): Likewise. (VEX_W_0F5A_P_3): Likewise. (VEX_W_0F5B_P_0): Likewise. (VEX_W_0F5B_P_1): Likewise. (VEX_W_0F5B_P_2): Likewise. (VEX_W_0F5C_P_0): Likewise. (VEX_W_0F5C_P_1): Likewise. (VEX_W_0F5C_P_2): Likewise. (VEX_W_0F5C_P_3): Likewise. (VEX_W_0F5D_P_0): Likewise. (VEX_W_0F5D_P_1): Likewise. (VEX_W_0F5D_P_2): Likewise. (VEX_W_0F5D_P_3): Likewise. (VEX_W_0F5E_P_0): Likewise. (VEX_W_0F5E_P_1): Likewise. (VEX_W_0F5E_P_2): Likewise. (VEX_W_0F5E_P_3): Likewise. (VEX_W_0F5F_P_0): Likewise. (VEX_W_0F5F_P_1): Likewise. (VEX_W_0F5F_P_2): Likewise. (VEX_W_0F5F_P_3): Likewise. (VEX_W_0F60_P_2): Likewise. (VEX_W_0F61_P_2): Likewise. (VEX_W_0F62_P_2): Likewise. (VEX_W_0F63_P_2): Likewise. (VEX_W_0F64_P_2): Likewise. (VEX_W_0F65_P_2): Likewise. (VEX_W_0F66_P_2): Likewise. (VEX_W_0F67_P_2): Likewise. (VEX_W_0F68_P_2): Likewise. (VEX_W_0F69_P_2): Likewise. (VEX_W_0F6A_P_2): Likewise. (VEX_W_0F6B_P_2): Likewise. (VEX_W_0F6C_P_2): Likewise. (VEX_W_0F6D_P_2): Likewise. (VEX_W_0F6F_P_1): Likewise. (VEX_W_0F6F_P_2): Likewise. (VEX_W_0F70_P_1): Likewise. (VEX_W_0F70_P_2): Likewise. (VEX_W_0F70_P_3): Likewise. (VEX_W_0F71_R_2_P_2): Likewise. (VEX_W_0F71_R_4_P_2): Likewise. (VEX_W_0F71_R_6_P_2): Likewise. (VEX_W_0F72_R_2_P_2): Likewise. (VEX_W_0F72_R_4_P_2): Likewise. (VEX_W_0F72_R_6_P_2): Likewise. (VEX_W_0F73_R_2_P_2): Likewise. (VEX_W_0F73_R_3_P_2): Likewise. (VEX_W_0F73_R_6_P_2): Likewise. (VEX_W_0F73_R_7_P_2): Likewise. (VEX_W_0F74_P_2): Likewise. (VEX_W_0F75_P_2): Likewise. (VEX_W_0F76_P_2): Likewise. (VEX_W_0F77_P_0): Likewise. (VEX_W_0F7C_P_2): Likewise. (VEX_W_0F7C_P_3): Likewise. (VEX_W_0F7D_P_2): Likewise. (VEX_W_0F7D_P_3): Likewise. (VEX_W_0F7E_P_1): Likewise. (VEX_W_0F7F_P_1): Likewise. (VEX_W_0F7F_P_2): Likewise. (VEX_W_0FAE_R_2_M_0): Likewise. (VEX_W_0FAE_R_3_M_0): Likewise. (VEX_W_0FC2_P_0): Likewise. (VEX_W_0FC2_P_1): Likewise. (VEX_W_0FC2_P_2): Likewise. (VEX_W_0FC2_P_3): Likewise. (VEX_W_0FD0_P_2): Likewise. (VEX_W_0FD0_P_3): Likewise. (VEX_W_0FD1_P_2): Likewise. (VEX_W_0FD2_P_2): Likewise. (VEX_W_0FD3_P_2): Likewise. (VEX_W_0FD4_P_2): Likewise. (VEX_W_0FD5_P_2): Likewise. (VEX_W_0FD6_P_2): Likewise. (VEX_W_0FD7_P_2_M_1): Likewise. (VEX_W_0FD8_P_2): Likewise. (VEX_W_0FD9_P_2): Likewise. (VEX_W_0FDA_P_2): Likewise. (VEX_W_0FDB_P_2): Likewise. (VEX_W_0FDC_P_2): Likewise. (VEX_W_0FDD_P_2): Likewise. (VEX_W_0FDE_P_2): Likewise. (VEX_W_0FDF_P_2): Likewise. (VEX_W_0FE0_P_2): Likewise. (VEX_W_0FE1_P_2): Likewise. (VEX_W_0FE2_P_2): Likewise. (VEX_W_0FE3_P_2): Likewise. (VEX_W_0FE4_P_2): Likewise. (VEX_W_0FE5_P_2): Likewise. (VEX_W_0FE6_P_1): Likewise. (VEX_W_0FE6_P_2): Likewise. (VEX_W_0FE6_P_3): Likewise. (VEX_W_0FE7_P_2_M_0): Likewise. (VEX_W_0FE8_P_2): Likewise. (VEX_W_0FE9_P_2): Likewise. (VEX_W_0FEA_P_2): Likewise. (VEX_W_0FEB_P_2): Likewise. (VEX_W_0FEC_P_2): Likewise. (VEX_W_0FED_P_2): Likewise. (VEX_W_0FEE_P_2): Likewise. (VEX_W_0FEF_P_2): Likewise. (VEX_W_0FF0_P_3_M_0): Likewise. (VEX_W_0FF1_P_2): Likewise. (VEX_W_0FF2_P_2): Likewise. (VEX_W_0FF3_P_2): Likewise. (VEX_W_0FF4_P_2): Likewise. (VEX_W_0FF5_P_2): Likewise. (VEX_W_0FF6_P_2): Likewise. (VEX_W_0FF7_P_2): Likewise. (VEX_W_0FF8_P_2): Likewise. (VEX_W_0FF9_P_2): Likewise. (VEX_W_0FFA_P_2): Likewise. (VEX_W_0FFB_P_2): Likewise. (VEX_W_0FFC_P_2): Likewise. (VEX_W_0FFD_P_2): Likewise. (VEX_W_0FFE_P_2): Likewise. (VEX_W_0F3800_P_2): Likewise. (VEX_W_0F3801_P_2): Likewise. (VEX_W_0F3802_P_2): Likewise. (VEX_W_0F3803_P_2): Likewise. (VEX_W_0F3804_P_2): Likewise. (VEX_W_0F3805_P_2): Likewise. (VEX_W_0F3806_P_2): Likewise. (VEX_W_0F3807_P_2): Likewise. (VEX_W_0F3808_P_2): Likewise. (VEX_W_0F3809_P_2): Likewise. (VEX_W_0F380A_P_2): Likewise. (VEX_W_0F380B_P_2): Likewise. (VEX_W_0F3817_P_2): Likewise. (VEX_W_0F381C_P_2): Likewise. (VEX_W_0F381D_P_2): Likewise. (VEX_W_0F381E_P_2): Likewise. (VEX_W_0F3820_P_2): Likewise. (VEX_W_0F3821_P_2): Likewise. (VEX_W_0F3822_P_2): Likewise. (VEX_W_0F3823_P_2): Likewise. (VEX_W_0F3824_P_2): Likewise. (VEX_W_0F3825_P_2): Likewise. (VEX_W_0F3828_P_2): Likewise. (VEX_W_0F3829_P_2): Likewise. (VEX_W_0F382A_P_2_M_0): Likewise. (VEX_W_0F382B_P_2): Likewise. (VEX_W_0F3830_P_2): Likewise. (VEX_W_0F3831_P_2): Likewise. (VEX_W_0F3832_P_2): Likewise. (VEX_W_0F3833_P_2): Likewise. (VEX_W_0F3834_P_2): Likewise. (VEX_W_0F3835_P_2): Likewise. (VEX_W_0F3837_P_2): Likewise. (VEX_W_0F3838_P_2): Likewise. (VEX_W_0F3839_P_2): Likewise. (VEX_W_0F383A_P_2): Likewise. (VEX_W_0F383B_P_2): Likewise. (VEX_W_0F383C_P_2): Likewise. (VEX_W_0F383D_P_2): Likewise. (VEX_W_0F383E_P_2): Likewise. (VEX_W_0F383F_P_2): Likewise. (VEX_W_0F3840_P_2): Likewise. (VEX_W_0F3841_P_2): Likewise. (VEX_W_0F38DB_P_2): Likewise. (VEX_W_0F3A08_P_2): Likewise. (VEX_W_0F3A09_P_2): Likewise. (VEX_W_0F3A0A_P_2): Likewise. (VEX_W_0F3A0B_P_2): Likewise. (VEX_W_0F3A0C_P_2): Likewise. (VEX_W_0F3A0D_P_2): Likewise. (VEX_W_0F3A0E_P_2): Likewise. (VEX_W_0F3A0F_P_2): Likewise. (VEX_W_0F3A21_P_2): Likewise. (VEX_W_0F3A40_P_2): Likewise. (VEX_W_0F3A41_P_2): Likewise. (VEX_W_0F3A42_P_2): Likewise. (VEX_W_0F3A62_P_2): Likewise. (VEX_W_0F3A63_P_2): Likewise. (VEX_W_0F3ADF_P_2): Likewise. (VEX_LEN_0F77_P_0): New. (prefix_table): Update PREFIX_VEX_0F10, PREFIX_VEX_0F11, PREFIX_VEX_0F12, PREFIX_VEX_0F16, PREFIX_VEX_0F2E, PREFIX_VEX_0F2F, PREFIX_VEX_0F51, PREFIX_VEX_0F52, PREFIX_VEX_0F53, PREFIX_VEX_0F58, PREFIX_VEX_0F59, PREFIX_VEX_0F5A, PREFIX_VEX_0F5B, PREFIX_VEX_0F5C, PREFIX_VEX_0F5D, PREFIX_VEX_0F5E, PREFIX_VEX_0F5F, PREFIX_VEX_0F60, PREFIX_VEX_0F61, PREFIX_VEX_0F62, PREFIX_VEX_0F63, PREFIX_VEX_0F64, PREFIX_VEX_0F65, PREFIX_VEX_0F66, PREFIX_VEX_0F67, PREFIX_VEX_0F68, PREFIX_VEX_0F69, PREFIX_VEX_0F6A, PREFIX_VEX_0F6B, PREFIX_VEX_0F6C, PREFIX_VEX_0F6D, PREFIX_VEX_0F6F, PREFIX_VEX_0F70, PREFIX_VEX_0F71_REG_2, PREFIX_VEX_0F71_REG_4, PREFIX_VEX_0F71_REG_6, PREFIX_VEX_0F72_REG_4, PREFIX_VEX_0F72_REG_6, PREFIX_VEX_0F73_REG_2, PREFIX_VEX_0F73_REG_3, PREFIX_VEX_0F73_REG_6, PREFIX_VEX_0F73_REG_7, PREFIX_VEX_0F74, PREFIX_VEX_0F75, PREFIX_VEX_0F76, PREFIX_VEX_0F77, PREFIX_VEX_0F7C, PREFIX_VEX_0F7D, PREFIX_VEX_0F7F, PREFIX_VEX_0FC2, PREFIX_VEX_0FD0, PREFIX_VEX_0FD1, PREFIX_VEX_0FD2, PREFIX_VEX_0FD3, PREFIX_VEX_0FD4, PREFIX_VEX_0FD5, PREFIX_VEX_0FD8, PREFIX_VEX_0FD9, PREFIX_VEX_0FDA, PREFIX_VEX_0FDC, PREFIX_VEX_0FDD, PREFIX_VEX_0FDE, PREFIX_VEX_0FDF, PREFIX_VEX_0FE0, PREFIX_VEX_0FE1, PREFIX_VEX_0FE2, PREFIX_VEX_0FE3, PREFIX_VEX_0FE4, PREFIX_VEX_0FE5, PREFIX_VEX_0FE6, PREFIX_VEX_0FE8, PREFIX_VEX_0FE9, PREFIX_VEX_0FEA, PREFIX_VEX_0FEB, PREFIX_VEX_0FEC, PREFIX_VEX_0FED, PREFIX_VEX_0FEE, PREFIX_VEX_0FEF, PREFIX_VEX_0FF1. PREFIX_VEX_0FF2, PREFIX_VEX_0FF3, PREFIX_VEX_0FF4, PREFIX_VEX_0FF5, PREFIX_VEX_0FF6, PREFIX_VEX_0FF8, PREFIX_VEX_0FF9, PREFIX_VEX_0FFA, PREFIX_VEX_0FFB, PREFIX_VEX_0FFC, PREFIX_VEX_0FFD, PREFIX_VEX_0FFE, PREFIX_VEX_0F3800, PREFIX_VEX_0F3801, PREFIX_VEX_0F3802, PREFIX_VEX_0F3803, PREFIX_VEX_0F3804, PREFIX_VEX_0F3805, PREFIX_VEX_0F3806, PREFIX_VEX_0F3807, PREFIX_VEX_0F3808, PREFIX_VEX_0F3809, PREFIX_VEX_0F380A, PREFIX_VEX_0F380B, PREFIX_VEX_0F3817, PREFIX_VEX_0F381C, PREFIX_VEX_0F381D, PREFIX_VEX_0F381E, PREFIX_VEX_0F3820, PREFIX_VEX_0F3821, PREFIX_VEX_0F3822, PREFIX_VEX_0F3823, PREFIX_VEX_0F3824, PREFIX_VEX_0F3825, PREFIX_VEX_0F3828, PREFIX_VEX_0F3829, PREFIX_VEX_0F382B, PREFIX_VEX_0F382C, PREFIX_VEX_0F3831, PREFIX_VEX_0F3832, PREFIX_VEX_0F3833, PREFIX_VEX_0F3834, PREFIX_VEX_0F3835, PREFIX_VEX_0F3837, PREFIX_VEX_0F3838, PREFIX_VEX_0F3839, PREFIX_VEX_0F383A, PREFIX_VEX_0F383B, PREFIX_VEX_0F383C, PREFIX_VEX_0F383D, PREFIX_VEX_0F383E, PREFIX_VEX_0F383F, PREFIX_VEX_0F3840, PREFIX_VEX_0F3A08, PREFIX_VEX_0F3A09, PREFIX_VEX_0F3A0A, PREFIX_VEX_0F3A0B, PREFIX_VEX_0F3A0C, PREFIX_VEX_0F3A0D, PREFIX_VEX_0F3A0E, PREFIX_VEX_0F3A0F, PREFIX_VEX_0F3A40 and PREFIX_VEX_0F3A42 entries. (vex_table): Update VEX 0F28 and 0F29 entries. (vex_len_table): Update VEX_LEN_0F10_P_1, VEX_LEN_0F10_P_3, VEX_LEN_0F11_P_1, VEX_LEN_0F11_P_3, VEX_LEN_0F2E_P_0, VEX_LEN_0F2E_P_2, VEX_LEN_0F2F_P_0, VEX_LEN_0F2F_P_2, VEX_LEN_0F51_P_1, VEX_LEN_0F51_P_3, VEX_LEN_0F52_P_1, VEX_LEN_0F53_P_1, VEX_LEN_0F58_P_1, VEX_LEN_0F58_P_3, VEX_LEN_0F59_P_1, VEX_LEN_0F59_P_3, VEX_LEN_0F5A_P_1, VEX_LEN_0F5A_P_3, VEX_LEN_0F5C_P_1, VEX_LEN_0F5C_P_3, VEX_LEN_0F5D_P_1, VEX_LEN_0F5D_P_3, VEX_LEN_0F5E_P_1, VEX_LEN_0F5E_P_3, VEX_LEN_0F5F_P_1, VEX_LEN_0F5F_P_3, VEX_LEN_0FC2_P_1, VEX_LEN_0FC2_P_3, VEX_LEN_0F3A0A_P_2 and VEX_LEN_0F3A0B_P_2 entries. (vex_w_table): Remove VEX_W_0F10_P_0, VEX_W_0F10_P_1, VEX_W_0F10_P_2, VEX_W_0F10_P_3, VEX_W_0F11_P_0, VEX_W_0F11_P_1, VEX_W_0F11_P_2, VEX_W_0F11_P_3, VEX_W_0F12_P_0_M_0, VEX_W_0F12_P_0_M_1, VEX_W_0F12_P_1, VEX_W_0F12_P_2, VEX_W_0F12_P_3, VEX_W_0F13_M_0, VEX_W_0F14, VEX_W_0F15, VEX_W_0F16_P_0_M_0, VEX_W_0F16_P_0_M_1, VEX_W_0F16_P_1, VEX_W_0F16_P_2, VEX_W_0F17_M_0, VEX_W_0F28, VEX_W_0F29, VEX_W_0F2B_M_0, VEX_W_0F2E_P_0, VEX_W_0F2E_P_2, VEX_W_0F2F_P_0, VEX_W_0F2F_P_2, VEX_W_0F50_M_0, VEX_W_0F51_P_0, VEX_W_0F51_P_1, VEX_W_0F51_P_2, VEX_W_0F51_P_3, VEX_W_0F52_P_0, VEX_W_0F52_P_1, VEX_W_0F53_P_0, VEX_W_0F53_P_1, VEX_W_0F58_P_0, VEX_W_0F58_P_1, VEX_W_0F58_P_2, VEX_W_0F58_P_3, VEX_W_0F59_P_0, VEX_W_0F59_P_1, VEX_W_0F59_P_2, VEX_W_0F59_P_3, VEX_W_0F5A_P_0, VEX_W_0F5A_P_1, VEX_W_0F5A_P_3, VEX_W_0F5B_P_0, VEX_W_0F5B_P_1, VEX_W_0F5B_P_2, VEX_W_0F5C_P_0, VEX_W_0F5C_P_1, VEX_W_0F5C_P_2, VEX_W_0F5C_P_3, VEX_W_0F5D_P_0, VEX_W_0F5D_P_1, VEX_W_0F5D_P_2, VEX_W_0F5D_P_3, VEX_W_0F5E_P_0, VEX_W_0F5E_P_1, VEX_W_0F5E_P_2, VEX_W_0F5E_P_3, VEX_W_0F5F_P_0, VEX_W_0F5F_P_1, VEX_W_0F5F_P_2, VEX_W_0F5F_P_3, VEX_W_0F60_P_2, VEX_W_0F61_P_2, VEX_W_0F62_P_2, VEX_W_0F63_P_2, VEX_W_0F64_P_2, VEX_W_0F65_P_2, VEX_W_0F66_P_2, VEX_W_0F67_P_2, VEX_W_0F68_P_2, VEX_W_0F69_P_2, VEX_W_0F6A_P_2, VEX_W_0F6B_P_2, VEX_W_0F6C_P_2, VEX_W_0F6D_P_2, VEX_W_0F6F_P_1, VEX_W_0F6F_P_2, VEX_W_0F70_P_1, VEX_W_0F70_P_2, VEX_W_0F70_P_3, VEX_W_0F71_R_2_P_2, VEX_W_0F71_R_4_P_2, VEX_W_0F71_R_6_P_2, VEX_W_0F72_R_2_P_2, VEX_W_0F72_R_4_P_2, VEX_W_0F72_R_6_P_2, VEX_W_0F73_R_2_P_2, VEX_W_0F73_R_3_P_2, VEX_W_0F73_R_6_P_2, VEX_W_0F73_R_7_P_2, VEX_W_0F74_P_2, VEX_W_0F75_P_2, VEX_W_0F76_P_2, VEX_W_0F77_P_0, VEX_W_0F7C_P_2, VEX_W_0F7C_P_3, VEX_W_0F7D_P_2, VEX_W_0F7D_P_3, VEX_W_0F7E_P_1, VEX_W_0F7F_P_1, VEX_W_0F7F_P_2, VEX_W_0FAE_R_2_M_0, VEX_W_0FAE_R_3_M_0, VEX_W_0FC2_P_0, VEX_W_0FC2_P_1, VEX_W_0FC2_P_2, VEX_W_0FC2_P_3, VEX_W_0FD0_P_2, VEX_W_0FD0_P_3, VEX_W_0FD1_P_2, VEX_W_0FD2_P_2, VEX_W_0FD3_P_2, VEX_W_0FD4_P_2, VEX_W_0FD5_P_2, VEX_W_0FD6_P_2, VEX_W_0FD7_P_2_M_1, VEX_W_0FD8_P_2, VEX_W_0FD9_P_2, VEX_W_0FDA_P_2, VEX_W_0FDB_P_2, VEX_W_0FDC_P_2, VEX_W_0FDD_P_2, VEX_W_0FDE_P_2, VEX_W_0FDF_P_2, VEX_W_0FE0_P_2, VEX_W_0FE1_P_2, VEX_W_0FE2_P_2, VEX_W_0FE3_P_2, VEX_W_0FE4_P_2, VEX_W_0FE5_P_2, VEX_W_0FE6_P_1, VEX_W_0FE6_P_2, VEX_W_0FE6_P_3, VEX_W_0FE7_P_2_M_0, VEX_W_0FE8_P_2, VEX_W_0FE9_P_2, VEX_W_0FEA_P_2, VEX_W_0FEB_P_2, VEX_W_0FEC_P_2, VEX_W_0FED_P_2, VEX_W_0FEE_P_2, VEX_W_0FEF_P_2, VEX_W_0FF0_P_3_M_0, VEX_W_0FF1_P_2, VEX_W_0FF2_P_2, VEX_W_0FF3_P_2, VEX_W_0FF4_P_2, VEX_W_0FF5_P_2, VEX_W_0FF6_P_2, VEX_W_0FF7_P_2, VEX_W_0FF8_P_2, VEX_W_0FF9_P_2, VEX_W_0FFA_P_2, VEX_W_0FFB_P_2, VEX_W_0FFC_P_2, VEX_W_0FFD_P_2, VEX_W_0FFE_P_2, VEX_W_0F3800_P_2, VEX_W_0F3801_P_2, VEX_W_0F3802_P_2, VEX_W_0F3803_P_2, VEX_W_0F3804_P_2, VEX_W_0F3805_P_2, VEX_W_0F3806_P_2, VEX_W_0F3807_P_2, VEX_W_0F3808_P_2, VEX_W_0F3809_P_2, VEX_W_0F380A_P_2, VEX_W_0F380B_P_2, VEX_W_0F3817_P_2, VEX_W_0F381C_P_2, VEX_W_0F381D_P_2, VEX_W_0F381E_P_2, VEX_W_0F3820_P_2, VEX_W_0F3821_P_2, VEX_W_0F3822_P_2, VEX_W_0F3823_P_2, VEX_W_0F3824_P_2, VEX_W_0F3825_P_2, VEX_W_0F3828_P_2, VEX_W_0F3829_P_2, VEX_W_0F382A_P_2_M_0, VEX_W_0F382B_P_2, VEX_W_0F3830_P_2, VEX_W_0F3831_P_2, VEX_W_0F3832_P_2, VEX_W_0F3833_P_2, VEX_W_0F3834_P_2, VEX_W_0F3835_P_2, VEX_W_0F3837_P_2, VEX_W_0F3838_P_2, VEX_W_0F3839_P_2, VEX_W_0F383A_P_2, VEX_W_0F383B_P_2, VEX_W_0F383C_P_2, VEX_W_0F383D_P_2, VEX_W_0F383E_P_2, VEX_W_0F383F_P_2, VEX_W_0F3840_P_2, VEX_W_0F3841_P_2, VEX_W_0F38DB_P_2, VEX_W_0F3A08_P_2, VEX_W_0F3A09_P_2, VEX_W_0F3A0A_P_2, VEX_W_0F3A0B_P_2, VEX_W_0F3A0C_P_2, VEX_W_0F3A0D_P_2, VEX_W_0F3A0E_P_2, VEX_W_0F3A0F_P_2, VEX_W_0F3A21_P_2, VEX_W_0F3A40_P_2, VEX_W_0F3A41_P_2, VEX_W_0F3A42_P_2, VEX_W_0F3A62_P_2, VEX_W_0F3A63_P_2 and VEX_W_0F3ADF_P_2 entries. (mod_table): Update MOD_VEX_0F2B, MOD_VEX_0F50, MOD_VEX_0FD7_PREFIX_2, MOD_VEX_0FE7_PREFIX_2, MOD_VEX_0FF0_PREFIX_3 and MOD_VEX_0F382A_PREFIX_2 entries. commit d839b9149957d9a8842c368caf97ef378d8c97af Author: H.J. Lu Date: Mon Sep 17 08:50:42 2018 -0700 Free symbol buffers if they are no longer in use add_specific_symbols allocates a buffer to hold symbols. It should be freed only if it is no longer in use. PR binutils/23633 * objcopy.c (strip_specific_buffer): New. (strip_unneeded_buffer): Likewise. (keep_specific_buffer): Likewise. (localize_specific_buffer): Likewise. (globalize_specific_buffer): Likewise. (keepglobal_specific_buffer): Likewise. (weaken_specific_buffer): Likewise. (add_specific_symbols): Add an argument to return pointer to allocated buffer. (copy_main): Update add_specific_symbols to update pointers to allocated buffer. Free pointers to allocated buffer before return. commit e6cd1dc1e6c0d081382ee21c156b205204efc75b Author: Tom Tromey Date: Fri Sep 14 08:48:22 2018 -0600 Update get_standard_cache_dir for macOS On macOS the usual cache directory is ~/Library/Caches. This patch changes get_standard_cache_dir to use that instead of XDG. gdb/ChangeLog 2018-09-17 Tom Tromey * common/pathstuff.c (get_standard_cache_dir): Use ~/Library/Caches on macOS. * common/pathstuff.h (get_standard_cache_dir): Update comment. gdb/doc/ChangeLog 2018-09-17 Tom Tromey * gdb.texinfo (Index Files): Update for cache directory change on macOS. commit c12d9fa2afe7abcbe407a00e15719e1a1350c2a7 Author: Alan Modra Date: Wed Sep 12 14:57:48 2018 +0930 Support objcopy --remove-section=.relaFOO * objcopy.c (handle_remove_section_option): Don't require a dot after .rela and .rel to handle a possible relocation section. * testsuite/binutils-all/remove-relocs-07.s, * testsuite/binutils-all/remove-relocs-07.d, * testsuite/binutils-all/remove-relocs-08.d: New tests. * testsuite/binutils-all/remove-relocs-01.d, * testsuite/binutils-all/remove-relocs-04.d, * testsuite/binutils-all/remove-relocs-05.d, * testsuite/binutils-all/remove-relocs-06.d: Exclude mips64-openbsd. commit a4b9568c7ee95891de6f5ba846f2d1aaf61569cd Author: Alan Modra Date: Mon Sep 17 23:14:44 2018 +0930 Remove bogus notarget in gas teststuite * testsuite/gas/arm/arch7.d: Delete notarget. * testsuite/gas/arm/arch7a-mp.d: Likewise. * testsuite/gas/arm/arch7em.d: Likewise. * testsuite/gas/arm/archv8m-main-dsp-5.d: Likewise. * testsuite/gas/arm/barrier.d: Likewise. * testsuite/gas/arm/bignum1.d: Likewise. * testsuite/gas/arm/thumb32.d: Likewise. * testsuite/gas/elf/dwarf2-1.d: Likewise. * testsuite/gas/elf/dwarf2-2.d: Likewise. * testsuite/gas/elf/dwarf2-4.d: Likewise. * testsuite/gas/elf/group2.d: Likewise. * testsuite/gas/arm/mapshort-elf.d: Only notarget pe and wince. * testsuite/gas/elf/dwarf2-3.d: Delete notarget, xfail ft32 and h8300. * testsuite/gas/elf/dwarf2-6.d: Delete notarget, xfail a few. commit 0b1352e04caa6b562a532354dc48f775e6a1135b Author: Alan Modra Date: Mon Sep 17 08:51:24 2018 +0930 A few hppa testcase tidies binutils/ * testsuite/lib/binutils-common.exp (is_som_format): New proc. (run_dump_test): Correct target test for alternate .comm syntax. (get_standard_section_names): Handle som format. * testsuite/lib/utils-lib.exp (default_binutils_assemble_flags): Correct target test for alternate .comm syntax. gas/ * testsuite/gas/all/gas.exp (redef3): Don't xfail for hppa. (octa): Run for hppa. * testsuite/gas/elf/elf.exp (common1, common2): Likewise. * testsuite/gas/elf/symver.d: Delete notarget. ld/ * testsuite/ld-elf/comm-data5.d: Remove notarget for hppa. * testsuite/ld-scripts/defined6.d: Likewise. commit 8c9604b6a2c553bc1edc6d80b934b99112292e58 Author: Alan Modra Date: Mon Sep 17 14:51:47 2018 +0930 Adjust some strip testcases to silence h8300 warnings * testsuite/binutils-all/strip-13mips64.s: Add section flags for reloc section. * testsuite/binutils-all/strip-13rel.s: Likewise. * testsuite/binutils-all/strip-13rela.s: Likewise. * testsuite/binutils-all/strip-14mips64.s: Likewise. * testsuite/binutils-all/strip-14rel.s: Likewise. * testsuite/binutils-all/strip-14rela.s: Likewise. * testsuite/binutils-all/strip-15mips64.s: Likewise. * testsuite/binutils-all/strip-15rel.s: Likewise. * testsuite/binutils-all/strip-15rela.s: Likewise. commit 6fa52824c316091c2beb22fceed9ba96d17f37c4 Author: H.J. Lu Date: Mon Sep 17 06:11:54 2018 -0700 x86: Replace VexW=3 with VexWIG * i386-opc.tbl (VexWIG): New. Replace VexW=3 with VexWIG. commit 8588b356927dabd582d1d67f87a161027cb2aed1 Author: Simon Marchi Date: Mon Sep 17 08:26:24 2018 -0400 python: Make gdb.execute("show commands") work (PR 23669) Since commit 56bcdbea2bed ("Let gdb.execute handle multi-line commands") trying to use a command like gdb.execute("show commands") in Python fails. GDB ends up trying to run the "commands" command. The reason is that GDB gets confused with the special "commands" command. In process_next_line, the lookup_cmd_1 function returns the cmd_list_element representing the "commands" sub-command of "show". Lower, we check the cmd_list_element to see if it matches various control commands by name, including the "commands" command. This is where we wrongfully conclude that the executed command must be "commands", when in reality it was "show commands". The fix proposed in this patch removes the comparisons by name, instead comparing the cmd_list_element object by pointer with the objects created at initialization time. Tested on the buildbot, though on a single builder (Fedora-x86_64-m64). gdb/ChangeLog: PR python/23669 * breakpoint.c (commands_cmd_element): New. (_initialize_breakpoint): Assign commands_cmd_element. * breakpoint.h (commands_cmd_element): New. * cli/cli-script.c (while_cmd_element, if_command, define_cmd_element): New. (command_name_equals): Remove. (process_next_line): Compare commands by pointer, not by name. (_initialize_cli_script): Assign the various cmd_list_element variables. * compile/compile.c (compile_cmd_element): New. (_initialize_compile): Assign compile_cmd_element. * compile/compile.h (compile_cmd_element): New. * guile/guile.c (guile_cmd_element): New. (install_gdb_commands): Assign guile_cmd_element. * guile/guile.h (guile_cmd_element): New. * python/python.c (python_cmd_element): New. (_initialize_python): Assign python_cmd_element. * python/python.h (python_cmd_element): New. * tracepoint.c (while_stepping_cmd_element): New. (_initialize_tracepoint): Assign while_stepping_cmd_element. * tracepoint.h (while_stepping_cmd_element): New. gdb/testsuite/ChangeLog: PR python/23669 * gdb.python/python.exp: Test gdb.execute("show commands"). commit a0a8a9340dc79116297627a0884c6a01543e4b34 Author: Nick Clifton Date: Mon Sep 17 10:10:47 2018 +0100 Ensure that binutils test names are unique. binutils* testsuite/binutils-all/compress.exp: Rename second "objcopy zlib-gnu compress debug sections 3" test to "objcopy zlib-gabi compress debug sections 3" and use gabi object files instead of gnu object files. * testsuite/binutils-all/objcopy.exp: Add suffix to the names of the "ELF group" tests. * testsuite/binutils-all/readelf.exp (proc readelf_find_size): Add an iteration parameter and include it in the name of the test. Update callers to include an iteration count. gas * testuite/gas/elf/group0a.d: Add extra details to the test name. * testuite/gas/elf/group0b.d: Likewise. * testuite/gas/elf/group1a.d: Likewise. * testuite/gas/elf/group1b.d: Likewise. * testuite/gas/elf/group0b.d: Likewise. * testuite/gas/elf/section9.d: Likewise. * testuite/gas/i386/ilp32/lns/lns-common-1.d: Likewise. * testuite/gas/i386/ilp32/lns/lns-duplicate-1.d: Likewise. ld * testuite/ld/ld-elf/audit.exp: Differentiate the names of the two "Run with shared with --audit" tests. * testuite/ld/ld-elf/compress.exp: Differentiate the zlib compressed debug output test names. * testuite/ld/ld-i386/tlspie1.d: Add extra details to the test name. * testuite/ld/ld-i386/tlspie2.d: Likewise. * testuite/ld/ld-size/size.exp: Add missing escapes to the end of lines in the size-3e test. * testuite/ld/ld-unique/unique.exp: Differentiate the names of the two "Checking unique PIC object" tests. * testuite/ld/ld-x86-64/tlspie1.d: Add extra details to the test name. commit e6213e09ed0ef6ee40d00981c38baac6964aa95b Author: Andreas Krebbel Date: Mon Sep 17 11:01:24 2018 +0200 S/390: Prevent GOT access rewrite for certain symbols When dereferencing a GOT slot with lgrl or lg we rewrite this using larl to get rid of the extra memory access. However, we cannot do this for: - symbols marked for absolute addressing - symbols at odd addresses (larl can handle only even addresses) Fixed with the attached patch. bfd/ChangeLog: 2018-09-17 Andreas Krebbel * elf64-s390.c (elf_s390_relocate_section): Prevent rewriting of GOT accesses with larl for ABS or misaligned symbols. ld/ChangeLog: 2018-09-17 Andreas Krebbel * testsuite/ld-s390/gotreloc-1.s: Add tests for ABS and misaligned symbol. Move variables into data section. Make bar 8 bytes wide. * testsuite/ld-s390/gotreloc-1.ver: Make misaligned_sym resolve locally. * testsuite/ld-s390/gotreloc_31-1.dd: Adjust patterns. * testsuite/ld-s390/gotreloc_64-norelro-1.dd: Likewise. * testsuite/ld-s390/gotreloc_64-relro-1.dd: Likewise. commit cb5248409d7a5a10748c2aa70824ecddf2f913d5 Author: Tom Tromey Date: Wed Jul 11 13:29:59 2018 -0600 Make save_infcall_*_state return unique pointers Simon pointed out that save_infcall_suspend_state and save_infcall_control_state could return unique pointers. This patch implements this idea. gdb/ChangeLog 2018-09-17 Tom Tromey * infrun.c (save_infcall_suspend_state): Return infcall_suspend_state_up. (save_infcall_control_state): Return infcall_control_state_up. * inferior.h (save_infcall_suspend_state) (save_infcall_control_state): Declare later. Return unique pointers. commit 2d844eaf9c60832756cff80af67e16969c0e11fc Author: Tom Tromey Date: Thu Jun 14 16:54:04 2018 -0700 Remove release_stop_context_cleanup This removes release_stop_context_cleanup, replacing it with a stop_context destructor. It also mildly c++-ifies this struct. gdb/ChangeLog 2018-09-17 Tom Tromey * infrun.c (struct stop_context): Declare constructor, destructor, "changed" method. (stop_context::stop_context): Rename from save_stop_context. (stop_context::~stop_context): Rename from release_stop_context_cleanup. (normal_stop): Update. (stop_context::changed): Rename from stop_context_changed. Return bool. commit c7c4d3fa80d2fef74fd4bd6b1e22c0399b19455f Author: Tom Tromey Date: Thu Jun 14 16:01:24 2018 -0700 Remove two infrun cleanups This removes a couple of cleanups from infrun by introducing a couple of unique_ptr specializations. gdb/ChangeLog 2018-09-17 Tom Tromey * inferior.h (struct infcall_suspend_state_deleter): New. (infcall_suspend_state_up): New typedef. (struct infcall_control_state_deleter): New. (infcall_control_state_up): New typedef. (make_cleanup_restore_infcall_suspend_state) (make_cleanup_restore_infcall_control_state): Don't declare. * infcall.c (call_function_by_hand_dummy): Update. * infrun.c (do_restore_infcall_suspend_state_cleanup) (make_cleanup_restore_infcall_suspend_state): Remove. (do_restore_infcall_control_state_cleanup) (make_cleanup_restore_infcall_control_state): Remove. commit ee841dd8fee73c355587533027aecc8983bd5478 Author: Tom Tromey Date: Thu Jun 14 15:59:55 2018 -0700 Use new and delete for struct infcall_control_state This changes infrun.c to use new and delete for infcall_control_state. gdb/ChangeLog 2018-09-17 Tom Tromey * gdbthread.h (struct thread_control_state): Add initializer. (class thread_info) : Remove initializer. * inferior.h (struct inferior_control_state): Add initializer. (class inferior) : Remove initializer. (exit_inferior_1): Update. * infrun.c (struct infcall_control_state): Add constructors. (save_infcall_control_state): Use new. (restore_infcall_control_state, discard_infcall_control_state): Use delete. commit 117f580a97f721465d62d0630594dafdcd89e4e8 Author: Tom Tromey Date: Thu Jun 14 15:41:12 2018 -0700 Remove cleanup from infrun.c This removes a cleanup from infrun.c by taking advantage of the previous patch to introduce a use of unique_xmalloc_ptr. gdb/ChangeLog 2018-09-17 Tom Tromey * infrun.c (struct infcall_suspend_state) : Now a unique_ptr. : Now a unique_xmalloc_ptr. (save_infcall_suspend_state, restore_infcall_suspend_state) (discard_infcall_suspend_state) (get_infcall_suspend_state_regcache): Update. commit dd848631cb96f7d25270faeee4c9736577230a29 Author: Tom Tromey Date: Thu Jun 14 15:32:46 2018 -0700 Use new and delete for struct infcall_suspend_state This changes infrun.c to use new and delete for infcall_suspend_state. This enables the coming cleanups. gdb/ChangeLog 2018-09-17 Tom Tromey * gdbthread.h (struct thread_suspend_state): Add initializers. (class thread_info) : Remove initializer. * infrun.c (struct infcall_suspend_state): Add initializers. (save_infcall_suspend_state): Use new. (discard_infcall_suspend_state): Use delete. commit 1a3389079dd5c93419846f44d42027a526ce19cf Author: Tom Tromey Date: Sun Sep 16 07:32:23 2018 -0600 Don't steal references in the gdb Python code Some Python APIs steal references from their caller, and the refcount checker supports this via an attribute. However, in gdb with C++ we have a better idiom available: we can use std::move on a gdbpy_ref<> instead. This makes the semantics obvious at the point of call, and is safer at runtime as well, because the callee's gdbpy_ref<> will be emptied. This patch changes the reference-stealing code in gdb to use rvalue references instead. Tested on x86-64 Fedora 28. gdb/ChangeLog 2018-09-16 Tom Tromey * python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG): Remove. * python/py-varobj.c (py_varobj_iter_ctor): Change pyiter to rvalue reference. Remove CPYCHECKER_STEALS_REFERENCE_TO_ARG. (py_varobj_iter_new): Likewise. (py_varobj_get_iterator): Use gdbpy_ref. commit 4a137fec2e1a8a6372da8fca1040ee582c62f78d Author: Tom Tromey Date: Sun Sep 16 08:02:22 2018 -0600 Simplify uses of thread_to_thread_object An review by Simon of an earlier showed a few spots related to thread_to_thread_object that could be simplified. This also detected a latent bug, where thread_to_thread_object was inconsistent about setting the Python exception before a NULL return. Tested on x86-64 Fedora 28. gdb/ChangeLog 2018-09-16 Tom Tromey * python/py-threadevent.c (py_get_event_thread): Simplify. * python/py-inferior.c (infpy_thread_from_thread_handle): Return immediately after calling thread_to_thread_object. Use Py_RETURN_NONE. (thread_to_thread_object): Set the exception on a NULL return. commit 8ff03f0bfbf0dc7d125f6ea0b844636c0aba74f6 Author: Simon Marchi Date: Sun Sep 16 19:45:06 2018 -0400 Sort objects in gdb and gdbserver Makefiles Tom mentioned this a while ago, as a way to give you a cheap sense of progression in your build, as all object files will be built alphabetically (including the directory part). I tried it and I think it's nice. gdb/ChangeLog: * Makefile.in (LIBGDB_OBS): Sort COMMON_OBS. gdb/gdbserver/ChangeLog: * Makefile.in (gdbserver$(EXEEXT)): Sort OBS. (gdbreplay$(EXEEXT)): Sort GDBREPLAY_OBS. ($(IPA_LIB)): Sort IPA_OBJS. commit a1cd91dc2f4e369983fab631f18e96f5e46119bc Author: Simon Marchi Date: Sun Sep 16 19:44:47 2018 -0400 gdbserver/Makefile.in: Remove ADD_DEPS ADD_DEPS is defined nowhere, so I presume it's not useful. If I'm wrong and this is actually used, there should be a comment explaining where it comes from. gdb/gdbserver/ChangeLog: * Makefile.in: Remove references to $(ADD_DEPS). commit e08ef628a7e3098699ec6939584e2c9f7a9e1952 Author: GDB Administrator Date: Mon Sep 17 00:00:39 2018 +0000 Automatic date update in version.in commit 43276309ded887327f434374b37572d1bc0778eb Author: John Darrington Date: Mon Sep 3 13:22:36 2018 +0200 S12Z Add tests for relocs. ld/testsuite/ld-s12z/ * reloc-ext18-1.d: New file. * reloc-ext18-1.d: New file. * reloc-ext18-2.d: New file. * reloc-ext18.d: New file. * reloc-ext18.s: New file. * reloc-ext24.d: New file. * reloc-ext24.s: New file. * reloc-ext32.d: New file. * reloc-ext32.s: New file. * reloc-opr.d: New file. * reloc-opr.d: New file. * reloc-opr.s: New file. * reloc-pc-rel-7-15.d: New file. * reloc-pc-rel-7-15.s: New file. commit 57d5aa265f50b8c8c1ebbe4e67285aa9f5a53369 Author: John Darrington Date: Fri Sep 7 20:26:59 2018 +0200 Don't emit data_section_size when -r is specified * ld/scripttempl/elfm9s12z.sc (.install): Add RELOCATING+ qualifier. commit 19f1fffecd5359a9858151154d3de848f20a5990 Author: John Darrington Date: Mon Sep 3 12:07:59 2018 +0200 S12Z: LD: Rename z12s.exp --> s12z.exp * ld/testsuite/ld-s12z/z12s.exp: Delete. * ld/testsuite/ld-s12z/s12z.exp: New file. commit e6d9d9285574ba3e157a29bd40cf6ab4bbaeeaf0 Author: John Darrington Date: Mon Sep 3 13:22:57 2018 +0200 S12Z: Remove diagnostic printf statement. * bfd/elf32-s12z.c (bfd_elf32_bfd_reloc_name_lookup): Remove diagnostic printf (artifact from debugging) commit 808325d203f629208ed1988c8a90321c470ebcff Author: John Darrington Date: Tue Sep 4 20:24:44 2018 +0200 S12Z: Set the source mask value of all howtos to zero. Thanks to Alan Modra for this hint. * bfd/elf32-s12z.c (elf_s12z_howto_table): set all src_mask members to zero. commit 94c8b7253a5e165ee92f7302f3247764d69b55e5 Author: Tom Tromey Date: Wed Sep 12 23:18:11 2018 -0600 Remove CPYCHECKER_RETURNS_BORROWED_REF CPYCHECKER_RETURNS_BORROWED_REF is not used, and I think should never be used. This patch removes it. gdb/ChangeLog 2018-09-16 Tom Tromey * python/python-internal.h (CPYCHECKER_RETURNS_BORROWED_REF): Remove. commit db1337cc8300bb44f8ccf9dced3e122b6e50b4c9 Author: Tom Tromey Date: Wed Sep 12 23:15:48 2018 -0600 Change thread_to_thread_object to return a new reference This changes thread_to_thread_object to return a new reference and fixes up all the callers. gdb/ChangeLog 2018-09-16 Tom Tromey * python/python-internal.h (thread_to_thread_object): Change return type. * python/py-inferior.c (thread_to_thread_object): Return a new reference. (infpy_thread_from_thread_handle): Update. * python/py-infthread.c (gdbpy_selected_thread): Update. * python/py-stopevent.c (create_stop_event_object): Update. * python/py-threadevent.c (py_get_event_thread): Return a new reference. (py_get_event_thread): Update. * python/py-event.h (py_get_event_thread): Change return type. * python/py-continueevent.c (create_continue_event_object): Update. commit 0a9db5ad8a6c49cec7adb7e3ef29c558fcfbf11b Author: Tom Tromey Date: Wed Sep 12 23:06:09 2018 -0600 Change objfile_to_objfile_object to return a new reference This changes objfile_to_objfile_object to return a new references and fixes up all the uses. gdb/ChangeLog 2018-09-16 Tom Tromey * python/py-progspace.c (pspy_get_objfiles): Update. * python/python-internal.h (objfile_to_objfile_object): Change return type. * python/py-newobjfileevent.c (create_new_objfile_event_object): Update. * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): Update. * python/python.c (gdbpy_get_current_objfile): Update. (gdbpy_objfiles): Update. * python/py-objfile.c (objfpy_get_owner, gdbpy_lookup_objfile): Update. (objfile_to_objfile_object): Return a new reference. * python/py-symtab.c (stpy_get_objfile): Update. * python/py-prettyprint.c (find_pretty_printer_from_objfiles): Update. commit 3c7aa30778a1615d88c13508c04138ef2499112d Author: Tom Tromey Date: Wed Sep 12 21:44:19 2018 -0600 Change pspace_to_pspace_object to return a new reference This changes pspace_to_pspace_object to return a new reference and fixes up all the callers. gdb/ChangeLog 2018-09-16 Tom Tromey * python/py-inferior.c (infpy_get_progspace): Update. * python/python-internal.h (pspace_to_pspace_object): Change return type. * python/py-newobjfileevent.c (create_clear_objfiles_event_object): Update. * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): Update. * python/python.c (gdbpy_get_current_progspace): Update. (gdbpy_progspaces): Update. * python/py-progspace.c (pspace_to_pspace_object): Return a new reference. * python/py-objfile.c (objfpy_get_progspace): Update. * python/py-prettyprint.c (find_pretty_printer_from_progspace): Update. commit 8743a9cdd20055e02a20c24c37b5312e3e626691 Author: Tom Tromey Date: Thu Dec 26 19:50:05 2013 -0700 Add more methods to gdb.Progspace There are a number of global functions in the gdb Python module which really should be methods on Progspace. This patch adds new methods to Progspace and then redefines these globals in terms of these new methods. This version has been rebased on the related changes that Simon recently put in. Built and regtested on x86-64 Fedora 28. gdb/ChangeLog 2018-09-16 Tom Tromey * python/lib/gdb/__init__.py (current_progspace, objfiles) (solib_name, block_for_pc, find_pc_line): New functions. (execute_unwinders): Update. * python/py-block.c (gdbpy_block_for_pc): Remove. * python/py-inferior.c (infpy_get_progspace): New function. (inferior_object_getset) : Add. * python/py-progspace.c (pspy_objfiles): Rewrite. (pspy_solib_name, pspy_block_for_pc) (pspy_find_pc_line, pspy_is_valid): New functions. (progspace_object_methods): Add entries for solib_name, block_for_pc, find_pc_line, is_valid. * python/python-internal.h (gdbpy_block_for_pc) (build_objfiles_list): Don't declare. * python/python.c: Don't include solib.h. (gdbpy_solib_name, gdbpy_find_pc_line) (gdbpy_get_current_progspace, build_objfiles_list) (gdbpy_objfiles): Remove. (GdbMethods) : Remove entries. gdb/doc/ChangeLog 2018-09-16 Tom Tromey * python.texi (Basic Python): Update docs for find_pc_line, solib_name. (Progspaces In Python): Update docs for current_progspace. Document block_for_pc, find_pc_line, is_valid, nsolib_name. Move method documentation before example. commit 752312ba4e53fea8e77ae240a35a7b508c6ca619 Author: Tom Tromey Date: Fri Sep 14 07:46:55 2018 -0600 Use GNU style for metasyntactic variables in gdbserver This changes a couple of places in gdbserver to use the GNU style for metasyntactic variables. gdb/gdbserver/ChangeLog 2018-09-16 Tom Tromey * remote-utils.c (remote_open): Use GNU style for metasyntactic variables. * gdbreplay.c (gdbreplay_usage): Use GNU style for metasyntactic variables. commit 65e65158c50dd7e7a5fbc9dcdad9da6df31e01c4 Author: Tom Tromey Date: Fri Sep 14 07:45:06 2018 -0600 Use GNU style for metasyntactic variables in gdb I searched for other spots that did not use the GNU style for metasyntactic syntactic variables. This patch fixes most of the ones I found in gdb proper. There are a few remaining in MI, but I was unsure whether those should be touched. gdb/ChangeLog 2018-09-16 Tom Tromey * top.c (new_ui_command): Use GNU style for metasyntactic variables. * breakpoint.c (stopat_command): Use GNU style for metasyntactic variables. * maint.c (maintenance_translate_address): Remove "<>" around text. * interps.c (interpreter_exec_cmd): Use GNU style for metasyntactic variables. * nto-procfs.c (nto_procfs_target_info): Use GNU style for metasyntactic variables. * tracepoint.c (tfind_range_command): Use GNU style for metasyntactic variables. (tfind_outside_command): Likewise. (_initialize_tracepoint): Likewise. * remote.c (extended_remote_target::create_inferior): Use GNU style for metasyntactic variables. * sparc64-tdep.c (adi_examine_command): Use GNU style for metasyntactic variables. (adi_assign_command): Likewise. gdb/testsuite/ChangeLog 2018-09-16 Tom Tromey * gdb.base/new-ui.exp (do_execution_tests): Update. * gdb.base/dbx.exp (test_breakpoints): Update. commit f4bab6ff22a0ddb799c1c492117a15fe0501ff1e Author: Tom Tromey Date: Fri Sep 14 07:34:05 2018 -0600 Expand "show disassembler-options" output I typed this: (gdb) help set disassembler-options Set the disassembler options. Usage: set disassembler-options OPTION [,OPTION]... See: 'show disassembler-options' for valid option values. ... so I tried what it said and got: (gdb) show disassembler-options The current disassembler options are '' This surprised me a little, so this patch adds some text to explain the situation when an architecture does not have disassembler options. While there I noticed one more spot where gdb was not using the GNU style for metasyntactic variables. This patch fixes this as well. gdb/ChangeLog 2018-09-16 Tom Tromey * disasm.c (show_disassembler_options_sfunc): Use GNU style for metasyntactic variables. Print message if no disassembler options are available. commit db4cc66567397498a9e9eaedb8d0bb8889744ef7 Author: H.J. Lu Date: Sat Sep 15 17:09:08 2018 -0700 x86: Set VexW=3 on AVX vrsqrtss AVX vrsqrtss is a VEX WIG instruction. * i386-opc.tbl: Set VexW=3 on AVX vrsqrtss. * i386-tbl.h: Regenerated. commit 6e809f2dfa65fff42e3ab20e0d7490454288bbcc Author: GDB Administrator Date: Sun Sep 16 00:01:17 2018 +0000 Automatic date update in version.in commit cbaaa0cafcac0630c6f07f81663a1b10a4e197a0 Author: Tom Tromey Date: Sat Sep 15 16:29:03 2018 -0600 Change get_inferior_args to return const char * I noticed that get_inferior_args should return const char *, because it is just returning a reference to something owned by the inferior. I'm checking this in. gdb/ChangeLog 2018-09-15 Tom Tromey * infcmd.c (get_inferior_args): Return const char *. * inferior.h (get_inferior_args): Return type now const. * linux-tdep.c (linux_fill_prpsinfo): Update. * procfs.c (procfs_target::make_corefile_notes): Update. commit 3c3741435f315fba956bbace8c4991215e283510 Author: H.J. Lu Date: Sat Sep 15 14:50:40 2018 -0700 x86: Set Vex=1 on VEX.128 only vmovq AVX "VMOVQ xmm1, xmm2/m64" and "VMOVQ xmm1/m64, xmm2" can only be encoded with VEX.128. Set Vex=1 on VEX.128 only vmovq and update assembler tests. gas/ PR gas/23665 * testsuite/gas/i386/avx-scalar-intel.d: Updated. * testsuite/gas/i386/avx-scalar.d: Likewise. * testsuite/gas/i386/x86-64-avx-scalar-intel.d: Likewise. * testsuite/gas/i386/x86-64-avx-scalar.d: Likewise. opcodes/ PR gas/23665 * i386-dis.c (vex_len_table): Update VEX_LEN_0F7E_P_1 and VEX_LEN_0FD6_P_2 entries. * i386-opc.tbl: Set Vex=1 on VEX.128 only vmovq. * i386-tbl.h: Regenerated. commit 8ffb70eb57f527817840ff33982c085b0bec86bc Author: Alan Modra Date: Thu Sep 13 14:45:47 2018 +0930 Consolidate run_dump_test This merges the three versions of run_dump_test. Improved warning handling versus the old gas version shows up a number of tests that need their disassembly updating: arm-linuxeabi +FAIL: ARM v1 instructions arm-linuxeabi +FAIL: Accepted v8-a with ARMv8.1 AdvSIMD. arm-linuxeabi +FAIL: bl local instructions for v4t. arm-linuxeabi +FAIL: UDF and some that now fail due to detecting assembly warnings: h8300-elf +FAIL: binutils-all/strip-13 h8300-elf +FAIL: binutils-all/strip-14 h8300-elf +FAIL: binutils-all/strip-15 I've generally kept the union of all run_dump_test features, except that the ld target aliases "cfi" and "shared" have disappeared, as has the binutils substitution of $srcdir as $scrdir/$subdir. binutils/ * testsuite/binutils-all/add-symbol.d: Add "section_subst: no". * testsuite/binutils-all/elfedit.exp: Don't set tempfile or copyfile. * testsuite/binutils-all/symbols-1.d, * testsuite/binutils-all/symbols-2.d, * testsuite/binutils-all/symbols-3.d, * testsuite/binutils-all/symbols-4.d: Quote '*' and '!'. * testsuite/binutils-all/add-empty-section.d, * testsuite/binutils-all/add-section.d, * testsuite/binutils-all/elfedit.exp, * testsuite/binutils-all/note-1.d, * testsuite/binutils-all/pr23633.d: Add $subdir after $srcdir. * testsuite/config/default.exp (AS, ASFLAGS): Define. * testsuite/config/hppa.sed: Handle all common symbols. * testsuite/lib/binutils-common.exp (run_dump_test): New proc, merged from three other versions. (slurp_options, file_contents, set_file_contents): Likewise. (big_or_little_endian, get_standard_section_names): Likewise. * testsuite/lib/utils-lib.exp (run_dump_test): Delete. (slurp_options, proc file_contents): Delete. (get_standard_section_names): Delete. gas/ * testsuite/config/default.exp: Make tmpdir. * testsuite/lib/gas-defs.exp (run_dump_test): Delete. (get_standard_section_names, slurp_options): Delete. ld/ * testsuite/ld-d10v/reloc-007.d, * testsuite/ld-d10v/reloc-008.d, * testsuite/ld-d10v/reloc-015.d, * testsuite/ld-d10v/reloc-016.d: Remove "error:". * testsuite/ld-elf/eh-frame-hdr.d, * testsuite/ld-elf/eh5.d, * testsuite/ld-gc/personality.d: Replace "cfi" and "shared" in target list with appropriate proc. * testsuite/ld-elf/frame.exp: Use check_shared_lib_support rather than "istarget shared". * testsuite/lib/ld-lib.exp (proc big_or_little_endian): Delete. (run_dump_test, slurp_options, file_contents): Delete. (set_file_contents, istarget): Delete. commit 99bcaeaf0ff692348194ed6f30162c3a0cfb9655 Author: Alan Modra Date: Thu Sep 13 18:55:30 2018 +0930 run_dump_test replace PROG with DUMPPROG in gas and ld To be compatible with the binutils version, that uses PROG for the tool under test and DUMPPROG for the dump tool. gas/ * testsuite/gas/mips/aent-2.d, * testsuite/gas/mips/aent-mdebug-2.d, * testsuite/gas/mips/attr-gnu-4-0.d, * testsuite/gas/mips/attr-gnu-4-1.d, * testsuite/gas/mips/attr-gnu-4-2.d, * testsuite/gas/mips/attr-gnu-4-3.d, * testsuite/gas/mips/attr-gnu-4-5.d, * testsuite/gas/mips/attr-gnu-4-6.d, * testsuite/gas/mips/attr-gnu-4-7.d, * testsuite/gas/mips/attr-none-double.d, * testsuite/gas/mips/attr-none-o32-fp64-nooddspreg.d, * testsuite/gas/mips/attr-none-o32-fp64.d, * testsuite/gas/mips/attr-none-o32-fpxx.d, * testsuite/gas/mips/attr-none-single-float.d, * testsuite/gas/mips/attr-none-soft-float.d, * testsuite/gas/mips/elf-rel27.d, * testsuite/gas/mips/loc-swap-2.d, * testsuite/gas/mips/loc-swap-3.d, * testsuite/gas/mips/loc-swap.d, * testsuite/gas/mips/micromips@loc-swap-2.d, * testsuite/gas/mips/micromips@loc-swap.d, * testsuite/gas/mips/micromips@stabs-symbol-type.d, * testsuite/gas/mips/mips16-intermix.d, * testsuite/gas/mips/mips16@loc-swap-2.d, * testsuite/gas/mips/mips16@loc-swap.d, * testsuite/gas/mips/mips16@stabs-symbol-type.d, * testsuite/gas/mips/mips16e@loc-swap.d, * testsuite/gas/mips/no-odd-spreg.d, * testsuite/gas/mips/odd-spreg.d, * testsuite/gas/mips/r6-attr-none-double.d, * testsuite/gas/mips/stabs-symbol-type.d, * testsuite/lib/gas-defs.exp (run_dump_test): Replace PROG with DUMPPROG. ld/ * testsuite/lib/ld-lib.exp (run_dump_test): Replace PROG with DUMPPROG. commit 4abd8e8de725118c4b01cf71556ffcb4367344f8 Author: Alan Modra Date: Fri Sep 14 09:48:08 2018 +0930 gas testuite fixes: don't match dump.o The consolidated run_dump_test will use object file names based on the source file name, like the current ld version. * testsuite/gas/elf/symver.d, * testsuite/gas/ft32/insn.d, * testsuite/gas/ft32/insnsc.d, * testsuite/gas/i386/ilp32/elf/symver.d, * testsuite/gas/lm32/csr.d, * testsuite/gas/lm32/insn.d, * testsuite/gas/m68hc11/9s12x-exg-sex-tfr.d, * testsuite/gas/m68hc11/9s12x-mov.d, * testsuite/gas/m68hc11/hexprefix.d, * testsuite/gas/m68hc11/insns9s12x.d, * testsuite/gas/m68hc11/insns9s12xg.d, * testsuite/gas/mep/dj1.be.d, * testsuite/gas/mep/dj1.le.d, * testsuite/gas/mips/set-arch.d, * testsuite/gas/mips/tls-o32.d, * testsuite/gas/nios2/branch-r2.d, * testsuite/gas/nios2/branch.d, * testsuite/gas/pdp11/absreloc.d, * testsuite/gas/pdp11/opcode.d, * testsuite/gas/pdp11/pr14480.d, * testsuite/gas/pdp11/pr23481.d, * testsuite/gas/ppc/xcoff-dwsect-1-32.d, * testsuite/gas/ppc/xcoff-dwsect-1-64.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/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/dbt.d, * testsuite/gas/rx/div.d, * testsuite/gas/rx/divu.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/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/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/pr19665.d, * testsuite/gas/rx/pr22737.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/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/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, * testsuite/gas/s12z/abs.d, * testsuite/gas/s12z/adc-imm.d, * testsuite/gas/s12z/adc-opr.d, * testsuite/gas/s12z/add-imm.d, * testsuite/gas/s12z/add-opr.d, * testsuite/gas/s12z/and-imm.d, * testsuite/gas/s12z/and-opr.d, * testsuite/gas/s12z/and-or-cc.d, * testsuite/gas/s12z/bfext-special.d, * testsuite/gas/s12z/bfext.d, * testsuite/gas/s12z/bit-manip.d, * testsuite/gas/s12z/bit.d, * testsuite/gas/s12z/bra-expression-defined.d, * testsuite/gas/s12z/bra-expression-undef.d, * testsuite/gas/s12z/bra.d, * testsuite/gas/s12z/brclr-symbols.d, * testsuite/gas/s12z/brset-clr-opr-imm-rel.d, * testsuite/gas/s12z/brset-clr-opr-reg-rel.d, * testsuite/gas/s12z/brset-clr-reg-imm-rel.d, * testsuite/gas/s12z/brset-clr-reg-reg-rel.d, * testsuite/gas/s12z/clb.d, * testsuite/gas/s12z/clr-opr.d, * testsuite/gas/s12z/clr.d, * testsuite/gas/s12z/cmp-imm.d, * testsuite/gas/s12z/cmp-opr-inc.d, * testsuite/gas/s12z/cmp-opr-rdirect.d, * testsuite/gas/s12z/cmp-opr-reg.d, * testsuite/gas/s12z/cmp-opr-rindirect.d, * testsuite/gas/s12z/cmp-opr-sxe4.d, * testsuite/gas/s12z/cmp-opr-xys.d, * testsuite/gas/s12z/cmp-s-imm.d, * testsuite/gas/s12z/cmp-s-opr.d, * testsuite/gas/s12z/cmp-xy.d, * testsuite/gas/s12z/com-opr.d, * testsuite/gas/s12z/complex-shifts.d, * testsuite/gas/s12z/db-tb-cc-opr.d, * testsuite/gas/s12z/db-tb-cc-reg.d, * testsuite/gas/s12z/dbCC.d, * testsuite/gas/s12z/dec-opr.d, * testsuite/gas/s12z/dec.d, * testsuite/gas/s12z/div.d, * testsuite/gas/s12z/eor.d, * testsuite/gas/s12z/exg.d, * testsuite/gas/s12z/ext24-ld-xy.d, * testsuite/gas/s12z/inc-opr.d, * testsuite/gas/s12z/inc.d, * testsuite/gas/s12z/inh.d, * testsuite/gas/s12z/jmp.d, * testsuite/gas/s12z/jsr.d, * testsuite/gas/s12z/ld-imm-page2.d, * testsuite/gas/s12z/ld-imm.d, * testsuite/gas/s12z/ld-immu18.d, * testsuite/gas/s12z/ld-large-direct.d, * testsuite/gas/s12z/ld-opr.d, * testsuite/gas/s12z/ld-s-opr.d, * testsuite/gas/s12z/ld-small-direct.d, * testsuite/gas/s12z/lea-immu18.d, * testsuite/gas/s12z/lea.d, * testsuite/gas/s12z/mac.d, * testsuite/gas/s12z/min-max.d, * testsuite/gas/s12z/mod.d, * testsuite/gas/s12z/mov.d, * testsuite/gas/s12z/mul-imm.d, * testsuite/gas/s12z/mul-opr-opr.d, * testsuite/gas/s12z/mul-opr.d, * testsuite/gas/s12z/mul-reg.d, * testsuite/gas/s12z/mul.d, * testsuite/gas/s12z/neg-opr.d, * testsuite/gas/s12z/not-so-simple-shifts.d, * testsuite/gas/s12z/opr-18u.d, * testsuite/gas/s12z/opr-expr.d, * testsuite/gas/s12z/opr-ext-18.d, * testsuite/gas/s12z/opr-idx-24-reg.d, * testsuite/gas/s12z/opr-idx3-reg.d, * testsuite/gas/s12z/opr-idx3-xysp-24.d, * testsuite/gas/s12z/opr-indirect-expr.d, * testsuite/gas/s12z/opr-symbol.d, * testsuite/gas/s12z/or-imm.d, * testsuite/gas/s12z/or-opr.d, * testsuite/gas/s12z/p2-mul.d, * testsuite/gas/s12z/page2-inh.d, * testsuite/gas/s12z/psh-pul.d, * testsuite/gas/s12z/qmul.d, * testsuite/gas/s12z/rotate.d, * testsuite/gas/s12z/sat.d, * testsuite/gas/s12z/sbc-imm.d, * testsuite/gas/s12z/sbc-opr.d, * testsuite/gas/s12z/shift.d, * testsuite/gas/s12z/simple-shift.d, * testsuite/gas/s12z/single-ops.d, * testsuite/gas/s12z/specd6.d, * testsuite/gas/s12z/st-large-direct.d, * testsuite/gas/s12z/st-opr.d, * testsuite/gas/s12z/st-s-opr.d, * testsuite/gas/s12z/st-small-direct.d, * testsuite/gas/s12z/st-xy.d, * testsuite/gas/s12z/sub-imm.d, * testsuite/gas/s12z/sub-opr.d, * testsuite/gas/s12z/tfr.d, * testsuite/gas/s12z/trap.d, * testsuite/gas/sh/fdpic.d, * testsuite/gas/sh/sh2a-pic.d, * testsuite/gas/sh/sh2a.d: Don't match object file name. * testsuite/gas/wasm32/disass-2.d, * testsuite/gas/wasm32/disass.d: Likewise, and tidy regexps. commit e643ed088a085f35b724413140846f739413a78a Author: Alan Modra Date: Thu Sep 13 16:56:08 2018 +0930 gas run_dump_test rename stderr and error-output Use warning_output and error_output, like the ld version of run_dump_test. Note that some tests used the wrong option, and this went undetected since the gas version of run_dump_test doesn't properly check tool error status. This patch corrects wrong options, in preparation for a later patch that will check error status. * testsuite/gas/aarch64/armv8_2-a-crypto-fp16-illegal.d, * testsuite/gas/aarch64/armv8_2-a-illegal.d, * testsuite/gas/aarch64/armv8_4-a-illegal.d, * testsuite/gas/aarch64/armv8_4-a-registers-illegal.d, * testsuite/gas/aarch64/deprecated.d, * testsuite/gas/aarch64/diagnostic.d, * testsuite/gas/aarch64/illegal-2.d, * testsuite/gas/aarch64/illegal-by-element.d, * testsuite/gas/aarch64/illegal-crypto-nofp.d, * testsuite/gas/aarch64/illegal-fcmla.d, * testsuite/gas/aarch64/illegal-fjcvtzs.d, * testsuite/gas/aarch64/illegal-fp16-nofp.d, * testsuite/gas/aarch64/illegal-ldapr.d, * testsuite/gas/aarch64/illegal-ldraa.d, * testsuite/gas/aarch64/illegal-lse.d, * testsuite/gas/aarch64/illegal-nofp-armv8_3.d, * testsuite/gas/aarch64/illegal-nofp16.d, * testsuite/gas/aarch64/illegal-ras-1.d, * testsuite/gas/aarch64/illegal-sysreg-2.d, * testsuite/gas/aarch64/illegal-sysreg-3.d, * testsuite/gas/aarch64/illegal.d, * testsuite/gas/aarch64/legacy_reg_names.d, * testsuite/gas/aarch64/pan-illegal.d, * testsuite/gas/aarch64/pr22529.d, * testsuite/gas/aarch64/rm-simd-ext.d, * testsuite/gas/aarch64/sve-invalid.d, * testsuite/gas/aarch64/sve-reg-diagnostic.d, * testsuite/gas/aarch64/sve-sysreg-invalid.d, * testsuite/gas/aarch64/sysreg-diagnostic.d, * testsuite/gas/aarch64/verbose-error.d, * testsuite/gas/all/byte.d, * testsuite/gas/all/org-1.d, * testsuite/gas/all/org-2.d, * testsuite/gas/all/org-3.d, * testsuite/gas/all/sleb128-9.d, * testsuite/gas/arc/asm-errors-2.d, * testsuite/gas/arc/asm-errors-3.d, * testsuite/gas/arc/asm-errors.d, * testsuite/gas/arc/attr-rf16.d, * testsuite/gas/arc/relocs-errors.d, * testsuite/gas/arc/textinsn-errors.d, * testsuite/gas/arm/addsw-bad.d, * testsuite/gas/arm/addthumb2err.d, * testsuite/gas/arm/adr-invalid.d, * testsuite/gas/arm/arch7em-bad-1.d, * testsuite/gas/arm/arch7em-bad-2.d, * testsuite/gas/arm/arch7em-bad-3.d, * testsuite/gas/arm/arch7m-bad.d, * testsuite/gas/arm/archv6s-m-bad.d, * testsuite/gas/arm/archv6t2-bad.d, * testsuite/gas/arm/arm-idiv-bad.d, * testsuite/gas/arm/arm-it-bad-2.d, * testsuite/gas/arm/arm-it-bad-3.d, * testsuite/gas/arm/arm-it-bad.d, * testsuite/gas/arm/arm3-bad.d, * testsuite/gas/arm/arm7-bad.d, * testsuite/gas/arm/armv1-bad.d, * testsuite/gas/arm/armv1.d, * testsuite/gas/arm/armv2-mp-bad.d, * testsuite/gas/arm/armv8-2-fp16-scalar-bad.d, * testsuite/gas/arm/armv8-2-fp16-simd-warning-thumb.d, * testsuite/gas/arm/armv8-2-fp16-simd-warning.d, * testsuite/gas/arm/armv8-a+rdma-warning.d, * testsuite/gas/arm/armv8-a-bad.d, * testsuite/gas/arm/armv8-a-it-bad.d, * testsuite/gas/arm/armv8-r-bad.d, * testsuite/gas/arm/armv8-r-it-bad.d, * testsuite/gas/arm/armv8_2-a-fp16-illegal.d, * testsuite/gas/arm/armv8_3-a-fp-bad.d, * testsuite/gas/arm/armv8_3-a-simd-bad.d, * testsuite/gas/arm/barrier-bad-thumb.d, * testsuite/gas/arm/barrier-bad.d, * testsuite/gas/arm/bl-local-v4t.d, * testsuite/gas/arm/blx-bl-convert.d, * testsuite/gas/arm/blx-local.d, * testsuite/gas/arm/branch-reloc.d, * testsuite/gas/arm/copro-arm_v2plus-arm_v1.d, * testsuite/gas/arm/copro-arm_v5plus-arm_v4.d, * testsuite/gas/arm/copro-arm_v5teplus-arm_v5.d, * testsuite/gas/arm/copro-arm_v6plus-arm_v5te.d, * testsuite/gas/arm/copro-thumb_v6t2plus-thumb_v4t-1.d, * testsuite/gas/arm/copro-thumb_v6t2plus-thumb_v4t-2.d, * testsuite/gas/arm/copro-thumb_v6t2plus-thumb_v4t-3.d, * testsuite/gas/arm/copro-thumb_v6t2plus-thumb_v4t-4.d, * testsuite/gas/arm/crc32-armv8-a-bad.d, * testsuite/gas/arm/crc32-armv8-r-bad.d, * testsuite/gas/arm/depr-swp.d, * testsuite/gas/arm/dest-unpredictable.d, * testsuite/gas/arm/dotprod-illegal.d, * testsuite/gas/arm/dotprod-legacy-arch.d, * testsuite/gas/arm/forbid-armv7-idiv-ext.d, * testsuite/gas/arm/group-reloc-alu-encoding-bad.d, * testsuite/gas/arm/group-reloc-alu-parsing-bad.d, * testsuite/gas/arm/group-reloc-ldc-encoding-bad.d, * testsuite/gas/arm/group-reloc-ldc-parsing-bad.d, * testsuite/gas/arm/group-reloc-ldr-encoding-bad.d, * testsuite/gas/arm/group-reloc-ldr-parsing-bad.d, * testsuite/gas/arm/group-reloc-ldrs-encoding-bad.d, * testsuite/gas/arm/group-reloc-ldrs-parsing-bad.d, * testsuite/gas/arm/insn-error-a.d, * testsuite/gas/arm/insn-error-t.d, * testsuite/gas/arm/inst-po-2.d, * testsuite/gas/arm/iwmmxt-bad.d, * testsuite/gas/arm/iwmmxt-bad2.d, * testsuite/gas/arm/ld-sp-warn-cortex-m3.d, * testsuite/gas/arm/ld-sp-warn-cortex-m4.d, * testsuite/gas/arm/ld-sp-warn-v7.d, * testsuite/gas/arm/ld-sp-warn-v7a.d, * testsuite/gas/arm/ld-sp-warn-v7em.d, * testsuite/gas/arm/ld-sp-warn-v7m.d, * testsuite/gas/arm/ld-sp-warn-v7r.d, * testsuite/gas/arm/ld-sp-warn.d, * testsuite/gas/arm/ldgesb-bad.d, * testsuite/gas/arm/ldgesh-bad.d, * testsuite/gas/arm/ldr-bad.d, * testsuite/gas/arm/ldr-t-bad.d, * testsuite/gas/arm/ldrd-unpredictable.d, * testsuite/gas/arm/ldsgeb.d, * testsuite/gas/arm/ldsgeh.d, * testsuite/gas/arm/missing.d, * testsuite/gas/arm/mrs-msr-arm-v7-a-bad.d, * testsuite/gas/arm/mrs-msr-thumb-v7-m-bad.d, * testsuite/gas/arm/msr-imm-bad.d, * testsuite/gas/arm/msr-reg-bad.d, * testsuite/gas/arm/mul-overlap.d, * testsuite/gas/arm/neon-addressing-bad.d, * testsuite/gas/arm/neon-cond-bad.d, * testsuite/gas/arm/neon-ldst-align-bad.d, * testsuite/gas/arm/neon-ldst-es-bad.d, * testsuite/gas/arm/neon-suffix-bad.d, * testsuite/gas/arm/neon-vmov-bad.d, * testsuite/gas/arm/noarm.d, * testsuite/gas/arm/pr18256.d, * testsuite/gas/arm/pr18347.d, * testsuite/gas/arm/pr20429.d, * testsuite/gas/arm/pr22773.d, * testsuite/gas/arm/r15-bad.d, * testsuite/gas/arm/reloc-bad.d, * testsuite/gas/arm/req.d, * testsuite/gas/arm/shift-bad-pc.d, * testsuite/gas/arm/shift-bad.d, * testsuite/gas/arm/simd_by_scalar_low_regbank.d, * testsuite/gas/arm/simd_by_scalar_low_regbank_thumb.d, * testsuite/gas/arm/sp-pc-validations-bad-t-v8a.d, * testsuite/gas/arm/sp-pc-validations-bad-t.d, * testsuite/gas/arm/sp-pc-validations-bad.d, * testsuite/gas/arm/sp-usage-thumb2-relax-on-v7.d, * testsuite/gas/arm/srs-arm.d, * testsuite/gas/arm/srs-t2.d, * testsuite/gas/arm/strex-bad-t.d, * testsuite/gas/arm/t16-bad.d, * testsuite/gas/arm/thumb-b-bad.d, * testsuite/gas/arm/thumb-w-bad.d, * testsuite/gas/arm/thumb2_bad_reg.d, * testsuite/gas/arm/thumb2_it_bad.d, * testsuite/gas/arm/thumb2_it_bad_auto.d, * testsuite/gas/arm/thumb2_ldmstm_bad.d, * testsuite/gas/arm/thumb2_ldstd_unpredictable.d, * testsuite/gas/arm/thumb2_mul-bad.d, * testsuite/gas/arm/thumb2_str-bad.d, * testsuite/gas/arm/thumb32.d, * testsuite/gas/arm/udf-bad.d, * testsuite/gas/arm/udf.d, * testsuite/gas/arm/undefined.d, * testsuite/gas/arm/undefined_coff.d, * testsuite/gas/arm/vcmp-zero-bad.d, * testsuite/gas/arm/vcvt-bad.d, * testsuite/gas/arm/vfp-bad.d, * testsuite/gas/arm/vfp-bad_t2.d, * testsuite/gas/arm/vfpv3-d16-bad.d, * testsuite/gas/arm/vldm-thumb-bad.d, * testsuite/gas/arm/vldmw-arm-bad.d, * testsuite/gas/arm/vldmw-thumb-bad.d, * testsuite/gas/arm/vstr-arm-bad.d, * testsuite/gas/arm/vstr-thumb-bad.d, * testsuite/gas/arm/weakdef-2.d, * testsuite/gas/avr/pr21621.d, * testsuite/gas/elf/bad-bss.d, * testsuite/gas/elf/bad-group.d, * testsuite/gas/elf/bad-group.err, * testsuite/gas/elf/bad-section-flag.d, * testsuite/gas/elf/bad-section-flag.err, * testsuite/gas/elf/bad-size.d, * testsuite/gas/elf/bad-size.err, * testsuite/gas/elf/common1.d, * testsuite/gas/elf/common2.d, * testsuite/gas/elf/common5a.d, * testsuite/gas/elf/common5b.d, * testsuite/gas/elf/common5c.d, * testsuite/gas/elf/common5d.d, * testsuite/gas/elf/dwarf2-10.d, * testsuite/gas/elf/dwarf2-8.d, * testsuite/gas/elf/dwarf2-9.d, * testsuite/gas/elf/pr21661.d, * testsuite/gas/elf/pseudo.d, * testsuite/gas/elf/section13.d, * testsuite/gas/i386/bad-size.d, * testsuite/gas/i386/bundle-bad.d, * testsuite/gas/i386/ilp32/x86-64-sse-check-warn.d, * testsuite/gas/i386/intel-intel.d, * testsuite/gas/i386/intel.d, * testsuite/gas/i386/intelok.d, * testsuite/gas/i386/mpx-add-bnd-prefix.d, * testsuite/gas/i386/sse-check-warn.d, * testsuite/gas/i386/string-ok.d, * testsuite/gas/i386/vgather-check-warn.d, * testsuite/gas/i386/x86-64-mpx-add-bnd-prefix.d, * testsuite/gas/i386/x86-64-sse-check-warn.d, * testsuite/gas/i386/x86-64-vgather-check-warn.d, * testsuite/gas/mips/addiu-error.d, * testsuite/gas/mips/branch-extern-3.d, * testsuite/gas/mips/branch-extern-4.d, * testsuite/gas/mips/branch-local-2.d, * testsuite/gas/mips/branch-local-3.d, * testsuite/gas/mips/branch-local-5.d, * testsuite/gas/mips/branch-local-6.d, * testsuite/gas/mips/branch-local-n32-2.d, * testsuite/gas/mips/branch-local-n32-3.d, * testsuite/gas/mips/branch-local-n32-5.d, * testsuite/gas/mips/branch-local-n32-6.d, * testsuite/gas/mips/branch-local-n64-2.d, * testsuite/gas/mips/branch-local-n64-3.d, * testsuite/gas/mips/branch-local-n64-5.d, * testsuite/gas/mips/branch-local-n64-6.d, * testsuite/gas/mips/branch-section-3.d, * testsuite/gas/mips/branch-section-4.d, * testsuite/gas/mips/branch-weak-3.d, * testsuite/gas/mips/branch-weak-4.d, * testsuite/gas/mips/break-error.d, * testsuite/gas/mips/crc-err.d, * testsuite/gas/mips/crc64-err.d, * testsuite/gas/mips/ginv-err.d, * testsuite/gas/mips/interaptiv-mr2@isa-override-1.d, * testsuite/gas/mips/interaptiv-mr2@isa-override-2.d, * testsuite/gas/mips/isa-override-2.d, * testsuite/gas/mips/lui-1.d, * testsuite/gas/mips/lui-2.d, * testsuite/gas/mips/macro-warn-1-n32.d, * testsuite/gas/mips/macro-warn-1.d, * testsuite/gas/mips/macro-warn-2.d, * testsuite/gas/mips/macro-warn-3.d, * testsuite/gas/mips/macro-warn-4.d, * testsuite/gas/mips/micromips-branch-delay.d, * testsuite/gas/mips/micromips-branch-relax-insn32-pic.d, * testsuite/gas/mips/micromips-branch-relax-insn32.d, * testsuite/gas/mips/micromips-branch-relax-pic.d, * testsuite/gas/mips/micromips-branch-relax.d, * testsuite/gas/mips/micromips-compact.d, * testsuite/gas/mips/micromips-insn32.d, * testsuite/gas/mips/micromips-noinsn32.d, * testsuite/gas/mips/micromips-size-1.d, * testsuite/gas/mips/micromips-trap.d, * testsuite/gas/mips/micromips-warn-branch-delay.d, * testsuite/gas/mips/micromips.d, * testsuite/gas/mips/micromips@addiu-error.d, * testsuite/gas/mips/micromips@mips5-fp.d, * testsuite/gas/mips/micromips@msa-relax.d, * testsuite/gas/mips/micromips@relax-at.d, * testsuite/gas/mips/micromips@relax-offset.d, * testsuite/gas/mips/micromips@relax.d, * testsuite/gas/mips/mips-gp32-fp64-pic.d, * testsuite/gas/mips/mips-gp32-fp64.d, * testsuite/gas/mips/mips-gp64-fp32-pic.d, * testsuite/gas/mips/mips-gp64-fp32.d, * testsuite/gas/mips/mips-gp64-fp64.d, * testsuite/gas/mips/mips16-32@mips16-insn-e.d, * testsuite/gas/mips/mips16-32@mips16-insn-t.d, * testsuite/gas/mips/mips16-32@mips16-macro-e.d, * testsuite/gas/mips/mips16-32@mips16-macro-t.d, * testsuite/gas/mips/mips16-32@mips16-macro.d, * testsuite/gas/mips/mips16-64@mips16-insn-e.d, * testsuite/gas/mips/mips16-64@mips16-insn-t.d, * testsuite/gas/mips/mips16-absolute-reloc-2.d, * testsuite/gas/mips/mips16-absolute-reloc-3.d, * testsuite/gas/mips/mips16-branch-addend-5.d, * testsuite/gas/mips/mips16-branch-unextended-1.d, * testsuite/gas/mips/mips16-branch-unextended-2.d, * testsuite/gas/mips/mips16-insn-e.d, * testsuite/gas/mips/mips16-insn-t.d, * testsuite/gas/mips/mips16-jal-t.d, * testsuite/gas/mips/mips16-macro-e.d, * testsuite/gas/mips/mips16-macro-t.d, * testsuite/gas/mips/mips16-pcrel-2.d, * testsuite/gas/mips/mips16-pcrel-3.d, * testsuite/gas/mips/mips16-pcrel-4.d, * testsuite/gas/mips/mips16-pcrel-5.d, * testsuite/gas/mips/mips16-pcrel-absolute-n64-4.d, * testsuite/gas/mips/mips16-pcrel-absolute-n64-6.d, * testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-4.d, * testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-6.d, * testsuite/gas/mips/mips16-pcrel-addend-n64-8.d, * testsuite/gas/mips/mips16-pcrel-addend-n64-9.d, * testsuite/gas/mips/mips16-pcrel-addend-pic-8.d, * testsuite/gas/mips/mips16-pcrel-addend-pic-9.d, * testsuite/gas/mips/mips16-pcrel-delay-0.d, * testsuite/gas/mips/mips16-pcrel-delay-1.d, * testsuite/gas/mips/mips16-pcrel-n64-0.d, * testsuite/gas/mips/mips16-pcrel-n64-1.d, * testsuite/gas/mips/mips16-pcrel-pic-0.d, * testsuite/gas/mips/mips16-pcrel-pic-1.d, * testsuite/gas/mips/mips16-reg-error.d, * testsuite/gas/mips/mips16-relax-unextended-1.d, * testsuite/gas/mips/mips16-relax-unextended-2.d, * testsuite/gas/mips/mips16-reloc-error.d, * testsuite/gas/mips/mips16-sdrasp.d, * testsuite/gas/mips/mips16@addiu-error.d, * testsuite/gas/mips/mips16e-32@mips16-insn-e.d, * testsuite/gas/mips/mips16e-32@mips16-insn-t.d, * testsuite/gas/mips/mips16e-32@mips16-macro-e.d, * testsuite/gas/mips/mips16e-32@mips16-macro-t.d, * testsuite/gas/mips/mips16e-32@mips16-macro.d, * testsuite/gas/mips/mips16e-32@mips16e-64.d, * testsuite/gas/mips/mips16e2-32@mips16-insn-e.d, * testsuite/gas/mips/mips16e2-32@mips16-insn-t.d, * testsuite/gas/mips/mips16e2-32@mips16-macro-e.d, * testsuite/gas/mips/mips16e2-32@mips16-macro-t.d, * testsuite/gas/mips/mips16e2-32@mips16-macro.d, * testsuite/gas/mips/mips16e2-32@mips16e-64.d, * testsuite/gas/mips/mips16e2-copy-err.d, * testsuite/gas/mips/mips16e2-imm-error.d, * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-insn-e.d, * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-insn-t.d, * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro-e.d, * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro-t.d, * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro.d, * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-sub.d, * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-64-sub.d, * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-64.d, * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-sub.d, * testsuite/gas/mips/mips16e2-mt-err.d, * testsuite/gas/mips/mips16e2-reloc-error.d, * testsuite/gas/mips/mips16e2@lui-2.d, * testsuite/gas/mips/mips16e2@mips16-pcrel-2.d, * testsuite/gas/mips/mips16e2@mips16-pcrel-delay-0.d, * testsuite/gas/mips/mips16e2@mips16-pcrel-delay-1.d, * testsuite/gas/mips/mips1@isa-override-2.d, * testsuite/gas/mips/mips1@relax-offset.d, * testsuite/gas/mips/mips2@isa-override-2.d, * testsuite/gas/mips/mips32-mt.d, * testsuite/gas/mips/mips32@isa-override-2.d, * testsuite/gas/mips/mips32r2@isa-override-2.d, * testsuite/gas/mips/mips32r3@isa-override-2.d, * testsuite/gas/mips/mips32r5@isa-override-2.d, * testsuite/gas/mips/mips32r6@isa-override-2.d, * testsuite/gas/mips/mips5-fp.d, * testsuite/gas/mips/mips64-mips3d-incl.d, * testsuite/gas/mips/mips64-mips3d.d, * testsuite/gas/mips/mipsr6@mips5-fp.d, * testsuite/gas/mips/msa-relax.d, * testsuite/gas/mips/octeon3@isa-override-1.d, * testsuite/gas/mips/octeon3@isa-override-2.d, * testsuite/gas/mips/option-pic-relax-2.d, * testsuite/gas/mips/option-pic-relax-3.d, * testsuite/gas/mips/option-pic-relax-4.d, * testsuite/gas/mips/option-pic-relax-5.d, * testsuite/gas/mips/org-1.d, * testsuite/gas/mips/org-10.d, * testsuite/gas/mips/org-4.d, * testsuite/gas/mips/org-5.d, * testsuite/gas/mips/org-6.d, * testsuite/gas/mips/r3000@isa-override-2.d, * testsuite/gas/mips/r3000@relax-offset.d, * testsuite/gas/mips/r3900@isa-override-2.d, * testsuite/gas/mips/r3900@relax-offset.d, * testsuite/gas/mips/reginfo-2-n32.d, * testsuite/gas/mips/reginfo-2.d, * testsuite/gas/mips/relax-at.d, * testsuite/gas/mips/relax-offset.d, * testsuite/gas/mips/relax-swap1-mips1.d, * testsuite/gas/mips/relax-swap1-mips2.d, * testsuite/gas/mips/relax-swap2.d, * testsuite/gas/mips/relax.d, * testsuite/gas/mips/save-err.d, * testsuite/gas/mips/set-arch.d, * testsuite/gas/mips/xpa-err.d, * testsuite/gas/mips/xpa-virt-err.d, * testsuite/gas/msp430/bad.d, * testsuite/gas/msp430/errata_warns.d, * testsuite/gas/msp430/pr22133.d, * testsuite/gas/ppc/lsp-checks.d, * testsuite/gas/ppc/misalign.d, * testsuite/gas/ppc/spe2-checks.d, * testsuite/gas/riscv/bad-csr.d, * testsuite/gas/riscv/c-addi16sp-fail.d, * testsuite/gas/riscv/c-addi4spn-fail.d, * testsuite/gas/riscv/c-fld-fsd-fail.d, * testsuite/gas/riscv/c-lui-fail.d, * testsuite/gas/riscv/c-nonzero-imm.d, * testsuite/gas/riscv/c-nonzero-reg.d, * testsuite/gas/riscv/fence-fail.d, * testsuite/gas/riscv/lla64-fail.d, * testsuite/gas/riscv/rouding-fail.d, * testsuite/gas/sh/pcrel-hms.d, * testsuite/gas/sh/pcrel.d, * testsuite/gas/sparc/dcti-couples-v8.d, * testsuite/gas/sparc/dcti-couples-v9c.d, * testsuite/gas/tic6x/arch-invalid-1.d, * testsuite/gas/tic6x/arch-invalid-2.d, * testsuite/gas/tic6x/dir-junk.d, * testsuite/gas/tic6x/insns-bad-1.d, * testsuite/gas/tic6x/insns-bad-2.d, * testsuite/gas/tic6x/parallel-bad-1.d, * testsuite/gas/tic6x/parallel-bad-2.d, * testsuite/gas/tic6x/parallel-bad-3.d, * testsuite/gas/tic6x/parallel-bad-4.d, * testsuite/gas/tic6x/predicate-bad-1.d, * testsuite/gas/tic6x/predicate-bad-2.d, * testsuite/gas/tic6x/predicate-bad-3.d, * testsuite/gas/tic6x/reloc-bad-1.d, * testsuite/gas/tic6x/reloc-bad-2.d, * testsuite/gas/tic6x/reloc-bad-3.d, * testsuite/gas/tic6x/reloc-bad-4.d, * testsuite/gas/tic6x/reloc-bad-5.d, * testsuite/gas/tic6x/reloc-bad-6.d, * testsuite/gas/tic6x/resource-func-unit-1.d, * testsuite/gas/tic6x/resource-func-unit-2.d, * testsuite/gas/tic6x/sploop-bad-1.d, * testsuite/gas/tic6x/sploop-bad-2.d, * testsuite/gas/tic6x/sploop-bad-3.d, * testsuite/gas/tic6x/sploop-bad-4.d, * testsuite/gas/tic6x/sploop-bad-5.d, * testsuite/gas/tic6x/sploop-bad-6.d, * testsuite/gas/tic6x/sploop-bad-7.d, * testsuite/gas/tic6x/unwind-bad-1.d, * testsuite/gas/tic6x/unwind-bad-2.d, * testsuite/lib/gas-defs.exp (run_dump_tests): Replace stderr and error-output with warning_output and error_output. (slurp_options): Accept underscore rather than dash. commit b47b60aad847ba86b7fa7cd77e18ee8af7418f09 Author: Alan Modra Date: Thu Sep 13 15:44:00 2018 +0930 gas run_dump_test rename not-target and not-skip Use notarget and noskip, like the ld testsuite. * testsuite/gas/aarch64/codealign.d, * testsuite/gas/aarch64/litpool.d, * testsuite/gas/aarch64/mapmisc.d, * testsuite/gas/aarch64/mapping.d, * testsuite/gas/aarch64/mapping2.d, * testsuite/gas/aarch64/mapping3.d, * testsuite/gas/aarch64/mapping4.d, * testsuite/gas/all/align.d, * testsuite/gas/all/fill-1.d, * testsuite/gas/all/incbin.d, * testsuite/gas/all/redef2.d, * testsuite/gas/all/redef3.d, * testsuite/gas/all/relax.d, * testsuite/gas/all/sleb128-2.d, * testsuite/gas/all/sleb128-4.d, * testsuite/gas/all/sleb128-5.d, * testsuite/gas/all/sleb128-7.d, * testsuite/gas/all/sleb128-9.d, * testsuite/gas/all/weakref1.d, * testsuite/gas/all/weakref1g.d, * testsuite/gas/all/weakref1l.d, * testsuite/gas/all/weakref1u.d, * testsuite/gas/all/weakref1w.d, * testsuite/gas/arm/abs12.d, * testsuite/gas/arm/arch4t.d, * testsuite/gas/arm/arch7.d, * testsuite/gas/arm/arch7a-mp.d, * testsuite/gas/arm/arch7em.d, * testsuite/gas/arm/archv8m-main-dsp-5.d, * testsuite/gas/arm/armv8a-automatic-hlt.d, * testsuite/gas/arm/armv8a-automatic-lda.d, * testsuite/gas/arm/attr-syntax.d, * testsuite/gas/arm/automatic-bw.d, * testsuite/gas/arm/automatic-cbz.d, * testsuite/gas/arm/automatic-clrex.d, * testsuite/gas/arm/automatic-lda.d, * testsuite/gas/arm/automatic-ldaex.d, * testsuite/gas/arm/automatic-ldaexb.d, * testsuite/gas/arm/automatic-ldrex.d, * testsuite/gas/arm/automatic-ldrexd.d, * testsuite/gas/arm/automatic-movw.d, * testsuite/gas/arm/automatic-sdiv.d, * testsuite/gas/arm/automatic-strexb.d, * testsuite/gas/arm/barrier-thumb.d, * testsuite/gas/arm/barrier.d, * testsuite/gas/arm/bignum1.d, * testsuite/gas/arm/blx-bad.d, * testsuite/gas/arm/blx-local.s, * testsuite/gas/arm/crc32-armv8-a-bad.d, * testsuite/gas/arm/crc32-armv8-a.d, * testsuite/gas/arm/crc32-armv8-r-bad.d, * testsuite/gas/arm/crc32-armv8-r.d, * testsuite/gas/arm/eabi_attr_1.d, * testsuite/gas/arm/fp-save.d, * testsuite/gas/arm/local_function.d, * testsuite/gas/arm/local_label_coff.d, * testsuite/gas/arm/local_label_wince.d, * testsuite/gas/arm/mapping.d, * testsuite/gas/arm/mapping2.d, * testsuite/gas/arm/mapping3.d, * testsuite/gas/arm/mapping4.d, * testsuite/gas/arm/mapshort-elf.d, * testsuite/gas/arm/mask_1-armv8-a.d, * testsuite/gas/arm/mask_1-armv8-r.d, * testsuite/gas/arm/mrs-msr-thumb-v6t2.d, * testsuite/gas/arm/mrs-msr-thumb-v7-m.d, * testsuite/gas/arm/mrs-msr-thumb-v7e-m.d, * testsuite/gas/arm/nomapping.d, * testsuite/gas/arm/pic.d, * testsuite/gas/arm/pic_vxworks.d, * testsuite/gas/arm/plt-1.d, * testsuite/gas/arm/reloc-bad.d, * testsuite/gas/arm/reloc-fdpic.d, * testsuite/gas/arm/t2-branch-global.d, * testsuite/gas/arm/thumb.d, * testsuite/gas/arm/thumb2_ldr_immediate_armv6.d, * testsuite/gas/arm/thumb2_ldr_immediate_highregs_armv6t2.d, * testsuite/gas/arm/thumb2_pool.d, * testsuite/gas/arm/thumb2_vpool.d, * testsuite/gas/arm/thumb2_vpool_be.d, * testsuite/gas/arm/thumb32.d, * testsuite/gas/arm/thumbver.d, * testsuite/gas/arm/tls.d, * testsuite/gas/arm/tls_vxworks.d, * testsuite/gas/arm/undefined_coff.d, * testsuite/gas/arm/unwind.d, * testsuite/gas/arm/unwind_vxworks.d, * testsuite/gas/arm/v4bx.d, * testsuite/gas/arm/vfma1.d, * testsuite/gas/arm/vldm-arm.d, * testsuite/gas/arm/weakdef-1.d, * testsuite/gas/arm/weakdef-2.d, * testsuite/gas/arm/wince.d, * testsuite/gas/arm/wince_inst.d, * testsuite/gas/elf/bignums.d, * testsuite/gas/elf/common5a.d, * testsuite/gas/elf/common5b.d, * testsuite/gas/elf/common5c.d, * testsuite/gas/elf/common5d.d, * testsuite/gas/elf/dwarf2-1.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-2.d, * testsuite/gas/elf/dwarf2-3.d, * testsuite/gas/elf/dwarf2-4.d, * testsuite/gas/elf/dwarf2-5.d, * testsuite/gas/elf/dwarf2-6.d, * testsuite/gas/elf/dwarf2-7.d, * testsuite/gas/elf/dwarf2-8.d, * testsuite/gas/elf/dwarf2-9.d, * testsuite/gas/elf/group0c.d, * testsuite/gas/elf/group1a.d, * testsuite/gas/elf/group2.d, * testsuite/gas/elf/groupautoa.d, * testsuite/gas/elf/ifunc-1.d, * testsuite/gas/elf/section11.d, * testsuite/gas/elf/section4.d, * testsuite/gas/elf/section7.d, * testsuite/gas/elf/syms.d, * testsuite/gas/elf/symver.d, * testsuite/gas/i386/iamcu-1.d, * testsuite/gas/i386/iamcu-2.d, * testsuite/gas/i386/iamcu-3.d, * testsuite/gas/i386/iamcu-4.d, * testsuite/gas/i386/iamcu-5.d, * testsuite/gas/i386/ilp32/rex.d, * testsuite/gas/i386/k1om.d, * testsuite/gas/i386/l1om.d, * testsuite/gas/i386/rex.d, * testsuite/gas/mach-o/sections-3.d, * testsuite/gas/macros/irp.d, * testsuite/gas/macros/repeat.d, * testsuite/gas/macros/rept.d, * testsuite/gas/macros/semi.d, * testsuite/gas/macros/test2.d, * testsuite/gas/macros/test3.d, * testsuite/gas/macros/vararg.d, * testsuite/gas/mips/jal-svr4pic-local.d, * testsuite/gas/mips/micromips@jal-svr4pic-local.d, * testsuite/gas/mips/mips1@jal-svr4pic-local.d, * testsuite/gas/mips/r3000@jal-svr4pic-local.d, * testsuite/gas/ppc/machine.d, * testsuite/lib/gas-defs.exp (run_dump_test): Replace not-target and not-skip with notarget and noskip. commit e8d88459e6f60c13c83c3b640ccc495402e36eaf Author: Alan Modra Date: Thu Sep 13 15:36:14 2018 +0930 binutils run_dump_test rename not-target and not-skip Use notarget and noskip, like the ld testsuite. * testsuite/binutils-all/copy-2.d, * testsuite/binutils-all/copy-3.d, * testsuite/binutils-all/copy-4.d, * testsuite/binutils-all/elfedit-1.d, * testsuite/binutils-all/note-1.d, * testsuite/binutils-all/note-2-64.d, * testsuite/binutils-all/strip-11.d, * testsuite/binutils-all/strip-13.d, * testsuite/binutils-all/strip-14.d, * testsuite/binutils-all/testranges.d, * testsuite/binutils-all/x86-64/pr23494a-x32.d, * testsuite/binutils-all/x86-64/pr23494a.d, * testsuite/binutils-all/x86-64/pr23494b-x32.d, * testsuite/binutils-all/x86-64/pr23494b.d, * testsuite/binutils-all/x86-64/pr23494c-x32.d, * testsuite/binutils-all/x86-64/pr23494c.d, * testsuite/binutils-all/x86-64/pr23494d-x32.d, * testsuite/binutils-all/x86-64/pr23494d.d, * testsuite/binutils-all/x86-64/pr23494e-x32.d, * testsuite/binutils-all/x86-64/pr23494e.d, * testsuite/lib/utils-lib.exp (run_dump_test): Replace not-target and not-skip with notarget and noskip. commit 04ade4bc669b28b3994197d154cb392515c758d4 Author: Alan Modra Date: Thu Sep 13 14:43:34 2018 +0930 Remove run_dump_test support for objcopy as a dump program We have three copies of run_dump_test in the testsuite. This is a first step towards consolidating them. A few tests use objcopy to convert to verilog or srec output, then check that output is as expected. Those tests can just as easily use objdump, keeping the set of dump programs (addr2line, nm, objdump, readelf, size) separate from utilities under test. That in turn makes auto-detecting the dump program possible in more places. binutils/ * testsuite/binutils-all/group-7a.d, * testsuite/binutils-all/group-7b.d, * testsuite/binutils-all/group-7c.d, * testsuite/binutils-all/symbols-1.d, * testsuite/binutils-all/symbols-2.d, * testsuite/binutils-all/symbols-3.d, * testsuite/binutils-all/symbols-4.d: Remove DUMPPROG. gas/ * testsuite/gas/mri/char.d: Don't objcopy to srec, objdump instead. * testsuite/gas/mri/float.d: Likewise. * testsuite/lib/gas-defs.exp (run_dump_test): Remove support for objcopy as a dump tool. ld/ * testsuite/ld-elf/interleave-0.d, * testsuite/ld-elf/interleave-4.d: Don't objcopy to srec, objdump instead. * testsuite/ld-gc/all-debug-sections.d, * testsuite/ld-scripts/provide-4.d, * testsuite/ld-scripts/provide-5.d, * testsuite/ld-scripts/provide-6.d, * testsuite/ld-scripts/provide-7.d, * testsuite/ld-scripts/provide-8.d, * testsuite/ld-scripts/segment-start.d: Remove PROG, specify nm instead. * testsuite/lib/ld-lib.exp (run_dump_test): Remove support for objcopy as a dump tool. commit a3a6aef4090ca13d065d116f5d77f4e3f7bcbf9a Author: Tom Tromey Date: Fri Sep 7 19:28:39 2018 -0600 Fix possible exception leak in python.c In the Python code, gdb exceptions may not leak into the Python core. execute_gdb_command was calling bpstat_do_actions outside of a TRY/CATCH; which seemed risky. I don't have a test case for this, but if bpstat_do_actions could ever throw, it could crash gdb. This patch introduces a new scope in order to preserve the current semantics, so it is looks a bit bigger than it really is. Tested on x86-64 Fedora 28. gdb/ChangeLog 2018-09-07 Tom Tromey * python/python.c (execute_gdb_command): Call bpstat_do_actions inside the TRY. commit f70e088ff4ebf79a4bea45e84a8b042706e6e083 Author: Sandra Loosemore Date: Fri Sep 14 20:09:46 2018 -0700 Provide type_align gdbarch function for nios2. 2018-09-14 Sandra Loosemore gdb/ * nios2-tdep.c (nios2_type_align): New. (nios2_gdb_arch_init): Install type_align hook. commit 6c414b69235baf00bd8846cef4d31d8b42436c16 Author: GDB Administrator Date: Sat Sep 15 00:00:52 2018 +0000 Automatic date update in version.in commit 2fabdf3381dfc4bc89f6339c3db3e4bfe7ca8b14 Author: Andrew Burgess Date: Mon Sep 10 13:50:34 2018 +0100 gdb: Don't leak memory with TYPE_ALLOC / TYPE_ZALLOC This patch started as an observation from valgrind that GDB appeared to be loosing track of some memory associated with types. An example valgrind stack would be: 24 bytes in 1 blocks are possibly lost in loss record 419 of 5,361 at 0x4C2EA1E: calloc (vg_replace_malloc.c:711) by 0x623D26: xcalloc (common-utils.c:85) by 0x623D65: xzalloc(unsigned long) (common-utils.c:95) by 0x72A066: make_function_type(type*, type**) (gdbtypes.c:510) by 0x72A098: lookup_function_type(type*) (gdbtypes.c:521) by 0x73635D: gdbtypes_post_init(gdbarch*) (gdbtypes.c:5439) by 0x727590: gdbarch_data(gdbarch*, gdbarch_data*) (gdbarch.c:5230) by 0x735B99: builtin_type(gdbarch*) (gdbtypes.c:5313) by 0x514D95: elf_rel_plt_read(minimal_symbol_reader&, objfile*, bfd_symbol**) (elfread.c:542) by 0x51662F: elf_read_minimal_symbols(objfile*, int, elfinfo const*) (elfread.c:1121) by 0x5168A5: elf_symfile_read(objfile*, enum_flags) (elfread.c:1207) by 0x8520F5: read_symbols(objfile*, enum_flags) (symfile.c:794) When we look in make_function_type we find a call to TYPE_ZALLOC (inside the INIT_FUNC_SPECIFIC macro). It is this call to TYPE_ZALLOC that is allocating memory with xcalloc, that is then getting lost. The problem is tht calling TYPE_ALLOC or TYPE_ZALLOC currently allocates memory from either the objfile obstack or by using malloc. The problem with this is that types are allocated either on the objfile obstack, or on the gdbarch obstack. As a result, if we discard a type associated with an objfile then auxiliary data allocated with TYPE_(Z)ALLOC will be correctly discarded. But, if we were ever to discard a gdbarch then any auxiliary type data would be leaked. Right now there are very few places in GDB where a gdbarch is ever discarded, but it shouldn't hurt to close down these bugs as we spot them. This commit ensures that auxiliary type data is allocated from the same obstack as the type itself, which should reduce leaked memory. The one problem case that I found with this change was in eval.c, where in one place we allocate a local type structure, and then used TYPE_ZALLOC to allocate some space for the type. This local type is neither object file owned, nor gdbarch owned, and so the updated TYPE_ALLOC code is unable to find an objstack to allocate space on. My proposed solution for this issue is that the space should be allocated with a direct call to xzalloc. We could extend TYPE_ALLOC to check for type->gdbarch being null, and then fall back to a direct call to xzalloc, however, I think that making this rare case of a local type require special handling is not a bad thing, this serves to highlight that clearing up the memory will require special handling too. This special case of a local type is interesting as the types owner field (contained within the main_type) is completely null. While reflecting on this I looked at how types use the get_type_arch function. It seems clear that, based on how this is used, it is never intended that null will be returned from this function. This only goes to reinforce, how locally alloctaed types, with no owner, are both special, and need to be handled carefully. To help spot errors earlier, I added an assert into get_type_arch that the returned arch is not null. Inside gdbarch.c I found a few other places where auxiliary type data was being allocated directly on the heap rather than on the types obstack. I have fixed these to call TYPE_ALLOC now. Finally, it is worth noting that as we don't clean up our gdbarch objects yet, then this will not make much of an impact on the amount of memory reported as lost at program termination time. Memory allocated for auxiliary type information is still not freed, however, it is now on the correct obstack. If we do ever start freeing our gdbarch structures then the associated type data will be cleaned up correctly. Tested on X86-64 GNU/Linux with no regressions. gdb/ChangeLog: * eval.c (fake_method::fake_method): Call xzalloc directly for a type that is neither object file owned, nor gdbarch owned. * gdbtypes.c (get_type_gdbarch): Add an assert that returned gdbarch is non-NULL. (alloc_type_instance): Allocate non-objfile owned types on the gdbarch obstack. (copy_type_recursive): Allocate TYPE_FIELDS and TYPE_RANGE_DATA using TYPE_ALLOC to ensure memory is allocated on the correct obstack. * gdbtypes.h (TYPE_ALLOC): Allocate space on either the objfile obstack, or the gdbarch obstack. (TYPE_ZALLOC): Rewrite using TYPE_ALLOC. commit 982d0151e9ada98e2b5577f9af797b396e48f815 Author: Maciej W. Rozycki Date: Fri Sep 14 20:22:57 2018 +0100 PR ld/21375: MIPS: Add test cases for undefined weaks resolving to zero Define a new procedure, `run_mips_undefweak_test', and use it to iterate over several scenarios involving undefined weak symbols resolving to zero, verifying expected regular MIPS, MIPS16 and microMIPS code, GOT and dynamic symbol table generation, as well as the setting of the EI_ABIVERSION field in the ELF file header. In particular ensure that symbol versioning works and that `__gnu_absolute_zero' gets assigned a version (any will do) even if it has not been listed for exportation in a linker version script. ld/ PR ld/21375 * testsuite/ld-mips-elf/pr21375-abi.hd: New test. * testsuite/ld-mips-elf/pr21375-noabi.hd: New test. * testsuite/ld-mips-elf/pr21375.dd: New test. * testsuite/ld-mips-elf/pr21375h.dd: New test. * testsuite/ld-mips-elf/pr21375p.dd: New test. * testsuite/ld-mips-elf/pr21375ph.dd: New test. * testsuite/ld-mips-elf/pr21375s.dd: New test. * testsuite/ld-mips-elf/pr21375s-n32.dd: New test. * testsuite/ld-mips-elf/pr21375s-n64.dd: New test. * testsuite/ld-mips-elf/pr21375sh.dd: New test. * testsuite/ld-mips-elf/pr21375sh-n32.dd: New test. * testsuite/ld-mips-elf/pr21375sh-n64.dd: New test. * testsuite/ld-mips-elf/pr21375shg.dd: New test. * testsuite/ld-mips-elf/pr21375sx.dd: New test. * testsuite/ld-mips-elf/pr21375sxh.dd: New test. * testsuite/ld-mips-elf/pr21375sm16.dd: New test. * testsuite/ld-mips-elf/pr21375sm16h.dd: New test. * testsuite/ld-mips-elf/pr21375su.dd: New test. * testsuite/ld-mips-elf/pr21375su-n32.dd: New test. * testsuite/ld-mips-elf/pr21375su-n64.dd: New test. * testsuite/ld-mips-elf/pr21375suh.dd: New test. * testsuite/ld-mips-elf/pr21375suh-n32.dd: New test. * testsuite/ld-mips-elf/pr21375suh-n64.dd: New test. * testsuite/ld-mips-elf/pr21375sux.dd: New test. * testsuite/ld-mips-elf/pr21375suxh.dd: New test. * testsuite/ld-mips-elf/pr21375.gd: New test. * testsuite/ld-mips-elf/pr21375h.gd: New test. * testsuite/ld-mips-elf/pr21375p.gd: New test. * testsuite/ld-mips-elf/pr21375ph.gd: New test. * testsuite/ld-mips-elf/pr21375s.gd: New test. * testsuite/ld-mips-elf/pr21375s-n32.gd: New test. * testsuite/ld-mips-elf/pr21375s-n64.gd: New test. * testsuite/ld-mips-elf/pr21375sh.gd: New test. * testsuite/ld-mips-elf/pr21375sh-n32.gd: New test. * testsuite/ld-mips-elf/pr21375sh-n64.gd: New test. * testsuite/ld-mips-elf/pr21375shg.gd: New test. * testsuite/ld-mips-elf/pr21375shl.gd: New test. * testsuite/ld-mips-elf/pr21375shv.gd: New test. * testsuite/ld-mips-elf/pr21375sx.gd: New test. * testsuite/ld-mips-elf/pr21375sxh.gd: New test. * testsuite/ld-mips-elf/pr21375.sd: New test. * testsuite/ld-mips-elf/pr21375-irix.sd: New test. * testsuite/ld-mips-elf/pr21375h.sd: New test. * testsuite/ld-mips-elf/pr21375h-irix.sd: New test. * testsuite/ld-mips-elf/pr21375p.sd: New test. * testsuite/ld-mips-elf/pr21375p-irix.sd: New test. * testsuite/ld-mips-elf/pr21375ph.sd: New test. * testsuite/ld-mips-elf/pr21375ph-irix.sd: New test. * testsuite/ld-mips-elf/pr21375s.sd: New test. * testsuite/ld-mips-elf/pr21375s-irix.sd: New test. * testsuite/ld-mips-elf/pr21375s-n32.sd: New test. * testsuite/ld-mips-elf/pr21375s-n32-irix.sd: New test. * testsuite/ld-mips-elf/pr21375s-n64.sd: New test. * testsuite/ld-mips-elf/pr21375s-n64-irix.sd: New test. * testsuite/ld-mips-elf/pr21375sh.sd: New test. * testsuite/ld-mips-elf/pr21375sh-irix.sd: New test. * testsuite/ld-mips-elf/pr21375sh-n32.sd: New test. * testsuite/ld-mips-elf/pr21375sh-n32-irix.sd: New test. * testsuite/ld-mips-elf/pr21375sh-n64.sd: New test. * testsuite/ld-mips-elf/pr21375sh-n64-irix.sd: New test. * testsuite/ld-mips-elf/pr21375shg.sd: New test. * testsuite/ld-mips-elf/pr21375shg-irix.sd: New test. * testsuite/ld-mips-elf/pr21375shl.sd: New test. * testsuite/ld-mips-elf/pr21375shl-irix.sd: New test. * testsuite/ld-mips-elf/pr21375shv.sd: New test. * testsuite/ld-mips-elf/pr21375shv-irix.sd: New test. * testsuite/ld-mips-elf/pr21375sx.sd: New test. * testsuite/ld-mips-elf/pr21375sx-irix.sd: New test. * testsuite/ld-mips-elf/pr21375sxh.sd: New test. * testsuite/ld-mips-elf/pr21375sxh-irix.sd: New test. * testsuite/ld-mips-elf/pr21375.ld: New test linker script. * testsuite/ld-mips-elf/pr21375-xgot.ld: New test linker script. * testsuite/ld-mips-elf/pr21375.ver: New test version script. * testsuite/ld-mips-elf/pr21375v.ver: New test version script. * testsuite/ld-mips-elf/pr21375.s: New test source. * testsuite/ld-mips-elf/pr21375-mips16.s: New test source. * testsuite/ld-mips-elf/pr21375-n32.s: New test source. * testsuite/ld-mips-elf/pr21375-n64.s: New test source. * testsuite/ld-mips-elf/pr21375-xgot.s: New test source. * testsuite/ld-mips-elf/mips-elf.exp (run_mips_undefweak_test): New procedure; run the new tests. commit 47275900adcda29161e2853179c1fbde4da4c86a Author: Maciej W. Rozycki Date: Fri Sep 14 20:22:56 2018 +0100 PR ld/21375: MIPS: Fix non-zero run-time value for undefined weaks We have an issue in the MIPS backend, with the handling of undefined hidden and internal weak symbols. References to such symbols are supposed to resolve to 0 according to the ELF gABI[1]: "Unresolved weak symbols have a zero value." and the 64-bit MIPS psABI[2]: "If a symbol with one of these [hidden or internal] attributes has no definition within the executable/DSO being linked, then it must be resolved to allocated space if common, resolved to zero if weak, or an error reported otherwise." however if a GOT relocation is used, then a local GOT entry is created and used to satisfy the reference. Such an entry is then (in DSO and PIE binaries) subject to the usual load-time relocation, which means a non-zero value will be returned if the base address is non-zero. This will defeat the usual run-time sequence like: void a (void) __attribute__ ((visibility ("hidden"), weak)); void x (void) { if (a) a (); } This can be reproduced with this simple code: $ cat libtest.c extern int a __attribute__ ((visibility ("hidden"), weak)); int * x (void) { return &a; } $ cat test.c int *x (void); int main (void) { printf ("a: %p\n", x ()); return 0; } $ gcc -shared -fPIC -o libtest.so libtest.c $ gcc -o test test.c -Wl,-rpath,$(pwd) libtest.so $ ./test a: 0x77184000 $ The usual approach targets take is making all the steps required to assign a GOT entry for the symbol referred, and then leave its contents at zero with no dynamic relocation attached, therefore ensuring that the value does not change at load time. However this is not going to work with the implicitly relocated GOT the MIPS psABI specifies[3]: "The dynamic linker relocates the global offset table by first adding the difference between the base where the shared object is loaded and the value of the dynamic tag DT_MIPS_BASE_ADDRESS to all local global offset table entries." and we cannot therefore use the local GOT part. And we cannot offhand use the global part either, as the symbol would then have to be exported and possibly wrongly preempt symbols in other modules involved in the dynamic load, because as per the ELF gABI[1] we are not allowed to enter a hidden or internal symbol into the dynamic symbol table (and then use its associated GOT entry): "A hidden symbol contained in a relocatable object must be either removed or converted to STB_LOCAL binding by the link-editor when the relocatable object is included in an executable file or shared object." and: "An internal symbol contained in a relocatable object must be either removed or converted to STB_LOCAL binding by the link-editor when the relocatable object is included in an executable file or shared object." So we have to choose something else. Our choice is further limited by the need for the reference associated with the GOT relocation to stay within the signed 16-bit limit from the GOT pointer base register, while being compliant with the ELF gABI and the MIPS psABI. However as Alan Modra has observed[4] one possibility is to edit (relax) the code such that the GOT reference is removed altogether. Based on these observations then modify MIPS BFD linker backend code to: 1. Interpret code associated with GOT relocations and relax the usual LW or LD instructions into a corresponding immediate load operation that places the value of 0 in the intended register, while leaving the GOT entry allocated and initialized as usually. 2. Leave any other instructions associated with GOT relocations in place and instead redirect the reference to a global GOT entry associated with a special `__gnu_absolute_zero' symbol created for this purpose, whose value is 0, SHN_ABS section marks it absolute, binding is global and export class protected, ensuring that the locally provided value is always used at load time, and that the value is not relocated by the dynamic loader. 3. Adjust any high-part GOT relocation used, typically associated with a LUI instruction, accordingly, so that run-time consistency is maintained, either by resolving to the original entry if the instruction associated with the corresponding low-part GOT relocation has been relaxed to an immediate load (in which case the value loaded with LUI will be overwritten), or by also redirecting the reference to `__gnu_absolute_zero' to complete the GOT access sequence if that symbol has been used. 4. Add a target `elf_backend_hide_symbol' hook, for the three MIPS ABIs, which prevents the `__gnu_absolute_zero' symbol from being forced local, to ensure that the redirection works and the symbol remains global/protected with existing linker scripts unchanged. 5. Observing the issue with handling SHN_ABS symbols in the GNU dynamic loader, covered by glibc PR 19818, set the EI_ABIVERSION field in the ELF file header produced to 4 (ABI_ABSOLUTE) if `__gnu_absolute_zero' symbol has been produced and the target configured indicates the GNU operating system, so that broken versions of the GNU dynamic loader gracefully reject the file in loading rather than going astray. Keep EI_ABIVERSION at the original value for other operating systems or if no `__gnu_absolute_zero' symbol has been made. The name of the special `__gnu_absolute_zero' has no meaning other than how a human reader can interpret it, as it is ignored in dynamic loading in the handling of the scenarios concerned. This is because the symbol resolves locally, and it's only the symbol's attributes that matter so that the associated GOT entry remains unchanged at load time. Therefore the name is somewhat arbitrary, observing however the need to use the name space reserved for the system so that it does not conflict with a possible user symbol, and hence the leading underscore, and also the `gnu' infix to denote a GNU feature. Other implementations wishing to address the problem in a similar way may choose a different name and have the solution still work, possibly with a mixture of modules used in a dynamic having symbols of different names provided, which will however not interact with each other due to the protected export class. The symbol can be referred explicitly, however the name is an internal implementation detail rather than a part of the ABI, and therefore no specific semantics is guaranteed. One limitation of this change is that if `__gnu_absolute_zero' has been already defined, then we do not wipe the old definition and all kinds of odd behavior can result. This is however like with other symbols we internally define, such as `_GLOBAL_OFFSET_TABLE_' or `__rld_map', and therefore left as a possible future enhancement. As an optimization the relaxation of LW and LD instructions to a load of immediate zero is always made, even SVR4 PIC code for code that will end up in a regular (non-PIE) executable, because there is a cache advantage with the avoidance of a load from the GOT, even if it is otherwise guaranteed to remain zero. It does not reliably happen though, due to a symbol exportation issue affecting executables, covered by PR ld/21805. One existing test case needs to be updated, as it triggers relaxation introduced with this change and consequently linker output does not match expectations anymore. As we want to keep the original issue covered with the test case modify it then to use the LWL instruction in place of LW, and adjust the output expected accordingly. References: [1] "System V Application Binary Interface - DRAFT - 19 October 2010", The SCO Group, Section "Symbol Table", [2] "64-bit ELF Object File Specification, Draft Version 2.5", MIPS Technologies / Silicon Graphics Computer Systems, Order Number 007-4658-001, Section 2.5 "Symbol Table", p. 22, [3] "SYSTEM V APPLICATION BINARY INTERFACE, MIPS RISC Processor Supplement, 3rd Edition", Section "Global Offset Table", p. 5-10, [4] "Undo dynamic symbol state after regular object sym type mismatch", bfd/ PR ld/21375 * elfxx-mips.h (_bfd_mips_elf_hide_symbol): New prototype. (_bfd_mips_elf_linker_flags): Update prototype. * elf32-mips.c (elf_backend_hide_symbol): New macro. * elf64-mips.c (elf_backend_hide_symbol): Likewise. * elfn32-mips.c (elf_backend_hide_symbol): Likewise. * elfxx-mips.c (mips_elf_link_hash_table): Add `use_absolute_zero' and `gnu_target' members. (mips_elf_record_global_got_symbol): Call `_bfd_mips_elf_hide_symbol' rather than `_bfd_elf_link_hash_hide_symbol'. (mips_use_local_got_p): Return FALSE if the symbol is absolute. (mips_elf_obtain_contents): Reorder function. (mips_elf_nullify_got_load): New function. (mips_elf_calculate_relocation): Add `contents' parameter. Nullify GOT loads or if it is not possible, then redirect GOT relocations to the `__gnu_absolute_zero' symbol, for references that are supposed to resolve to zero. (mips_elf_define_absolute_zero): New function. (_bfd_mips_elf_check_relocs): Prepare for arrangements made in `mips_elf_calculate_relocation' for references made via the GOT that are supposed to resolve to zero. (_bfd_mips_elf_hide_symbol): New function. (_bfd_mips_elf_linker_flags): Add the `gnu_target' parameter, set the `gnu_target' member of the MIPS hash table. (MIPS_LIBC_ABI_ABSOLUTE): New enumeration constant. (_bfd_mips_post_process_headers): Use it. ld/ PR ld/21375 * emultempl/mipself.em: Set `gnu_target' according to ${target}. (mips_create_output_section_statements): Update call to `_bfd_mips_elf_linker_flags'. * testsuite/ld-mips-elf/pr21334.s: Use LWL rather than LW. * testsuite/ld-mips-elf/pr21334.dd: Update accordingly. commit 98e10ffadbeb42c5adef14c1d5dd4093d57d57a1 Author: Maciej W. Rozycki Date: Fri Sep 14 20:22:56 2018 +0100 MIPS/BFD: Factor out relocated field storing Move code used to store the contents of a relocated field in output into a separate function, `mips_elf_store_contents', complementing existing `mips_elf_obtain_contents'. bfd/ * elfxx-mips.c (mips_elf_store_contents): New function... (mips_elf_perform_relocation): ... factored out from here. commit 6057dc97e4df5ca9692ddd948798eaa543c74cc7 Author: Maciej W. Rozycki Date: Fri Sep 14 20:22:56 2018 +0100 LD: Always make a SEGMENT_START expression section-relative Fix an issue with the SEGMENT_START builtin function where its result is absolute when taken from the default supplied, and section-relative when taken from a `-T' command-line override. This is against documentation, inconsistent and unexpected, and with PIE executables gives an incorrect result with the `__executable_start' symbol. Make the result of SEGMENT_START always section-relative then. ld/ * ldexp.c (fold_binary): Always make the result of SEGMENT_START section-relative. * testsuite/ld-scripts/segment-start.d: New test. * testsuite/ld-scripts/segment-start.ld: New test linker script. * testsuite/ld-scripts/segment-start.s: New test source. * testsuite/ld-scripts/script.exp: Run the new test. commit a000f8817b32eadd4aeadf9185634350a59e6649 Author: Maciej W. Rozycki Date: Fri Sep 14 20:22:56 2018 +0100 LD: Avoid a division by zero page size with SEGMENT_START handling Avoid a division by zero and thus a linker crash in SEGMENT_START script builtin function handling, by not checking the value supplied with a `-T' command-line override against the maximum page size if that has not been set. ld/ * ldexp.c (fold_binary): Check that `config.maxpagesize' is non-zero before using it as a divisor. commit 606cc04085a08f5e04eda6ef67f516bf81b691a1 Author: H.J. Lu Date: Fri Sep 14 12:21:08 2018 -0700 x86: Check non-WIG EVEX instruction encoding with -mevexwig=1 Verify that -mevexwig=1 has no impact on non-WIG EVEX instruction encoding. PR gas/23642 * testsuite/gas/i386/evex-wig2.d: New file. * testsuite/gas/i386/evex-wig2.s: Likewise. * testsuite/gas/i386/x86-64-evex-wig2.d: Likewise. * testsuite/gas/i386/x86-64-evex-wig2.s: Likewise. * testsuite/gas/i386/i386.exp: Run evex-wig2 and x86-64-evex-wig2. commit 6865c0435a54e6d5f1fcc5cdcd56895e9a3c5484 Author: H.J. Lu Date: Fri Sep 14 12:19:58 2018 -0700 x86: Support VEX/EVEX WIG encoding Add VEXWIG, defined as 3, to indicate that the VEX.W/EVEX.W bit is ignored by such VEX/EVEX instructions, aka WIG instructions. Set VexW=3 on VEX/EVEX WIG instructions. Update assembler to check VEXWIG when setting the VEX.W bit. gas/ PR gas/23642 * config/tc-i386.c (build_vex_prefix): Check VEXWIG when setting the VEX.W bit. (build_evex_prefix): Check VEXWIG when setting the EVEX.W bit. opcodes/ PR gas/23642 * i386-opc.h (VEXWIG): New. * i386-opc.tbl: Set VexW=3 on VEX/EVEX WIG instructions. * i386-tbl.h: Regenerated. commit 70df6fc9bc9e114f46532dbe58caa98e495b119c Author: H.J. Lu Date: Fri Sep 14 11:25:01 2018 -0700 x86: Handle unsupported static rounding in vcvt[u]si2sd in 32-bit mode Update x86 disassembler to handle the unsupported static rounding in vcvt[u]si2sd in 32-bit mode. gas/ PR binutils/23655 * testsuite/gas/i386/evex.d: Updated. opcodes/ PR binutils/23655 * i386-dis-evex.h: Replace EXxEVexR with EXxEVexR64 for vcvtsi2sd%LQ and vcvtusi2sd%LQ. * i386-dis.c (EXxEVexR64): New. (evex_rounding_64_mode): Likewise. (OP_Rounding): Handle evex_rounding_64_mode. commit d20dee9efad3c23c9098f03ac785037572258483 Author: H.J. Lu Date: Fri Sep 14 10:49:43 2018 -0700 x86: Properly decode EVEX.W in vcvt[u]si2s[sd] in 32-bit mode Update x86 disassembler to ignore the EVEX.W bit in EVEX vcvt[u]si2s[sd] instructions in 32-bit mode. gas/ PR binutils/23655 * testsuite/gas/i386/evex.d: New file. * testsuite/gas/i386/evex.s: Likewise. * testsuite/gas/i386/i386.exp: Run evex. opcodes/ PR binutils/23655 * i386-dis-evex.h (evex_table): Replace Eq with Edqa for vcvtsi2ss%LQ, vcvtsi2sd%LQ, vcvtusi2ss%LQ and vcvtusi2sd%LQ. * i386-dis.c (Edqa): New. (dqa_mode): Likewise. (intel_operand_size): Handle dqa_mode as m_mode. (OP_E_register): Handle dqa_mode as dq_mode. (OP_E_memory): Set shift for dqa_mode based on address_mode. commit 5074ad8a66ab2e955cf3ae4dba5773d5aa67b29b Author: H.J. Lu Date: Fri Sep 14 06:51:29 2018 -0700 i386: Reformat OP_E_memory * i386-dis.c (OP_E_memory): Reformat. commit b4b08fa2aa25f245c77921ad2405c15d30e421ed Author: Tom Tromey Date: Fri Sep 14 06:57:05 2018 -0600 Remove an unnecessary block in call_function_by_hand_dummy I noticed that call_function_by_hand_dummy has a block that only exists to declare a variable, like: { int i; for (i = ...0) ... } This patch removes the unnecessary and the extra indentation by moving the declaration into the "for". gdb/ChangeLog 2018-09-14 Tom Tromey * infcall.c (call_function_by_hand_dummy): Remove unnecessary block. commit fe75f42ee15944a0d14d3d42b242676fc2417352 Author: Lifang Xia Date: Fri Sep 14 21:02:51 2018 +0800 csky: Support PC relative diff relocation Define DIFF_EXPR_OK to Support PC relative diff relocation, and add CKCORE_PCREL32 relocation process bfd/ * elf32-csky.c (csky_elf_howto_table): Fill special_function of R_CKCORE_PCREL32. (csky_elf_relocate_section): Add R_CKCORE_PCREL32 process. gas/ * config/tc-csky.c (md_apply_fix): Transmit BFD_RELOC_32_PCREL to BFD_RELOC_CKCORE_PCREL32. (tc_gen_reloc): Trasmit BFD_RELOC_CKCORE_ADDR32 to BFD_RELOC_CKCORE_PCREL32 while pc-relative. * config/tc-csky.h (DIFF_EXPR_OK): Define to enable PC relative diff relocs. commit 87b240d48512fa30aab8b5963914a9093009fd68 Author: Tom Tromey Date: Thu Sep 13 16:33:27 2018 -0600 Make variable in get_startup_shell non-static I noticed that a variable in get_startup_shell is "static". However, I couldn't see any reason it ought to be, so this removes the "static". gdb/ChangeLog 2018-09-14 Tom Tromey * nat/fork-inferior.c (get_startup_shell): Remove "static". commit 1fcd7e871c38ac1049dd5d5509ea1f11a456bf16 Author: Alan Modra Date: Fri Sep 14 19:20:06 2018 +0930 PR23633 testcase fix PR binutils/23633 * testsuite/binutils-all/pr23633.d: Don't fail when assembler generates sections other than .text. commit a4cd947aca23d58966ead843e120f4c19db01030 Author: Alan Modra Date: Tue Sep 11 23:50:15 2018 +0930 PR23425, unresolved symbol diagnostic dwarf2.c code reasonably assumes that debug info is local to a file, an assumption now violated by gcc, resulting in "DWARF error: invalid abstract instance DIE ref" or wrong details when attempting to print linker error messages with file, function and line reported. This is because find_abstract_instance is only prepared to handle DW_FORM_ref_addr when the .debug_info section referenced is in the current file. When that isn't the case, relocations to access another file's .debug_info will typically be against a symbol defined at the start of that .debug_info section, plus an addend. Since the dwarf2.c code only considers the current file's debug info, that symbol will be undefined, resolving to zero. In effect the ref_addr will wrongly resolve to the current file's .debug_info. This patch avoids the problem by treating relocations in debug sections against undefined symbols in a similar manner to the way relocations against symbols defined in discarded sections are resolved. They result in a zero value (except in .debug_ranges) regardless of the addend. PR 23425 * reloc.c (bfd_generic_get_relocated_section_contents): Zero reloc fields in debug sections when reloc is against an undefined symbol and called from bfd_simple_get_relocated_section_contents or similar. * dwarf2.c (find_abstract_instance): Return true for zero offset DW_FORM_ref_addr without returning values. commit 556059dd13a8a9a30b23eacbefbe7b85e74ce7b7 Author: Jan Beulich Date: Fri Sep 14 11:21:15 2018 +0200 x86: fold CRC32 templates Just like other insns having byte and word forms, these can also make use of the W modifier, which at the same time allows simplifying some other code a little bit. commit bf326452537c11deece2aabe16b6b9d62388a2d9 Author: Alan Hayward Date: Wed Sep 5 10:11:32 2018 +0100 Testsuite: Add gdb_simple_compile Simplfy gdb.exp by adding a function that will attempt to compile a piece of code, then clean up, leaving the created object. gdb/testsuite * lib/gdb.exp (gdb_simple_compile): Add proc. (is_elf_target): Use gdb_simple_compile. (skip_altivec_tests): Likewise. (skip_vsx_tests): Likewise. (skip_tsx_tests): Likewise. (skip_btrace_tests): Likewise. (skip_btrace_pt_tests): Likewise. (gdb_can_simple_compile): Likewise. (gdb_has_argv0): Likewise. (gdb_target_symbol_prefix): Likewise. (target_supports_scheduler_locking): Likewise. commit ca5f750004aa313131b15e648d4b862cbc4ba18c Author: GDB Administrator Date: Fri Sep 14 00:00:32 2018 +0000 Automatic date update in version.in commit 2361b0fb1d99e9c0b97f4c1f42f89f862d757128 Author: Tom Tromey Date: Thu Sep 13 16:30:48 2018 -0600 Generate more tags in gdb/testsuite/Makefile I noticed that the TAGS target in gdb/testsuite/Makefile does not pick up Tcl procs defined with proc_with_prefix or gdb_caching_proc. This patch fixes this by updating the regexp. Tested in Emacs. gdb/testsuite/ChangeLog 2018-09-13 Tom Tromey * Makefile.in (TAGS): Recognize proc_with_prefix and gdb_caching_proc. commit 7d2215128b84d9dec4a264021427343d895fdc6d Author: Tom Tromey Date: Thu Sep 13 16:23:52 2018 -0600 Make infpy_thread_from_thread_handle static I noticed that infpy_thread_from_thread_handle is not static, but should be. This patch changes it. gdb/ChangeLog 2018-09-13 Tom Tromey * python/py-inferior.c (infpy_thread_from_thread_handle): Now static. commit 97e67fc62045723db7af6d323ce9c428666ab6f5 Author: Tom Tromey Date: Wed Aug 29 23:05:54 2018 -0600 Remove cleanup from try_open_exec_file This removes a cleanup from try_open_exec_file, using std::string to manage the storage instead. gdb/ChangeLog 2018-09-13 Tom Tromey * exec.c (try_open_exec_file): Use std::string. commit 803c08d083556154cd4d27368e58b359e9de8b93 Author: Tom Tromey Date: Wed Aug 29 23:03:09 2018 -0600 Return std::string from gdb_bfd_errmsg This changes gdb_bfd_errmsg to return a std::string, removing a cleanup. This approach may be slightly less efficient than the previous code, but I don't believe this is very important in this situation. gdb/ChangeLog 2018-09-13 Tom Tromey * utils.h (gdb_bfd_errmsg): Return std::string. * exec.c (exec_file_attach): Update. * compile/compile-object-load.c (compile_object_load): Update. * utils.c (gdb_bfd_errmsg): Return std::string. commit 5b4cbbe357aaf6462a68e1a15c9532dd3d01e06d Author: Tom Tromey Date: Wed Aug 29 22:49:40 2018 -0600 Remove cleanup from procfs.c This removes the last remaining cleanup from procfs.c, replacing it with a unique_ptr specialization. gdb/ChangeLog 2018-09-13 Tom Tromey * procfs.c (struct procinfo_deleter): New. (procinfo_up): New typedef. (do_destroy_procinfo_cleanup): Remove. (procfs_target::info_proc): Use procinfo_up. Remove cleanups. commit db68fbe2f946cb36359c8672548fde198f812c4e Author: Tom Tromey Date: Wed Aug 29 22:42:57 2018 -0600 Remove cleanup from add_path This removes a cleanup from add_path, replacing it with a use of gdb::unique_xmalloc_ptr. Note that this declaration had to be hoisted somewhat, to avoid inteference from the "goto"s in this function. gdb/ChangeLog 2018-09-13 Tom Tromey * source.c (add_path): Use gdb::unique_xmalloc_ptr. commit 74d3fbbb3e35129526392718b63df41be3b0e88b Author: Simon Marchi Date: Thu Sep 13 15:41:32 2018 -0400 python: Fix erroneous doc about gdb.objfiles() The code implementing gdb.objfiles() returns a list of objfiles for the current program space (the program space of the selected inferior). The documentation for the gdb.objfiles() Python method, however, states: Return a sequence of all the objfiles current known to GDB. That sounds wrong to me. I tried to phrase to be more precise. gdb/doc/ChangeLog: * python.texi (Objfiles In Python): Update gdb.objfiles() doc. commit 0ae1a3211adcb8e7518b0b656b2309ebbc45e9ae Author: Simon Marchi Date: Thu Sep 13 15:40:41 2018 -0400 python: Add Progspace.objfiles method This patch adds an objfiles method to the Progspace object, which returns a sequence of the objfiles associated to that program space. I chose a method rather than a property for symmetry with gdb.objfiles(). gdb/ChangeLog: * python/py-progspace.c (PSPY_REQUIRE_VALID): New macro. (pspy_get_objfiles): New function. (progspace_object_methods): New. (pspace_object_type): Add tp_methods callback. * python/python-internal.h (build_objfiles_list): New declaration. * python/python.c (build_objfiles_list): New function. (gdbpy_objfiles): Implement using build_objfiles_list. * NEWS: Mention the Progspace.objfiles method. gdb/doc/ChangeLog: * python.texi (Program Spaces In Python): Document the Progspace.objfiles method. (Objfiles In Python): Mention that gdb.objfiles() is identical to gdb.selected_inferior().progspace.objfiles(). gdb/testsuite/ChangeLog: * gdb.python/py-progspace.exp: Test the Progspace.objfiles method. commit a40bf0c2e93daac4ae4ce7dd1c43ab6135e76720 Author: Simon Marchi Date: Thu Sep 13 15:39:26 2018 -0400 python: Add Inferior.progspace property This patch adds a progspace property to the gdb.Inferior type, which allows getting the gdb.Progspace object associated to that inferior. In conjunction with the following patch, this will allow scripts iterate on objfiles associated with a particular inferior. gdb/ChangeLog: * python/py-inferior.c (infpy_get_progspace): New function. (inferior_object_getset): Add progspace property. * NEWS: Mention the new property. gdb/doc/ChangeLog: * python.texi (Inferiors In Python): Document Inferior.progspace. (Program Spaces In Python): Document that gdb.current_progspace() is the same as gdb.selected_inferior().progspace. gdb/testsuite/ChangeLog: * gdb.python/py-inferior.exp: Add tests for Inferior.progspace and a few other Inferior properties when the Inferior is no longer valid. commit 4a3fe98f885a2d1db804584e7ea265ab3ccef4d7 Author: Tom Tromey Date: Thu Sep 13 10:56:34 2018 -0600 Make Rust error message mention the field name I noticed a spot in rust-lang.c where the placeholder "foo" was used instead of the actual field name. This patch fixes the bug. gdb/ChangeLog 2018-09-13 Tom Tromey PR rust/23650: * rust-lang.c (rust_evaluate_subexp): Use field name, not "foo". gdb/testsuite/ChangeLog 2018-09-13 Tom Tromey PR rust/23650: * gdb.rust/simple.exp: Add test for enum field access error. commit 098b2108a2b61531c0bc8ea16854f773083a95d7 Author: Tom Tromey Date: Tue Sep 11 15:28:04 2018 -0600 Fix crash with empty Rust enum While testing my Rust compiler patch to fix the DWARF representation of Rust enums (https://github.com/rust-lang/rust/pull/54004), I found a gdb crash coming from one of the Rust test cases. The bug here is that the new variant support in gdb does not handle the case where there are no variants in the enum. This patch fixes the problem in a straightforward way. Note that the new tests are somewhat lax because I did not want to try to fully fix this corner case for older compilers. If you think that's unacceptable, let meknow. Tested on x86-64 Fedora 28 using several versions of the Rust compiler. I intend to push this to the 8.2 branch as well. gdb/ChangeLog 2018-09-13 Tom Tromey PR rust/23626: * rust-lang.c (rust_enum_variant): Now static. (rust_empty_enum_p): New function. (rust_print_enum, rust_evaluate_subexp, rust_print_struct_def): Handle empty enum. gdb/testsuite/ChangeLog 2018-09-13 Tom Tromey PR rust/23626: * gdb.rust/simple.rs (EmptyEnum): New type. (main): Use it. * gdb.rust/simple.exp (test_one_slice): Add empty enum test. commit 80ca5f98b86c9b209f392cb52dde8b8471856c5a Author: Sergio Durigan Junior Date: Wed Sep 12 01:14:31 2018 -0400 Add "contrib" to the list of GDB support dirs (on src-release.sh) On commit: commit 5a6996172e6294ea37054b1a9caa3a923a8fe399 Author: Rainer Orth Date: Mon Aug 6 16:05:16 2018 +0200 Update dg-extract-results.* from gcc dg-extract-results.sh was moved from the "gdb/contrib/" directory to the toplevel "contrib/" directory. However, src-release.sh was not updated in order to include "contrib/" in the tarball release of GDB. This makes it very inconvenient to run and analyze the GDB testsuite results. This commit adds "contrib/" to the list of support directories that are included in each GDB release. ChangeLog: 2018-09-12 Sergio Durigan Junior * src-release.sh (GDB_SUPPORT_DIRS): Add "contrib". commit 319dbdfbb78d82470498704bca21729e057464f2 Author: H.J. Lu Date: Thu Sep 13 09:09:00 2018 -0700 Add a testcase for PR binutils/23633 PR binutils/23633 * testsuite/binutils-all/objcopy.exp: Run pr23633. * testsuite/binutils-all/pr23633.d: New file. * testsuite/binutils-all/pr23633.list: Likewise. * testsuite/binutils-all/pr23633.s: Likewise. commit 1256af7d1afb123c15ae3935de4470becdf7c512 Author: Simon Marchi Date: Thu Sep 13 11:53:22 2018 -0400 python: Provide textual representation for Inferior and Objfile Printing a GDB Python object is notoriously not helpful: >>> print(gdb.selected_inferior()) >>> print(gdb.objfiles()) [] This makes printing debug traces more difficult than it should be. This patch provides some repr() implementation for these two types (more to come if people agree with the idea, but I want to test the water first). Here's the same example as above, but with this patch: >>> print(gdb.selected_inferior()) >>> print(gdb.objfiles()) [] I implemented repr rather than str, because when printing a list (or another container I suppose), Python calls the repr method of the elements. This is useful when printing a list of inferiors or objfiles. The print(gdb.objfiles()) above would not have worked if I had implemented str. I found this post useful to understand the difference between repr and str: https://stackoverflow.com/questions/1436703/difference-between-str-and-repr gdb/ChangeLog: * python/py-inferior.c (infpy_repr): New. (inferior_object_type): Register infpy_repr. * python/py-objfile.c (objfpy_repr): New. (objfile_object_type): Register objfpy_repr. gdb/testsuite/ChangeLog: * gdb.python/py-inferior.exp: Test repr() of gdb.Inferior. * gdb.python/py-objfile.exp: Test repr() of gdb.Objfile. * gdb.python/py-symtab.exp: Update test printing an objfile. gdb/doc/ChangeLog: * python.texi (Basic Python): Mention the string representation of GDB Python objects. commit 508d0c9b5945d30bcf163b9b88213d277949e9a8 Author: Nick Clifton Date: Thu Sep 13 16:14:36 2018 +0100 Fix a use-after-freed error introduced by previous attempt to fix a Coverity scan result. PR 23633 * objcopy.c (add_specific_symbols): Do not free the buffer at the end of the function. commit 5be12fc1ad9e47e82bd8902ad6a1f71946c58805 Author: H.J. Lu Date: Thu Sep 13 07:38:45 2018 -0700 x86: Remove VexW=1 from WIG VEX movq and vmovq Put back changes lost in commit 41d1ab6a6d96937fd0db04e53746f93f53687807. commit 41d1ab6a6d96937fd0db04e53746f93f53687807 Author: H.J. Lu Date: Wed Sep 12 15:12:59 2018 -0700 i386: Update VexW field for VEX instructions 1. Mark VEX.W0 VEX instructions with VexW=1. 2. Mark VEX.W1 VEX instructions with VexW=2. 3. Remove VexW=1 from WIG VEX instructions. * i386-opc.tbl: Add VexW=1 to VEX.W0 VEX movd, cvtsi2ss, cvtsi2sd, pextrd, pinsrd, vcvtsi2sd, vcvtsi2ss, vmovd, vpextrd and vpinsrd. Add VexW=2 to VEX.W1 VEX movd, movq, pextrq, pinsrq, vmod, vmovq, vpextrq and vpinsrq. Remove VexW=1 from WIG VEX movq and vmovq. * i386-tbl.h: Regenerated. commit 79f0fa25b95fd82122ee76d61fded661cc3ece87 Author: H.J. Lu Date: Thu Sep 13 06:12:31 2018 -0700 x86: Swap destination/source to encode VEX only if possible When encoding VEX, we can swap destination and source only if there are more than 1 register operand. * config/tc-i386.c (build_vex_prefix): Swap destination and source only if there are more than 1 register operand. commit 57f6375ec10415fc26bbfaf4fdc19effb313a06d Author: Jan Beulich Date: Thu Sep 13 11:26:06 2018 +0200 x86: drop bogus IgnoreSize from a few further insns commit 2589a7e59bdd0c3f9647bf79e5d0ab107216f976 Author: Jan Beulich Date: Thu Sep 13 11:25:30 2018 +0200 x86: drop bogus IgnoreSize from AVX512_4* insns commit a760eb41aac52948ac28f4a47563565396a7c37a Author: Jan Beulich Date: Thu Sep 13 11:24:53 2018 +0200 x86: drop bogus IgnoreSize from AVX512DQ insns commit e90426589d7c783b7e458162baaac1431fc33bd5 Author: Jan Beulich Date: Thu Sep 13 11:24:23 2018 +0200 x86: drop bogus IgnoreSize from AVX512BW insns commit 9caa306f8020d5c9bfa84b88f4922f60763ea77a Author: Jan Beulich Date: Thu Sep 13 11:23:50 2018 +0200 x86: drop bogus IgnoreSize from AVX512VL insns commit fb6ce599e05d86784e357c3d387c8785dc16a07f Author: Jan Beulich Date: Thu Sep 13 11:23:17 2018 +0200 x86: drop bogus IgnoreSize from AVX512ER insns commit 6a8da8866974e139642b4bb41d7c252d509fd2a0 Author: Jan Beulich Date: Thu Sep 13 11:22:49 2018 +0200 x86: drop bogus IgnoreSize from AVX512F insns commit c7f279191fd49f9e4e302cb65268e6df595f2761 Author: Jan Beulich Date: Thu Sep 13 11:22:03 2018 +0200 x86: drop bogus IgnoreSize from SHA insns commit 0f407ee9f45d704dfed7207f2e2122cfa197ff70 Author: Jan Beulich Date: Thu Sep 13 11:21:36 2018 +0200 x86: drop bogus IgnoreSize from XOP and SSE4a insns commit 2fbbbee5e78e590ecee718e8da4f229fb59fe9c5 Author: Jan Beulich Date: Thu Sep 13 11:19:21 2018 +0200 x86: drop bogus IgnoreSize from AVX2 insns commit 2b02b9a2abfc773ad3cce49ecc36c37a1a84bcc9 Author: Jan Beulich Date: Thu Sep 13 11:18:52 2018 +0200 x86: drop bogus IgnoreSize from AVX insns commit 963c68aa4af4bf9448aa1d2ee03fc13cc88da0f5 Author: Jan Beulich Date: Thu Sep 13 11:16:49 2018 +0200 x86: drop bogus IgnoreSize from GNFI insns commit 64e025c3a16d05c640d20192ac32728b05ee0415 Author: Jan Beulich Date: Thu Sep 13 11:16:19 2018 +0200 x86: drop bogus IgnoreSize from PCLMUL/VPCLMUL insns commit 47603f888def989f5dcb370f84420cf0484d53e2 Author: Jan Beulich Date: Thu Sep 13 11:15:38 2018 +0200 x86: drop bogus IgnoreSize from AES/VAES insns commit 0001cfd00ce30c5a06c938eb0fb203451870ef85 Author: Jan Beulich Date: Thu Sep 13 11:15:01 2018 +0200 x86: drop bogus IgnoreSize from SSE4.2 insns commit be4b452e28df8a18cbb7f3af929512722b003ba1 Author: Jan Beulich Date: Thu Sep 13 11:14:32 2018 +0200 x86: drop bogus IgnoreSize from SSE4.1 insns commit d09a13943b71ac9b2212e93fa578925bb025f1f3 Author: Jan Beulich Date: Thu Sep 13 11:12:51 2018 +0200 x86: drop bogus IgnoreSize from SSSE3 insns commit 07599e13ac3a65c5dfb692bf9891758463949cfc Author: Jan Beulich Date: Thu Sep 13 11:12:23 2018 +0200 x86: drop bogus IgnoreSize from SSE3 insns commit 1ee3e48715c188bab4db68476b54161535839d6a Author: Jan Beulich Date: Thu Sep 13 11:11:55 2018 +0200 x86: drop bogus IgnoreSize from SSE2 insns commit a5f580e51a77f278b66e87d7d1784225aae51cbf Author: Jan Beulich Date: Thu Sep 13 11:11:26 2018 +0200 x86: drop bogus IgnoreSize from SSE insns commit 49d5d12d0e5b80afc376c6bb9be4976efb53425c Author: Jan Beulich Date: Thu Sep 13 11:08:37 2018 +0200 x86: drop unnecessary {,No}Rex64 commit f5eb1d70fb8ed38290413acae2617fe899a1663c Author: Jan Beulich Date: Thu Sep 13 11:07:55 2018 +0200 x86: also allow D on 3-operand insns For now this is just for VMOVS{D,S}. commit dbbc8b7e629fa666affd9a3f475d0bf6e5264677 Author: Jan Beulich Date: Thu Sep 13 11:07:07 2018 +0200 x86: use D attribute also for SIMD templates Various moves come in load and store forms, and just like on the GPR and FPU sides there would better be only one pattern. In some cases this is not feasible because the opcodes are too different, but quite a few cases follow a similar standard scheme. Introduce Opcode_SIMD_FloatD and Opcode_SIMD_IntD, generalize handling in operand_size_match() (reverse operand handling there simply needs to match "straight" operand one), and fix a long standing, but so far only latent bug with when to zap found_reverse_match. Also once again drop IgnoreSize where pointlessly applied to templates touched anyway as well as *word when redundant with Reg*. commit efb192033ad82855bcfab207f8494e8b1f3e243b Author: Jan Beulich Date: Thu Sep 13 11:06:07 2018 +0200 x86: fold ILP32 output of "opts" tests The output is identical to that of the LP64 tests. No need to fully spell this out twice. commit 64c49ab3fb5eea7ba382cf7b0955795ae15e06e5 Author: Jan Beulich Date: Thu Sep 13 11:05:27 2018 +0200 x86: improve operand reversal In quite a few cases the .s suffix or {load} / {store} prefixes did not work as intended, or produced errors when they're supposed to be ignored when it is not possible to carry out the request. The change here re-purposes(?) the .s suffix to no longer mean "store" (if that's what 's' did stand for), since the forms used in the base templates are not consistently loads (and we unlikely want to change that). The pseudo prefixes will now fulfill what their names say, i.e. {load} now only ever produces a load form encoding (if available) while {store} only ever produces a store form one (again if available). This requires minimal test suite adjustments, while the majority of the changes there are simply additions. commit 07d5e9534b11ea9df17eb9d01799000a10c7567f Author: Jan Beulich Date: Thu Sep 13 11:04:38 2018 +0200 x86: add code comment on deprecated status of pseudo-suffixes commit d276ec695e8954330e922807d6886b8212d6323b Author: Jan Beulich Date: Thu Sep 13 11:03:35 2018 +0200 x86-64: bndmk, bndldx, and bndstx don't allow RIP-relative addressing commit 031e33500e82fb8ef525595ea684473774dfc669 Author: Nick Clifton Date: Thu Sep 13 09:34:53 2018 +0100 Fix the use by the RL78 assembler of an uninitialised field in the expresion structure. * dwarf2dbg.c (generic_dwarf2_emit_offset): Use memset to initialise expression structure. (set_or_check_view): Likewise. (out_set_addr): Likewise. (emit_fixed_inc_line_addr): Likewise. (relax_inc_line_addr): Likewise. (out_debug_line): Likewise. (out_debug_ranges): Likewise. (out_debug_aranges): Likewise. (out_debug_info): Likewise. commit 4cb3152d95f08b054e5b74f0cc5c8dff019b3a8a Author: GDB Administrator Date: Thu Sep 13 00:00:26 2018 +0000 Automatic date update in version.in commit f117a62c5debd8a46fb4f76eba784d433d1bb875 Author: John Baldwin Date: Wed Sep 12 17:43:13 2018 +0000 Remove unused "tmp" variable. gdb/ChangeLog: * fbsd-nat.c (fbsd_nat_target::info_proc): Remove unused variable. commit 88f22c34d0f39ee4aca87940bff2cbf47e64b9d7 Author: John Baldwin Date: Tue Sep 11 17:53:37 2018 +0000 Fix a typo in a comment. gdb/ChangeLog: * aarch64-fbsd-tdep.h (AARCH64_FBSD_SIZEOF_GREGSET): Fix comment typo. commit 4aa8e6c2387e796649279c2190cd499b579d028c Author: Simon Marchi Date: Wed Sep 12 18:27:57 2018 -0400 python: Add tests for trying to use an invalid Inferior object This patch adds tests for trying to use property or methods on a gdb.Inferior object that represents an inferior that does not exist anymore. We expect an exception to be thrown. gdb/testsuite/ChangeLog: * gdb.python/py-inferior.exp: Test using an invalid gdb.Inferior object. commit 3c025cfe5efc44eb4dfb03b53dca28e75096dd1e Author: Sergio Durigan Junior Date: Wed Sep 12 13:16:02 2018 -0400 Move 'is_regular_file' from common-utils.c to filestuff.c There is no reason for 'is_regular_file' to be in common-utils.c; it belongs to 'filestuff.c'. This commit moves the function definition and its prototype to the appropriate files. The motivation behind this move is a failure that happens on certain cross-compilation environments when compiling the IPA library, due to the way gnulib probes the need for a 'stat' call replacement. Because configure checks when cross-compiling are more limited, gnulib decides that it needs to substitute the 'stat' calls its own 'rpl_stat'; however, the IPA library doesn't link with gnulib, which leads to an error when compiling 'common-utils.c': ... /opt/x86-core2--musl--bleeding-edge-2018.09-1/bin/i686-buildroot-linux-musl-g++ -shared -fPIC -Wl,--soname=libinproctrace.so -Wl,--no-undefined -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -I. -I. -I./../common -I./../regformats -I./.. -I./../../include -I./../gnulib/import -Ibuild-gnulib-gdbserver/import -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-narrowing -Wno-error=maybe-uninitialized -DGDBSERVER \ -Wl,--dynamic-list=./proc-service.list -o libinproctrace.so ax-ipa.o common-utils-ipa.o errors-ipa.o format-ipa.o print-utils-ipa.o regcache-ipa.o remote-utils-ipa.o rsp-low-ipa.o tdesc-ipa.o tracepoint-ipa.o utils-ipa.o vec-ipa.o linux-i386-ipa.o linux-x86-tdesc-ipa.o arch/i386-ipa.o -ldl -pthread /opt/x86-core2--musl--bleeding-edge-2018.09-1/lib/gcc/i686-buildroot-linux-musl/8.2.0/../../../../i686-buildroot-linux-musl/bin/ld: common-utils-ipa.o: in function `is_regular_file(char const*, int*)': common-utils.c:(.text+0x695): undefined reference to `rpl_stat' collect2: error: ld returned 1 exit status Makefile:413: recipe for target 'libinproctrace.so' failed make[1]: *** [libinproctrace.so] Error 1 ... More details can also be found at: https://sourceware.org/ml/gdb-patches/2018-09/msg00304.html The most simple fix for this problem is to move 'is_regular_file' to 'filestuff.c', which is not used by IPA. This ends up making the files more logically organized as well, since 'is_regular_file' is a file operation. No regressions found. gdb/ChangeLog: 2018-09-12 Sergio Durigan Junior * common/common-utils.c: Don't include ''. (is_regular_file): Move to... * common/filestuff.c (is_regular_file): ... here. * common/common-utils.h (is_regular_file): Move to... * common/filestuff.h (is_regular_file): ... here. commit 3e68067fb2d59ea93ea95d713a6c27b635332912 Author: Simon Marchi Date: Wed Sep 12 12:24:41 2018 -0400 Add debug output about skipping files and functions While trying to create skips for libstdc++, I found myself debugging GDB quite a bit, mostly to find out what the exact function name to match is. I thought it would make sense to have this information as debug output. This patch adds "set debug skip on|off". gdb/ChangeLog: * skip.c (debug_skip): New variable. (skiplist_entry::do_skip_file_p): Add debug output. (skiplist_entry::do_skip_gfile_p): Likewise. (skiplist_entry::skip_function_p): Likewise. (_initialize_step_skip): Create debug command. * NEWS: Mention set/show debug skip. gdb/doc/ChangeLog: * gdb.texinfo (Skipping Over Functions and Files): Document set/show debug skip. commit c221b2f7708017593d572cf90560dc305bc3bf51 Author: Alan Hayward Date: Wed Sep 12 11:52:09 2018 +0100 Testsuite: Add gdb_can_simple_compile Simplfy gdb.exp by adding a function that will attempt to compile a piece of code, then clean up. gdb/testsuite * lib/gdb.exp (gdb_can_simple_compile): Add proc. (support_complex_tests): Use gdb_can_simple_compile. (is_ilp32_target): Likewise. (is_lp64_target): Likewise. (is_64_target): Likewise. (is_amd64_regs_target): Likewise. (is_aarch32_target): Likewise. (gdb_int128_helper): Likewise. commit ed84881fcfd45edfee0d3f9e9af0d3eb3bafe362 Author: GDB Administrator Date: Wed Sep 12 00:00:24 2018 +0000 Automatic date update in version.in commit d6be54ef73eacaaf5bf28bafc7dfebc80ebac832 Author: Xavier Roirand Date: Sat Sep 8 16:51:21 2018 +0200 Darwin: set startup-with-shell to off on Sierra and later. On Mac OS X Sierra and later, the shell is not allowed to be debug so add a check and disable startup with shell in that case. This disabling is done temporary before forking inferior and restored after the fork. gdb/ChangeLog: * darwin-nat.c (should_disable_startup_with_shell): New function. (darwin_nat_target::create_inferior): Add call. Change-Id: Ie4d9090f65fdf2e83ecf7a0f9d0647fb1c27cdcc commit de1ec836c8cc4eeb68e3e4eb8223eeff9840546e Author: Xavier Roirand Date: Sun Sep 9 15:13:58 2018 +0200 Darwin: fix SIGTRAP when debugging Debugging a program under Darwin does not work: (gdb) start Temporary breakpoint 1 at 0x100000fb4: file /tmp/helloworld.c, line 1. Starting program: /private/tmp/helloworld [New Thread 0x2903 of process 60326] During startup program terminated with signal SIGTRAP, Trace/breakpoint trap. Field signaled from darwin_thread_info is not initialized thus signal sent to the debuggee is considered as not sent by GDB whereas it should. This patch fixes this problem and also updates (change type and/or initialize) other fields in the same structure at the same time. gdb/ChangeLog: * darwin-nat.h (struct darwin_thread_info) : Initialize. (struct darwin_thread_info) : Change type and initialize. (struct darwin_thread_info) : Initialize. Change-Id: I0fe2a6985df9d0dfcc8a2a258a3ef70cfa19b403 commit 6f1107b59311300cb44379022f19af42db98b1e4 Author: Jan Kratochvil Date: Tue Sep 11 12:59:52 2018 +0200 [testsuite] Fix dg-extract-results.sh path There was a typo in patch: commit 5a6996172e6294ea37054b1a9caa3a923a8fe399 Author: Rainer Orth Date: Mon Aug 6 16:05:16 2018 +0200 Update dg-extract-results.* from gcc gdb/testsuite/ChangeLog 2018-09-11 Jan Kratochvil * Makefile.in (check-parallel-racy): Fix dg-extract-results.sh path. commit c0934311c7d1275cfab63df6472c860b9a746621 Author: GDB Administrator Date: Tue Sep 11 00:00:52 2018 +0000 Automatic date update in version.in commit e2fc52e745757a11f7a4a256984cabbe5474f55a Author: Sergio Durigan Junior Date: Mon Sep 10 12:52:04 2018 -0400 Fix PR gdb/23558: Use system's 'getcwd' when cross-compiling GDB This is a backport of a gnulib fix for the following bug: https://sourceware.org/bugzilla/show_bug.cgi?id=23558 The problem reported there is about the replacement of 'getcwd' when cross-compiling GDB. With our current gnulib copy, the mechanism for deciding whether to use the system's 'getcwd' or gnulib's version is too simplistic and pessimistic, so when cross-compiling we always end up using gnulib's version, which has a limitation: it cannot handle the situation when the parent directory doesn't have read permissions. The solution is to backport the following gnulib commit: commit a96d2e67052c879b1bcc5bc461722beac75fc372 Author: Bruno Haible Date: Thu Aug 23 21:13:19 2018 +0200 getcwd: Add cross-compilation guesses. gdb/ChangeLog: 2018-09-10 Sergio Durigan Junior PR gdb/23555 PR gdb/23558 * gnulib/import/m4/getcwd-path-max.m4: Add cross-compilation guesses. commit 5e8754f90abbbf832987477eea4ee91a9d2f694c Author: Sergio Durigan Junior Date: Mon Sep 10 12:22:59 2018 -0400 Revert "Update gnulib to current upstream master" This reverts commit 7a6dbc2fdb2323c35e981f93236f323e9d7c0b24 ("Update gnulib to current upstream master"). It is needed because the gnulib update caused problems with people using old GCC compilers (version 4.8, for example), which support C99 but don't default to using it. Unfortunately this broke GDB for these users. A more detailed report of what happened can be found at: https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00157.html The reason for updating our gnulib copy was to fix PR gdb/23558. Reverting this patch reintroduces the bug, so in order to fix it I will submit a subsequent patch which cherry-picks the fix from gnulib. gdb/ChangeLog: 2018-09-10 Sergio Durigan Junior Revert: 2018-08-29 Sergio Durigan Junior PR gdb/23555 PR gdb/23558 * gnulib/aclocal.m4: Regenerate. * gnulib/config.in: Regenerate. * gnulib/configure: Regenerate. * gnulib/import/Makefile.am: Update. * gnulib/import/Makefile.in: Update. * gnulib/import/extra/snippet/_Noreturn.h: Rename to... * gnulib/import/_Noreturn.h: ... this. * gnulib/import/alloca.in.h: Update. * gnulib/import/extra/snippet/arg-nonnull.h: Rename to... * gnulib/import/arg-nonnull.h: ... this. * gnulib/import/assure.h: Update. * gnulib/import/at-func.c: Update. * gnulib/import/basename-lgpl.c: Update. * gnulib/import/extra/snippet/c++defs.h: Rename to... * gnulib/import/c++defs.h: ... this. * gnulib/import/canonicalize-lgpl.c: Update. * gnulib/import/cdefs.h: Update. * gnulib/import/chdir-long.c: Update. * gnulib/import/chdir-long.h: Update. * gnulib/import/cloexec.c: Update. * gnulib/import/cloexec.h: Update. * gnulib/import/close.c: Update. * gnulib/import/closedir.c: Update. * gnulib/import/config.charset: Update. * gnulib/import/dirent-private.h: Update. * gnulib/import/dirent.in.h: Update. * gnulib/import/dirfd.c: Update. * gnulib/import/dirname-lgpl.c: Update. * gnulib/import/dirname.h: Update. * gnulib/import/dosname.h: Update. * gnulib/import/dup-safer-flag.c: Update. * gnulib/import/dup-safer.c: Update. * gnulib/import/dup.c: Update. * gnulib/import/dup2.c: Update. * gnulib/import/errno.in.h: Update. * gnulib/import/error.c: Update. * gnulib/import/error.h: Update. * gnulib/import/exitfail.c: Update. * gnulib/import/exitfail.h: Update. * gnulib/import/extra/update-copyright: Update. * gnulib/import/fchdir.c: Update. * gnulib/import/fcntl.c: Update. * gnulib/import/fcntl.in.h: Update. * gnulib/import/fd-hook.c: Update. * gnulib/import/fd-hook.h: Update. * gnulib/import/fd-safer-flag.c: Update. * gnulib/import/fd-safer.c: Update. * gnulib/import/fdopendir.c: Update. * gnulib/import/filename.h: Update. * gnulib/import/filenamecat-lgpl.c: Update. * gnulib/import/filenamecat.h: Update. * gnulib/import/flexmember.h: Update. * gnulib/import/float+.h: Update. * gnulib/import/float.c: Update. * gnulib/import/float.in.h: Update. * gnulib/import/fnmatch.c: Update. * gnulib/import/fnmatch.in.h: Update. * gnulib/import/fnmatch_loop.c: Update. * gnulib/import/fpucw.h: Update. * gnulib/import/frexp.c: Update. * gnulib/import/frexpl.c: Update. * gnulib/import/fstat.c: Update. * gnulib/import/fstatat.c: Update. * gnulib/import/getcwd-lgpl.c: Update. * gnulib/import/getcwd.c: Update. * gnulib/import/getdtablesize.c: Update. * gnulib/import/getlogin_r.c: Update. * gnulib/import/getprogname.c: Update. * gnulib/import/getprogname.h: Update. * gnulib/import/gettext.h: Update. * gnulib/import/gettimeofday.c: Update. * gnulib/import/glob-libc.h: Update. * gnulib/import/glob.c: Update. * gnulib/import/glob.in.h: Update. * gnulib/import/glob_internal.h: Update. * gnulib/import/glob_pattern_p.c: Update. * gnulib/import/globfree.c: Update. * gnulib/import/hard-locale.c: Update. * gnulib/import/hard-locale.h: Update. * gnulib/import/intprops.h: Update. * gnulib/import/inttypes.in.h: Update. * gnulib/import/isnan.c: Update. * gnulib/import/isnand-nolibm.h: Update. * gnulib/import/isnand.c: Update. * gnulib/import/isnanl-nolibm.h: Update. * gnulib/import/isnanl.c: Update. * gnulib/import/itold.c: Update. * gnulib/import/libc-config.h: Update. * gnulib/import/limits.in.h: Update. * gnulib/import/localcharset.c: Update. * gnulib/import/localcharset.h: Update. * gnulib/import/localtime-buffer.c: Update. * gnulib/import/localtime-buffer.h: Update. * gnulib/import/lstat.c: Update. * gnulib/import/m4/00gnulib.m4: Update. * gnulib/import/m4/__inline.m4: Update. * gnulib/import/m4/absolute-header.m4: Update. * gnulib/import/m4/alloca.m4: Update. * gnulib/import/m4/builtin-expect.m4: Update. * gnulib/import/m4/canonicalize.m4: Update. * gnulib/import/m4/chdir-long.m4: Update. * gnulib/import/m4/close.m4: Update. * gnulib/import/m4/closedir.m4: Update. * gnulib/import/m4/configmake.m4: Update. * gnulib/import/m4/d-ino.m4: Update. * gnulib/import/m4/d-type.m4: Update. * gnulib/import/m4/dirent_h.m4: Update. * gnulib/import/m4/dirfd.m4: Update. * gnulib/import/m4/dirname.m4: Update. * gnulib/import/m4/double-slash-root.m4: Update. * gnulib/import/m4/dup.m4: Update. * gnulib/import/m4/dup2.m4: Update. * gnulib/import/m4/eealloc.m4: Update. * gnulib/import/m4/environ.m4: Update. * gnulib/import/m4/errno_h.m4: Update. * gnulib/import/m4/error.m4: Update. * gnulib/import/m4/exponentd.m4: Update. * gnulib/import/m4/exponentl.m4: Update. * gnulib/import/m4/extensions.m4: Update. * gnulib/import/m4/extern-inline.m4: Update. * gnulib/import/m4/fchdir.m4: Update. * gnulib/import/m4/fcntl-o.m4: Update. * gnulib/import/m4/fcntl.m4: Update. * gnulib/import/m4/fcntl_h.m4: Update. * gnulib/import/m4/fdopendir.m4: Update. * gnulib/import/m4/filenamecat.m4: Update. * gnulib/import/m4/flexmember.m4: Update. * gnulib/import/m4/float_h.m4: Update. * gnulib/import/m4/fnmatch.m4: Update. * gnulib/import/m4/fnmatch_h.m4: Update. * gnulib/import/m4/fpieee.m4: Update. * gnulib/import/m4/frexp.m4: Update. * gnulib/import/m4/frexpl.m4: Update. * gnulib/import/m4/fstat.m4: Update. * gnulib/import/m4/fstatat.m4: Update. * gnulib/import/m4/getcwd-abort-bug.m4: Update. * gnulib/import/m4/getcwd-path-max.m4: Update. * gnulib/import/m4/getcwd.m4: Update. * gnulib/import/m4/getdtablesize.m4: Update. * gnulib/import/m4/getlogin.m4: Update. * gnulib/import/m4/getlogin_r.m4: Update. * gnulib/import/m4/getpagesize.m4: Update. * gnulib/import/m4/getprogname.m4: Update. * gnulib/import/m4/gettimeofday.m4: Update. * gnulib/import/m4/glibc21.m4: Update. * gnulib/import/m4/glob.m4: Update. * gnulib/import/m4/glob_h.m4: Update. * gnulib/import/m4/gnulib-cache.m4: Update. * gnulib/import/m4/gnulib-common.m4: Update. * gnulib/import/m4/gnulib-comp.m4: Update. * gnulib/import/m4/gnulib-tool.m4: Update. * gnulib/import/m4/hard-locale.m4: Update. * gnulib/import/m4/include_next.m4: Update. * gnulib/import/m4/inttypes-pri.m4: Update. * gnulib/import/m4/inttypes.m4: Update. * gnulib/import/m4/isnand.m4: Update. * gnulib/import/m4/isnanl.m4: Update. * gnulib/import/m4/largefile.m4: Update. * gnulib/import/m4/limits-h.m4: Update. * gnulib/import/m4/localcharset.m4: Update. * gnulib/import/m4/locale-fr.m4: Update. * gnulib/import/m4/locale-ja.m4: Update. * gnulib/import/m4/locale-zh.m4: Update. * gnulib/import/m4/localtime-buffer.m4: Update. * gnulib/import/m4/longlong.m4: Update. * gnulib/import/m4/lstat.m4: Update. * gnulib/import/m4/malloc.m4: Update. * gnulib/import/m4/malloca.m4: Update. * gnulib/import/m4/math_h.m4: Update. * gnulib/import/m4/mbrtowc.m4: Update. * gnulib/import/m4/mbsinit.m4: Update. * gnulib/import/m4/mbsrtowcs.m4: Update. * gnulib/import/m4/mbstate_t.m4: Update. * gnulib/import/m4/memchr.m4: Update. * gnulib/import/m4/memmem.m4: Update. * gnulib/import/m4/mempcpy.m4: Update. * gnulib/import/m4/memrchr.m4: Update. * gnulib/import/m4/mkdir.m4: Update. * gnulib/import/m4/mkstemp.m4: Update. * gnulib/import/m4/mmap-anon.m4: Update. * gnulib/import/m4/mode_t.m4: Update. * gnulib/import/m4/msvc-inval.m4: Update. * gnulib/import/m4/msvc-nothrow.m4: Update. * gnulib/import/m4/multiarch.m4: Update. * gnulib/import/m4/nocrash.m4: Update. * gnulib/import/m4/off_t.m4: Update. * gnulib/import/m4/onceonly.m4: Update. * gnulib/import/m4/open-cloexec.m4: Update. * gnulib/import/m4/open.m4: Update. * gnulib/import/m4/openat.m4: Update. * gnulib/import/m4/opendir.m4: Update. * gnulib/import/m4/pathmax.m4: Update. * gnulib/import/m4/rawmemchr.m4: Update. * gnulib/import/m4/readdir.m4: Update. * gnulib/import/m4/readlink.m4: Update. * gnulib/import/m4/realloc.m4: Update. * gnulib/import/m4/rename.m4: Update. * gnulib/import/m4/rewinddir.m4: Update. * gnulib/import/m4/rmdir.m4: Update. * gnulib/import/m4/save-cwd.m4: Update. * gnulib/import/m4/secure_getenv.m4: Update. * gnulib/import/m4/setenv.m4: Update. * gnulib/import/m4/signal_h.m4: Update. * gnulib/import/m4/ssize_t.m4: Update. * gnulib/import/m4/stat-time.m4: Update. * gnulib/import/m4/stat.m4: Update. * gnulib/import/m4/std-gnu11.m4: Update. * gnulib/import/m4/stdbool.m4: Update. * gnulib/import/m4/stddef_h.m4: Update. * gnulib/import/m4/stdint.m4: Update. * gnulib/import/m4/stdio_h.m4: Update. * gnulib/import/m4/stdlib_h.m4: Update. * gnulib/import/m4/strchrnul.m4: Update. * gnulib/import/m4/strdup.m4: Update. * gnulib/import/m4/strerror.m4: Update. * gnulib/import/m4/string_h.m4: Update. * gnulib/import/m4/strstr.m4: Update. * gnulib/import/m4/strtok_r.m4: Update. * gnulib/import/m4/sys_socket_h.m4: Update. * gnulib/import/m4/sys_stat_h.m4: Update. * gnulib/import/m4/sys_time_h.m4: Update. * gnulib/import/m4/sys_types_h.m4: Update. * gnulib/import/m4/tempname.m4: Update. * gnulib/import/m4/time_h.m4: Update. * gnulib/import/m4/unistd-safer.m4: Update. * gnulib/import/m4/unistd_h.m4: Update. * gnulib/import/m4/warn-on-use.m4: Update. * gnulib/import/m4/wchar_h.m4: Update. * gnulib/import/m4/wchar_t.m4: Update. * gnulib/import/m4/wctype_h.m4: Update. * gnulib/import/m4/wint_t.m4: Update. * gnulib/import/malloc.c: Update. * gnulib/import/malloc/scratch_buffer.h: Update. * gnulib/import/malloc/scratch_buffer_grow.c: Update. * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update. * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update. * gnulib/import/malloca.c: Update. * gnulib/import/malloca.h: Update. * gnulib/import/malloca.valgrind: Update. * gnulib/import/math.in.h: Update. * gnulib/import/mbrtowc.c: Update. * gnulib/import/mbsinit.c: Update. * gnulib/import/mbsrtowcs-impl.h: Update. * gnulib/import/mbsrtowcs-state.c: Update. * gnulib/import/mbsrtowcs.c: Update. * gnulib/import/memchr.c: Update. * gnulib/import/memmem.c: Update. * gnulib/import/mempcpy.c: Update. * gnulib/import/memrchr.c: Update. * gnulib/import/mkdir.c: Update. * gnulib/import/mkstemp.c: Update. * gnulib/import/msvc-inval.c: Update. * gnulib/import/msvc-inval.h: Update. * gnulib/import/msvc-nothrow.c: Update. * gnulib/import/msvc-nothrow.h: Update. * gnulib/import/open.c: Update. * gnulib/import/openat-die.c: Update. * gnulib/import/openat-priv.h: Update. * gnulib/import/openat-proc.c: Update. * gnulib/import/openat.c: Update. * gnulib/import/openat.h: Update. * gnulib/import/opendir.c: Update. * gnulib/import/pathmax.h: Update. * gnulib/import/pipe-safer.c: Update. * gnulib/import/rawmemchr.c: Update. * gnulib/import/readdir.c: Update. * gnulib/import/readlink.c: Update. * gnulib/import/realloc.c: Update. * gnulib/import/ref-add.sin: Update. * gnulib/import/ref-del.sin: Update. * gnulib/import/rename.c: Update. * gnulib/import/rewinddir.c: Update. * gnulib/import/rmdir.c: Update. * gnulib/import/same-inode.h: Update. * gnulib/import/save-cwd.c: Update. * gnulib/import/save-cwd.h: Update. * gnulib/import/scratch_buffer.h: Update. * gnulib/import/secure_getenv.c: Update. * gnulib/import/setenv.c: Update. * gnulib/import/signal.in.h: Update. * gnulib/import/stat-time.c: Update. * gnulib/import/stat-time.h: Update. * gnulib/import/stat-w32.c: Update. * gnulib/import/stat-w32.h: Update. * gnulib/import/stat.c: Update. * gnulib/import/stdbool.in.h: Update. * gnulib/import/stddef.in.h: Update. * gnulib/import/stdint.in.h: Update. * gnulib/import/stdio.in.h: Update. * gnulib/import/stdlib.in.h: Update. * gnulib/import/str-two-way.h: Update. * gnulib/import/strchrnul.c: Update. * gnulib/import/strdup.c: Update. * gnulib/import/streq.h: Update. * gnulib/import/strerror-override.c: Update. * gnulib/import/strerror-override.h: Update. * gnulib/import/strerror.c: Update. * gnulib/import/string.in.h: Update. * gnulib/import/stripslash.c: Update. * gnulib/import/strnlen1.c: Update. * gnulib/import/strnlen1.h: Update. * gnulib/import/strstr.c: Update. * gnulib/import/strtok_r.c: Update. * gnulib/import/sys_stat.in.h: Update. * gnulib/import/sys_time.in.h: Update. * gnulib/import/sys_types.in.h: Update. * gnulib/import/tempname.c: Update. * gnulib/import/tempname.h: Update. * gnulib/import/time.in.h: Update. * gnulib/import/unistd--.h: Update. * gnulib/import/unistd-safer.h: Update. * gnulib/import/unistd.in.h: Update. * gnulib/import/unsetenv.c: Update. * gnulib/import/verify.h: Update. * gnulib/import/extra/snippet/warn-on-use.h: Update. * gnulib/import/wchar.in.h: Update. * gnulib/import/wctype.in.h: Update. * gnulib/import/xalloc-oversized.h: Update. * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to "53e2c179f26a890fa6685af4b6c1397ee370433b". commit 8ec235834d454a66a89fe16bc62e11497eb79078 Author: Simon Marchi Date: Mon Sep 10 17:11:01 2018 +0100 Remove unused variable in record-btrace.c old_inferior_ptid is unused, this is caught by a gcc built from git recently, not sure about previous versions: /home/emaisin/src/binutils-gdb/gdb/record-btrace.c: In function ‘frame_info* get_thread_current_frame(thread_info*)’: /home/emaisin/src/binutils-gdb/gdb/record-btrace.c:1974:10: error: unused variable ‘old_inferior_ptid’ [-Werror=unused-variable] 1974 | ptid_t old_inferior_ptid; | ^~~~~~~~~~~~~~~~~ gdb/ChangeLog: * record-btrace.c (get_thread_current_frame): Remove old_inferior_ptid. commit 1f5d1570c0eaadbb72d450211f70b24c4c23ac8e Author: Jerome Guitton Date: Mon Sep 10 10:37:52 2018 -0500 (Ada) Fix resolving of homonym components in tagged types ada_value_struct_elt is used when displaying a component (say, 'N') of a record object (say, 'Obj') of type, say, 't1'. Now if Obj is tagged (Ada parlance: "tagged types" are what other object-oriented languages call "classes"), then 'N' may not be visible in the current view and we need to look for it in its actual type. We do that at the same time as resolving variable-length fields. This would typically be done by the following call to ada_value_struct_elt, with the last parameter check_tag set to 1: t1 = ada_to_fixed_type (ada_get_base_type (t1), NULL, address, NULL, 1); This is the general logic, but recently we introduced a special case to handle homonyms. Different components may have the same name in a tagged type. For instance: type Top_T is tagged record N : Integer := 1; end record; type Middle_T is new Top.Top_T with record N : Character := 'a'; end record; Middle_T extends Top_T and both define a (different) component with the same name ('N'). In such a case, using the actual type of a Middle_T object would create a confusion, since we would have two component 'N' in this actual type. So, to handle homonyms, we convert t1 to the actual type *if and only if* N cannot be found in the current view. For example, if Obj has been created as a Middle_T but is seen as a Top_T'Class at our point of execution, then "print Obj.N" will display the integer field defined in Top_T's declaration. Now, even if we find N in the current view, we still have to get a fixed type: for instance, the record can be unconstrained and we still need a fixed type to get the proper offset to each field. That is to say, in this case: type Dyn_Top_T (Disc : Natural) is tagged record S : Integer_Array (1 .. Disc) := (others => Disc); N : Integer := 1; end record; type Dyn_Middle_T is new Dyn_Top.Dyn_Top_T with record N : Character := 'a'; U : Integer := 42; end record; If we have an object Obj of type Dyn_Middle_T and we want to display U, we don't need to build, from its tag, a real type with all its real fields. In other words, we don't need to add the parent components: Disc, S, and the integer N. We only need to access U and it is directly visible in Dyn_Middle_T. So no tag handling. However, we do need to build a fixed-size type to have the proper offset to U (since this offset to U depends on the size of Obj.S, which itself is dynamic and depends on the value of Obj.Disc). We accidentally lost some of this treatment when we introduced the resolution of homonyms. This patch re-install this part by uncoupling the tag resolution from the "fixing" of variable-length components. This change also slightly simplifies the non-tagged case: in the non-tagged case, no need to set check_tag to 1, since we already know that there is no tag. gdb/ChangeLog: * ada-lang.c (ada_value_struct_elt): Call ada_to_fixed_type with check_tag to 1 if and only if the type is tagged and the component being searched cannot been found in the current view. Otherwise, always call ada_to_fixed_type with check_tag to 0. gdb/testsuite/ChangeLog: * gdb.ada/same_component_name: Add test for case of tagged record with variable-length fields. commit d91e9ea81dce83259f2a7f32f43876373f3e7981 Author: Xavier Roirand Date: Mon Sep 10 10:35:58 2018 -0500 (Ada) Cleanup code by using ada_is_access_to_unconstrained_array call. This patch just avoids code duplication by using a function we introduced recently (ada_is_access_to_unconstrained_array). gdb/ChangeLog: * ada-lang.c (ada_is_access_to_unconstrained_array): Remove static declaration. * ada-lang.h: add ada_is_access_to_unconstrained_array prototype. * ada-varobj.c (ada_varobj_get_number_of_children, ada_varobj_describe_child, ada_value_is_changeable_p): Cleanup code. Tested on x86_64-linux. No new testcase provided, as this is just a refactoring. commit cc330e39bc938cefd4cfc581639177ef4c6bcbe3 Author: Xavier Roirand Date: Mon Sep 10 10:34:59 2018 -0500 (Ada) Fix printing of access to unconstrained arrays Using this Ada code: type String_Access is access String; type Array_Of_String is array (1 .. 2) of String_Access; Aos : Array_Of_String := (new String'("ab"), new String'("cd")); When debugging with GDB, printing each Aos element displays: (gdb) print Aos(1) $2 = "ab" (gdb) print Aos(2) $3 = "cd" Whereas it should display: (gdb) print Aos(1) $2 = (foo_r118_024.string_access) 0x635018 (gdb) print Aos(2) $3 = (foo_r118_024.string_access) 0x635038 Notice that printing the entire array works: (gdb) print Aos $1 = (0x635018, 0x635038) The problem was located in ada_value_print function and due to the fact that the value_type used in this function was based on value_enclosing_type rather than value_type itself. In our example, the difference between the value_type and the value_enclosing_type of the value is that the value_type contains an additional typedef layer which is not present in the value_enclosing_type. This typedef layer is GNAT's way to specify that the element is, at the source level, an access to the unconstrained array, rather than the unconstrained array. Moreover, the value_enclosing_type is not really needed in that case and the value_type can be used instead in this function, and this patch fixes this. gdb/ChangeLog: * ada-valprint.c (ada_value_print): Use type instead of enclosing type. testsuite/ChangeLog: * gdb.ada/access_to_unbounded_array.exp: New testcase. * gdb.ada/access_to_unbounded_array/foo.adb: New file. * gdb.ada/access_to_unbounded_array/pack.adb: New file. * gdb.ada/access_to_unbounded_array/pack.ads: New file. Tested: x86_64-linux commit b9c50e9a9ac48662b2132583c52d46976efb3512 Author: Xavier Roirand Date: Mon Sep 10 10:33:32 2018 -0500 (Ada/MI) Fix -var-evaluate-expression for access to unconstrained arrays Using this Ada code: type String_Access is access String; type Array_Of_String is array (1 .. 2) of String_Access; Aos : Array_Of_String := (new String'("ab"), new String'("cd")); In GDB/MI mode, create a variable which type is Aos, evaluate it: (gdb) -var-create var1 * Aos ^done,name="var1",numchild="2",value="[2]",type="bar.array_of_string",thread-id="1",has_more="0" Now print it: (gdb) -var-list-children 1 var1 ^done,numchild="2",children=[child={name="var1.1",exp="1",numchild="1",value="[2] \"ab\"", type="bar.string_access",thread-id="1"},child={name="var1.2",exp="2",numchild="1",value="[2] \"cd\"", type="bar.string_access",thread-id="1"}],has_more="0" But printed fields "value" are wrong, since it should be: ^done,numchild="2",children=[child={name="var1.1",exp="1",numchild="1",value="0x634018",type="bar.string_access",thread-id="1"},child={name="var1.2",exp="2",numchild="1",value="0x634038",type="bar.string_access",thread-id="1"}],has_more="0"^M Print each child of var1: (gdb) -var-evaluate-expression var1.1 ^done,value="[2] \"ab\"" (gdb) -var-evaluate-expression var1.2 ^done,value="[2] \"cd\"" Whereas it should be (gdb) -var-evaluate-expression var1.1 ^done,value="0x635018" (gdb) -var-evaluate-expression var1.2 ^done,value="0x635038" This patch fixes this. gdb/ChangeLog: * ada-lang.c (ada_value_subscript): Handle case when parameter is an array of access to unconstrained array. testsuite/ChangeLog * gdb.ada/mi_string_access.exp: New testcase. * gdb.ada/mi_string_access/bar.adb: New file. * gdb.ada/mi_string_access/pck.adb: New file. * gdb.ada/mi_string_access/pck.asd: New file. Tested on x86_64-linux. commit 736ade86ea3dd3df31120b6c617d64c88bcc86c1 Author: Xavier Roirand Date: Mon Sep 10 10:32:00 2018 -0500 (Ada) New function ada_is_access_to_unconstrained_array Add a new function to check if a given type is an access to an unconstrained array. This function contains code that is present only once in the current sources but will be used in a future patch. gdb/ChangeLog: * ada-lang.c (ada_is_access_to_unconstrained_array): New function. (ada_check_typedef): Use it. Tested on x86_64-linux. commit 2963898f38dab323a9e381d7c41a26b9c3498882 Author: Xavier Roirand Date: Mon Sep 10 10:30:50 2018 -0500 (Ada) Fix -var-list-children MI command for union type Using this Ada code: type Union_Type (A : Boolean := False) is record case A is when True => B : Integer; when False => C : Float; end case; end record; pragma Unchecked_Union (Union_Type); Ut : Union_Type := (A => True, B => 3); In GDB/MI mode, once creating a varobj from variable "Ut" as follow: (gdb) -var-create var1 * ut ^done,name="var1",numchild="2",value="{...}",type="foo.union_type",thread-id="1",has_more="0" Printing the list of its children displays: (gdb) -var-list-children 1 var1 ^error,msg="Duplicate variable object name" Whereas it should be (gdb) -var-list-children 1 var1 ^done,numchild="2",children=[child={name="var1.b",exp="b",numchild="0",value="3",type="integer",thread-id="1"},child={name="var1.c",exp="c",numchild="0",value="4.20389539e-45",type="float",thread-id="1"}],has_more="0" The problem occurs because ada_varobj_describe_struct_child wasn't handling unions. This patch fixes this. gdb/ChangeLog: * ada-varobj.c (ada_varobj_describe_struct_child) (ada_varobj_describe_child): Handle union case like struct one. testsuite/ChangeLog * gdb.ada/mi_var_union.exp: New testcase. * gdb.ada/mi_var_union/bar.adb: New file. * gdb.ada/mi_var_union/pck.adb: New file. * gdb.ada/mi_var_union/pck.asd: New file. Tested on x86_64-linux. commit 849cba3b83f8b808521ef5b1aaa8fb33c04bd9fa Author: Tom Tromey Date: Sat Sep 8 14:00:48 2018 -0600 Remove periods from Python section titles This removes the remaining trailing periods from the Python section titles. I thought these looked weird and I don't this is generally done in the gdb documentation. gdb/doc/ChangeLog 2018-09-10 Tom Tromey * python.texi (Frames In Python, Blocks In Python) (Symbols In Python, Symbol Tables In Python) (Lazy Strings In Python): Remove periods from section titles. commit 27a9fec6aa2637715a4631f79fb46372a37f868a Author: Tom Tromey Date: Sat Sep 8 13:50:09 2018 -0600 Swap two sentences in the Pretty Printing API node I thought the start of the Pretty Printing API node read a bit strangely. This patch swaps the first two sentences, which seems better. gdb/doc/ChangeLog 2018-09-10 Tom Tromey * python.texi (Pretty Printing API): Swap sentence order. commit 9da10427ddcfae7313c462f729407e0c7c59e2d8 Author: Tom Tromey Date: Sat Sep 8 13:44:24 2018 -0600 Mention virtual tables in Python dynamic_type documentation PR python/16461 asks that the Python dynamic_type documentation mention virtual tables; this patch implements that request. gdb/doc/ChangeLog 2018-09-10 Tom Tromey PR python/16461: * python.texi (Values From Inferior): Mention use of virtual table. commit 0d2a583976a87221d11c2639ede8f764e0c26059 Author: Tom Tromey Date: Sat Sep 8 13:40:50 2018 -0600 Small typo fix in Basic Python node I noticed that the decode_line documentation did not have parens around the argument: -- Function: gdb.decode_line [expression] This patch fixes this oversight. gdb/doc/ChangeLog 2018-09-10 Tom Tromey * python.texi (Basic Python): Parenthesize argument to decode_line. commit 05c6bdc1a935243d19eb9dc3799321c96b660d68 Author: Tom Tromey Date: Sat Sep 8 13:37:26 2018 -0600 Mention Python versions in the documentation This updates python.texi to note that gdb can be compiled against either major version of Python. It also removes the "execfile" example, because that is specific to Python 2. gdb/doc/ChangeLog 2018-09-10 Tom Tromey * python.texi (Python): Mention Python versions. Don't mention execfile. commit e7b5068cc22f1a5707a9fd0310234b8d7300f227 Author: Tom Tromey Date: Sat Sep 8 13:25:34 2018 -0600 Update Python unwinder documentation PR python/19808 points out a few issues in the Python unwinder documentation. This patch update the documentation for create_unwind_info and read_register to address the issues noted, and adds a cautionary note about writing an unwinder. gdb/doc/ChangeLog 2018-09-10 Tom Tromey PR python/19808: * python.texi (Unwinding Frames in Python): Rewrite create_unwind_info documentation. Update read_register documentation and add a note about unwinder caution. commit fb5af5e335202bc94c292c83eaa328633cd5d924 Author: Tom Tromey Date: Sat Sep 8 10:59:14 2018 -0600 Fix gdb.events.inferior_call documentation PR python/18909 points out that the gdb.events.inferior_call documentation was incorrect. This patch brings it in line with the code. gdb/doc/ChangeLog 2018-09-10 Tom Tromey PR python/18909: * python.texi (Events In Python): Fix inferior_call documentation. commit 521b499b963562793e5dbbcc1df8357cdf2757a7 Author: Tom Tromey Date: Sat Sep 8 10:16:46 2018 -0600 Update Python frame filter documentation This fixes a few frame filter documentation omissions noted in PR python/17752. gdb/doc/ChangeLog 2018-09-10 Tom Tromey PR python/17752: * python.texi (Frame Filter API): Remove period from subsection title. Mention 100 as good default priority. (Frame Decorator API): Remove period from subsection title. Mention FrameDecorator module. commit 4a5a194ae8a871a781d4cdc73c7ba3ae7deafbaa Author: Tom Tromey Date: Sat Sep 8 09:39:41 2018 -0600 Reword gdb.GdbError text PR python/23108 points out that the gdb.GdbError documentation is somewhat difficult to find. The exception is apparently just mentioned in passing. This patch introduces a new table and adds a bit more text to try to make it more obvious. gdb/doc/ChangeLog 2018-09-10 Tom Tromey PR python/23108: * python.texi (Exception Handling): Rearrange gdb.GdbError text and add a table. commit f5a476a7b19f43dce8d15ae3e5deb7027f71ab7b Author: Tom Tromey Date: Sat Sep 8 09:29:18 2018 -0600 Avoid warnings from makeinfo "make info" gives a number of warnings about the use of a "." in @ref-like commands. These come from the ".info" suffix. I think this suffix is redundant, and removing the suffix also removes the warning. gdb/doc/ChangeLog 2018-09-10 Tom Tromey * gdb.texinfo (Compilation): Use "gcc", not "gcc.info", in @xref. (Machine Code): Use "binutils", not "binutils.info", in @pxref. (Separate Debug Files): Use "ld", not "ld.info", in @ref. * python.texi (Objfiles In Python): Use "ld", not "ld.info", in @ref. commit a154931ef1ef1c588c0e7da5e5fd4658c5dd28f5 Author: Tom Tromey Date: Sat Sep 8 09:13:37 2018 -0600 Fix help text for "python" command PR python/18380 points out that the example in the "help python" text will only work in Python 2. This changes the example to be valid syntax for both Python 2 and Python 3. gdb/ChangeLog 2018-09-10 Tom Tromey PR python/18380: * python/python.c (_initialize_python): Make example in "python" help work in Python 3. commit 60c0454d3dda99635d331f6002f3f04fe34546a7 Author: Tom Tromey Date: Sat Sep 8 09:08:56 2018 -0600 Document that Frame.block can throw PR python/16484 points out that Frame.block can throw an exception, but this is not documented. This patch fixes the documentation. Changing Frame.block to return None would be nice, but I suspect it's too late for that change. gdb/doc/ChangeLog 2018-09-10 Tom Tromey PR python/16484: * python.texi (Frames In Python): Document that Frame.block can throw. commit 088a96da059ce14fe1dff369873b1dcf7151e29a Author: Tom Tromey Date: Sat Sep 8 09:03:29 2018 -0600 Fix typo in pretty-printer example PR python/23487 points out that the "disable pretty-printer" example has a typo that makes it incorrect. This patch fixes the typo. gdb/doc/ChangeLog 2018-09-10 Tom Tromey PR python/23487: * gdb.texinfo (Pretty-Printer Commands): Fix typo in example. commit 22eb9e92ea9b5fd1ed83cfc093d7da6d18643149 Author: Tom Tromey Date: Sat Sep 8 08:59:00 2018 -0600 Update Python Block.end documentation PR python/16033 points out that Block.end doesn't describe whether it is inclusive or exclusive. This patch fixes the documentation. gdb/doc/ChangeLog 2018-09-10 Tom Tromey PR python/16033: * python.texi (Blocks In Python): Document that Block.end is exclusive. commit 23c4651c060c123493de004ef61d8ed052d46113 Author: Eli Zaretskii Date: Mon Sep 10 10:14:04 2018 +0300 Fix "make install-strip" failure to install gdb-add-index.sh gdb/ChangeLog: 2018-09-10 Eli Zaretskii * Makefile.in (transformed_name): Use INSTALL_SCRIPT instead of INSTALL_PROGRAM to install gdb-add-index.sh. Don't append $(EXEEXT) to the script, as it is not a program. commit f9853190c8d90e9f7d43fae90478a0db291f9c03 Author: Alan Modra Date: Mon Sep 10 11:57:08 2018 +0930 PR23611, objcopy is not removing executable relocatable sections BFD handles ELF relocation sections in an executable differently to relocation sections in a relocatable object. For a relocatable object, BFD carries the relocations as data associated with the section to which they apply; The relocation section doesn't appear as a separate section. For an executable, dynamic relocation sections do appear as separate sections. This means that objcopy needs to use different strategies when dealing with relocations. When --remove-relocations was added to objcopy with commit d3e5f6c8f1e, objcopy lost the ability to remove dynamic relocation sections such as .rela.plt from executables using the option "--remove-section=.rela.plt". This patch reinstates that functionality. I thought it best to keep --remove-relocations as is, rather than extending to handle dynamic relocations as per the patch in the PR, because executables linked with --emit-relocs may have both dynamic and non-dynamic relocations. In that case --remove-relocataions=* is useful to remove all the non-dynamic relocations. PR binutils/23611 * objcopy.c (handle_remove_section_option): Consider .rela and .rel sections for stripping directly as well as attached to the associated section they relocate. * doc/binutils.texi (remove-relocations): Specify that this option removes non-dynamic relocation sections. * testsuite/binutils-all/objcopy.exp (objcopy_remove_relocations_from_executable): New test. commit 78f8307c93755eb581c20ba049f1b092f161d513 Author: GDB Administrator Date: Mon Sep 10 00:00:50 2018 +0000 Automatic date update in version.in commit a5c5eda7e412aa7f3cb843cd48b3b4c0101718a0 Author: Simon Marchi Date: Sun Sep 9 08:13:17 2018 +0100 python: Make two functions return gdbpy_ref<> I noticed that we release a gdbpy_ref in pretty_print_one_value only to create it again later. This patch fills the gap by returning a gdbpy_ref all the way. gdb/ChangeLog: * python/py-prettyprint.c (pretty_print_one_value): Return gdbpy_ref<>. (print_string_repr): Adjust. (apply_varobj_pretty_printer): Return gdbpy_ref<>. * python/python-internal.h (apply_varobj_pretty_printer): Return gdbpy_ref<>. * varobj.c (varobj_value_get_print_value): Adjust. commit 1aac008f1c2f0a239b7ba26efe9d6b68044cddf8 Author: Tom Tromey Date: Sat Sep 8 21:47:53 2018 -0600 Make py-prettyprint.exp test names unique I noticed that the py-prettyprint.exp test names were not unique. This patch fixes the problem via with_test_prefix. gdb/testsuite/ChangeLog 2018-09-08 Tom Tromey * gdb.python/py-prettyprint.exp: Use with_test_prefix. commit 332cf4c9251a31f0addc2ce2970c9a8bb0c16f96 Author: Tom Tromey Date: Sat Sep 8 14:40:38 2018 -0600 Allow a pretty-printer without a to_string method PR python/16047 points out that, while the documentation says that the to_string method is optional for a pretty-printer, the code disagrees and throws an exception. This patch fixes the problem. varobj is already ok here. Tested on x86-64 Fedora 26. gdb/ChangeLog 2018-09-08 Tom Tromey PR python/16047: * python/py-prettyprint.c (pretty_print_one_value): Check for to_string method. gdb/testsuite/ChangeLog 2018-09-08 Tom Tromey PR python/16047: * gdb.python/py-prettyprint.py (pp_int_typedef3): New class. (register_pretty_printers): Register new printer. * gdb.python/py-prettyprint.exp (run_lang_tests): Add int_type3 test. * gdb.python/py-prettyprint.c (int_type3): New typedef. (an_int_type3): New global. commit 0653638f9f0efdb1561db8e2faff2580e09658af Author: GDB Administrator Date: Sun Sep 9 00:01:14 2018 +0000 Automatic date update in version.in commit 424da6cf3b30b889ff577b1babd09777148dc0e0 Author: Joel Brobecker Date: Sat Sep 8 16:51:36 2018 -0500 (Ada) fix handling of expression with parameterless function call Consider the following function, which takes no parameter and returns an integer: function Something return Integer; For the purpose of this discussion, our function has been implemented to always return 124: function Something return Integer is begin return 124; end Something; In Ada, such function can been called without using the parentheses. For instance, in the statement below, variable My_Value is assigned the returned value from the call to Something: My_Value := Something; The Ada expression interpeter in GDB supports this case, as we can see below: (gdb) print something $1 = 124 However, we get fairly strange results when trying to use this feature as part of a larger expression. For instance: (gdb) print something + 1 $2 = 248 The problem occurs while doing the resolution pass of the expression. After prefixying the expression, we obtain the following expression: 0 BINOP_ADD 1 OP_VAR_VALUE Block @0x2021550, symbol @0x20213a0 (pck.something) 5 OP_LONG Type @0x1e3c170 (int), value 1 (0x1) The resolution pass is then expected to remove the OP_VAR_VALUE entry, and replace it with an OP_FUNCALL. This is what the call to replace_operator_with_call in ada-lang.c::resolve_subexp is expected to do: if (deprocedure_p && (TYPE_CODE (SYMBOL_TYPE (exp->elts[pc + 2].symbol)) == TYPE_CODE_FUNC)) { replace_operator_with_call (expp, pc, 0, 0, exp->elts[pc + 2].symbol, exp->elts[pc + 1].block); exp = expp->get (); } The problem is that we're passing OPLEN (zero -- 4th parameter in the call), and so replace_operator_with_call ends up removing zero element from our expression, and inserting the corresponding OP_FUNCALL instead. As a result, instead of having the OP_LONG (1) as the second argument of the BINOP_ADD, it is now the OP_VAR_VALUE that we were meant to replace. That OP_VAR_VALUE then itself gets transformed into an OP_FUNCALL, with the same issue, and eventually, the resolved expression now looks like this: 0 BINOP_ADD 1 OP_FUNCALL Number of args: 0 4 OP_VAR_VALUE Block @0x2021550, symbol @0x20213a0 (pck.something) 8 OP_FUNCALL Number of args: 0 11 OP_VAR_VALUE Block @0x2021550, symbol @0x20213a0 (pck.something) 15 OP_VAR_VALUE Block @0x2021550, symbol @0x20213a0 (pck.something) 19 OP_LONG Type @0x1e3c170 (int), value 1 (0x1) This explains why we get twice the result of the function call instead of its value plus one. The extra entries in the expression at the end are just ignored. This patch fixes the issue by calling replace_operator_with_call with the correct OPLEN equal to the size of an OP_VAR_VALUE (4). gdb/ChangeLog: * ada-lang.c (resolve_subexp): Pass correct OPLEN in call to replace_operator_with_call. gdb/testsuite/ChangeLog: * gdb.ada/expr_with_funcall: New testcase. commit 95f39a5b2755e5aaaceb6248e585f8a593542331 Author: Joel Brobecker Date: Sat Sep 8 16:50:00 2018 -0500 ada-lang.c::ada_value_cast: remove unnecessary parentheses No other code change. gdb/ChangeLog: * ada-lang.c (ada_value_cast): Remove unnecessary parentheses. commit 16b9eb7bfa56f060d183aa44165bf75cb3c414d8 Author: Joel Brobecker Date: Sat Sep 8 16:49:10 2018 -0500 (Ada) slightly incorrect bounds for type of array indexed by enum Consider the following code: type Enumerated is (Enum_A, Enum_B, Enum_C, Enum_Last); type Table is array (Enumerated) of Integer; -- Declare a variable of type Table to make sure the compiler -- does emit the debugging information for that type. V : Table := (others => 1); Trying to print the type description of type Table, or of variable V yields: (gdb) ptype v type = array (0 .. 3) of integer (gdb) ptype example.table type = array (0 .. 3) of integer The compiler generates an XA type for the bounds... <1>: Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_name : example__table___XA ... whose member is described as being as: <2>: Abbrev Number: 14 (DW_TAG_member) DW_AT_name : example__enumerated DW_AT_type : <0xc69> This leads us to DIE 0xc69, which is our enumeration type: <2>: Abbrev Number: 4 (DW_TAG_enumeration_type) DW_AT_name : example__enumerated Normally, for arrays, we expect a range type, rather than an enumerated type. However, for a situation like this, where the range of the array index is the full enumeration type, it seems like a waste to require an extra range layer. Instead, looking at print_range, we see that we print the bounds of our range using the target type: target_type = TYPE_TARGET_TYPE (type); if (target_type == NULL) target_type = type; [...] ada_print_scalar (target_type, lo, stream); fprintf_filtered (stream, " .. "); ada_print_scalar (target_type, hi, stream); In this case, this causes us to use the enumerated type's subtype, which is a plain integer type, hence the output we get. However, there is no reason for using the target type, even in the TYPE_CODE_RANGE situation. So this patch fixes the issue by simply printing the bounds using the type being given, instead of its target type. gdb/ChangeLog: * ada-typeprint.c (print_range): Print the bounds using TYPE rather than its TYPE_TARGET_TYPE. A new test for this isn't necessary, as existing tests will demonstrate this issue once a change in the compiler triggering the generation of this type of debugging info gets pushed. commit d8ce91275e421dfe57aa4e79bb9a58824c155e96 Author: Joel Brobecker Date: Sat Sep 8 16:48:04 2018 -0500 minor reformatting in ada-lang.c::ada_to_fixed_value The arguments in the call to ada_to_fixed_value_create where improperly aligned. But I also noticed that all the arguments do fit on a single-line (up to 79 characters). So this patch just fixes the code by putting everything on that same line. gdb/ChangeLog: * ada-lang.c (ada_to_fixed_value): Minor reformatting in call to ada_to_fixed_value_create. commit 0d81f350ec01630ef7cd9ae4385a1dc504c54d73 Author: Jerome Guitton Date: Sat Sep 8 16:47:11 2018 -0500 Handle PPC64 function descriptor in Ada decoding On PPC64, the entry point of the function "FN" is ".FN" when a function descriptor is used. One of the consequences of this is that GDB then presents the name of the function to the user (eg: in backtraces) with the leading dot, which is a low-level internal detail that the user should not be seeing. The Ada decoding should strip it. gdb/ChangeLog: * ada-lang.c (ada_decode): strip dot prefix in symbol name. No testcase added, as a number of existing testcases should already demonstrate that problem. commit 57aff202b4b17a05d73e71680a26fe12a817f110 Author: Joel Brobecker Date: Sat Sep 8 16:46:08 2018 -0500 (Ada) "catch assert" spurious internal error We noticed while debugging a program compiled without assertions enabled and using an older compiler that inserting a catchpoint on failed assertions would cause an internal error: (gdb) catch assert ../../src/gdb/ada-lang.c:13321: internal-error: ada_exception_sal: Assertion`sym != NULL' failed. A problem internal to GDB has been detected, This is due to a combination of factors: 1. With older versions of the compiler, the function used as a hook was provided by a unit that's different from the unit which provides the hooks for the other exception catchpoints. 2. The program either does not use any assertion, or is compiled without the assertions enabled. With newer versions of the compiler, all such functions are provided by the same unit, so should normally always be available. However, there can still be reasons why this is not the case. Consider, for instance, the case of a runtime compiled with -ffunction-sections, in which case the hook might be eliminated unless assertions are used and enabled. So this patch transforms the internal error into a simple error. gdb/ChangeLog: * ada-lang.c (ada_exception_sal): Replace gdb_assert calls by calls to error. No testcase added, as the existing testcase gdb.ada/catch_ex.exp should trigger it when using an older version of GNAT as the Ada compiler. commit fb44b1a737ee7d53d5d88c4f2a3d449e8084d6c2 Author: Joel Brobecker Date: Sat Sep 8 16:45:25 2018 -0500 (Ada) infinite loop when hitting unhandled exception catchpoint When debugging a program compiled with an older version of GNAT, hitting a catchpoint on unhandled exceptions can caused GDB to got into an infinite loop. This happens while trying to find the name of the exception that was raised. For that, it searches for a frame corresponding to a specific function we know gets called during the exeption handling. In our particular case, the compiler was too old, and so GDB never found that frame, and eventually got past the "main" subprogram, all the way to system frames, where no symbol was available. As a result, the code addresses could not be resolved into a function name, leading to the infinite loop because of a misplaced update of our loop variable "fi": while (fi != NULL) { char *func_name; enum language func_lang; find_frame_funname (fi, &func_name, &func_lang, NULL); if (func_name != NULL) { make_cleanup (xfree, func_name); if (strcmp (func_name, data->exception_info->catch_exception_sym) == 0) break; /* We found the frame we were looking for... */ fi = get_prev_frame (fi); } } If FUNC_NAME is NULL, then FI never gets updated ever after! gdb/ChangeLog: * ada-lang.c (ada_unhandled_exception_name_addr_from_raise): Move update of loop variable "fi". No testcase added, as the existing testcase gdb.ada/catch_ex.exp should trigger it when using an older version of GNAT as the Ada compiler. commit 2a62dfa93f1980fd8d5b0651753c550942fa30b6 Author: Joel Brobecker Date: Sat Sep 8 16:44:36 2018 -0500 (Ada) assigning packed array aggregate with variable as component Consider a variable "PRA" defined as a packed array of packed records as follow: subtype Int is Integer range 0 .. 7; type Packed_Rec is record X, Y : Int; W : Integer; end record; pragma Pack (Packed_Rec); type Packed_RecArr is array (Integer range <>) of Packed_Rec; pragma Pack (Packed_RecArr); PRA : Packed_RecArr (1 .. 3); Consider also a variable "PR", which is a Packed_Rec record, declared as follow: PR : Packed_Rec := (2, 2, 2); Trying to assign a new value to PRA using an aggregate expression where one of the components is our variable PR yields the wrong result on big-endian machines (e.g. on ppc-linux): (gdb) p pra := (pr, (2,2,2), (2,2,2)) $6 = ((x => 1, y => 0, w => 8), [...] On the other hand, replacing "pr" by "(2,2,2)" does work. I tracked the issue down to the bit offset we use to extract the value of "PR" and copy it inside PRA. in value_assign_to_component, we have: if (gdbarch_bits_big_endian (get_type_arch (value_type (container)))) move_bits ([target buffer], [bit offset in target buffer], [source buffer where PR is stored], TYPE_LENGTH (value_type (component)) * TARGET_CHAR_BIT - bits, bits, 1); The issue is with the third-to-last argument, which provides the bit offset where the value of PR is stored relative to its start address, and therefore the bit offset relative to the start of the source buffer passed as the previous argument. In our case, component is a 38bit packed record whose TYPE_LENGTH is 5 bytes, so the bit-offset that gets calculated is 2 (bits). However, that formula only really applies to scalars, whereas in our case, we have a record (struct). The offset in the non-scalar case should be zero. gdb/ChangeLog: * ada-lang.c (value_assign_to_component): In the case of big-endian targets, extract the bits of the given VAL using an src_offset of zero if container is not a scalar. gdb/testsuite/ChangeLog: * gdb.ada/packed_array_assign: New testcase. commit d1908f2d6b9f161b6a31449e83e1b671acb99620 Author: John Darrington Date: Fri Jul 13 18:08:31 2018 +0200 gdb: Add builtin types for 24 bit integers. Add int24 and uint24. These are used by the upcoming S12Z target, but will be needed for any arch which features 24 bit registers. * gdb/gdbtypes.h (struct builtin_type): New members builtin_int24 and builtin_uint24; * gdb/gdbtypes.c: Initialize them. * gdb/doc/gdb.texinfo (Predefined Target Types): Mention types int24 and uint24. commit 9da4dfd6816fa2198bd80fd6a7b12fef4d6c8361 Author: John Darrington Date: Sat Sep 8 06:59:09 2018 +0200 S12Z: Make disassebler work for --enable-targets=all config. opcodes/ * disassemble.c (ARCH_s12z): Define if ARCH_all. commit b8c876004b48a05bd1117731e3c60e1f13093b5f Author: GDB Administrator Date: Sat Sep 8 00:00:35 2018 +0000 Automatic date update in version.in commit 96b6697fd807428f3832bdab1527ad55156e88d7 Author: Andrew Burgess Date: Fri Sep 7 14:06:53 2018 +0100 gdb/testsuite: Make test names unique in gdb.base/watchpoint.exp Extend test names and add test name prefixes to make test names unique. gdb/testsuite/ChangeLog: * gdb.base/watchpoint.exp (test_complex_watchpoint): Extend test names, and add test prefixes to make test names unique. commit 7235dd9f9092d719121a635f73ae2c72102f0263 Author: GDB Administrator Date: Fri Sep 7 00:00:41 2018 +0000 Automatic date update in version.in commit 739ab2e92e1840c9285f3cfce1f1236c0fa68730 Author: Simon Ser Date: Thu Sep 6 15:03:19 2018 -0700 Generate NT_PROCSTAT_{AUXV,VMMAP,PS_STRINGS} in FreeBSD coredumps gcore generates NT_AUXV and NT_FILE notes for Linux targets. On FreeBSD auxv is stored in a NT_PROCSTAT_AUXV section, virtual memory mappings are stored in a NT_PROCSTAT_VMMAP, and both are prefixed with the struct size. In addition, store a NT_PROCSTAT_PS_STRINGS note saving the initial location of the argv[] and environment[] arrays. gdb/ChangeLog: PR gdb/23105 * fbsd-nat.c (fbsd_nat_target::xfer_partial): Add support for TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS. * fbsd-tdep.c (fbsd_make_note_desc): New. (fbsd_make_corefile_notes): Write NT_PROCSTAT_AUXV, NT_PROCSTAT_VMMAP and NT_PROCSTAT_PS_STRINGS notes. * target.h (enum target_object) Add FreeBSD-specific TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS. commit d82b3862f1218134f5301ed990c6db48fcb82b2f Author: Simon Marchi Date: Thu Sep 6 13:48:10 2018 +0100 compile: Remove non-const reference parameters As mentioned here: https://sourceware.org/gdb/wiki/Internals%20GDB-C-Coding-Standards#Avoid_non-const_reference_parameters.2C_use_pointers_instead we prefer to avoid non-const references. This patch changes the non-const references I could find in the compile/ directory, either by making them rvalue-reference (&&) or changing them to pointers. I'd say all the changes are pretty obvious, except the one in compile_cplus_instance::enter_scope which might require more attention. gdb/ChangeLog: * compile/compile-c.h (generate_c_for_variable_locations): Change reference to pointer. * compile/compile-c-support.c (compile_program) : Likewise. * compile/compile-c-symbols.c (generate_vla_size): Likewise. (generate_c_for_for_one_variable): Likewise (generate_c_for_variable_locations): Likewise * compile/compile-c-types.c (compile_c_instance::convert_type): Likewise * compile/compile-cplus-symbols.c (convert_one_symbol): std::move the scope passed to enter_scope. * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope): Make parameter rvalue-reference. (compile_cplus_instance::new_scope): Change reference to pointer. (compile_cplus_instance::convert_type): Likewise (compile_cplus_convert_typedef): std::move the scope passed to enter_scope. (compile_cplus_convert_struct_or_union): Likewise. (compile_cplus_convert_enum): Likewise. (compile_cplus_convert_namespace): Likewise. * compile/compile-cplus.h (compile_cplus_instance) : Make parameter rvalue-reference. * compile/compile-internal.h (compile_instance) : Likewise * compile/compile-loc2c.c (push): Likewise (pushf): Likewise (unary): Likewise (binary): Likewise (print_label): Likewise (pushf_register_address): Likewise (pushf_register): Likewise (do_compile_dwarf_expr_to_c): Likewise (compile_dwarf_expr_to_c): Likewise (compile_dwarf_bounds_to_c): Likewise * compile/compile.c (compile_instance::get_cached_type): Likewise * compile/compile.h (compile_dwarf_expr_to_c): Likewise. (compile_dwarf_bounds_to_c): Likewise * dwarf2loc.c (locexpr_generate_c_location): Likewise. (dwarf2_compile_property_to_c): Likewise * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise * symtab.h (struct symbol_computed_ops) : Likewise commit cc5a5ae5b7ea576bb8bf4bbebeaa70366851eacd Author: Simon Marchi Date: Thu Sep 6 13:35:32 2018 +0100 Remove unused tui_win_element::highlight gdb/ChangeLog: * tui/tui-data.h (struct tui_win_element) : Remove. * tui/tui-data.c (init_content_element): Don't initialize it. commit 137be54029ed2d2fc95120bba2af88311e5a198a Author: Simon Marchi Date: Thu Sep 6 12:08:33 2018 +0100 Remove unused tui_win_info::detail::opaque gdb/ChangeLog: * tui/tui-data.h (struct tui_win_info) : Remove. * tui/tui-data.c (init_win_info): Remove assignment. commit deee88e9810fe5a3e73b071713ff6fa03b5c016d Author: Alan Modra Date: Tue Sep 4 10:13:26 2018 +0930 PR23570, AVR .noinit section defaults to PROGBITS Revert commit 8744470deab and instead use the standard special_sections support. PR 23570 bfd/ * elf32-avr.c (elf_avr_special_sections): New. (elf_backend_special_sections): Define. gas/ * config/tc-avr.c: Revert 2018-09-03 change. commit f1628857d783fee0171f16f1bad0b7816460dec5 Author: Tom Tromey Date: Wed Sep 5 13:46:47 2018 -0600 Make -Wformat-nonliteral work with gcc After looking into why the build failed for Simon but not for me, we found that the underlying cause was due to how gcc treats -Wformat-nonliteral. gcc requires -Wformat to be given first; but warning.m4 was not doing this, so -Wformat-nonliteral was not being used. This patch changes warning.m4 to account gcc's requirement. This then showed that the target-float.c build change in the earlier Makefile patch was also incorrect. Simon didn't see this in his build, but gcc now points it out. So, this patch fixes this problem as well. 2018-09-05 Tom Tromey * warning.m4 (AM_GDB_WARNINGS): Add -Wformat when testing -Wformat-nonliteral. * target-float.c (host_float_ops::to_string) (host_float_ops::from_string): Use DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL. * configure: Rebuild. gdb/gdbserver/ChangeLog 2018-09-05 Tom Tromey * configure: Rebuild. commit af39b1c216ffb11e6ca8e8607b00749e0fc1ab41 Author: Simon Marchi Date: Wed Sep 5 21:21:51 2018 -0600 Disable -Wformat-nonliteral in parts of printcmd.c commit 3322c5d9a1 ("Remove unneeded explicit .o targets") broke the build with clang, because -Wno-format-nonliteral was in fact needed. This patch fixes the problem by introducing DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL and using it in printcmd.c. This seems preferable to reverting the patch because now the warning suppression is more targeted. gdb/ChangeLog 2018-09-05 Simon Marchi * printcmd.c (printf_c_string): Use DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL. (printf_wide_c_string, printf_pointer, ui_printf): Likewise. include/ChangeLog 2018-09-05 Simon Marchi * diagnostics.h (DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL): New macro. commit 4f075c06a3adbccdc2712c3e24afc7d4814149c7 Author: GDB Administrator Date: Thu Sep 6 00:00:45 2018 +0000 Automatic date update in version.in commit 081bca4d622143b229cf02a1dda4afb9b457eefa Author: Tom Tromey Date: Wed Sep 5 00:00:31 2018 -0600 Remove unnecessary casts from cli-cmds.c I noticed a couple of unnecessary casts in cli-cmds.c. This patch removes them. Tested by rebuilding. I'm checking this in. gdb/ChangeLog 2018-09-05 Tom Tromey * cli/cli-cmds.c (shell_escape, edit_command): Remove cast. commit e4a62c65fa8fe6a48b6ff564f45c1ac535f10f14 Author: Tom de Vries Date: Fri Aug 24 12:01:10 2018 +0200 [gdb/exp] Handle DW_OP_GNU_variable_value refs to abstract dies Consider a vla variable 'a' in function f1: ... <2><1a7>: Abbrev Number: 11 (DW_TAG_variable) <1a8> DW_AT_description : a <1aa> DW_AT_abstract_origin: <0x311> ... with abstract origin 'a': ... <2><311>: Abbrev Number: 3 (DW_TAG_variable) <312> DW_AT_name : a <317> DW_AT_type : <0x325> ... and inherited abstract vla type: ... <1><325>: Abbrev Number: 9 (DW_TAG_array_type) <326> DW_AT_type : <0x33a> <2><32e>: Abbrev Number: 10 (DW_TAG_subrange_type) <32f> DW_AT_type : <0x2ea> <333> DW_AT_upper_bound : 5 byte block: fd 1b 3 0 0 (DW_OP_GNU_variable_value: <0x31b>) ... where the upper bound refers to this artificial variable D.1922 without location attribute: ... <2><31b>: Abbrev Number: 8 (DW_TAG_variable) <31c> DW_AT_description : (indirect string, offset: 0x39a): D.1922 <320> DW_AT_type : <0x2ea> <324> DW_AT_artificial : 1 ... Currently, when we execute "p sizeof (a)" in f1, the upper bound is calculated by evaluating the DW_OP_GNU_variable_value expression referring to D.1922, but since that die doesn't have a location attribute, we get: ... value has been optimized out ... However, there's also artificial variable D.4283 that is sibling of vla variable 'a', has artificial variable D.1922 as abstract origin, and has a location attribute: ... <2><1ae>: Abbrev Number: 12 (DW_TAG_variable) <1af> DW_AT_description : (indirect string, offset: 0x1f8): D.4283 <1b3> DW_AT_abstract_origin: <0x31b> <1b7> DW_AT_location : 11 byte block: 75 1 8 20 24 8 20 26 31 1c 9f (DW_OP_breg5 (rdi):1; DW_OP_const1u: 32; DW_OP_shl; DW_OP_const1u: 32; DW_OP_shra; DW_OP_lit1; DW_OP_minus; DW_OP_stack_value) ... The intended behaviour for DW_OP_GNU_variable_value is to find a die that refers to D.1922 as abstract origin, has a location attribute and is 'in scope', so the expected behaviour is: ... $1 = 6 ... The 'in scope' concept can be thought of as variable D.1922 having name attribute "D.1922", and variable D.4283 inheriting that attribute, resulting in D.4283 being declared with name "D.1922" alongside vla a in f1, and when we lookup "DW_OP_GNU_variable_value D.1922", it should work as if we try to find the value of a variable named "D.1922" on the gdb command line using "p D.1922", and we should return the value of D.4283. This patch fixes the case described above, by: - adding a field abstract_to_concrete to struct dwarf2_per_objfile, - using that field to keep track of which concrete dies are instances of an abstract die, and - using that information when getting the value DW_OP_GNU_variable_value. Build and reg-tested on x86_64-linux. 2018-09-05 Tom de Vries * dwarf2loc.c (sect_variable_value): Call indirect_synthetic_pointer with resolve_abstract_p == true. (indirect_synthetic_pointer): Add resolve_abstract_p parameter, defaulting to false. Propagate resolve_abstract_p to dwarf2_fetch_die_loc_sect_off. * dwarf2loc.h (dwarf2_fetch_die_loc_sect_off): Add resolve_abstract_p parameter, defaulting to false. * dwarf2read.c (read_variable): Add variable to abstract_to_concrete. (dwarf2_fetch_die_loc_sect_off): Add and handle resolve_abstract_p parameter. * dwarf2read.h (struct die_info): Forward-declare. (die_info_ptr): New typedef. (struct dwarf2_per_objfile): Add abstract_to_concrete field. * gdb.dwarf2/varval.exp: Add test. commit 2b69821e70c7f648fa31f5d5110021a156158432 Author: Joel Brobecker Date: Wed Sep 5 10:02:27 2018 +0200 Document the GDB 8.2 release in gdb/ChangeLog gdb/ChangeLog: GDB 8.2 released. commit 5e627001a08badbcbc890400cf620eab5534ff52 Author: GDB Administrator Date: Wed Sep 5 00:00:32 2018 +0000 Automatic date update in version.in commit e920c014ecd9fbb630c76576d2771aa4631d93f7 Author: Jose E. Marchesi Date: Tue Sep 4 20:19:06 2018 +0200 bfd, sparc: avoid duplicated error messages on invalid relocations. This patch avoids a duplicated error message when an invalid relocation number is read from an object file in sparc-* ELF targets: $ strip -g test.o strip: test.o: unsupported relocation type 0xd7 strip: test.o: unsupported relocation type 0xd7 strip: test.o: bad value Tested in x86_64-linux-gnu, sparc64-linux-gnu and sparc-linux-gnu targets. bfd/ChangeLog: 2018-09-04 Jose E. Marchesi * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto): Do not issue an error when an invalid relocation is passed; this is already done by `_bfd_sparc_elf_info_to_howto_ptr'. commit 8410d65b77164d020a45cc9aa17a0147dc76862d Author: Jose E. Marchesi Date: Tue Sep 4 19:02:38 2018 +0200 bfd, sparc: issue an error when reading relocations with invalid symbol references. The function `elf64_sparc_slurp_one_reloc_table' in elf64-sparc.c currently checks that the symbol indexes read in the r_sym fields of relocations are in range. This is done for both dynamic and non-dynamic symbols. This avoids subsequent invalid memory accesses. However, no error is issued to the user. This patch makes BFD to issue an error when the read symbol index is out of range, following the same behavior implemented in both the generic ELF routines and other ELF backends (such as mips64). Tested in x86_64-linux-gnu, sparc64-linux-gnu, and --enable-targets=all. 2018-09-04 Jose E. Marchesi * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Issue an error when an invalid symbol index is retrieved in ELF64_R_SYM of a relocation seen in an input file. commit fcc9b044b7f563023633a9964810e76f4cde40d4 Author: Sergio Durigan Junior Date: Sun Sep 2 17:11:46 2018 -0400 Automatically update "aclocal_m4_deps" when updating gnulib When we update gnulib using our "update-gnulib.sh" tool, it doesn't automatically update the list of M4 files present at gnulib/Makefile.in:aclocal_m4_deps. This patch extends the tool to do that. It also puts "aclocal_m4_deps" in its own file (a Makefile fragment), so that it's easier to update it programatically. Tested by generating the file and diff'ing the results against the current version of "aclocal_m4_deps". gdb/ChangeLog: 2018-09-04 Sergio Durigan Junior Pedro Alves * gnulib/Makefile.in (aclocal_m4_deps): Move to "aclocal-m4-deps.mk". Include file here. $(srcdir)/aclocal.m4: Add "configure.ac". * gnulib/aclocal-m4-deps.mk: New file. * gnulib/update-gnulib.sh: Automatically update "aclocal-m4-deps.mk". commit d53d543682d9add652a82d267681cf6426aded42 Author: Tom Tromey Date: Sat Sep 1 10:30:18 2018 -0600 Remove --enable-multi-ice gdb's configure script accepts --enable-multi-ice, but the code this refers to is long gone. This patch removes the option entirely. gdb/ChangeLog 2018-09-04 Tom Tromey * configure: Rebuild. * configure.ac: Remove multi-ice code. commit 8dc9fd87b0965f24e21922f295c4af9c3f624985 Author: Tom Tromey Date: Sat Sep 1 10:28:34 2018 -0600 Simplify ada-exp.o rule The ada-exp.o rule no longer needs to pass -Wno-old-style-definition to the compiler, as this option has no meaning in C++. So, This patch simplifies the explicit ada-exp.o rule in the Makefile. The rule is still needed because, according to the comment, ada-exp.c may appear in the srcdir. gdb/ChangeLog 2018-09-04 Tom Tromey * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove. (ada-exp.o): Update. commit 3322c5d9a102f9af099bd87cc65a1e2a70f91c78 Author: Tom Tromey Date: Sat Sep 1 10:23:48 2018 -0600 Remove unneeded explicit .o targets Makefile.in had special cases to compile printcmd.o and target-float.o with a different set of warnings. However, this is no longer required, so this patch removes those rules. gdb/ChangeLog 2018-09-04 Tom Tromey * Makefile.in (printcmd.o, target-float.o): Remove. (GDB_WARN_CFLAGS_NO_FORMAT): Remove. commit ba2bf2aaba97866f4c9c67239666916caa7bb150 Author: Tom Tromey Date: Sat Sep 1 10:23:15 2018 -0600 Remove obsolete comments from Makefiles This removes an obsolete comment from Makefile.in. This was copied into gnulib/Makefile.in, so this removes that comment as well. gdb/ChangeLog 2018-09-04 Tom Tromey * gnulib/Makefile.in: Remove obsolete comment. * Makefile.in: Remove obsolete comment. commit dd083ee23d23903e8bc595b64aa8ea62379491cd Author: Gary Benson Date: Mon Sep 3 16:14:55 2018 +0100 Fix batch exit status test failure on Fedora 28 This commit adds calls to remote_close and clear_gdb_spawn_id to gdb.base/batch-exit-status.exp, fixing failures reported by buildbot on Fedora 28 where gdb_spawn_id not being reset by the previous test caused default_gdb_spawn to return without spawning. This commit also changes the test to use detect GDB's exit using gdb_test_multiple expecting 'eof', rather than using 'wait -i' alone. This means the testcase won't hang forever on failure as fixed in gdb.base/quit.exp by commit 15763a09d4ae ("Fix 'gdb.base/quit.exp hangs forever' if the test fails"). gdb/testsuite/ChangeLog: * gdb.base/batch-exit-status.exp: Use gdb_test_multiple and expect 'eof' before 'wait -i'. Use remote_close and clear_gdb_spawn_id. commit 618a8fdba6fc86a6ed88df257bf5f44d85e9071b Author: Daniel Cederman Date: Tue Sep 4 06:25:52 2018 -0700 gas, sparc: Allow non-fpop2 instructions before floating point branches Sparc V8 does not allow fpop2 instructions (floating point comparisons) immediately before floating point branches. From the SPARC Architecture Manual Version 8, section B.22 "Branch on Floating-point Condition Codes Instructions": "If the instruction executed immediately before an FBfcc is an FPop2 instruction, the result of the FBfcc is undefined. Therefore, at least one non FPop2 instruction should be executed between the FPop2 instruction and the FBfcc instruction." The existing check in GAS, however, does not allow any kind of floating point instruction before the branch. This patch adds an extra condition to only disallow fpop2 instructions. gas/ChangeLog: 2018-09-04 Daniel Cederman * config/tc-sparc.c (md_assemble): Allow non-fpop2 instructions before floating point branches for Sparc V8 and earlier. * testsuite/gas/sparc/sparc.exp: Execute the new test. * testsuite/gas/sparc/v8branch.d: New test. * testsuite/gas/sparc/v8branch.s: New test. commit 6c9d681b07e32d07f7ca0774360be62bbf065b82 Author: Andrew Burgess Date: Tue Sep 4 11:51:10 2018 +0100 gdb/riscv: Fix an ARI warning This patch fixes an ARI violation in riscv-tdep.c (line ends with '+'). gdb/ChangeLog: * riscv-tdep.c (riscv_frame_cache): Fix ARI warning, don't end a line with '+'. commit 70f95c89a14485b148251a126ba0de48e412b327 Author: GDB Administrator Date: Tue Sep 4 00:00:41 2018 +0000 Automatic date update in version.in commit 8744470deabb6a2fae35be0f66c60ee4ba094c1d Author: Nick Clifton Date: Mon Sep 3 17:06:05 2018 +0100 Change the .section directive for the AVR assembler so that the .noinit section is always given the ELF NOBITS section type. PR gas/23570 * config/tc-avr.c (md_pseudo_table): Add entry for "secction". (avr_set_section): New function. Ensures that the .noinit section gets the NOBITS ELF section type. commit 78a3b0fab8200fdca2b1b934645c29e7bd502d36 Author: Andrew Burgess Date: Tue Jul 17 15:22:39 2018 +0100 gdb/riscv: Provide non-DWARF stack unwinder Collects information during the prologue scan and uses this to unwind registers when no DWARF information is available. This patch has been tested by disabling the DWARF stack unwinders, and running the complete GDB testsuite against a range of RISC-V targets. The results are comparable to running with the DWARF unwinders in place. gdb/ChangeLog: * riscv-tdep.c: Add 'prologue-value.h' include. (struct riscv_unwind_cache): New struct. (riscv_debug_unwinder): New global. (riscv_scan_prologue): Update arguments, capture register details from prologue scan. (riscv_skip_prologue): Reformat arguments line, move end of prologue calculation into riscv_scan_prologue. (riscv_frame_cache): Update return type, create riscv_unwind_cache, scan the prologue, and fill in remaining cache details. (riscv_frame_this_id): Use frame id computed in riscv_frame_cache. (riscv_frame_prev_register): Use the trad_frame within the riscv_unwind_cache. (_initialize_riscv_tdep): Add 'set/show debug riscv unwinder' flag. commit 23e60e7a4ea772eabb6ae4788913e228763755cf Author: Andrew Burgess Date: Fri Aug 17 08:54:26 2018 +0100 gdb: Extend the trad-frame API Adds two new functions to the trad-frame API and update the internals of trad-frame to use the new functions. These functions will be used in later commits. gdb/ChangeLog: * trad-frame.h (trad_frame_set_realreg): Declare. (trad_frame_set_addr): Declare. * trad-frame.c (trad_frame_set_realreg): Define new function. (trad_frame_set_addr): Define new function. (trad_frame_set_reg_realreg): Use new function. (trad_frame_set_reg_addr): Use new function. commit 20a4d0bd98969ddbfead7288e6027639dcbd9a21 Author: Nick Clifton Date: Mon Sep 3 15:04:34 2018 +0100 Updated Japanese translation for the binutils sub-directory. commit b6f00d89c7f960d427c908be30379086e079b4eb Author: Nick Clifton Date: Mon Sep 3 13:40:32 2018 +0100 Updated Finnish translation for the ld sub-directory. * po/fi.po: Updated Finnish translation. commit 2542e49e21e6b7270f72c7be0fc4ff1a986371da Author: Jozef Lawrynowicz Date: Mon Sep 3 11:04:05 2018 +0930 PR23595, simple objcopy of executable failure for msp430-elf VMA of the first section in the segment containing the ELF file header (and possibly section headers too) can't be used to reliably find the size of the headers plus padding. What's really needed is sh_offset of the first section assuming it has contents (vma does have a relationship to sh_offset, but is only guaranteed in demand paged executables). If the first section is SHT_NOBITS and it hasn't been converted to have file contents by the existence of a following SHT_PROGBITS section in the same segment, the sh_offset value also isn't reliable. PR 23595 elf.c (copy_elf_program_header): When first segment contains only the headers and SHT_NOBITS sections, use segment p_filesz to calculate header and padding size. Use filepos of the first section otherwise. commit 0d9a433be406220413671495a9b0fab577a48b5e Author: Alan Modra Date: Mon Sep 3 10:49:57 2018 +0930 Re: ld: Lookup section in output with the same name Fixes pr23591 test failures on hppa64-hpux and score-elf, and xfails frv-linux and lm32-linux. PR ld/23591 * testsuite/ld-elf/pr23591a.s, * testsuite/ld-elf/pr23591b.s, * testsuite/ld-elf/pr23591c.s: Don't start directives in first column. * testsuite/ld-elf/pr23591.d: xfail frv-linux and lm32-linux. Allow __start___sancov_cntrs as a local symbol. commit ec8da87a225ae9f86cf47765bcc56d6afa30d835 Author: GDB Administrator Date: Mon Sep 3 00:00:48 2018 +0000 Automatic date update in version.in commit 23a29771e0a435fe7fb3df00ae2feefb38557f44 Author: GDB Administrator Date: Sun Sep 2 00:00:59 2018 +0000 Automatic date update in version.in commit 5c889512f325e0447a6182f70cfa7e1d9e407167 Author: Keith Seitz Date: Thu Aug 30 09:26:47 2018 -0700 Fix ARI violations in c++compile This patch fixes two violations of the ARI (use of ATTRIBUTE_UNUSED and "%ll"). gdb/ChangeLog * compile/compile-cplus-types.c (compile_cplus_debug_output_1): Use pulongest instead of "%lld". * compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol): Remove ATTRIBUTE_UNUSED. commit b986869b6605e45044626c5b3111390ac4e70b82 Author: H.J. Lu Date: Fri Aug 31 19:56:25 2018 -0700 Allow an IR object with unknown architecture An IR object may have an unknown architecture. But it is compatible with other architecture. PR ld/23600 * archures.c (bfd_arch_get_compatible): Allow an IR object with unknown architecture. commit d431d6279bdcd475feb921a3aa8ecf0cf3ffc6a6 Author: GDB Administrator Date: Sat Sep 1 00:00:38 2018 +0000 Automatic date update in version.in commit be192bc284b329fa0b38646bd3df9a02b880a704 Author: Jim Wilson Date: Fri Aug 31 12:23:05 2018 -0700 RISC-V: Correct the requirement of compressed floating point instructions 2018-08-31 Kito Cheng gas/ * testsuite/gas/riscv/c-fld-fsd-fail.d: New. * testsuite/gas/riscv/c-fld-fsd-fail.l: Likewise. * testsuite/gas/riscv/c-fld-fsd-fail.s: Likewise. opcodes/ * riscv-opc.c (riscv_opcodes): Fix incorrect subset info for compressed floating point instructions. commit c8c81635739435a31860ff5f1e49743d80321f43 Author: Tom Tromey Date: Thu Aug 30 15:04:03 2018 -0600 Set TYPE_LENGTH on a variant part gdb represents a DW_TAG_variant_part as a union. While normally DWARF would not set the size of a DW_TAG_variant_part, gdb's representation requires the TYPE_LENGTH to be set. This patch arranges to set the TYPE_LENGTH of a variant part if it has not already been set. This fixes some Rust regressions when testing against a version of rustc that emits DW_TAG_variant_part. gdb/ChangeLog 2018-08-31 Tom Tromey * dwarf2read.c (dwarf2_add_field): Set the TYPE_LENGTH of the variant part type. commit aef9346c25b0a0c665bce793c00797f5ab82ed37 Author: Tom Tromey Date: Wed Aug 29 11:08:46 2018 -0600 Fix a small bug in gdb.rust/simple.rs I noticed that gdb.rust/simple.rs had two local variables named "v". This didn't previous cause problems, but with a newer rust compiler this resulted in a test failure. (It should have failed all along, so I suppose earlier passes were due to a compiler bug.) This patch renames the second variable. gdb/testsuite/ChangeLog 2018-08-31 Tom Tromey * gdb.rust/simple.rs: Rename second variable "v". commit 0c8885885ab1d62971bbae22d4b5e335c31b19c9 Author: Pedro Alves Date: Fri Aug 31 18:55:59 2018 +0100 Regenerate gdbarch.h The previous commit included a stale gdbarch.h from an earlier version of that patch by mistake. gdb/ChangeLog: 2018-08-31 Pedro Alves * gdbarch.h: Regenerate. commit 7ea65f08fa1b8279b65133a958de02fe84767eb9 Author: Pedro Alves Date: Fri Aug 31 14:24:13 2018 +0100 Add comment describing continuable/steppable/non-steppable watchpoints These weren't described anywhere in the sources. gdb/ChangeLog: 2018-08-31 Pedro Alves * gdbarch.sh (have_nonsteppable_watchpoint): Add comment. * target.h (Hardware watchpoint interfaces): Describe continuable/steppable/non-steppable watchpoints. * gdbarch.h, gdbarch.c: Regenerate. commit 7eb65fafed7b50511f52664e98e22b20eb697197 Author: Pedro Alves Date: Fri Aug 31 18:47:12 2018 +0100 Eliminate target_have_continuable_watchpoint target_have_continuable_watchpoint isn't used anywhere so remove it. The property isn't necessary because checking for "continuable" is the same as checking for "!steppable && !non-steppable". gdb/ChangeLog: 2018-08-31 Pedro Alves * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint): Delete. * s390-linux-nat.c (s390_linux_nat_target::have_continuable_watchpoint): Delete. * target.h (target_ops::have_continuable_watchpoint): Delete. (target_have_continuable_watchpoint): Delete. * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete. * target-delegates.c: Regenerate. commit 6e1453f681aeec2ef6e3d4fb42f10df9da2a8cd2 Author: H.J. Lu Date: Fri Aug 31 09:40:54 2018 -0700 gas/elf/section14.d: Change skip to xfail We will get an XPASS when h8300 port peculiarities are fixed, and will fix the testsuite too. * testsuite/gas/elf/section14.d: Change skip to xfail. * testsuite/lib/gas-defs.exp (run_dump_test): Add xfail support. commit 4d1c6335455aeeda9de8a5eb58998f919ea35a1e Author: H.J. Lu Date: Fri Aug 31 09:25:31 2018 -0700 ld: Lookup section in output with the same name When there are more than one input sections with the same section name, SECNAME, linker picks the first one to define __start_SECNAME and __stop_SECNAME symbols. When the first input section is removed by comdat group, we need to check if there is still an output section with section name SECNAME. PR ld/23591 * ldlang.c (undef_start_stop): Lookup section in output with the same name. * testsuite/ld-elf/pr23591.d: New file. * testsuite/ld-elf/pr23591a.s: Likewise. * testsuite/ld-elf/pr23591b.s: Likewise. * testsuite/ld-elf/pr23591c.s: Likewise. commit dab999b116b507ad431c70fab0a28074dfea29df Author: Sergio Durigan Junior Date: Wed Aug 29 15:47:22 2018 -0400 Update gnulib/Makefile.in:aclocal_m4_deps It was pointed by Pedro that gnulib/Makefile.in should be updated accordingly after our local gnulib is also updated. The specific part that needs to be refreshed is the "aclocal_m4_deps" variable, which lists the .m4 files present under the "gnulib/import/m4/" directory. This patch does that. No regressions introduced. gdb/ChangeLog: 2018-08-31 Sergio Durigan Junior * gnulib/Makefile.in (aclocal_m4_deps): Update according to the files present in "gnulib/import/m4/". commit 3d58e1fcfbedad71be7e539dfa2045ab2768f013 Author: Alan Modra Date: Wed Aug 29 22:31:25 2018 +0930 PowerPC64 --emit-relocs support for notoc stubs This patch uses the newly defined high-part REL16 relocs to emit relocations on the notoc stubs as we already do for other stubs. * elf64-ppc.c (num_relocs_for_offset): New function. (emit_relocs_for_offset): New function. (use_global_in_relocs): New function, split out from.. (ppc_build_one_stub): ..here. Output relocations for notoc stubs. (ppc_size_one_stub): Calculate reloc count for notoc stubs. (ppc64_elf_size_stubs): Don't count undefined syms in stub_globals. commit 4a9699735b04d4629bd3dc418c265e7f0bc1f9ce Author: Alan Modra Date: Wed Aug 29 13:28:21 2018 +0930 PowerPC64 higher REL16 relocations There are occasions where someone might want to build a 64-bit pc-relative offset from 16-bit pieces. This adds the necessary REL16 relocs corresponding to existing ADDR16 relocs that can be used to build 64-bit absolute values. include/ * elf/ppc64.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. (R_PPC64_LO_DS_OPT, R_PPC64_16DX_HA): Bump value. bfd/ * reloc.c (BFD_RELOC_PPC64_REL16_HIGH, BFD_RELOC_PPC64_REL16_HIGHA), (BFD_RELOC_PPC64_REL16_HIGHER, BFD_RELOC_PPC64_REL16_HIGHERA), (BFD_RELOC_PPC64_REL16_HIGHEST, BFD_RELOC_PPC64_REL16_HIGHESTA): Define. * elf64-ppc.c (ppc64_elf_howto_raw): Add new REL16 howtos. (ppc64_elf_reloc_type_lookup): Translate new REL16 relocs. (ppc64_elf_check_relocs, ppc64_elf_relocate_section): Handle them. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. gas/ * config/tc-ppc.h (TC_FORCE_RELOCATION_SUB_LOCAL): Allow ADDR16 HIGH, HIGHA, HIGHER, HIGHERA, HIGHEST, and HIGHESTA relocs. Group 16-bit relocs. * config/tc-ppc.c (md_apply_fix): Translate those ADDR16 relocs to REL16 when pcrel. Sort relocs. commit f891966ff66639673a5207b94bd68ec928fb68bc Author: Alan Modra Date: Wed Aug 29 14:11:25 2018 +0930 Rearrange ppc_size_one_stub and correct _notoc stub examples This patch rearranges ppc_size_one_stub to make it a little easier to compare against ppc_build_one_stub, and makes a few other random changes that might help for future maintenance. There should be no functional changes here. The patch also fixes code examples in comments. A couple of "ori" instructions lacked the source register operand, and "@high" is the correct reloc modifier to use in a sequence building a 64-bit value. (@hi reports overflow of a 32-bit signed value.) * elf64-ppc.c: Correct _notoc stub comments. (ppc_build_one_stub): Simplify output of branch for notoc long branch stub. Don't include label offset of 8 bytes in "off" calculation for notoc plt stub. Don't emit insns to get pc. (build_offset): Emit insns to get pc here instead. (size_offset): Add 4 extra insns. (plt_stub_size): Adjust for "off" and size_offset changes. (ppc_size_one_stub): Rearrange code into a switch, duplicating some to better match ppc_build_one_stub. commit 4bb3c591b258d12dd0f743e538b7214cbb92ebf7 Author: H.J. Lu Date: Fri Aug 31 05:11:03 2018 -0700 ld: Pass -z separate-code to ld for property-x86-4a tests Pass -z separate-code to ld for property-x86-4a tests to generate the expected .note.gnu.property section. Also run i386 tests for x86_64-*-elf* targets. * testsuite/ld-i386/i386.exp: Also run for x86_64-*-elf* targets. * testsuite/ld-i386/property-x86-4a.d: Pass -z separate-code to ld. * testsuite/ld-x86-64/property-x86-4a-x32.d: Likewise. * testsuite/ld-x86-64/property-x86-4a.d: Likewise. commit e9d644e8fb2e7fa2f61e4b978f75881d906e0dbc Author: H.J. Lu Date: Fri Aug 31 04:47:41 2018 -0700 ld: Append -mx86-used-note=no to ASFLAGS Since x86 assembler may generate .note.gnu.property section, append -mx86-used-note=no to tests which don't expect .note.gnu.property section on ELF/x86 targets. * testsuite/ld-elf/elf.exp (ASFLAGS): Save, append -mx86-used-note=no and restore. * testsuite/ld-ifunc/ifunc.exp (ASFLAGS): Likewise. * testsuite/ld-scripts/defined.exp (ASFLAGS): Likewise. * testsuite/ld-scripts/overlay-size.exp (ASFLAGS): Likewise commit 9a8d6a757d29ad8c80dc7640ac902d722b1b473f Author: H.J. Lu Date: Fri Aug 31 04:44:45 2018 -0700 ld: Append -Wa,-mx86-used-note=no for S-records tests Since x86 assembler may generate .note.gnu.property section and S-records can't handle .note.gnu.property sections, add -mx86-used-note=no to S-records tests on ELF/x86 targets to avoid .note.gnu.property section. * testsuite/ld-srec/srec.exp: Append -Wa,-mx86-used-note=no to CC and CXX on ELF/x86 targets. commit 5e8a54c6c4c753b6bbd447c74f5df8707bb0a06c Author: H.J. Lu Date: Fri Aug 31 04:42:51 2018 -0700 gas: Pass -mx86-used-note=no to assembler Since x86 assembler may generate .note.gnu.property section, pass -mx86-used-note=no to assembler for section2 test on ELF/x86 targets to avoid .note.gnu.property section. * testsuite/gas/elf/elf.exp: Pass -mx86-used-note=no to assembler for section2 test on ELF/x86 targets. commit 2550e95256ed7bbb1a4579ec4bd379417ad59b23 Author: H.J. Lu Date: Fri Aug 31 04:39:21 2018 -0700 x86: pass -mx86-used-note=no to assembler Since cfi/cfi-label.d is ELF/x86 specific, we can pass -mx86-used-note=no to assembler. * testsuite/gas/cfi/cfi-label.d: Pass -mx86-used-note=no to assembler. commit 0f60cce3e191b9e72e7577a0da73ecc5e9ba353b Author: H.J. Lu Date: Fri Aug 31 04:38:12 2018 -0700 binutils: Adjusted tests for .note.gnu.property section Since x86 assembler may generate .note.gnu.property section, adjust binutils tests to handle it. * testsuite/binutils-all/readelf.s-64: Adjusted for .note.gnu.property section. * testsuite/binutils-all/strip-3.d: Also strip .note.gnu.property section. commit 6c0d3bdec7f1728a064a916145c6d79058e6e3d7 Author: H.J. Lu Date: Fri Aug 31 04:35:46 2018 -0700 x86: Add explicit -mx86-used-note=[yes|no] to tests Pass explicit -mx86-used-note=[yes|no] to x86 assembler and update expected outputs from "readelf -n" if needed. binutils/ * testsuite/binutils-all/i386/compressed-1b.d: Pass -mx86-used-note=no to assembler. * testsuite/binutils-all/i386/compressed-1c.d: Likewise. * testsuite/binutils-all/x86-64/compressed-1b.d: Likewise. * testsuite/binutils-all/x86-64/compressed-1c.d: Likewise. * testsuite/binutils-all/i386/empty.d: Pass -mx86-used-note=yes to assembler and update expected output from "readelf -n". * 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/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/pr23494b-x32.d: Likewise. * testsuite/binutils-all/x86-64/pr23494b.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. gas/ * testsuite/gas/i386/bss.d: Pass -mx86-used-note=no to assembler. * testsuite/gas/i386/ilp32/quad.d: Likewise. * testsuite/gas/i386/ilp32/reloc64.d: Likewise. * testsuite/gas/i386/ilp32/x86-64-size-1.d: Likewise. * testsuite/gas/i386/ilp32/x86-64-size-3.d: Likewise. * testsuite/gas/i386/ilp32/x86-64-size-5.d: Likewise. * testsuite/gas/i386/ilp32/x86-64-unwind.d: Likewise. * testsuite/gas/i386/property-1.d: Likewise. * testsuite/gas/i386/relax.d: Likewise. * testsuite/gas/i386/reloc64.d: Likewise. * testsuite/gas/i386/size-1.d: Likewise. * testsuite/gas/i386/size-3.d: Likewise. * testsuite/gas/i386/x86-64-property-1.d: Likewise. * testsuite/gas/i386/x86-64-size-1.d: Likewise. * testsuite/gas/i386/x86-64-size-3.d: Likewise. * testsuite/gas/i386/x86-64-size-5.d: Likewise. * testsuite/gas/i386/x86-64-unwind.d: Likewise. * testsuite/gas/i386/divide.d: Append "#pass". ld/ * testsuite/ld-i386/i386.exp: (ASFLAGS): Save, append -mx86-used-note=no and restore. Pass -mx86-used-note=yes and -mx86-used-note=no to assembler. * testsuite/ld-x86-64/x86-64.exp: Likewise. * testsuite/ld-i386/no-plt.exp: Pass -mx86-used-note=yes to assembler. * testsuite/ld-i386/tls.exp: Likewise. * testsuite/ld-x86-64/no-plt.exp: Likewise. * testsuite/ld-x86-64/tls.exp: Likewise. * testsuite/ld-i386/pr23486a.d: Pass -mx86-used-note=no to assembler. * testsuite/ld-i386/pr23486b.d: Likewise. * testsuite/ld-x86-64/bnd-branch-1-now.d: Likewise. * testsuite/ld-x86-64/bnd-ifunc-1-now.d: Likewise. * testsuite/ld-x86-64/bnd-ifunc-2-now.d: Likewise. * testsuite/ld-x86-64/bnd-ifunc-2.d: Likewise. * testsuite/ld-x86-64/bnd-plt-1-now.d: Likewise. * testsuite/ld-x86-64/bnd-plt-1.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-i386/property-x86-3.d: Pass -mx86-used-note=yes to assembler and update expected output from "readelf -n". * testsuite/ld-i386/property-x86-4a.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/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-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. * testsuite/ld-i386/property-1a.r: New file. * testsuite/ld-i386/property-2a.r: Likewise. * testsuite/ld-i386/property-3a.r: Likewise. * testsuite/ld-i386/property-4a.r: Likewise. * testsuite/ld-i386/property-5a.r: Likewise. * testsuite/ld-i386/property-7a.r: Likewise. * testsuite/ld-x86-64/property-1a.r: Likewise. * testsuite/ld-x86-64/property-2a.r: Likewise. * testsuite/ld-x86-64/property-3a.r: Likewise. * testsuite/ld-x86-64/property-4a.r: Likewise. * testsuite/ld-x86-64/property-5a.r: Likewise. * testsuite/ld-x86-64/property-7a.r: Likewise. * testsuite/ld-x86-64/mpx.exp: Pass -mx86-used-note=no to assembler. commit b4a3a7b44c98a9f78a27bd34d0d98741a0446e23 Author: H.J. Lu Date: Fri Aug 31 04:31:08 2018 -0700 x86: Extend assembler to generate GNU property notes Add -mx86-used-note=[yes|no] option to generate (or not) GNU property notes with GNU_PROPERTY_X86_FEATURE_2_USED and GNU_PROPERTY_X86_ISA_1_USED properties. If the assembly input contains no instructions, set the GNU_PROPERTY_X86_UINT32_VALID bit in GNU_PROPERTY_X86_FEATURE_2_USED property. Add a --enable-x86-used-note configure time option to set the default behavior. Set the default if the configure option is not used to "no". * NEWS: Mention -mx86-used-note=[no|yes]. * configure.ac: Add --enable-x86-used-note. Define DEFAULT_X86_USED_NOTE. * config.in: Regenerated. * configure: Likewise. * config/tc-i386.c (x86_isa_1_used): New. (x86_feature_2_used): Likewise. (x86_used_note): Likewise. (_i386_insn): Add has_regmmx, has_regxmm, has_regymm and has_regzmm. (build_modrm_byte): Set i.has_regmmx, i.has_regzmm. i.has_regymm and i.has_regxmm. (x86_cleanup): New function. (output_insn): Update x86_isa_1_used and x86_feature_2_used. (OPTION_X86_USED_NOTE): New. (md_longopts): Add -mx86-used-note=. (md_parse_option): Handle OPTION_X86_USED_NOTE. (md_show_usage): Display -mx86-used-note=. * config/tc-i386.h (x86_cleanup): New prototype. (md_cleanup): New. * doc/c-i386.texi: Document -mx86-used-note=. commit 0cb8eedc9173b873db7a8990fb780d9fdeb1f41e Author: GDB Administrator Date: Fri Aug 31 00:00:35 2018 +0000 Automatic date update in version.in commit 40bac49b63b2f391eb702e1fc18229472c0deab7 Author: Jose E. Marchesi Date: Thu Aug 30 23:37:45 2018 +0200 sparc: gas: leon.d: disassemble assuming v8 also in sparc64 targets. gas/ChangeLog: 2018-08-30 Jose E. Marchesi * testsuite/gas/sparc/leon.d: Disassemble v8 code also in sparc64 targets. commit 43135d3b15ce10a786704f9bb4736d834d6581a8 Author: Jim Wilson Date: Thu Aug 30 13:23:12 2018 -0700 RISC-V: Allow instruction require more than one extension 2018-08-29 Kito Cheng gas/ * config/tc-riscv.c (riscv_subset_supports): New argument: xlen_required. (riscv_multi_subset_supports): New function, able to check more than one extension. (riscv_ip): Use riscv_multi_subset_supports instead of riscv_subset_supports. (riscv_set_arch): Update call-site for riscv_subset_supports. (riscv_after_parse_args): Likewise. include/ *opcode/riscv.h (MAX_SUBSET_NUM): New. (riscv_opcode): Add xlen_requirement field and change type of subset. opcodes/ * riscv-dis.c (riscv_disassemble_insn): Check XLEN by riscv_opcode.xlen_requirement. * riscv-opc.c (riscv_opcodes): Update for struct change. commit a869991180094d4cbeb0bd2f275fc7b30e513fb7 Author: H.J. Lu Date: Thu Aug 30 11:06:16 2018 -0700 Skip elf/section14 test for h8300 targets Skip elf/section14 test for h8300 targets since the h8300 port issues a warning message for new sections created without atrributes. * testsuite/gas/elf/section14.d: Skip h8300 targets. commit ff3a05b3f87093e5ac2bcd5e510bca4bebf1bef2 Author: Andrew Burgess Date: Thu Aug 16 14:56:19 2018 +0100 gdb/riscv: Extend instruction decode to cover more instructions Extends the instruction decoder used during prologue scan and software single step to cover more instructions. These instructions are encountered when running the current GDB testsuite with the DWARF stack unwinders turned off. gdb/ChangeLog: * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd, c.sw, c.swsp, and c.sdsp. commit 0b3f9efc044d2971aa0d9bb39a4c76678bc4ea6d Author: Andrew Burgess Date: Mon Apr 9 22:38:07 2018 +0100 gdb/riscv: remove extra caching of misa register The RISC-V had a mechanism in place to cache the contents of the misa register per-inferior, the original intention behind this was to reduce the number of times the misa register had to be read (as the contents should be constant), but it was pointed out on the mailing list[1] that the register cache will mean the register is only accessed once each time GDB stops, and any additional caching is probably just unneeded extra complexity. As such, until it can be shown that there's a real need for additional caching, this commit removes all of the additional caching of the misa register, and just accesses the misa register like a normal register. [1] https://sourceware.org/ml/gdb-patches/2018-03/msg00136.html gdb/ChangeLog: * riscv-tdep.c (struct riscv_inferior_data): Delete. (riscv_read_misa_reg): Don't cache value read into inferior data. (riscv_new_inferior_data): Delete. (riscv_inferior_data_cleanup): Delete. (riscv_inferior_data): Delete. (riscv_invalidate_inferior_data): Delete. (_initialize_riscv_tdep): Remove initialisation of inferior data. commit c67f2e1518a829c4ae4f346c316701ef5d56a30f Author: Andrew Burgess Date: Wed Aug 29 18:49:51 2018 +0100 gdb: Ensure compiler doesn't optimise variable out in test In the test gdb.base/funcargs.exp, there's this function: void recurse (SVAL a, int depth) { a.s = a.i = a.l = --depth; if (depth == 0) hitbottom (); else recurse (a, depth); } The test script places a breakpoint in hitbottom, and runs the executable which calls recurse with an initial depth of 4. When GDB hits the breakpoint in hitbottom the testscript performs a backtrace, and examines 'a' at each level. The problem is that 'a' is not live after either the call to 'hitbottom' or the call to 'recurse', and as a result the test fails. In the particular case I was looking at GCC for RISC-V 32-bit, the variable 'a' is on the stack and GCC selects the register $ra (the return address register) to hold the pointer to 'a'. This is fine, because, by the time the $ra register is needed to hold a return address (calling hitbottom or recurse) then 'a' is dead. In this patch I propose that a use of 'a' is added after the calls to hitbottom and recurse, this should cause the compiler to keep 'a' around, which should ensure GDB can find it. gdb/testsuite/ChangeLog: * gdb.base/funcargs.c (use_a): New function. (recurse): Call use_a. commit a0dc02a6df86011462293cc11b4e35c0f18effd0 Author: Simon Marchi Date: Thu Aug 30 11:09:48 2018 -0400 Fix compile-cplus-types.c build errors I see these errors when building with clang: CXX compile/compile-cplus-types.o /home/emaisin/src/binutils-gdb/gdb/compile/compile-cplus-types.c:306:56: error: cannot pass non-trivial object of type 'compile_scope' to variadic function; expected type from format string was 'void *' [-Wnon-pod-varargs] fprintf_unfiltered (gdb_stdlog, "leaving scope %p\n", current); ~~ ^~~~~~~ /home/emaisin/src/binutils-gdb/gdb/compile/compile-cplus-types.c:1058:13: error: comparison of two values with different enumeration types ('enum_flags::enum_type' (aka 'gcc_cp_qualifiers') and 'gcc_cp_ref_qualifiers') [-Werror,-Wenum-compare] if (quals != GCC_CP_REF_QUAL_NONE) ~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~ Fix the first one by using host_address_to_string. Fix the second one by comparing to 0 instead. I think the current comparison simply uses the wrong enum type. Comparing to 0 seems like the right thing to do, because we want to check whether any flags are specified. gdb/ChangeLog: * compile/compile-cplus-types.c (compile_cplus_instance::leave_scope): Take the address of scope object. (compile_cplus_instance::convert_qualified_base): Compare quals to 0. commit 385e5b9039d12d3c2ab25023e827ee9a681c1aad Author: H.J. Lu Date: Thu Aug 30 08:01:36 2018 -0700 Treat SHT_FINI_ARRAY and SHT_PREINIT_ARRAY as relocatable sections Since SHT_FINI_ARRAY and SHT_PREINIT_ARRAY sections are relocatable, this patch fixes readelf and adds a testcase. binutils/ * readelf.c (process_section_headers): Treat SHT_FINI_ARRAY and SHT_PREINIT_ARRAY as relocatable sections. gas/ * testsuite/gas/elf/elf.exp: Run section14. * testsuite/gas/elf/section14.d: New file. * testsuite/gas/elf/section14.s: Likewise. commit fdad7678b74a170ead1ef967007be087435715f7 Author: Keith Seitz Date: Thu Aug 30 07:47:03 2018 -0700 Use host_address_to_string in compile_cplus_instance::enter_scope This patch fixes a problem being reported by the buildbot with an invalid argument to a "%p" printf format. Instead of "%p", the debug output is changed to use "%s" and host_address_to_string. gdb/ChangeLog * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope): Use "%s" and host_address_to_string instead of "%p" in printf. commit 4c971803c4fb225b029420f812229941beabd42e Author: Chenghua Xu Date: Thu Aug 30 08:30:36 2018 +0800 [MIPS] Add myself as a MIPS port maintainer. binutils/ * MAINTAINERS: Add myself as a MIPS port maintainer. commit 450629c8d5a968844271bb02b13d159f6a69ceb1 Author: GDB Administrator Date: Thu Aug 30 00:01:03 2018 +0000 Automatic date update in version.in commit 078a020797210f4d8f9491bbfe16ec31e9efb652 Author: Keith Seitz Date: Wed Aug 29 15:12:24 2018 -0700 C++ compile support This patch adds *basic* support for C++ to the compile feature. It does most simple type conversions, including everything that C compile does and your basic "with-classes" type of C++. I've written a new compile-support.exp support file which adds a new test facility for automating and simplifying "compile print" vs "compile code" testing. See testsuite/lib/compile-support.exp and CompileExpression for more on that. The tests use this facility extensively. This initial support has several glaring omissions: - No template support at all I have follow-on patches for this, but they add much complexity to this "basic" support. Consequently, they will be submitted separately. - Cannot print functions The code template needs tweaking, and I simply haven't gotten to it yet. - So-called "special function" support is not included Using constructors, destructors, operators, etc will not work. I have follow-on patches for that, but they require some work because of the recent churn in symbol searching. - There are several test suite references to "compile/1234" bugs. I will file bugs and update the test suite's bug references before pushing these patches. The test suite started as a copy of the original C-language support, but I have written tests to exercise the basic functionality of the plug-in. I've added a new option for outputting debug messages for C++ type-conversion ("debug compile-cplus-types"). gdb/ChangeLog: * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c and compile-cplus-types.c. (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h. * c-lang.c (cplus_language_defn): Set C++ compile functions. * c-lang.h (cplus_get_compile_context, cplus_compute_program): Declare. * compile/compile-c-support.c: Include compile-cplus.h. (load_libcompile): Templatize. (get_compile_context): "New" function. (c_get_compile_context): Use get_compile_context. (cplus_get_compile_context): New function. (cplus_push_user_expression, cplus_pop_user_expression) (cplus_add_code_header, cplus_add_input, cplus_compile_program) (cplus_compute_program): Define new structs/functions. * compile/compile-cplus-symmbols.c: New file. * compile/compile-cplus-types.c: New file. * compile/compile-cplus.h: New file. * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE): Declare. * compile/compile-object-load.c (get_out_value_type): Use strncmp_iw when comparing symbol names. (compile_object_load): Add mst_bss and mst_data. * compile/compile.c (_initialize_compile): Remove -Wno-implicit-function-declaration from `compile_args'. * compile/gcc-cp-plugin.h: New file. * NEWS: Mention C++ compile support and new debug options. gdb/testsuite/ChangeLog: * gdb.compile/compile-cplus-anonymous.cc: New file. * gdb.compile/compile-cplus-anonymous.exp: New file. * gdb.compile/compile-cplus-array-decay.cc: New file. * gdb.compile/compile-cplus-array-decay.exp: New file. * gdb.compile/compile-cplus-inherit.cc: New file. * gdb.compile/compile-cplus-inherit.exp: New file. * gdb.compile/compile-cplus-member.cc: New file. * gdb.compile/compile-cplus-member.exp: New file. * gdb.compile/compile-cplus-method.cc: New file. * gdb.compile/compile-cplus-method.exp: New file. * gdb.compile/compile-cplus-mod.c: "New" file. * gdb.compile/compile-cplus-namespace.cc: New file. * gdb.compile/compile-cplus-namespace.exp: New file. * gdb.compile/compile-cplus-nested.cc: New file. * gdb.compile/compile-cplus-nested.exp: New file. * gdb.compile/compile-cplus-print.c: "New" file. * gdb.compile/compile-cplus-print.exp: "New" file. * gdb.compile/compile-cplus-virtual.cc: New file. * gdb.compile/compile-cplus-virtual.exp: New file. * gdb.compile/compile-cplus.c: "New" file. * gdb.compile/compile-cplus.exp: "New" file. * lib/compile-support.exp: New file. doc/ChangeLog: * gdb.texinfo (Compiling and injecting code in GDB): Document set/show "compile-oracle" and "compile-cplus-types" commands. commit fcaad03cc027ec2cdf7f2cff70d792867d43c57f Author: Keith Seitz Date: Wed Aug 29 15:12:23 2018 -0700 Add new search_symbols_multiple API This patch adds a new symbol searching API based on linespec.c's parser implementation. This allows users to find "all* matching symbols instead of the first found match (a la lookup_symbol). gdb/ChangeLog: * linespec.c (collect_info::add_symbol): Make virtual. (struct symbol_searcher_collect_info): New struct. (symbol_searcher::find_all_symbols): New method. * symtab.h (class symbol_searcher): New class. commit 7e41c8db84bc6f74843dda40ae443d41977c0d20 Author: Keith Seitz Date: Wed Aug 29 15:12:23 2018 -0700 Use block_symbol in linespec APIs This patch changes the linespec.c APIs to use block_symbol instead of just a symbol. lookup_symbol et al already return block_symbol's. gdb/ChangeLog: * linespec.c (struct linespec) : Change to vector of block_symbol. Update all users. (struct collect_info) : Likewise. (collect_info::add_symbol): Take block_symbol as argument. Update all callers. (decode_compound_collector) : Change type to vector of block_symbol. Update all users. (decode_compound_collector::operator ()): Change parameter type to block_symbol. (find_method, find_function_symbols, find_linespec_symbols) (find_label_symbols_in_block, find_label_symbols): Change symbol vectors to block_symbol vectors. * symtab.h (symbol_found_callback_ftype): Change parameter type to block_symbol. commit 63e8c3daad1eae11cef5b6d1833507d9d4d6b0c0 Author: Keith Seitz Date: Wed Aug 29 15:12:23 2018 -0700 Remove VEC definitions from linespec.c Since they are now no longer necessary, this patch removes the typedefs and VEC definitions for bound_minimal_symbol_d and symbolp. gdb/ChangeLog: * linespec.c (symbolp): Remove typedef and VEC definitions. (bound_minimal_symbol_d): Likewise. commit 4dedf84da98ca7dcb9fc80895044d09b5787c1f0 Author: Keith Seitz Date: Wed Aug 29 15:12:23 2018 -0700 Change decode_compound_collector to use std::vector This patch changes decode_compound_collector to use std::vector instead of VEC, eliminating a cleanup in the process. gdb/ChangeLog: * linespec.c (decode_compound_collector::decode_compound_collector): Remove initialization for `m_symtabs'. (decode_compound_collector::release_symbols): Change return type to std::vector. Update all callers. (class decode_compound_collector) : Change type to std::vector. (lookup_prefix_sym): Change return type to std::vector. Update all callers. (compare_symbols): Remove. (std_compare_symbols): Rename to `compare_symbols'. (find_method): Change `sym_classes' parameter to std::vector. Update all callers. Use std::sort to sort sym_classes. (find_linespec_symbols): Remove cleanup. commit c2a031c5822b4256f116254def47b9887c230e68 Author: Keith Seitz Date: Wed Aug 29 15:12:23 2018 -0700 Change `minimal_symbols' to std::vector in linespec.c structures This patch converts linespec.c's linespec.label_symbols member from a VEC to a std::vector. gdb/ChangeLog: * linespec.c (struct linespec) : Change type to std::vector. Update all users. (convert_linespec_to_sals): Use std::sort to sort minimal symbols. (struct collect_info) : Likewise. (compare_msymbols): Return bool. Change parameters to const bound_minimal_symbol references. (find_method, find_function_symbols, find_linespec_symbols): Change `minsyms' parameter to std::vector. Update all callers. commit 3553eadc8cb5f087ea0fb72ebdd1c52264304e0b Author: Keith Seitz Date: Wed Aug 29 15:12:23 2018 -0700 Change `label_symbols' to std::vector in linespec.c structures This patch converts linespec.c's linespec.label_symbols member from a VEC to a std::vector. gdb/ChangeLog: * linespec.c (struct linespec) : Change type to std::vector. Update all users. (find_label_symbols_in_block): Change `result' parameter to std::vector. Update all callers. (find_label_symbols): Return std::vector. Update all callers. commit 7243d0118af6f72e3e72db1eb66941fec4530963 Author: Keith Seitz Date: Wed Aug 29 15:12:23 2018 -0700 Change `function_symbols' to std::vector This patch changes the `function_symbols' members in linespec.c structures from a VEC to a std::vector. gdb/ChangeLog: * linespec.c (struct linespec) : Change type to std::vector. Update all users. (struct collect_info) : Likewise. (convert_linespec_to_sals): Use std::sort to sort function_symbols. (std_compare_symbols): New function. (find_method, find_function_symbols, find_linespec_symbols) (find_label_symbols_in_block): Change `symbols' parameter to std::vector. Update all callers. (find_label_symbols): Likewise for `function_symbols' and `label_funcs_ret'. commit 2a90824133f9d46970c9c52b68ef2ccbeb6389ac Author: Keith Seitz Date: Wed Aug 29 15:12:23 2018 -0700 Change `file_symtabs' to std::vector This patch changes the `file_symtabs' members in linespec.c structures from a VEC to a std::vector (or unique_ptr thereof), eliminating a cleanup in the process. gdb/ChangeLog: * linespec.c (symtab_vector_up): Define. (struct linespec) : Change type to std::vector *. Update all uses. (struct collect_info) : Likewise. (collect_symtabs_from_filename): Return symtab_vector_up. Update all callers. (decode_objc): Remove cleanup. (symtab_collector::symtab_collector): Initialize `m_symtabs'. (symtab_collector::release_symtabs): Return symtab_vector_up. Update all callers. (class symtab_collector) : Change type to symtab_vector_up. Update all users. (collect_symtabs_from_filename, symtabs_from_filename): Return symtab_vector_up. Update all callers. commit f6c4e3e8a3af94fbecce2a38d3fccc0980616c6d Author: Tom Tromey Date: Wed Aug 29 15:33:23 2018 -0600 Use core_addr_to_string_nz in csky_analyze_prologue One of the buildbot builders had a failure on a recent try run: ../../binutils-gdb/gdb/csky-tdep.c: In function CORE_ADDR csky_analyze_prologue(gdbarch*, CORE_ADDR, CORE_ADDR, CORE_ADDR, frame_info*, csky_unwind_cache*, lr_type_t): ../../binutils-gdb/gdb/csky-tdep.c:1107:23: error: format %lx expects argument of type long unsigned int, but argument 3 has type CORE_ADDR {aka long long unsigned int} [-Werror=format=] "0x%lx\n", addr); ^ ../../binutils-gdb/gdb/csky-tdep.c:1419:12: error: format %lx expects argument of type long unsigned int, but argument 3 has type CORE_ADDR {aka long long unsigned int} [-Werror=format=] addr); ^ The fix is to use core_addr_to_string_nz rather than %lx in csky-tdep.c. Tested by rebuilding. I'm checking this in. gdb/ChangeLog 2018-08-29 Tom Tromey * csky-tdep.c (csky_analyze_prologue): Use core_addr_to_string_nz. commit 73c13fe69a4275433544533a610275861346ef44 Author: Tom Tromey Date: Wed Aug 29 11:37:42 2018 -0600 Fix windows-nat.c for -Wnarrowing Sergio pointed out that the Windows builder was failing due to the -Wnarrowing patch, with: ../../binutils-gdb/gdb/windows-nat.c:301:27: error: narrowing conversion of '3221225477' from 'DWORD {aka long unsigned int}' to 'int' inside { } [-Wnarrowing] {-1, GDB_SIGNAL_UNKNOWN}}; ^ ../../binutils-gdb/gdb/windows-nat.c:301:27: error: narrowing conversion of '3221225725' from 'DWORD {aka long unsigned int}' to 'int' inside { } [-Wnarrowing] ../../binutils-gdb/gdb/windows-nat.c:301:27: error: narrowing conversion of '2147483651' from 'DWORD {aka long unsigned int}' to 'int' inside { } [-Wnarrowing] ../../binutils-gdb/gdb/windows-nat.c:301:27: error: narrowing conversion of '2147483652' from 'DWORD {aka long unsigned int}' to 'int' inside { } [-Wnarrowing] ../../binutils-gdb/gdb/windows-nat.c:301:27: error: narrowing conversion of '3221225614' from 'DWORD {aka long unsigned int}' to 'int' inside { } [-Wnarrowing] Looking into this, I found two things. First, in struct xlate_exception, it is better to have "them" be of type DWORD, as that's the type actually in use. Second, struct xlate_exception and xlate are not used in this file, because the code in windows_nat_target::resume is #if'd out. This patch changes the type of "them", but also similarly #if's out this object. In order to avoid a narrowing warning from the -1 entry, at Pedro's suggestion I have removed this and changed windows_nat_target::resume to use ranged for. Tested by rebuilding using the mingw toolchain on x86-64 Fedora 28. I also tested it by temporarily removing the "#if 0"s and rebuilding. gdb/ChangeLog 2018-08-29 Tom Tromey * windows-nat.c (struct xlate_exception) : Change type to DWORD. (xlate): Fix formatting. Remove last entry. (struct xlate_exception, xlate): Comment out. (windows_nat_target::resume): Use ranged for. commit df28970fcc741fa744a51aece29bb755c20eceab Author: Martin Aberg Date: Wed Aug 29 20:52:28 2018 +0200 sparc/leon: add support for partial write psr instruction Partial write %PSR (PWRPSR) is a SPARC V8e option that allows the WRPSR instruction to only affect the %PSR.ET field. When available it is enabled by setting the rd field of the WRPSR instruction to a value other than 0. For Leon processors with support for partial write %PSR (currently GR740 and GR716) the rd value must be 1. opcodes/ChangeLog: 2018-08-29 Martin Aberg * sparc-opc.c (sparc_opcodes): Add Leon specific partial write psr (PWRPSR) instruction. gas/ChangeLog: 2018-08-29 Daniel Cederman * testsuite/gas/sparc/leon.d: New test. * testsuite/gas/sparc/leon.s: New test. * testsuite/gas/sparc/sparc.exp: Execute the pwrpsr test. commit 4d3928d7e0a141e0fb16405d33b375cbe2f13123 Author: Jim Wilson Date: Wed Aug 29 10:52:42 2018 -0700 Fix riscv-linux native gdb build failure. The linux kernel uses NT_PRFPREG. Glibc before BZ 14890 defines NT_FPREGSET. After it defines both. Avoid glibc version dependency by using the gdb header file instead of the glibc header file, and the macro name that gdb defines which is NT_FPREGSET. gdb/ * riscv-linux-nat.c: Include elf/common.h instead of elf.h. (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead of NT_PRFPREG. (riscv_linux_nat_target::store_registers): Likewise. commit 7a6dbc2fdb2323c35e981f93236f323e9d7c0b24 Author: Sergio Durigan Junior Date: Mon Aug 27 18:56:03 2018 -0400 Update gnulib to current upstream master It has been a while since we don't update our gnulib copy against their upstream master branch, so I thought I'd propose this patch. It also fixes (at least) one bug reported against GDB: https://sourceware.org/bugzilla/show_bug.cgi?id=23558 The problem reported there is about the replacement of 'getcwd' when cross-compiling GDB. With our current gnulib copy, the mechanism for deciding whether to use the system's 'getcwd' or gnulib's version is too simplistic and pessimistic, so when cross-compiling we always end up using gnulib's version, which has a limitation: it cannot handle the situation when the parent directory doesn't have read permissions. This has been reported against upstream gnulib and the fix has been pushed here: https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=a96d2e67052c879b1bcc5bc461722beac75fc372 I regtested this patch on Fedora 28 x86-64, and there were no regressions. OK? gdb/ChangeLog: 2018-08-29 Sergio Durigan Junior PR gdb/23555 PR gdb/23558 * gnulib/aclocal.m4: Regenerate. * gnulib/config.in: Regenerate. * gnulib/configure: Regenerate. * gnulib/import/Makefile.am: Update. * gnulib/import/Makefile.in: Update. * gnulib/import/extra/snippet/_Noreturn.h: Rename to... * gnulib/import/_Noreturn.h: ... this. * gnulib/import/alloca.in.h: Update. * gnulib/import/extra/snippet/arg-nonnull.h: Rename to... * gnulib/import/arg-nonnull.h: ... this. * gnulib/import/assure.h: Update. * gnulib/import/at-func.c: Update. * gnulib/import/basename-lgpl.c: Update. * gnulib/import/extra/snippet/c++defs.h: Rename to... * gnulib/import/c++defs.h: ... this. * gnulib/import/canonicalize-lgpl.c: Update. * gnulib/import/cdefs.h: Update. * gnulib/import/chdir-long.c: Update. * gnulib/import/chdir-long.h: Update. * gnulib/import/cloexec.c: Update. * gnulib/import/cloexec.h: Update. * gnulib/import/close.c: Update. * gnulib/import/closedir.c: Update. * gnulib/import/config.charset: Update. * gnulib/import/dirent-private.h: Update. * gnulib/import/dirent.in.h: Update. * gnulib/import/dirfd.c: Update. * gnulib/import/dirname-lgpl.c: Update. * gnulib/import/dirname.h: Update. * gnulib/import/dosname.h: Update. * gnulib/import/dup-safer-flag.c: Update. * gnulib/import/dup-safer.c: Update. * gnulib/import/dup.c: Update. * gnulib/import/dup2.c: Update. * gnulib/import/errno.in.h: Update. * gnulib/import/error.c: Update. * gnulib/import/error.h: Update. * gnulib/import/exitfail.c: Update. * gnulib/import/exitfail.h: Update. * gnulib/import/extra/update-copyright: Update. * gnulib/import/fchdir.c: Update. * gnulib/import/fcntl.c: Update. * gnulib/import/fcntl.in.h: Update. * gnulib/import/fd-hook.c: Update. * gnulib/import/fd-hook.h: Update. * gnulib/import/fd-safer-flag.c: Update. * gnulib/import/fd-safer.c: Update. * gnulib/import/fdopendir.c: Update. * gnulib/import/filename.h: Update. * gnulib/import/filenamecat-lgpl.c: Update. * gnulib/import/filenamecat.h: Update. * gnulib/import/flexmember.h: Update. * gnulib/import/float+.h: Update. * gnulib/import/float.c: Update. * gnulib/import/float.in.h: Update. * gnulib/import/fnmatch.c: Update. * gnulib/import/fnmatch.in.h: Update. * gnulib/import/fnmatch_loop.c: Update. * gnulib/import/fpucw.h: Update. * gnulib/import/frexp.c: Update. * gnulib/import/frexpl.c: Update. * gnulib/import/fstat.c: Update. * gnulib/import/fstatat.c: Update. * gnulib/import/getcwd-lgpl.c: Update. * gnulib/import/getcwd.c: Update. * gnulib/import/getdtablesize.c: Update. * gnulib/import/getlogin_r.c: Update. * gnulib/import/getprogname.c: Update. * gnulib/import/getprogname.h: Update. * gnulib/import/gettext.h: Update. * gnulib/import/gettimeofday.c: Update. * gnulib/import/glob-libc.h: Update. * gnulib/import/glob.c: Update. * gnulib/import/glob.in.h: Update. * gnulib/import/glob_internal.h: Update. * gnulib/import/glob_pattern_p.c: Update. * gnulib/import/globfree.c: Update. * gnulib/import/hard-locale.c: Update. * gnulib/import/hard-locale.h: Update. * gnulib/import/intprops.h: Update. * gnulib/import/inttypes.in.h: Update. * gnulib/import/isnan.c: Update. * gnulib/import/isnand-nolibm.h: Update. * gnulib/import/isnand.c: Update. * gnulib/import/isnanl-nolibm.h: Update. * gnulib/import/isnanl.c: Update. * gnulib/import/itold.c: Update. * gnulib/import/libc-config.h: Update. * gnulib/import/limits.in.h: Update. * gnulib/import/localcharset.c: Update. * gnulib/import/localcharset.h: Update. * gnulib/import/localtime-buffer.c: Update. * gnulib/import/localtime-buffer.h: Update. * gnulib/import/lstat.c: Update. * gnulib/import/m4/00gnulib.m4: Update. * gnulib/import/m4/__inline.m4: Update. * gnulib/import/m4/absolute-header.m4: Update. * gnulib/import/m4/alloca.m4: Update. * gnulib/import/m4/builtin-expect.m4: Update. * gnulib/import/m4/canonicalize.m4: Update. * gnulib/import/m4/chdir-long.m4: Update. * gnulib/import/m4/close.m4: Update. * gnulib/import/m4/closedir.m4: Update. * gnulib/import/m4/configmake.m4: Update. * gnulib/import/m4/d-ino.m4: Update. * gnulib/import/m4/d-type.m4: Update. * gnulib/import/m4/dirent_h.m4: Update. * gnulib/import/m4/dirfd.m4: Update. * gnulib/import/m4/dirname.m4: Update. * gnulib/import/m4/double-slash-root.m4: Update. * gnulib/import/m4/dup.m4: Update. * gnulib/import/m4/dup2.m4: Update. * gnulib/import/m4/eealloc.m4: Update. * gnulib/import/m4/environ.m4: Update. * gnulib/import/m4/errno_h.m4: Update. * gnulib/import/m4/error.m4: Update. * gnulib/import/m4/exponentd.m4: Update. * gnulib/import/m4/exponentl.m4: Update. * gnulib/import/m4/extensions.m4: Update. * gnulib/import/m4/extern-inline.m4: Update. * gnulib/import/m4/fchdir.m4: Update. * gnulib/import/m4/fcntl-o.m4: Update. * gnulib/import/m4/fcntl.m4: Update. * gnulib/import/m4/fcntl_h.m4: Update. * gnulib/import/m4/fdopendir.m4: Update. * gnulib/import/m4/filenamecat.m4: Update. * gnulib/import/m4/flexmember.m4: Update. * gnulib/import/m4/float_h.m4: Update. * gnulib/import/m4/fnmatch.m4: Update. * gnulib/import/m4/fnmatch_h.m4: Update. * gnulib/import/m4/fpieee.m4: Update. * gnulib/import/m4/frexp.m4: Update. * gnulib/import/m4/frexpl.m4: Update. * gnulib/import/m4/fstat.m4: Update. * gnulib/import/m4/fstatat.m4: Update. * gnulib/import/m4/getcwd-abort-bug.m4: Update. * gnulib/import/m4/getcwd-path-max.m4: Update. * gnulib/import/m4/getcwd.m4: Update. * gnulib/import/m4/getdtablesize.m4: Update. * gnulib/import/m4/getlogin.m4: Update. * gnulib/import/m4/getlogin_r.m4: Update. * gnulib/import/m4/getpagesize.m4: Update. * gnulib/import/m4/getprogname.m4: Update. * gnulib/import/m4/gettimeofday.m4: Update. * gnulib/import/m4/glibc21.m4: Update. * gnulib/import/m4/glob.m4: Update. * gnulib/import/m4/glob_h.m4: Update. * gnulib/import/m4/gnulib-cache.m4: Update. * gnulib/import/m4/gnulib-common.m4: Update. * gnulib/import/m4/gnulib-comp.m4: Update. * gnulib/import/m4/gnulib-tool.m4: Update. * gnulib/import/m4/hard-locale.m4: Update. * gnulib/import/m4/include_next.m4: Update. * gnulib/import/m4/inttypes-pri.m4: Update. * gnulib/import/m4/inttypes.m4: Update. * gnulib/import/m4/isnand.m4: Update. * gnulib/import/m4/isnanl.m4: Update. * gnulib/import/m4/largefile.m4: Update. * gnulib/import/m4/limits-h.m4: Update. * gnulib/import/m4/localcharset.m4: Update. * gnulib/import/m4/locale-fr.m4: Update. * gnulib/import/m4/locale-ja.m4: Update. * gnulib/import/m4/locale-zh.m4: Update. * gnulib/import/m4/localtime-buffer.m4: Update. * gnulib/import/m4/longlong.m4: Update. * gnulib/import/m4/lstat.m4: Update. * gnulib/import/m4/malloc.m4: Update. * gnulib/import/m4/malloca.m4: Update. * gnulib/import/m4/math_h.m4: Update. * gnulib/import/m4/mbrtowc.m4: Update. * gnulib/import/m4/mbsinit.m4: Update. * gnulib/import/m4/mbsrtowcs.m4: Update. * gnulib/import/m4/mbstate_t.m4: Update. * gnulib/import/m4/memchr.m4: Update. * gnulib/import/m4/memmem.m4: Update. * gnulib/import/m4/mempcpy.m4: Update. * gnulib/import/m4/memrchr.m4: Update. * gnulib/import/m4/mkdir.m4: Update. * gnulib/import/m4/mkstemp.m4: Update. * gnulib/import/m4/mmap-anon.m4: Update. * gnulib/import/m4/mode_t.m4: Update. * gnulib/import/m4/msvc-inval.m4: Update. * gnulib/import/m4/msvc-nothrow.m4: Update. * gnulib/import/m4/multiarch.m4: Update. * gnulib/import/m4/nocrash.m4: Update. * gnulib/import/m4/off_t.m4: Update. * gnulib/import/m4/onceonly.m4: Update. * gnulib/import/m4/open-cloexec.m4: Update. * gnulib/import/m4/open.m4: Update. * gnulib/import/m4/openat.m4: Update. * gnulib/import/m4/opendir.m4: Update. * gnulib/import/m4/pathmax.m4: Update. * gnulib/import/m4/rawmemchr.m4: Update. * gnulib/import/m4/readdir.m4: Update. * gnulib/import/m4/readlink.m4: Update. * gnulib/import/m4/realloc.m4: Update. * gnulib/import/m4/rename.m4: Update. * gnulib/import/m4/rewinddir.m4: Update. * gnulib/import/m4/rmdir.m4: Update. * gnulib/import/m4/save-cwd.m4: Update. * gnulib/import/m4/secure_getenv.m4: Update. * gnulib/import/m4/setenv.m4: Update. * gnulib/import/m4/signal_h.m4: Update. * gnulib/import/m4/ssize_t.m4: Update. * gnulib/import/m4/stat-time.m4: Update. * gnulib/import/m4/stat.m4: Update. * gnulib/import/m4/std-gnu11.m4: Update. * gnulib/import/m4/stdbool.m4: Update. * gnulib/import/m4/stddef_h.m4: Update. * gnulib/import/m4/stdint.m4: Update. * gnulib/import/m4/stdio_h.m4: Update. * gnulib/import/m4/stdlib_h.m4: Update. * gnulib/import/m4/strchrnul.m4: Update. * gnulib/import/m4/strdup.m4: Update. * gnulib/import/m4/strerror.m4: Update. * gnulib/import/m4/string_h.m4: Update. * gnulib/import/m4/strstr.m4: Update. * gnulib/import/m4/strtok_r.m4: Update. * gnulib/import/m4/sys_socket_h.m4: Update. * gnulib/import/m4/sys_stat_h.m4: Update. * gnulib/import/m4/sys_time_h.m4: Update. * gnulib/import/m4/sys_types_h.m4: Update. * gnulib/import/m4/tempname.m4: Update. * gnulib/import/m4/time_h.m4: Update. * gnulib/import/m4/unistd-safer.m4: Update. * gnulib/import/m4/unistd_h.m4: Update. * gnulib/import/m4/warn-on-use.m4: Update. * gnulib/import/m4/wchar_h.m4: Update. * gnulib/import/m4/wchar_t.m4: Update. * gnulib/import/m4/wctype_h.m4: Update. * gnulib/import/m4/wint_t.m4: Update. * gnulib/import/malloc.c: Update. * gnulib/import/malloc/scratch_buffer.h: Update. * gnulib/import/malloc/scratch_buffer_grow.c: Update. * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update. * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update. * gnulib/import/malloca.c: Update. * gnulib/import/malloca.h: Update. * gnulib/import/malloca.valgrind: Update. * gnulib/import/math.in.h: Update. * gnulib/import/mbrtowc.c: Update. * gnulib/import/mbsinit.c: Update. * gnulib/import/mbsrtowcs-impl.h: Update. * gnulib/import/mbsrtowcs-state.c: Update. * gnulib/import/mbsrtowcs.c: Update. * gnulib/import/memchr.c: Update. * gnulib/import/memmem.c: Update. * gnulib/import/mempcpy.c: Update. * gnulib/import/memrchr.c: Update. * gnulib/import/mkdir.c: Update. * gnulib/import/mkstemp.c: Update. * gnulib/import/msvc-inval.c: Update. * gnulib/import/msvc-inval.h: Update. * gnulib/import/msvc-nothrow.c: Update. * gnulib/import/msvc-nothrow.h: Update. * gnulib/import/open.c: Update. * gnulib/import/openat-die.c: Update. * gnulib/import/openat-priv.h: Update. * gnulib/import/openat-proc.c: Update. * gnulib/import/openat.c: Update. * gnulib/import/openat.h: Update. * gnulib/import/opendir.c: Update. * gnulib/import/pathmax.h: Update. * gnulib/import/pipe-safer.c: Update. * gnulib/import/rawmemchr.c: Update. * gnulib/import/readdir.c: Update. * gnulib/import/readlink.c: Update. * gnulib/import/realloc.c: Update. * gnulib/import/ref-add.sin: Update. * gnulib/import/ref-del.sin: Update. * gnulib/import/rename.c: Update. * gnulib/import/rewinddir.c: Update. * gnulib/import/rmdir.c: Update. * gnulib/import/same-inode.h: Update. * gnulib/import/save-cwd.c: Update. * gnulib/import/save-cwd.h: Update. * gnulib/import/scratch_buffer.h: Update. * gnulib/import/secure_getenv.c: Update. * gnulib/import/setenv.c: Update. * gnulib/import/signal.in.h: Update. * gnulib/import/stat-time.c: Update. * gnulib/import/stat-time.h: Update. * gnulib/import/stat-w32.c: Update. * gnulib/import/stat-w32.h: Update. * gnulib/import/stat.c: Update. * gnulib/import/stdbool.in.h: Update. * gnulib/import/stddef.in.h: Update. * gnulib/import/stdint.in.h: Update. * gnulib/import/stdio.in.h: Update. * gnulib/import/stdlib.in.h: Update. * gnulib/import/str-two-way.h: Update. * gnulib/import/strchrnul.c: Update. * gnulib/import/strdup.c: Update. * gnulib/import/streq.h: Update. * gnulib/import/strerror-override.c: Update. * gnulib/import/strerror-override.h: Update. * gnulib/import/strerror.c: Update. * gnulib/import/string.in.h: Update. * gnulib/import/stripslash.c: Update. * gnulib/import/strnlen1.c: Update. * gnulib/import/strnlen1.h: Update. * gnulib/import/strstr.c: Update. * gnulib/import/strtok_r.c: Update. * gnulib/import/sys_stat.in.h: Update. * gnulib/import/sys_time.in.h: Update. * gnulib/import/sys_types.in.h: Update. * gnulib/import/tempname.c: Update. * gnulib/import/tempname.h: Update. * gnulib/import/time.in.h: Update. * gnulib/import/unistd--.h: Update. * gnulib/import/unistd-safer.h: Update. * gnulib/import/unistd.in.h: Update. * gnulib/import/unsetenv.c: Update. * gnulib/import/verify.h: Update. * gnulib/import/extra/snippet/warn-on-use.h: Update. * gnulib/import/wchar.in.h: Update. * gnulib/import/wctype.in.h: Update. * gnulib/import/xalloc-oversized.h: Update. * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to "53e2c179f26a890fa6685af4b6c1397ee370433b". commit b0f492b90f3d13da8ac80437e6ecb9a87db4a75b Author: Gary Benson Date: Wed Aug 29 16:11:50 2018 +0100 Indicate batch mode failures by exiting with nonzero status This commit causes GDB in batch mode to exit with nonzero status if the last command to be executed fails. gdb/ChangeLog: PR gdb/13000: * gdb/main.c (captured_main_1): Exit with nonzero status in batch mode if the last command to be executed failed. * NEWS: Mention the above. gdb/testsuite/ChangeLog: PR gdb/13000: * gdb.base/batch-exit-status.exp: New file. * gdb.base/batch-exit-status.good-commands: Likewise. * gdb.base/batch-exit-status.bad-commands: Likewise. commit 2362e7f76adb395df19c867cd27c75f77a0ade6f Author: Simon Marchi Date: Wed Aug 29 10:26:11 2018 -0400 Remove newline at end of warning message ... to fix this ARI warning: gdb/csky-tdep.c:1612: gettext: trailing new line: A message should not have a trailing new line gdb/csky-tdep.c:1612: warning (_("Invalid breakpoint address 0x%x is an odd number.\n"), gdb/ChangeLog: * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at end of warning message. commit 9108bc33b1ca0b2e930c0cce5b1a0394e33e86be Author: Chenghua Xu Date: Wed Aug 29 20:55:25 2018 +0800 [MIPS] Add Loongson 2K1000 proccessor support. bfd/ * archures.c (bfd_architecture): New machine bfd_mach_mips_gs264e. * bfd-in2.h (bfd_architecture): Likewise. * cpu-mips.c (enum I_xxx): Likewise. (arch_info_struct): Likewise. * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_GS264E. (mips_set_isa_flags): Likewise. (mips_mach_extensions): Map bfd_mach_mips_gs264e to bfd_mach_mips_gs464e extension. binutils/ * NEWS: Mention Loongson 2K1000 proccessor support. * readelf.c (get_machine_flags): Handle gs264e. elfcpp/ * mips.c (EF_MIPS_MACH): New E_MIPS_MACH_GS264E. gas/ * config/tc-mips.c (ISA_HAS_ODD_SINGLE_FPR): Exclude CPU_GS264E. (mips_cpu_info_table): Add gs264e descriptors. * doc/as.texi (march table): Add gs264e. include/ * elf/mips.h (E_MIPS_MACH_XXX): New E_MIPS_MACH_GS264E. * opcode/mips.h (CPU_XXX): New CPU_GS264E. ld/ * testsuite/ld-mips-elf/mips-elf-flags.exp: Run good_combination gs264e and gs464e. opcodes/ * mips-dis.c (mips_arch_choices): Add gs264e descriptors. commit bd782c07b914f28fd927cec42eacd8adcf556dca Author: Chenghua Xu Date: Wed Aug 29 20:36:23 2018 +0800 [MIPS] Add Loongson 3A2000/3A3000 proccessor support. bfd/ * archures.c (bfd_architecture): New machine bfd_mach_mips_gs464e. * bfd-in2.h (bfd_architecture): Likewise. * cpu-mips.c (enum I_xxx): Likewise. (arch_info_struct): Likewise. * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_GS464E. (mips_set_isa_flags): Likewise. (mips_mach_extensions): Map bfd_mach_mips_gs464e to bfd_mach_mips_gs464 extension. binutils/ * NEWS: Mention Loongson 3A2000/3A3000 proccessor support. * readelf.c (get_machine_flags): Handle gs464e. elfcpp/ * mips.c (EF_MIPS_MACH): New E_MIPS_MACH_GS464E. gas/ * config/tc-mips.c (ISA_HAS_ODD_SINGLE_FPR): Exclude CPU_GS464E. (mips_cpu_info_table): Add gs464e descriptors. * doc/as.texi (march table): Add gs464e. include/ * elf/mips.h (E_MIPS_MACH_XXX): New E_MIPS_MACH_GS464E. * opcode/mips.h (CPU_XXX): New CPU_GS464E. ld/ * testsuite/ld-mips-elf/mips-elf-flags.exp: Run good_combination gs464e and gs464. opcodes/ * mips-dis.c (mips_arch_choices): Add gs464e descriptors. commit ac8cb70f3690b4eace1325c7ff918dce9073da7c Author: Chenghua Xu Date: Wed Aug 29 20:13:00 2018 +0800 [MIPS] Add Loongson 3A1000 proccessor support. bfd/ * archures.c (bfd_architecture): Rename bfd_mach_mips_loongson_3a to bfd_mach_mips_gs464. * bfd-in2.h (bfd_architecture): Likewise. * cpu-mips.c (enum I_xxx): Likewise. (arch_info_struct): Likewise. * elfxx-mips.c (_bfd_elf_mips_mach): Likewise. (mips_set_isa_flags): Likewise. (mips_mach_extensions): Likewise. (bfd_mips_isa_ext_mach): Likewise. (bfd_mips_isa_ext): Likewise. (print_mips_isa_ext): Delete AFL_EXT_LOONGSON_3A. binutils/ * NEWS: Mention Loongson 3A1000 proccessor support. * readelf.c (get_machine_flags): Rename loongson-3a to gs464. (print_mips_isa_ext): Delete AFL_EXT_LOONGSON_3A. elfcpp/ * mips.c (EF_MIPS_MACH): Rename E_MIPS_MACH_LS3A to E_MIPS_MACH_GS464. gas/ * config/tc-mips.c (ISA_HAS_ODD_SINGLE_FPR): Rename CPU_LOONGSON_3A to CPU_GS464. (mips_cpu_info_table): Add gs464 descriptors, Keep loongson3a as an alias of gs464 for compatibility. * doc/as.texi (march table): Rename loongson3a to gs464. * testsuite/gas/mips/loongson-3a-mmi.d: Set "ISA Extension" flag to None. gold/ * mips.cc (Mips_mach, add_machine_extensions, elf_mips_mach): Rename loongson3a to gs464. (mips_isa_ext_mach, mips_isa_ext): Delete loongson3a. (infer_abiflags): Use ases instead of isa_ext for infer ABI flags. (elf_mips_mach_name): Rename loongson3a to gs464. include/ * elf/mips.h (E_MIPS_MACH_XXX): Rename E_MIPS_MACH_LS3A to E_MIPS_MACH_GS464. (AFL_EXT_XXX): Delete AFL_EXT_LOONGSON_3A. * opcode/mips.h (INSN_XXX): Delete INSN_LOONGSON_3A. (CPU_XXX): Rename CPU_LOONGSON_3A to CPU_GS464. * opcode/mips.h (mips_isa_table): Delete CPU_LOONGSON_3A case. ld/ * testsuite/ld-mips-elf/mips-elf-flags.exp: Rename loongson3a to gs464. opcodes/ * mips-dis.c (mips_arch_choices): Add gs464 descriptors, Keep loongson3a as an alias of gs464 for compatibility. * mips-opc.c (mips_opcodes): Change Comments. commit a693765e23934996abbe4e44c4ba28eabdece4f9 Author: Chenghua Xu Date: Wed Aug 29 20:08:58 2018 +0800 [MIPS/GAS] Add Loongson EXT2 Instructions support. bfd/ * elfxx-mips.c (print_mips_ases): Add Loongson EXT2 extension. binutils/ * readelf.c (print_mips_ases): Add Loongson EXT2 extension. gas/ * NEWS: Mention Loongson EXTensions R2 (EXT2) support. * config/tc-mips.c (options): Add OPTION_LOONGSON_EXT2 and OPTION_NO_LOONGSON_EXT2. (md_longopts): Likewise. (mips_ases): Define availability for EXT. (mips_convert_ase_flags): Map ASE_LOONGSON_EXT2 to AFL_ASE_LOONGSON_EXT2. (md_show_usage): Add help for -mloongson-ext2 and -mno-loongson-ext2. * doc/as.texi: Document -mloongson-ext2, -mno-loongson-ext2. * doc/c-mips.texi: Document -mloongson-ext2, -mno-loongson-ext2, .set loongson-ext2 and .set noloongson-ext2. * testsuite/gas/mips/loongson-ext2.d: New test. * testsuite/gas/mips/loongson-ext2.s: New test. * testsuite/gas/mips/mips.exp: Run loongson-ext2 test. include/ * elf/mips.h (AFL_ASE_LOONGSON_EXT2): New macro. (AFL_ASE_MASK): Update to include AFL_ASE_LOONGSON_EXT2. * opcode/mips.h (ASE_LOONGSON_EXT2): New macro. opcodes/ * mips-dis.c (parse_mips_ase_option): Handle -M loongson-ext option. (print_mips_disassembler_options): Document -M loongson-ext. * mips-opc.c (LEXT2): New macro. (mips_opcodes): Add cto, ctz, dcto, dctz instructions. commit bdc6c06e3b08ec48ec5ee2174dedc846969c36fd Author: Chenghua Xu Date: Wed Aug 29 19:57:39 2018 +0800 [MIPS/GAS] Split Loongson EXT Instructions from loongson3a. bfd/ * elfxx-mips.c (infer_mips_abiflags): Use ases instead of isa_ext for infer ABI flags. (print_mips_ases): Add Loongson EXT extension. binutils/ * readelf.c (print_mips_ases): Add Loongson EXT extension. elfcpp/ * mips.h (AFL_ASE_LOONGSON_EXT): New enum. gas/ * NEWS: Mention Loongson EXTensions (EXT) support. * config/tc-mips.c (options): Add OPTION_LOONGSON_EXT and OPTION_NO_LOONGSON_EXT. (md_longopts): Likewise. (mips_ases): Define availability for EXT. (mips_convert_ase_flags): Map ASE_LOONGSON_EXT to AFL_ASE_LOONGSON_EXT. (mips_cpu_info_table): Add ASE_LOONGSON_EXT for loongson3a. (md_show_usage): Add help for -mloongson-ext and -mno-loongson-ext. * doc/as.texi: Document -mloongson-ext, -mno-loongson-ext. * doc/c-mips.texi: Document -mloongson-ext, -mno-loongson-ext, .set loongson-ext and .set noloongson-ext. * testsuite/gas/mips/loongson-mmi.d: Add ASE flag. include/ * elf/mips.h (AFL_ASE_LOONGSON_EXT): New macro. (AFL_ASE_MASK): Update to include AFL_ASE_LOONGSON_EXT. * opcode/mips.h (ASE_LOONGSON_EXT): New macro. opcodes/ * mips-dis.c (mips_arch_choices): Add EXT to loongson3a descriptors. (parse_mips_ase_option): Handle -M loongson-ext option. (print_mips_disassembler_options): Document -M loongson-ext. * mips-opc.c (IL3A): Delete. * mips-opc.c (LEXT): New macro. (mips_opcodes): Replace IL2F|IL3A marking with LEXT for EXT instructions. commit 716c08de28589a5560b3337f1b935ed84a49b5e5 Author: Chenghua Xu Date: Wed Aug 29 17:39:33 2018 +0800 [MIPS/GAS] Split Loongson CAM Instructions from loongson3a bfd/ * elfxx-mips.c (print_mips_ases): Add CAM extension. binutils/ * readelf.c (print_mips_ases): Add CAM extension. gas/ * NEWS: Mention Loongson Content Address Memory (CAM) support. * config/tc-mips.c (options): Add OPTION_LOONGSON_CAM and OPTION_NO_LOONGSON_CAM. (md_longopts): Likewise. (mips_ases): Define availability for CAM. (mips_convert_ase_flags): Map ASE_LOONGSON_CAM to AFL_ASE_LOONGSON_CAM. (mips_cpu_info_table): Add ASE_LOONGSON_CAM for loongson3a. (md_show_usage): Add help for -mloongson-cam and -mno-loongson-cam. * doc/as.texi: Document -mloongson-cam, -mno-loongson-cam. * doc/c-mips.texi: Document -mloongson-cam, -mno-loongson-cam, .set loongson-cam and .set noloongson-cam. * testsuite/gas/mips/loongson-3a-2.d: Move cam test to ... * testsuite/gas/mips/loongson-cam.d: Here. Add ISA/ASE flag verification. * testsuite/gas/mips/loongson-3a-2.s: Move cam test to ... * testsuite/gas/mips/loongson-cam.s: Here. * testsuite/gas/mips/loongson-3a-mmi.d: Add ASE flag. * testsuite/gas/mips/mips.exp: Run loongson-cam test. include/ * elf/mips.h (AFL_ASE_LOONGSON_CAM): New macro. (AFL_ASE_MASK): Update to include AFL_ASE_LOONGSON_CAM. * opcode/mips.h (ASE_LOONGSON_CAM): New macro. opcodes/ * mips-dis.c (mips_arch_choices): Add CAM to loongson3a descriptors. (parse_mips_ase_option): Handle -M loongson-cam option. (print_mips_disassembler_options): Document -M loongson-cam. * mips-opc.c (LCAM): New macro. (mips_opcodes): Replace IL2F|IL3A marking with LCAM for CAM instructions. commit 36eb4c5f9bbe675a4522a763652f463e5519a955 Author: Alan Hayward Date: Wed Aug 29 11:43:53 2018 +0100 infcall-nested-structs: Test up to five fields Aarch64 can pass structures of up to four members of identical types in float registers (See AAPCS 5.3 and 5.4). Expand test to cover this. Remove the need to specify an additional sets of structures if tB is not defined. gdb/testsuite/ * gdb.base/infcall-nested-structs.c (struct struct01): Remove. (struct struct02): Likewise. (struct struct03): Likewise. (struct struct04): Likewise. (struct struct_01_01): New struct. (struct struct_01_02): Likewise. (struct struct_01_03): Likewise. (struct struct_01_04): Likewise. (struct struct_02_01): Likewise. (struct struct_02_02): Likewise. (struct struct_02_03): Likewise. (struct struct_02_04): Likewise. (struct struct_04_01): Likewise. (struct struct_04_02): Likewise. (struct struct_04_03): Likewise. (struct struct_04_04): Likewise. (struct struct_05_01): Likewise. (struct struct_05_02): Likewise. (struct struct_05_03): Likewise. (struct struct_05_04): Likewise. (cmp_struct01): Remove function. (cmp_struct02): Likewise. (cmp_struct03): Likewise. (cmp_struct04): Likewise. (cmp_struct_01_01): Add Function. (cmp_struct_01_02): Likewise. (cmp_struct_01_03): Likewise. (cmp_struct_01_04): Likewise. (cmp_struct_02_01): Likewise. (cmp_struct_02_02): Likewise. (cmp_struct_02_03): Likewise. (cmp_struct_02_04): Likewise. (cmp_struct_04_01): Likewise. (cmp_struct_04_02): Likewise. (cmp_struct_04_03): Likewise. (cmp_struct_04_04): Likewise. (cmp_struct_05_01): Likewise. (cmp_struct_05_02): Likewise. (cmp_struct_05_03): Likewise. (cmp_struct_05_04): Likewise. (call_all): Add new structs. * gdb.base/infcall-nested-structs.exp: Likewise. commit 4f4aedebed5397ba285c2abcd13fa0206d8af291 Author: Alan Hayward Date: Wed Aug 29 11:41:45 2018 +0100 Aarch64: Float register detection for return values Use aapcs_is_vfp_call_or_return_candidate to detect float register args. gdb/ PR gdb/22943: * aarch64-tdep.c (is_hfa_or_hva): Remove function. (aarch64_extract_return_value): Use aapcs_is_vfp_call_or_return_candidate. (aarch64_return_in_memory): Likewise. (aarch64_store_return_value): Likewise. commit 0e745c601150523093323c3fc77835604221a634 Author: Alan Hayward Date: Wed Aug 29 11:40:05 2018 +0100 Aarch64: Float register detection for _push_dummy_call Use aapcs_is_vfp_call_or_return_candidate to detect float register args, then pass in registers if there is room. gdb/ * aarch64-tdep.c (aapcs_is_vfp_call_or_return_candidate): Make static (pass_in_v_or_stack): Remove function. (pass_in_v_vfp_candidate): New function. (aarch64_push_dummy_call): Check for float register candidates. commit ea92689a179c8c03af2ae46989339336d1dd48cd Author: Alan Hayward Date: Wed Aug 29 11:28:10 2018 +0100 Aarch64: Func to detect args passed in float regs aapcs_is_vfp_call_or_return_candidate is as an eventual replacement for is_hfa_or_hva. This function is based on the GCC code gcc/config/aarch64/aarch64.c:aarch64_vfp_is_call_or_return_candidate () gdb/ * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro. (aapcs_is_vfp_call_or_return_candidate_1): New function. (aapcs_is_vfp_call_or_return_candidate): Likewise. commit bc672693ccec6ef2faa057726b06e9515339bb74 Author: Chenghua Xu Date: Wed Aug 29 17:12:44 2018 +0800 [MIPS/LD/testsuite] Skip o32 flags check on mips*-*-irix* ld/ChangeLog: * testsuite/ld-mips-elf/mips-elf-flags.exp (good_combination): Skip o32 flags checking if target is mips*-*-irix*. commit 160fc977b6f33e5ef51f6c1f3cdcb57965c522c8 Author: GDB Administrator Date: Wed Aug 29 00:00:38 2018 +0000 Automatic date update in version.in commit ad202fcc2277f351d41d4d4e897ad4f6d7c9f043 Author: Simon Marchi Date: Tue Aug 28 13:29:32 2018 -0400 Get rid of -Wodr warning (PR build/23399) The PR reports that building with -Wodr -flto complains about different versions of struct ipa_sym_addresses, in common/agent.c and gdbserver/tracepoint.c. This patch renames the version in common to ipa_sym_addresses_common to avoid the name clash. Because the IPA_SYM assumed the name ipa_sym_addresses, it now requires the includer to define the IPA_SYM_STRUCT_NAME macro to define the name of the structure holding the IPA symbol addresses. gdb/ChangeLog: PR build/23399 * common/agent.c (IPA_SYM_STRUCT_NAME): Define. (struct ipa_sym_addresses): Rename to... (struct ipa_sym_addresses_common): ... this. * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME. gdb/gdbserver/ChangeLog: PR build/23399 * tracepoint.c (IPA_SYM_STRUCT_NAME): Define. commit ead9aa39bfc80007336bc96c6374df7f79341485 Author: Philippe Waroquiers Date: Thu Aug 2 23:15:23 2018 +0200 Modify gdb.base/commands.exp to test multi breakpoints command clearing. gdb/testsuite/ChangeLog 2018-08-26 Philippe Waroquiers * gdb.base/commands.exp: Test multi breakpoints command clearing. commit 999700cd99a227bd6848e95cdc99117b2185e84c Author: Philippe Waroquiers Date: Thu Aug 2 23:13:22 2018 +0200 Fix regression for multi breakpoints command line clearing. breakpoint.c is modified to fix the regression introduced when clearing the commands of several breakpoints by giving an empty list of commands, by just typing "end". GDB should read an empty list of command once, but it reads it for each breakpoint, as an empty list of command is NULL, and NULL is interpreted as 'not having read the command list yet'. The fix consists in having a boolean set to true once the command list has been read. gdb/ChangeLog 2018-08-26 Philippe Waroquiers * breakpoint.c (commands_command_1): New boolean cmd_read to detect cmd was already read. commit 5fe3f3e4633df1ea76ff24a2732d7c73dc983b90 Author: Tom Tromey Date: Sun Jul 22 10:05:14 2018 -0600 Remove some uses of VEC from parsers This changes some uses of VEC in a few parsers to std::vector instead. Tested by the buildbot. gdb/ChangeLog 2018-08-28 Tom Tromey * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC. (token_fifo): Now a std::vector. (yylex, c_parse): Update. * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC. (token_fifo): Now a std::vector. (yylex, d_parse): Update. * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC. (token_fifo): Now a std::vector. (yylex, go_parse): Update. commit 858d8004b05b572c07a414ae3933299976880bab Author: Simon Marchi Date: Tue Aug 28 11:13:26 2018 -0400 Implement struct type_stack with a vector This patch changes the home-made stack implementation with a vector, which makes it a bit more concise and readable. Regtested on the buildbot. gdb/ChangeLog: * parser-defs.h (struct type_stack) : Change type to std::vector. : Remove. * parse.c (parse_exp_in_context_1): Adjust. (type_stack_reserve): Remove. (check_type_stack_depth): Remove. (insert_into_type_stack): Adjust to std::vector. (insert_type): Likewise. (push_type): Likewise. (push_type_int): Likewise. (insert_type_address_space): Likewise. (pop_type): Likewise. (pop_type_int): Likewise. (pop_typelist): Likewise. (pop_type_stack): Likewise. (append_type_stack): Likewise. (push_type_stack): Likewise. (get_type_stack): Likewise. (type_stack_cleanup): Likewise. (push_typelist): Likewise. (follow_types): Likewise. (_initialize_parse): Likewise. commit 5445ebae0e94658741668188e91f430a798b1fa4 Merge: d04239d 1021d1c Author: Stan Cox Date: Tue Aug 28 10:05:27 2018 -0400 Merge branch 'master' into scox/strace commit 416a69af890a34e58c722ae2e6fe218438fcf3b7 Author: Hafiz Abid Qadeer Date: Wed Jul 25 10:45:26 2018 +0100 Mention csky target in the NEWS. 2018-08-28 Hafiz Abid Qadeer * NEWS: Mention csky target. commit 9d24df82ece4e87a0328173d6bd31cb9ff558bb4 Author: Hafiz Abid Qadeer Date: Wed Jul 25 10:43:22 2018 +0100 Add support for new target 'csky'. 2018-08-28 Jiangshuai Li Hafiz Abid Qadeer Don Breazeal * csky-linux-tdep.c: New file. * csky-tdep.c: Likewise. * csky-tdep.h: Likewise. * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and csky-tdep.o. (HFILES_NO_SRCDIR): Add csky-tdep.h. (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c * configure.tgt: Add csky support. commit 626887ddc306b336e1406cf661f23398bed8be66 Author: GDB Administrator Date: Tue Aug 28 00:00:33 2018 +0000 Automatic date update in version.in commit 90c745dc545408a6a3115ff97485672826649ade Author: H.J. Lu Date: Mon Aug 27 15:41:09 2018 -0700 x86: Don't mask out the GNU_PROPERTY_X86_UINT32_VALID bit Since only the GNU_PROPERTY_X86_UINT32_VALID bit may be set in data-only relocatable objects which don't contain any instructions, linker shouldn't mask out the GNU_PROPERTY_X86_UINT32_VALID bit when merging GNU_PROPERTY_X86_XXX bits. Otherwise, linker output doesn't contain GNU_PROPERTY_X86_XXX property with any data-only relocatable inputs. This patch keeps the GNU_PROPERTY_X86_UINT32_VALID bit and updates readelf to print "" if GNU_PROPERTY_X86_XXX property only has the GNU_PROPERTY_X86_UINT32_VALID bit. bfd/ * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Don't mask out the GNU_PROPERTY_X86_UINT32_VALID bit. binutils/ * readelf.c (decode_x86_isa): Print if bitmask only contains the GNU_PROPERTY_X86_UINT32_VALID bit. (decode_x86_feature_1): Likewise. (decode_x86_feature_2): Likewise. (print_gnu_property_note): Don't mask out the GNU_PROPERTY_X86_UINT32_VALID bit. * testsuite/binutils-all/i386/pr21231b.d: Updated. * testsuite/binutils-all/x86-64/pr21231b.d: Likewise. gas/ * testsuite/gas/i386/i386.exp: Run property-1 and x86-64-property-1. * testsuite/gas/i386/property-1.d: New file. * testsuite/gas/i386/property-1.s: Likewise. * testsuite/gas/i386/x86-64-property-1.d: Likewise. ld/ * testsuite/ld-i386/i386.exp: Run property-x86-5. * testsuite/ld-i386/property-x86-5.d: New file. * 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-5a.s: Likewise. * testsuite/ld-x86-64/property-x86-5b.s: Likewise. * testsuite/ld-x86-64/x86-64.exp: Run property-x86-5 and property-x86-5-x32. commit 3bf9c013e4a7b72aaa7e242e163a776ad7347c26 Author: Jan Vrany Date: Mon Aug 27 21:52:44 2018 +0100 MI: Fix printing of frame architecture with Python frame filters enabled Commit 6d52907e226a (MI: Print frame architecture when printing frames on an MI channel) added frame's architecture to MI frame output. However the frame architecture was not correctly printed in the output of "-stack-list-frames" with frame filters enabled (via "-enable-frame-filters"). This was because with frame filters enabled, the actual frame printing is done in "py_print_frame" rather than "print_frame". This issue is now fixed. gdb/Changelog: 2018-08-27 Jan Vrany * python/py-framefilter.c (py_print_frame): Print frame architecture when printing on an MI output. gdb/testsuite/Changelog: 2018-08-27 Jan Vrany * gdb.python/py-framefilter-mi.exp: Update regexp to check for "arch" field in frame output. commit 65b3d26e7d53ea03eb99791dd324d56c599f4c99 Author: H.J. Lu Date: Mon Aug 27 13:01:08 2018 -0700 readelf.c: Break multi-statement line * readelf.c (decode_x86_compat_isa): Break multi-statement line. (decode_x86_isa): Likewise. (decode_x86_feature_2): Likewise. commit d3d8724aac2f207467b1004b1424fed0446b6f8a Author: Tom Tromey Date: Tue Aug 7 13:14:09 2018 -0600 Remove -Wno-narrowing from warnings.m4 This removes -Wno-narrowing from warnings.m4. This is PR build/23087. gdb/ChangeLog 2018-08-27 Tom Tromey PR build/23087: * configure: Rebuild. * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing. gdb/gdbserver/ChangeLog 2018-08-27 Tom Tromey PR build/23087: * configure: Rebuild. commit 1885053bcb12dd05a6f129146cf514e966082c27 Author: Tom Tromey Date: Mon Aug 27 11:55:39 2018 -0600 Avoid -Wnarrowing warnings in aarch64-linux-tdep.c This avoids -Wnarrowing warnings in aarch64_linux_iterate_over_regset_sections, by adding some casts to int. gdb/ChangeLog 2018-08-27 Tom Tromey * aarch64-linux-tdep.c (aarch64_linux_iterate_over_regset_sections) : Add casts to int. commit b4f183d23ec5f99765f0d6c64c1e3139e1d54093 Author: Tom Tromey Date: Tue Aug 7 16:33:46 2018 -0600 Avoid -Wnarrowing warnings in gdbserver This avoids -Wnarrowing warnings in gdbserver, by introducing some casts to unsigned char. gdb/gdbserver/ChangeLog 2018-08-27 Tom Tromey * linux-s390-low.c (s390_emit_ext, s390_emit_litpool) (s390_emit_const, s390_emit_reg, s390_emit_zero_ext) (s390_emit_stack_adjust, s390_emit_set_r2, s390x_emit_ext) (s390x_emit_const, s390x_emit_reg, s390x_emit_zero_ext) (s390x_emit_stack_adjust): Add casts to unsigned char. commit 8406672eca8d008dc0324198ec2f653a16fb9d21 Author: Tom Tromey Date: Tue Aug 7 13:13:58 2018 -0600 Avoid -Wnarrowing warnings in ppc64-tdep.c This avoids -Wnarrowing warnings in ppc64-tdep.c, by adding a few casts to unsigned. gdb/ChangeLog 2018-08-27 Tom Tromey * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to unsigned. (ppc64_standard_linkage1, ppc64_standard_linkage2) (ppc64_standard_linkage3, ppc64_standard_linkage4) (ppc64_standard_linkage5, ppc64_standard_linkage6) (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to unsigned. commit ec40cf90a02ebe3e2636ffa92245677e18233917 Author: Tom Tromey Date: Tue Aug 7 13:07:21 2018 -0600 Fix two -Wnarrowing warnings in xtensa-tdep.h This fixes a couple of -Wnarrowing warnings in xtensa-tdep.h, by introducing some casts to unsigned. gdb/ChangeLog 2018-08-27 Tom Tromey * xtensa-tdep.h (XTREG_END): Add cast to unsigned. (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise. commit 7bc02706c3e23b58e1a74ca47fada84fc68699c7 Author: Tom Tromey Date: Tue Aug 7 13:04:05 2018 -0600 Avoid -Wnarrowing warnings in struct tramp_frame instances This avoids -Wnarrowing warnings in struct tramp_frame instances, replacing uses of -1 with a new ULONGEST_MAX. It also redefined TRAMP_SENTINEL_INSN to avoid the same warning. gdb/ChangeLog 2018-08-27 Tom Tromey * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine. * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use ULONGEST_MAX. * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX. * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use ULONGEST_MAX. * sparc-linux-tdep.c (sparc32_linux_sigframe) (sparc32_linux_rt_sigframe): Use ULONGEST_MAX. * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use ULONGEST_MAX. * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame) (ppc64_linux_sigaction_tramp_frame) (ppc32_linux_sighandler_tramp_frame) (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX. * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame) (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX. * mn10300-linux-tdep.c (am33_linux_sigframe) (am33_linux_rt_sigframe): Use ULONGEST_MAX. * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX. * mips-linux-tdep.c (mips_linux_o32_sigframe) (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe) (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe) (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe) (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX. * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe) (mips64_fbsd_sigframe): Use ULONGEST_MAX. * microblaze-linux-tdep.c (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX. * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2) (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31) (i386nbsd_sigtramp_si4): Use ULONGEST_MAX. * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX. * common/common-types.h (ULONGEST_MAX): New define. (CORE_ADDR_MAX): Fix formatting. * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX. * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX. * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame) (arm_linux_rt_sigreturn_tramp_frame) (arm_eabi_linux_sigreturn_tramp_frame) (arm_eabi_linux_rt_sigreturn_tramp_frame) (thumb2_eabi_linux_sigreturn_tramp_frame) (thumb2_eabi_linux_rt_sigreturn_tramp_frame) (arm_linux_restart_syscall_tramp_frame) (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX. * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX. * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use ULONGEST_MAX. * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX. commit 70ab8ccd4f382a6c7e59c523c22b07fe03a95f52 Author: Tom Tromey Date: Tue Aug 7 12:48:47 2018 -0600 Use CORE_ADDR_MAX in various "breaks" arrays Code like this: CORE_ADDR breaks[2] = {-1, -1}; ... gives a warning with -Wnarrowing. This patch changes all instances of this to use CORE_ADDR_MAX instead. gdb/ChangeLog 2018-08-27 Tom Tromey * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use CORE_ADDR_MAX. * mips-tdep.c (mips_deal_with_atomic_sequence) (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX. * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw) (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX. * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use CORE_ADDR_MAX. * aarch64-tdep.c (aarch64_software_single_step): Use CORE_ADDR_MAX. commit 896a7aa6a119ce9d4872de87dabb81176489b1a3 Author: Tom Tromey Date: Thu Aug 9 12:38:39 2018 -0600 Avoid -Wnarrowing warnings from quote_char() This adds a couple of casts to avoid -Wnarrowing warnings coming from the use of quote_char(). gdb/ChangeLog 2018-08-27 Tom Tromey * linespec.c (complete_linespec_component): Add cast to "char". * completer.c (completion_tracker::build_completion_result): Add cast to "char". commit dd33d41d54654093fb5e0ac7a6edd0c6a8c998dd Author: Simon Marchi Date: Sun Aug 26 20:05:48 2018 -0400 Fix indentation in solist.h gdb/ChangeLog: * solist.h (struct solist, struct target_so_ops): Fix indentation. commit 2cd0bfe0549d796b210bee0f4e80c326815cfad0 Author: GDB Administrator Date: Mon Aug 27 00:01:39 2018 +0000 Automatic date update in version.in commit c645cda49e2b5fcf35773089d1ae16d6fc3481c6 Author: Simon Marchi Date: Sun Aug 26 11:56:41 2018 -0400 Make ada_tasks_inferior_data::task_list an std::vector This removes a VEC type. It requires converting ada_tasks_inferior_data to C++ (initializing fields, allocating with new). It seems, however, that the allocated ada_tasks_inferior_data structures are never freed (that should be fixed separately). gdb/ChangeLog: * ada-tasks.c (ada_task_info_s): Remove typedef. (DEF_VEC_O(ada_task_info_s)): Remove. (struct ada_tasks_inferior_data): Initialize fields. : Make an std::vector. (get_ada_tasks_inferior_data): Allocate with new. (ada_get_task_number): Adjust. (get_task_number_from_id): Likewise. (valid_task_id): Likewise. (ada_get_task_info_from_ptid): Likewise. (iterate_over_live_ada_tasks): Likewise. (add_ada_task): Likewise. (read_known_tasks): Likewise. (ada_build_task_list): Likewise. (print_ada_task_info): Likewise. (info_task): Likewise. (task_command_1): Likewise. commit 39e7af3e4b4e6c9f39d8d58cae73a2d307e6e1a1 Author: Simon Marchi Date: Sun Aug 26 11:53:47 2018 -0400 Make ada-lang.c::add_angle_brackets return an std::string This removes the need for manual memory management. It may also be a bit more efficient, since the returned string can be moved all the way into the destination, in ada_lookup_name_info::matches. gdb/ChangeLog: * ada-lang.c (add_angle_brackets): Return std::string. commit 3d9c8f6b3f033a6092425b7344647fb51dbed5c6 Author: Alan Modra Date: Sun Aug 26 14:23:38 2018 +0930 Delay evaluation of alignment expressions in output sections git commit 702d16713 broke expressions using CONSTANT(COMMONPAGESIZE) in ALIGN or SUBALIGN of output section statements, because these optional fields were evaluated at script parse time and the patch in question delayed setting of config.commonpagesize. The right thing to do is keep the tree representation of those fields for later evaluation. PR 23571 * ldlang.h (section_alignment): Make it an expression tree. (subsection_alignment): Likewise. * ldlang.c (topower): Delete. (output_section_statement_newfunc): Adjust initialization. (init_os): Evaluate section_alignment. (lang_size_sections_1): Likewise. (size_input_section): Evaluate subsection_alignment. (lang_enter_output_section_statement): Don't evaluate here. (lang_new_phdr): Use exp_get_vma rather than exp_get_value_int. * ldexp.h (exp_get_value_int): Delete. (exp_get_power): Declare. * ldexp.c (exp_get_value_int): Delete. (exp_get_power): New function. * emultempl/pe.em (place_orphan): Build expression for section alignment. * emultempl/pep.em (place_orphan): Likewise. * testsuite/ld-scripts/pr23571.d, * testsuite/ld-scripts/pr23571.t: New test. * testsuite/ld-scripts/align.exp: Run it. commit ed60adf0a31db8ebc95edd09088465470a296671 Author: GDB Administrator Date: Sun Aug 26 00:01:07 2018 +0000 Automatic date update in version.in commit bbbbbceebc342d583057a11d88bae85f451cd904 Author: Simon Marchi Date: Sat Aug 25 11:52:24 2018 -0400 Initialize variable in py_get_event_thread The pythread variable could be used without being initialized, fix it by initializing it to nullptr. gdb/ChangeLog: * python/py-threadevent.c (py_get_event_thread): Initialize pythread. commit 7a815dd566f3dd32435ac73aa0a0cc948d525e06 Author: H.J. Lu Date: Sat Aug 25 06:17:52 2018 -0700 elf: Check for corrupt symbol version info The BFD linker with PR ld/23499 may generate shared libraries with corrupt symbol version info which leads to linker error when the corrupt shared library is used: /usr/bin/ld: bin/libKF5Service.so.5.49.0: _edata: invalid version 21 (max 0) /usr/bin/ld: bin/libKF5Service.so.5.49.0: error adding symbols: bad value Add check for corrupt symbol version info to objdump: 00000000000af005 g D .data 0000000000000000 _edata and readelf: 728: 00000000000af005 0 NOTYPE GLOBAL DEFAULT 25 _edata@ (5) bfd/ PR ld/23499 * elf.c (_bfd_elf_get_symbol_version_string): Return _("") for corrupt symbol version info. binutils/ PR ld/23499 * readelf.c (get_symbol_version_string): Return _("") for corrupt symbol version info. commit bbf6c6b8ca19efd7b0c9bf789bbafc1262a27517 Author: GDB Administrator Date: Sat Aug 25 00:00:32 2018 +0000 Automatic date update in version.in commit d98fc15be2b8dd5699c1852db7d9d979231123dc Author: Pedro Alves Date: Fri Aug 24 20:09:19 2018 +0100 gdb/python: Use copy-initialization more when possible gdb/ChangeLog: 2018-08-24 Pedro Alves * python/py-bpevent.c (create_breakpoint_event_object): Use copy-initialization. * python/py-continueevent.c (emit_continue_event): Use copy-initialization. * python/py-exitedevent.c (create_exited_event_object): Return a gdbpy_ref<>. (emit_exited_event): Use copy-initialization. * python/py-inferior.c (python_new_inferior) (python_inferior_deleted, add_thread_object): Use copy-initialization. * python/py-infevents.c (create_inferior_call_event_object) (create_register_changed_event_object) (create_memory_changed_event_object): Return a gdbpy_ref<>. (emit_inferior_call_event, emit_memory_changed_event) (emit_register_changed_event): Use copy-initialization. * python/py-newobjfileevent.c (create_new_objfile_event_object): Return a gdbpy_ref<>. (emit_new_objfile_event): Use copy-initialization. (create_clear_objfiles_event_object): Return a gdbpy_ref<>. (emit_clear_objfiles_event): Use copy-initialization. * python/py-signalevent.c (create_signal_event_object): Use copy-initialization. * python/py-threadevent.c (create_thread_event_object): Use copy-initialization. commit da3c873831707454d45cee6705075b27a1732f09 Author: Pedro Alves Date: Fri Aug 24 22:13:30 2018 +0100 Fix 8.2 regression in gdb.python/py-evthreads.exp w/ gdbserver (PR gdb/23379) This commit fixes a 8.1->8.2 regression exposed by gdb.python/py-evthreads.exp when testing with --target_board=native-gdbserver. gdb.log shows: src/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) FAIL: gdb.python/py-evthreads.exp: run to breakpoint 1 (GDB internal error) A backtrace shows (frames #2 and #10 highlighted) that the assertion fails when GDB is setting up the connection to the remote target, in non-stop mode: #0 0x0000000000622ff0 in internal_error(char const*, int, char const*, ...) (file=0xc1ad98 "src/gdb/thread.c", line=93, fmt=0xc1ad20 "%s: Assertion `%s' failed.") at src/gdb/common/errors.c:54 #1 0x000000000089567e in inferior_thread() () at src/gdb/thread.c:93 = #2 0x00000000004da91d in get_event_thread() () at src/gdb/python/py-threadevent.c:38 #3 0x00000000004da9b7 in create_thread_event_object(_typeobject*, _object*) (py_type=0x11574c0 , thread=0x0) at src/gdb/python/py-threadevent.c:60 #4 0x00000000004bf6fe in create_continue_event_object() () at src/gdb/python/py-continueevent.c:27 #5 0x00000000004bf738 in emit_continue_event(ptid_t) (ptid=...) at src/gdb/python/py-continueevent.c:40 #6 0x00000000004c7d47 in python_on_resume(ptid_t) (ptid=...) at src/gdb/python/py-inferior.c:108 #7 0x0000000000485bfb in std::_Function_handler::_M_invoke(std::_Any_data const&, ptid_t&&) (__functor=..., __args#0=...) at /usr/include/c++/7/bits/std_function.h:316 #8 0x000000000089b416 in std::function::operator()(ptid_t) const (this=0x12aa600, __args#0=...) at /usr/include/c++/7/bits/std_function.h:706 #9 0x000000000089aa0e in gdb::observers::observable::notify(ptid_t) const (this=0x118a7a0 , args#0=...) at src/gdb/common/observable.h:106 = #10 0x0000000000896fbe in set_running(ptid_t, int) (ptid=..., running=1) at src/gdb/thread.c:880 #11 0x00000000007f750f in remote_target::remote_add_thread(ptid_t, bool, bool) (this=0x12c5440, ptid=..., running=true, executing=true) at src/gdb/remote.c:2434 #12 0x00000000007f779d in remote_target::remote_notice_new_inferior(ptid_t, int) (this=0x12c5440, currthread=..., executing=1) at src/gdb/remote.c:2515 #13 0x00000000007f9c44 in remote_target::update_thread_list() (this=0x12c5440) at src/gdb/remote.c:3831 #14 0x00000000007fb922 in remote_target::start_remote(int, int) (this=0x12c5440, from_tty=0, extended_p=0) at src/gdb/remote.c:4655 #15 0x00000000007fd102 in remote_target::open_1(char const*, int, int) (name=0x1a4f45e "localhost:2346", from_tty=0, extended_p=0) at src/gdb/remote.c:5638 #16 0x00000000007fbec1 in remote_target::open(char const*, int) (name=0x1a4f45e "localhost:2346", from_tty=0) at src/gdb/remote.c:4862 So on frame #10, we're marking a newly-discovered thread as running, and that causes the Python API to emit a gdb.ContinueEvent. gdb.ContinueEvent is a gdb.ThreadEvent, and as such includes the event thread as the "inferior_thread" attribute. The problem is that when we get to frame #3/#4, we lost all references to the thread that is being marked as running. create_continue_event_object assumes that it is the current thread, which is not true in this case. Fix this by passing down the right thread in create_continue_event_object. Also remove create_thread_event_object's default argument and have the only other caller left pass down the right thread explicitly too. gdb/ChangeLog: 2018-08-24 Pedro Alves Simon Marchi PR gdb/23379 * python/py-continueevent.c: Include "gdbthread.h". (create_continue_event_object): Add intro comment. Add 'ptid' parameter. Use it to find thread to pass to create_thread_event_object. (emit_continue_event): Pass PTID down to create_continue_event_object. * python/py-event.h (py_get_event_thread): Declare. (create_thread_event_object): Remove default from 'thread' parameter. * python/py-stopevent.c (create_stop_event_object): Use py_get_event_thread. * python/py-threadevent.c (get_event_thread): Rename to ... (py_get_event_thread): ... this, make extern, add 'ptid' parameter and use it to find the thread. (create_thread_event_object): Assert that THREAD isn't null. Don't find the event thread here. commit 3da65cd27e9b36ab205ce7820ce566534272da22 Author: Chenghua Xu Date: Fri Aug 24 21:25:15 2018 +0800 [PATCH] [MIPS] LD/testsuite: Skip 32bit test if ld not support. ld/ChangeLog: * testsuite/ld-mips-elf/mips-elf-flags.exp (check_ld_support_32bit, check_is_32bit_args): New procedures. (good_combination, bad_combination): Skip 32bit test if ld not support 32bit emulations. commit a9eafb08b3f3dd4cd59757f0b99b44e896d620f1 Author: H.J. Lu Date: Fri Aug 24 04:41:50 2018 -0700 x86: Update GNU_PROPERTY_X86_XXX macros This patch updates GNU_PROPERTY_X86_XXX macros: 1. GNU_PROPERTY_X86_UINT32_AND_XXX: A 4-byte unsigned integer property. A bit is set if it is set in all relocatable inputs: #define GNU_PROPERTY_X86_UINT32_AND_LO 0xc0000002 #define GNU_PROPERTY_X86_UINT32_AND_HI 0xc0007fff 2. GNU_PROPERTY_X86_UINT32_OR_XXX: A 4-byte unsigned integer property. A bit is set if it is set in any relocatable inputs: #define GNU_PROPERTY_X86_UINT32_OR_LO 0xc0008000 #define GNU_PROPERTY_X86_UINT32_OR_HI 0xc000ffff 3. GNU_PROPERTY_X86_UINT32_OR_AND_XXX: A 4-byte unsigned integer property. A bit is set if it is set in any relocatable inputs and the property is present in all relocatable inputs: #define GNU_PROPERTY_X86_UINT32_OR_AND_LO 0xc0010000 #define GNU_PROPERTY_X86_UINT32_OR_AND_HI 0xc0017fff 4. GNU_PROPERTY_X86_FEATURE_2_NEEDED, GNU_PROPERTY_X86_FEATURE_2_USED and GNU_PROPERTY_X86_FEATURE_2_XXX bits. GNU_PROPERTY_X86_FEATURE_1_AND is unchanged. GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED are updated to better support targeted processors since GNU_PROPERTY_X86_ISA_1_?86 aren't isn't very useful. A new set of GNU_PROPERTY_X86_ISA_1_XXX bits are defined. The previous GNU_PROPERTY_X86_ISA_1_XXX macros are deprecated and renamed to GNU_PROPERTY_X86_COMPAT_ISA_1_XXX. bfd/ * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Handle X86_COMPAT_ISA_1_USED, X86_COMPAT_ISA_1_NEEDED, X86_UINT32_AND_LO, X86_UINT32_AND_HI, X86_UINT32_OR_LO, X86_UINT32_OR_HI, X86_UINT32_OR_AND_LO and X86_UINT32_OR_AND_HI instead of X86_ISA_1_USED, X86_ISA_1_NEEDED and X86_FEATURE_1_AND. (_bfd_x86_elf_merge_gnu_properties): Likewise. (_bfd_x86_elf_link_setup_gnu_properties): Add X86_FEATURE_2_NEEDED instead of X86_ISA_1_NEEDED. (_bfd_x86_elf_link_fixup_gnu_properties): Handle X86_COMPAT_ISA_1_USED, X86_COMPAT_ISA_1_NEEDED, X86_UINT32_AND_LO, X86_UINT32_AND_HI, X86_UINT32_OR_LO, X86_UINT32_OR_HI, X86_UINT32_OR_AND_LO and X86_UINT32_OR_AND_HI instead of X86_ISA_1_USED, X86_ISA_1_NEEDED and X86_FEATURE_1_AND. binutils/ * readelf.c (decode_x86_compat_isa): New function. (decode_x86_feature_2): Likewise. (decode_x86_isa): Updated for new X86_ISA_1_XXX bits. (decode_x86_feature): Renamed to ... (decode_x86_feature_1): This. Remove the type argument. (print_gnu_property_note): Handle X86_COMPAT_ISA_1_USED, X86_COMPAT_ISA_1_NEEDED, X86_UINT32_AND_LO, X86_UINT32_AND_HI, X86_UINT32_OR_LO, X86_UINT32_OR_HI, X86_UINT32_OR_AND_LO and X86_UINT32_OR_AND_HI instead of X86_ISA_1_USED, X86_ISA_1_NEEDED and X86_FEATURE_1_AND. * testsuite/binutils-all/i386/pr21231b.s: Updated to the current GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED values. * testsuite/binutils-all/x86-64/pr21231b.s: Likewise. * testsuite/binutils-all/x86-64/pr23494a.s: Likewise. * testsuite/binutils-all/x86-64/pr23494b.s: Likewise. * testsuite/binutils-all/x86-64/pr23494c.s: Likewise. * testsuite/binutils-all/i386/pr21231b.d: Updated. * 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. include/ * elf/common.h (GNU_PROPERTY_X86_ISA_1_USED): Renamed to ... (GNU_PROPERTY_X86_COMPAT_ISA_1_USED): This. (GNU_PROPERTY_X86_ISA_1_NEEDED): Renamed to ... (GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED): This. (GNU_PROPERTY_X86_ISA_1_XXX): Renamed to ... (GNU_PROPERTY_X86_COMPAT_ISA_1_XXX): This. (GNU_PROPERTY_X86_UINT32_AND_LO): New. (GNU_PROPERTY_X86_UINT32_AND_HI): Likewise. (GNU_PROPERTY_X86_UINT32_OR_LO): Likewise. (GNU_PROPERTY_X86_UINT32_OR_HI): Likewise. (GNU_PROPERTY_X86_UINT32_OR_AND_LO): Likewise. (GNU_PROPERTY_X86_UINT32_OR_AND_HI): Likewise. (GNU_PROPERTY_X86_ISA_1_CMOV): Likewise. (GNU_PROPERTY_X86_ISA_1_SSE): Likewise. (GNU_PROPERTY_X86_ISA_1_SSE2): Likewise. (GNU_PROPERTY_X86_ISA_1_SSE3): Likewise. (GNU_PROPERTY_X86_ISA_1_SSSE3): Likewise. (GNU_PROPERTY_X86_ISA_1_SSE4_1): Likewise. (GNU_PROPERTY_X86_ISA_1_SSE4_2): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX2): Likewise. (GNU_PROPERTY_X86_ISA_1_FMA): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512F): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512CD): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512ER): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512PF): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512VL): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512DQ): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512BW): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512_4FMAPS): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512_4VNNIW): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512_BITALG): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512_IFMA): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512_VBMI): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512_VBMI2): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512_VNNI): Likewise. (GNU_PROPERTY_X86_FEATURE_2_X86): Likewise. (GNU_PROPERTY_X86_FEATURE_2_X87): Likewise. (GNU_PROPERTY_X86_FEATURE_2_MMX): Likewise. (GNU_PROPERTY_X86_FEATURE_2_XMM): Likewise. (GNU_PROPERTY_X86_FEATURE_2_YMM): Likewise. (GNU_PROPERTY_X86_FEATURE_2_ZMM): Likewise. (GNU_PROPERTY_X86_FEATURE_2_FXSR): Likewise. (GNU_PROPERTY_X86_FEATURE_2_XSAVE): Likewise. (GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT): Likewise. (GNU_PROPERTY_X86_FEATURE_2_XSAVEC): Likewise. (GNU_PROPERTY_X86_FEATURE_1_AND): Updated to (GNU_PROPERTY_X86_UINT32_AND_LO + 0). (GNU_PROPERTY_X86_ISA_1_NEEDED): Defined to (GNU_PROPERTY_X86_UINT32_OR_LO + 0). (GNU_PROPERTY_X86_FEATURE_2_NEEDED): New. Defined to (GNU_PROPERTY_X86_UINT32_OR_LO + 1). (GNU_PROPERTY_X86_ISA_1_USED): Defined to (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 0). (GNU_PROPERTY_X86_FEATURE_2_USED): New. Defined to (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 1). ld/ * testsuite/ld-i386/i386.exp: Run pr23372c, pr23372d, pr23486c and pr23486d. * testsuite/ld-i386/pr23372a.s: Update comments. * testsuite/ld-i386/pr23372b.s: Likewise. * testsuite/ld-i386/pr23372c.s: Likewise. * testsuite/ld-x86-64/pr23372a.s: Likewise. * testsuite/ld-x86-64/pr23372b.s: Likewise. * testsuite/ld-x86-64/pr23372c.s: Likewise. * testsuite/ld-x86-64/pr23486a.s: Likewise. * testsuite/ld-x86-64/pr23486b.s: Likewise. * testsuite/ld-i386/pr23372c.d: New file. * testsuite/ld-i386/pr23372d.d: Likewise. * testsuite/ld-i386/pr23486c.d: Likewise. * testsuite/ld-i386/pr23486d.d: Likewise. * 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/pr23372d.s: Likewise. * testsuite/ld-x86-64/pr23372e.s: Likewise. * testsuite/ld-x86-64/pr23372f.s: Likewise. * testsuite/ld-x86-64/pr23486c-x32.d: Likewise. * testsuite/ld-x86-64/pr23486c.d: Likewise. * testsuite/ld-x86-64/pr23486c.s: Likewise. * testsuite/ld-x86-64/pr23486d-x32.d: Likewise. * testsuite/ld-x86-64/pr23486d.d: Likewise. * testsuite/ld-x86-64/pr23486d.s: Likewise. * testsuite/ld-i386/property-3.r: Updated. * testsuite/ld-i386/property-4.r: Likewise. * testsuite/ld-i386/property-5.r: Likewise. * testsuite/ld-i386/property-x86-3.d: Likewise. * testsuite/ld-i386/property-x86-ibt3a.d: Likewise. * testsuite/ld-i386/property-x86-shstk3a.d: Likewise. * testsuite/ld-i386/property-x86-shstk3b.d: Likewise. * testsuite/ld-x86-64/property-3.r: Likewise. * testsuite/ld-x86-64/property-4.r: Likewise. * testsuite/ld-x86-64/property-5.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-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-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-i386/property-x86-1.S: Updated to the current GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED values. * testsuite/ld-i386/property-x86-2.S: Likewise. * testsuite/ld-i386/property-x86-3.s: Likewise. * testsuite/ld-x86-64/property-x86-1.S: Likewise. * testsuite/ld-x86-64/property-x86-2.S: Likewise. * testsuite/ld-x86-64/property-x86-3.s: Likewise. * ld/testsuite/ld-x86-64/x86-64.exp: Run pr23372c, pr23372c-x32, pr23372d, pr23372d-x32, pr23486c, pr23486c-x32, pr23486d and pr23486d-x32. commit aa7bca9b2e30cf128966631382731369f7b753d8 Author: H.J. Lu Date: Fri Aug 24 04:37:45 2018 -0700 x86: Add GNU_PROPERTY_X86_UINT32_VALID The older linker treats .note.gnu.property section as a generic note and just concatenates all .note.gnu.property sections from the input to the output. On CET-enabled OS, the output of the older linker is marked as CET enabled, but in fact, it is not CET enabled and it crashes on CET-enabled machines. This patch defines GNU_PROPERTY_X86_UINT32_VALID. Linker is updated to set the GNU_PROPERTY_X86_UINT32_VALID bit in GNU property note for non-relocatable output to differentiate outputs from the older linker. bfd/ * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Mask out the GNU_PROPERTY_X86_UINT32_VALID bit. (_bfd_x86_elf_link_fixup_gnu_properties): Set the GNU_PROPERTY_X86_UINT32_VALID bit for non-relocatable output. binutils/ * readelf.c (print_gnu_property_note): Check the GNU_PROPERTY_X86_UINT32_VALID bit for invalid GNU property note. include/ * elf/common.h (GNU_PROPERTY_X86_UINT32_VALID): New. commit 772758ac42a5717d2c2043cc36aa6600c2bfc120 Author: Alan Modra Date: Fri Aug 24 17:37:53 2018 +0930 ehdr_start twiddles We force __ehdr_start to defined in before_allocation, then restore the type and a union after dynamic symbols have been allocated. The union contains a number of structs, all starting with a "next" pointer, and various fields depending on the symbol type. The old code restored the entire union, but it isn't necessary to restore the "next" pointer, and in fact it could be wrong if __ehdr_start happened to be last on the list and some symbols were added before restoring. * emultempl/elf32.em (before_allocation): Don't restore __ehdr_start u.*.next pointer. commit 4575aaa96412f01f6158057aa602312360c5b6e4 Author: GDB Administrator Date: Fri Aug 24 00:00:37 2018 +0000 Automatic date update in version.in commit 450d1e88e32ef433f25959358521c953050f0037 Author: Kevin Buettner Date: Thu Aug 23 16:00:50 2018 -0700 Test case for functions with non-contiguous ranges See comments in the new files for what this is about - I tried to explain it all there. gdb/testsuite/ChangeLog: * gdb.dwarf2/dw2-ranges-func.c: New file. * gdb.dwarf2/dw2-ranges-func.exp: New file. commit 9644dc3a478d9ae85f1ca327ab3fa5ac0ce9fe64 Author: Kevin Buettner Date: Thu Aug 23 16:00:50 2018 -0700 Relocate block range start and end addresses gdb/ChangeLog: * objfiles.c (objfile_relocate1): Relocate start and end addresses for each range in a block. commit 59adbf5d03f5d9380f9870e22262c59f5f9beec8 Author: Kevin Buettner Date: Thu Aug 23 16:00:49 2018 -0700 Introduce find_function_entry_range_from_pc and use it in infrun.c An earlier version of this patch used the returned block in conjunction with BLOCK_ENTRY_PC to set stop_func_start in fill_in_stop_func() in infrun.c. While I think this was the correct thing to do, changes to find_inferior_partial_function could potentially end up with stop_func_end < stop_func_start, which is definitely wrong. For this case, we want to set both stop_func_start and stop_func_end to the start and end of the range containing the function's entry pc. I think that this functionality will be useful in many other places too - it probably ought to be used in all of the various prologue analyzers in GDB. The change to infrun.c was simple: the call to find_pc_partial_function was replaced with a call to find_function_entry_range_from_pc. The difference between these two functions is that find_pc_partial_entry_function will (potentially) return the start and end address corresponding to the range in which PC is found, but find_function_entry_range_from_pc will (again, potentially) return the start and end address of the range containing the entry pc. find_pc_partial_function has the property that *ADDRESS <= PC < *ENDADDR. This condition does not necessarily hold for the outputs of find_function_entry_range_from_pc. It should be noted that for functions which contain only a single range, the outputs of find_pc_partial_function and find_function_entry_range_from_pc are identical. I think it might happen that find_function_entry_range_from_pc will come to be used in place of many of the calls to find_pc_partial_function within GDB. Care must be taken in making this change, however, since some of this code depends on the *ADDRESS <= PC < *ENDADDR property. Finally, a note regarding the name: I had initially chosen a different name with a find_pc_partial_ prefix, but Simon suggested the current name citing the goal of eventually making naming consistent using the form find_X_from_Y. In this case X is "function_entry_range" and Y is "pc". Both the name and rationale made sense to me, so that's how it came to be. gdb/ChangeLog: * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc in place of find_pc_partial_function. * blockframe.c (find_function_entry_range_from_pc): New function. * symtab.h (find_function_entry_range_from_pc): Declare and document. commit 2b1ffcfd6fe5b88d50b6ad1c2ab3e9623ede5e35 Author: Kevin Buettner Date: Thu Aug 23 16:00:49 2018 -0700 Use BLOCK_ENTRY_PC in place of most uses of BLOCK_START This change/patch substitues BLOCK_ENTRY_PC for BLOCK_START in places where BLOCK_START is used to obtain the address at which execution should enter the block. Since blocks can now contain non-contiguous ranges, the BLOCK_START - which is still be the very lowest address in the block - might not be the same as BLOCK_ENTRY_PC. There is a change to infrun.c which is less obvious and less mechanical. I'm posting it as a separate patch. gdb/ChangeLog: * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of BLOCK_START. * blockframe.c (get_pc_function_start): Likewise. * compile/compile-c-symbols.c (convert_one_symbol): Likewise. (gcc_symbol_address): Likewise. * compile/compile-object-run.c (compile_object_run): Likewise. * compile/compile.c (get_expr_block_and_pc): Likewise. * dwarf2loc.c (dwarf2_find_location_expression): Likewise. (func_addr_to_tail_call_list): Likewise. * findvar.c (default_read_var_value): Likewise. * inline-frame.c (inline_frame_this_id): Likewise. (skip-inline_frames): Likewise. * infcmd.c (until_next_command): Likewise. * linespec.c (convert_linespec_to_sals): Likewise. * parse.c (parse_exp_in_context_1): Likewise. * printcmd.c (build_address_symbolic): likewise. (info_address_command): Likewise. symtab.c (find_function_start_sal): Likewise. (skip_prologue_sal): Likewise. (find_function_alias_target): Likewise. (find_gnu_ifunc): Likewise. * stack.c (find_frame_funname): Likewise. * symtab.c (fixup_symbol_section): Likewise. (find_function_start_sal): Likewise. (skip_prologue_sal): Likewsie. (find_function_alias_target): Likewise. (find_gnu_ifunc): Likewise. * tracepoint.c (info_scope_command): Likewise. * value.c (value_fn_field): Likewise. commit e94802301b37de0e75e9329a96b0e70d38e5ead9 Author: Kevin Buettner Date: Thu Aug 23 16:00:49 2018 -0700 Disassemble blocks with non-contiguous ranges This patch adds support for disassembly of blocks with non-contiguous ranges. These blocks are printed as follows: (gdb) disassemble foo Dump of assembler code for function foo: Address range 0x401136 to 0x401151: 0x0000000000401136 <+0>: push %rbp 0x0000000000401137 <+1>: mov %rsp,%rbp 0x000000000040113a <+4>: callq 0x401134 0x000000000040113f <+9>: mov 0x2eef(%rip),%eax # 0x404034 0x0000000000401145 <+15>: test %eax,%eax 0x0000000000401147 <+17>: je 0x40114e 0x0000000000401149 <+19>: callq 0x401128 0x000000000040114e <+24>: nop 0x000000000040114f <+25>: pop %rbp 0x0000000000401150 <+26>: retq Address range 0x401128 to 0x401134: 0x0000000000401128 <+-14>: push %rbp 0x0000000000401129 <+-13>: mov %rsp,%rbp 0x000000000040112c <+-10>: callq 0x401126 0x0000000000401131 <+-5>: nop 0x0000000000401132 <+-4>: pop %rbp 0x0000000000401133 <+-3>: retq End of assembler dump. This is an actual dump from the test case that I constructed for this work. The ranges are printed in the order encountered in the debug info. For the above example, note that the second range occupies lower addresses than the first range. Functions with contiguous ranges are still printed as follows: (gdb) disassemble main Dump of assembler code for function main: 0x0000000000401151 <+0>: push %rbp 0x0000000000401152 <+1>: mov %rsp,%rbp 0x0000000000401155 <+4>: callq 0x401136 0x000000000040115a <+9>: mov $0x0,%eax 0x000000000040115f <+14>: pop %rbp 0x0000000000401160 <+15>: retq End of assembler dump. gdb/ChangeLog: * cli/cli-cmds.c (block.h): Include. (print_disassembly): Handle printing of non-contiguous blocks. (disassemble_current_function): Likewise. (disassemble_command): Likewise. commit fc811edd39fcdf6e52c95ebd2d975debee700223 Author: Kevin Buettner Date: Thu Aug 23 16:00:49 2018 -0700 Add support for non-contiguous blocks to find_pc_partial_function This change adds an optional output parameter BLOCK to find_pc_partial_function. If BLOCK is non-null, then *BLOCK will be set to the address of the block corresponding to the function symbol if such a symbol was found during lookup. Otherwise it's set to the NULL value. Callers may wish to use the block information to determine whether the block contains any non-contiguous ranges. The caller may also iterate over or examine those ranges. When I first started looking at the broken stepping behavior associated with functions w/ non-contiguous ranges, I found that I could "fix" the problem by disabling the find_pc_partial_function cache. It would sometimes happen that the PC passed in would be between the low and high cache values, but would be in some other function that happens to be placed in between the ranges for the cached function. This caused incorrect values to be returned. So dealing with this cache turns out to be very important for fixing this problem. I explored three different ways of dealing with the cache. My first approach was to clear the cache when a block was encountered with more than one range. This would cause the non-cache pathway to be executed on the next call to find_pc_partial_function. Another approach, which I suspect is slightly faster, checks to see whether the PC is within one of the ranges associated with the cached block. If so, then the cached values can be used. It falls back to the original behavior if there is no cached block. The current approach, suggested by Simon Marchi, is to restrict the low/high pc values recorded for the cache to the beginning and end of the range containing the PC value under consideration. This allows us to retain the simple (and fast) test for determining whether the memoized (cached) values apply to the PC passed to find_pc_partial_function. Another choice that had to be made regards setting *ADDRESS and *ENDADDR. There are three possibilities which might make sense: 1) *ADDRESS and *ENDADDR represent the lowest and highest address of the function. 2) *ADDRESS and *ENDADDR are set to the start and end address of the range containing the entry pc. 3) *ADDRESS and *ENDADDR are set to the start and end address of the range in which PC is found. An earlier version of this patch implemented option #1. I found out that it's not very useful though and, in fact, returns results that are incorrect when used in the context of determining the start and end of the function for doing prologue analysis. While debugging a function in which the entry pc was in the second range (of a function containing two non-contiguous ranges), I noticed that amd64_skip_prologue called find_pc_partial_function - the returned start address was set to the beginning of the first range. This is incorrect for this function. What was also interesting was that this first invocation of find_pc_partial_function correctly set the cache for the PC on which it had been invoked, but a slightly later call from skip_prologue_using_sal could not use this cached value because it was now being used to lookup the very lowest address of the function - which is in a range not containing the entry pc. Option #2 is attractive as it would provide a desirable result when used in the context of prologue analysis. However, many callers, including some which do prologue analysis want the condition *ADDRESS <= PC < *ENDADDR to hold. This will not be the case when find_pc_partial_function is called on a PC that's in a non-entry-pc range. A later patch to this series adds find_function_entry_range_from_pc as a wrapper of find_pc_partial_function. Option #3 causes the *ADDRESS <= PC < *ENDADDR property to hold. If find_pc_partial_function is called with a PC that's within entry pc's range, then it will correctly return the limits of that range. So, if the result of a minsym search is passed to find_pc_partial_function to find the limits, then correct results will be achieved. Returned limits (for prologue analysis) won't be correct when PC is within some other (non-entry-pc) range. I don't yet know how big of a problem this might be; I'm guessing that it won't be a serious problem - if a compiler generates functions which have non-contiguous ranges, then it also probably generates DWARF2 CFI which makes a lot of the old prologue analysis moot. I've implemented option #3 for this version of the patch. I don't see any regressions for x86-64. Moreover, I don't expect to see regressions for other targets either simply because find_pc_partial_function behaves the same as it did before for the contiguous address range case. That said, there may be some adjustments needed if GDB encounters a function requiring prologue analysis which occupies non-contiguous ranges. gdb/ChangeLog: * symtab.h (find_pc_partial_function): Add new parameter `block'. * blockframe.c (cache_pc_function_block): New static global. (clear_pc_function_cache): Clear cache_pc_function_block. (find_pc_partial_function): Move comment to symtab.h. Add support for non-contiguous blocks. commit 2d5f09ec45f81a9c89a98c4629662d812774dfd0 Author: Kevin Buettner Date: Thu Aug 23 16:00:49 2018 -0700 Record explicit block ranges from dwarf2read.c This change sets BLOCK_RANGES for the block under consideration by calling make_blockranges(). This action is performed in dwarf2_record_block_ranges(). It should be noted that dwarf2_record_block_ranges() already does some recording of the range via a call to record_block_range(). The ranges recorded in that fashion end up in the address map associated with the blockvector for the compilation unit's symtab. Given an address, the addrmap provides a fast way of finding the block containing that address. The address map does not, however, provide a convenient way of determining which address ranges make up a particular block. While reading a set of ranges, a vector of pairs is used to collect the starting and ending addresses for each range in the block. Once all of the ranges for a block have been collected, make_blockranges() is called to fill in BLOCK_RANGES for the block. The ranges are stored for the block in the order that they're read from the debug info. For DWARF, the starting address of the first range of the block will be the entry pc in cases where DW_AT_entry_pc is not present. (Well, that would ideally be the case. At the moment DW_AT_entry_pc is not being handled.) gdb/ChangeLog: * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES for block. commit 26457a9cf3c0ae49a3a2d0d0d0f25e2658b5f0d4 Author: Kevin Buettner Date: Thu Aug 23 16:00:48 2018 -0700 Add block range data structure for blocks with non-contiguous address ranges This patch does the following: - Introduces a block range data structure which is accessed via a new field in struct block. - Defines several macros for accessing block ranges. - Defines a new function, make_blockrange, which is responsible for creating the new data structure. It should be noted that some support for non-contiguous ranges already existed in GDB in the form of blockvector addrmaps. This support allowed GDB to quickly find a block containing a particular address even when the block consists of non-contiguous addresses. See find_block_in_blockvector() in block.c, dwarf2_record_block_ranges() in dwarf2read.c, and record_block_range() in buildsym.c. Addrmaps do not provide a convenient way to examine address ranges associated with a particular block. This data structure (and its interface) is set up for quickly finding the value (which in this case is a block) associated with a particular address. The interface does not include a method for doing a reverse mapping from blocks to addresses. A linear time mapping might be attempted via use of the addrmap's foreach method, but this is not as straightforward as it might first appear due to the fact that blocks corresponding to inline function instances and lexical blocks w/ variables end up getting interspersed in in the set of transitions. Note: If this approach is deemed to be too expensive in terms of space, an alternate approach might be to attempt the linear time mapping noted above. find_pc_partial_function() needs to be able to quickly know whether there are discontiguous ranges, so a flag for this property would have to be added to struct block. Also integral to this set of changes is the concept of an "entry pc" which might be different from the block's start address. An entry_pc field would also need to be added to struct block. This does not result in any space savings in struct block though since the space for the flag and entry_pc use more space than the blockranges struct pointer that I've added. There would, however, be some space savings due to the fact that the new data structures that I've added for this patch would not need to be allocated. (I happen to like the approach I've come up with, but I wanted to mention another possibility just in case someone does not.) gdb/ChangeLog: * block.h (blockrange, blockranges): New struct declarations. (struct block): Add new field named `ranges'. (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P) (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New macros for accessing ranges in struct block. (make_blockranges): New declaration. block.c (make_blockranges): New function. commit bfb218e3e404a6168888df51c03827eacde9ceea Author: Jim Wilson Date: Thu Aug 23 13:26:48 2018 -0700 RISC-V: Reject empty rouding mode and fence operand. gas/ 2018-08-23 Kito Cheng * config/tc-riscv.c (arg_lookup): Checking length before look up. * testsuite/gas/riscv/fence-fail.d: New file. * testsuite/gas/riscv/fence-fail.l: Likewise. * testsuite/gas/riscv/fence-fail.s: Likewise. * testsuite/gas/riscv/rouding-fail.d: Likewise. * testsuite/gas/riscv/rouding-fail.l: Likewise. * testsuite/gas/riscv/rouding-fail.s: Likewise. commit b0ceb98aec8e1ab610deea9fee9ee75c5911bbc0 Author: Zenith423 Date: Thu Aug 23 16:22:56 2018 +0100 Avoid problems with plugins being loaded multiple times. PR 23460 * plugin.c (struct plugin_list_entry): New structure. (plugin_list): New variable. (try_load_plugin): Place opened plugins on a list. Ensure that the refcount in the dynamic loader is kept at 1. commit 12a0d0f66172b9504e29000fa4f4e5c34109d6db Author: Xavier Roirand Date: Thu Aug 23 11:17:03 2018 -0400 Darwin: fix bad loop incrementation When reading symbols from the vector of oso files on Mac OS X Darwin, a previous commit introduce a change in the loop and add an increment at each loop iteration whereas this incrementation is not needed since the increment or set of the loop control variable is already done in the loop. gdb/ChangeLog: * machoread.c (macho_symfile_read_all_oso): Remove uneeded incrementation. Change-Id: I3a5a6deb4e9d834ee7d4217a62d90c2ffb7241bc commit 2cd65cb935bcf1511c7e7bb77ce7bd46234300db Author: Alan Modra Date: Fri Aug 24 00:20:05 2018 +0930 PR23566, false uninitialized warning PR 23566 * emultempl/elf32.em (before_allocation): Warning fix. commit f53ad3cf2b2dc34114a9b74439da5a418ac40e3d Author: Alan Modra Date: Fri Aug 24 00:15:35 2018 +0930 PowerPC64 "call lacks nop" The "-fPIC" and "-mcmodel=small" parts of these messages isn't always true, so lets dispense with that and just report the type of stub causing trouble. * elf64-ppc.c (ppc64_elf_relocate_section): Revise "call lacks nop" error message. commit 14732552e70bcb0c85093c404a7091627eea4e38 Author: Alan Modra Date: Thu Aug 23 17:34:13 2018 +0930 PowerPC64 st_other decoding in readelf localentry:1 is a valid encoding, so display it. The patch also bails out of get_ppc64_symbol_other when st_other bits besides the three used for localentry offsets are set, to avoid hiding any such values. * readelf.c (get_ppc64_symbol_other): Return NULL if st_other field contains unrecognised or reserved values. Handle localentry:1 value. commit 7dd36a6f1ca92cd4ca4776064c604cda7755bc44 Author: H.J. Lu Date: Thu Aug 23 06:12:37 2018 -0700 Prune BFD warnings for unknown GNU properties When glibc is enabled with the new GNU_PROPERTY_X86_XXX bits: https://groups.google.com/forum/#!topic/x86-64-abi/-D05GQ3kWrA BFD will issue an unknown GNU property warning like warning: tmpdir/ld1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001 and ignore such GNU properties. This patch adds prune_warnings_extra to prune such warnings on release branches and updates prune_warnings to call prune_warnings_extra. binutils/ PR ld/23536 * Makefile.am (development.exp): New target. (EXTRA_DEJAGNU_SITE_CONFIG): New. (DISTCLEANFILES): Add development.exp. * Makefile.in: Regenerated. * testsuite/binutils-all/objcopy.exp (strip_test): Call prune_warnings to prune BFD output. (strip_test_with_saving_a_symbol): Likewise. (objcopy_test_without_global_symbol): Likewise. * testsuite/lib/binutils-common.exp (prune_warnings_extra): New proc. (prune_warnings): Likewise. gas/ PR ld/23536 * Makefile.am (development.exp): New target. (EXTRA_DEJAGNU_SITE_CONFIG): New. (DISTCLEANFILES): Add development.exp. * Makefile.in: Regenerated. ld/ PR ld/23536 * Makefile.am (development.exp): New target. (EXTRA_DEJAGNU_SITE_CONFIG): New. (DISTCLEANFILES): Add development.exp. * Makefile.in: Regenerated. * testsuite/ld-bootstrap/bootstrap.exp: Call prune_warnings to prune BFD output. * testsuite/ld-plugin/lto.exp: Likewise. * testsuite/lib/ld-lib.exp (prune_warnings): Removed. * testsuite/ld-elf/shared.exp: Allow "\n" in linker warnings. commit 44c2eb66808a928b8101f1b880f3482312cbcc1e Author: H.J. Lu Date: Thu Aug 23 05:56:03 2018 -0700 Document setting experimental on release branch. * README-how-to-make-a-release: Document setting "experimental" to false. commit 38cf70ca4d7adaad7ef085ce34e24e1e0bbee945 Author: Nick Clifton Date: Thu Aug 23 13:34:14 2018 +0100 Replace unworkable code in HPPA relocs handelr with an assertion. * elf64-hppa.c (elf_hppa_final_link_relocate): Replace unworkable code with an assertion. commit 334d4ced42d3d54a70a19f1323ff41c5a5f4ff5e Author: Nick Clifton Date: Thu Aug 23 11:45:38 2018 +0100 Prevent illegal memory access when processing COFF auxillary symbol information. PR 23061 * coffgen.c (coff_pointerize_aux): Add table_end parameter. Use it to prevent walking off the end of the table. (coff_get_normalized_symtab): Pass internal_end pointer to coff_pointerize_aux. commit d0abeec8d45514fbec790f27e3cadceb576df9b5 Author: Alan Modra Date: Thu Aug 23 13:34:29 2018 +0930 Fix "unresolved reloc" error for NOTOC relocs * elf64-ppc.c (ppc64_elf_relocate_section): Don't miss clearing unresolved_reloc on ppc_stub_plt_call_notoc. commit d3f467568f08dc18e6ed871c58a71f15cc0323f1 Author: GDB Administrator Date: Thu Aug 23 00:00:15 2018 +0000 Automatic date update in version.in commit d1012b8e33aaebe988aaf0723d26ddef9e155dbf Author: Simon Marchi Date: Wed Aug 22 14:18:08 2018 -0400 Make read_program_headers_from_bfd return a gdb::byte_vector This patch makes read_program_headers_from_bfd return a gdb::byte_vector instead of a plain pointer. gdb/ChangeLog: * solib-svr4.c (read_program_headers_from_bfd): Return gdb::optional. (svr4_exec_displacement): Adjust. commit 17658d46e48ad4a7f6fb850422639b06c9d963aa Author: Simon Marchi Date: Wed Aug 22 14:17:57 2018 -0400 Make read_program_header return a gdb::byte_vector While reading a recent patch, I found this spot where a gdb::byte_vector could be used instead of an allocated buffer returned as a plain pointer. gdb/ChangeLog: * solib-svr4.c (read_program_header): Return gdb::optional, remove p_sect_size param. (find_program_interpreter): Return gdb::optional. (scan_dyntag_auxv): Adjust. (enable_break): Adjust. (svr4_exec_displacement): Adjust. commit 4e2aa472847923f94b99f138d7fc4c77796f8239 Author: Simon Marchi Date: Wed Aug 22 13:37:05 2018 -0400 Restore behavior of disabling address randomization by default on GDBserver Commit c12a508 ("Add client_state struct.") inadvertently changed the default behavior of GDBserver wrt address randomization. The old disable_randomization global variable was initialized to 1, whereas the corresponding field in the client_state structure is initialized to 0. This fixes make check TESTS="gdb.base/jit-simple.exp" RUNTESTFLAGS="--target_board=native-gdbserver" make check TESTS="gdb.base/execl-update-breakpoints.exp" RUNTESTFLAGS="--target_board=native-gdbserver" Note that the execl-update-breakpoints.exp would only fail on systems where the toolchain emits position-independent executables by default (otherwise the main executable position is never randomized, so the value of disable_randomization didn't matter). gdb/gdbserver/ChangeLog: PR gdb/23374 PR gdb/23375 * server.h (struct client_state) : Initialize to 1. commit 9eef0608951ba0e551dd6dd079ce1e20bae11f6b Author: H.J. Lu Date: Wed Aug 22 10:32:08 2018 -0700 bfd/development.sh: Add experimental Add experimental to indicate whether this is a release branch. PR ld/23536 * development.sh (experimental): New. commit ae739fe7b8cffac2332666d62ad37cab679a7758 Author: Simon Marchi Date: Wed Aug 22 11:09:45 2018 -0400 Fix restoring of inferior terminal settings I noticed that the child_terminal_save_inferior function was not used since the commit f6ac5f3d63e0 ("Convert struct target_ops to C++"). I was able to make a little test program to illustrate the problem (see test case). I think we're just missing the override of the terminal_save_inferior method in inf_child_target (along with the other terminal-related methods). Instead of creating a new test, I thought that gdb.base/term.exp was a good candidate for testing that gdb restores properly the inferior's terminal settings. gdb/ChangeLog: * inf-child.h (inf_child_target) : New. * inf-child.c (inf_child_target::terminal_save_inferior): New. gdb/testsuite/ChangeLog: * gdb.base/term.exp: Compare terminal settings with values from the inferior. * gdb.base/term.c: Get and set terminal settings. commit 467dc1e2ea5a8b300b61194aa8565829ce7d65bc Author: Simon Marchi Date: Wed Aug 22 10:55:28 2018 -0400 Replace xstrvprintf usages with string_vprintf Most usages of xstrvprintf in GDB can be replaced with string_vprintf, removing some manual memory management. gdb/ChangeLog: * guile/scm-string.c (gdbscm_scm_from_printf): Use string_vprintf. * guile/scm-utils.c (gdbscm_printf): Likewise. * serial.c (serial_printf): Likewise. * xml-support.c (gdb_xml_parser::vdebug): Likewise. commit 6d52907e226ade45d5f5196eaed8386affda5156 Author: Jan Vrany Date: Wed Aug 22 10:42:38 2018 +0100 MI: Print frame architecture when printing frames on an MI channel When printing frames on an MI channel also print the frame architecture like in: (gdb) -stack-list-frames 3 3 ^done,stack= [frame={level="3",addr="0x000107a4",func="foo", file="recursive2.c",fullname="/home/foo/bar/recursive2.c", line="14",arch="i386:x86_64"}] (gdb) This is useful for MI clients that need to know the architecture in order to perform further analysis, for example to use their own disassembler to analyze machine code. gdb/Changelog: 2018-08-22 Jan Vrany * stack.c (print_frame): Print frame architecture when printing on an MI output. * NEWS: Mention new "arch" attribute in frame output. gdb/testsuite/Changelog 2018-08-22 Jan Vrany * lib/mi-support.exp (mi_expect_stop): Update regexp to accommodate new "arch" field in frame output. * gdb.mi/mi-return.exp: Likewise. * gdb.mi/mi-stack.exp: Likewise. * gdb.mi/mi-syn-frame.exp: Likewise. * gdb.mi/user-selected-context-sync.exp: Likewise. gdb/doc/Changelog 2018-08-22 Jan Vrany * gdb.texinfo (The -stack-list-frames Command): Update description to mention "arch". Update MI examples throughout the document to contain "arch" in frame output. commit 6f4286c4f7193606fd6200e46b152ff0934f9cc2 Author: Helge Deller Date: Wed Aug 22 10:32:53 2018 +0100 Use the correct constants when setting the section type of HPPA unwind sections. * elf-hppa.h (elf_hppa_fake_sections): Use SHT_PARISC_UNWIND as the section type of the .PARISC.unwind section on 64-bit binaries and SHT_PROGBITS for 32-bit binaries. Add a comment about it. Add comment about the sh_entsize value. commit 3da64fe404031c093e8b59565d935fed214e28c1 Author: Rafeal Auler Date: Wed Aug 22 10:04:09 2018 +0100 Fix AArch64 stub layout algorithm to allow for the fact that section layut might change a stub's target location. PR 23560 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Always update the stub's target, since it may have been changed after the layout. commit d000b7630e07e808098cbf079c9cdf6c891e6e5e Author: Nick Clifton Date: Wed Aug 22 09:58:32 2018 +0100 Fix typo in changelog entry for handling of undocumnented Z80 SLI instruction. commit 9758a8f84b245f42cfa85be7a65b0728eabca491 Author: Alan Hayward Date: Wed Aug 22 09:22:12 2018 +0100 Aarch64 SVE VG is Vector Granule ...not Vector Gradient. See: DWARF for the ARM® 64-bit Architecture (AArch64) with SVE support gdb/ * arch/aarch64.h (aarch64_regnum): Update comment. commit 1461bdac5c1034467d7095b6d109689e02d03987 Author: Alan Hayward Date: Wed Aug 22 09:17:24 2018 +0100 Add AArch64 SVE to NEWS and GDB manual gdb/ * NEWS: Add SVE to 8.2 section. gdb/doc/ * doc/gdb.texinfo (AArch64 SVE): New subsubsection. commit ebf983a4447174210bcf40e1df4f2a7533b2c99f Author: Alan Modra Date: Wed Aug 22 16:37:56 2018 +0930 Fix changelog entries commit 86b9fea102b36b9147d581f2fff3f495e9dd7601 Author: Alan Modra Date: Wed Aug 22 14:11:56 2018 +0930 Re: Pack reloc_howto_struct Fix fallout when using gcc-4. * dw2gencfi.c (emit_expr_encoded, output_fde): Warning fixes. commit e8a648884df318b3c6be170ecdc9c42f79e56bd0 Author: Alan Modra Date: Wed Aug 22 10:04:58 2018 +0930 Correct readelf e_shstrndx range check Fixes a bogus out of range error: Number of section headers: 0 (210016) Section header string table index: 1 Caused due to e_shnum remaining as zero rather than being updated to the value from section_header[0].sh_info at the point where we range check e_shstrndx. * readelf.c (process_file_header): Assign updated values from section_header[0] fields to e_phnum, e_shnum and e_shstrndx during printing of header. Correct e_shstrndx range check. Remove unnecessary casts and use %u rather than %ld for unsigned int header fields. Don't print a random %lx when reporting an unknown EI_VERSION. commit ac1e2e51c0927676dc87f0e090c6d8e4c42f297e Author: GDB Administrator Date: Wed Aug 22 00:00:43 2018 +0000 Automatic date update in version.in commit 4e57b456393946cb4f90131b78e162cdec903c8a Author: John Darrington Date: Sun Jun 17 07:04:11 2018 +0200 S12Z: Rename reloc R_S12Z_UKNWN_3 to R_S12Z_EXT18 and implement according to recently inferred information about this reloc. * bfd/elf32-s12z.c: (opru18_reloc): New function. * bfd/elf32-s12z.c: (elf_s12z_howto_table): Adjust Howto according to new knowledge. * include/elf/s12z.h: Rename R_S12Z_UKNWN_3 to R_S12Z_EXT18. commit 4895f384b47628c8c354dccbb0bfab45b8c33984 Author: Pedro Alves Date: Tue Aug 21 16:48:30 2018 +0100 Don't throw Scheme exceptions with live std::vector objects A complication with the Guile code is that we have two types of exceptions to consider: GDB/C++ exceptions, and Guile/SJLJ exceptions. Because Guile exceptions are SJLJ based, we must make sure to not have live local variables of types with non-trivial dtors when a Guile exception is thrown, because the dtors won't be run when a Guile exceptions is thrown. gdbscm_parse_function_args currently violates this: void gdbscm_parse_function_args (const char *func_name, int beginning_arg_pos, const SCM *keywords, const char *format, ...) { ... /* Keep track of malloc'd strings. We need to free them upon error. */ std::vector allocated_strings; ... for (char *ptr : allocated_strings) xfree (ptr); gdbscm_throw (status); /// dtor of "allocated_strings" is not run! } This commit fixes the above making using of gdbscm_wrap. It would be nice if we had a way to make it impossible to write such code. PR guile/23429 has an idea for that, if someone's interested. gdb/ChangeLog: 2018-08-21 Pedro Alves * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored out from gdbscm_parse_function_args. (gdbscm_parse_function_args): Rework to use gdbscm_wrap and gdbscm_parse_function_args_1. commit ae19acf3201ee0b921cde8e70e278fe123e82105 Author: mephi42 Date: Tue Aug 21 16:34:56 2018 +0100 Fix running objcopy on Mach-O binaries. PR binutils/23315 * mach-o.c (bfd_mach_o_mangle_symbols): Update n_type even if data is already considered filled. commit c8455dc98666030e930cddd8178b1b4074749b04 Author: Nick Clifton Date: Tue Aug 21 16:15:36 2018 +0100 Update the documentation of the linker's --hash-style option. PR 23426 * ld.texi (--hash-style): Note that the default is configurable and that for most Linux based systems it will be "both". commit 6efa941c381b603fbf9d0f951eff87bcb805fa94 Author: Arnold Metselaar Date: Tue Aug 21 15:50:49 2018 +0100 Fix handling of undocumented SLL instruction for the Z80 target. * config/tc-z80.c: Correct treatment of undocumented instruction sli/sll. (emit_mr): Add argument unportable. (emit_bit): Adapt call to emit_mr. (emit_mr_z80): New function. (emit_mr_unportable): New function. (instab[]): Replace emit_mr with emit_mr_z80 or emit_mr_unportable as appropriate. commit a4497d2f8486502ab5140ec5168d5f13ec375155 Author: Simon Marchi Date: Tue Aug 21 10:47:47 2018 -0400 Remove unnecessary ternary operator in m32c-tdep.c Bug 17816 pointed out a useless use of the ternary operator: case 0x0: sd.reg = (size == 1 ? &st->r0 : &st->r0); break; I believe that this is right. If size is 1, the instruction refers to part of r0, while if size is 2, the instruction refers to the whole of r0. gdb/ChangeLog: PR gdb/17816 * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary operator. commit 06d743b72334ad4f9297c206290a47c261aa8e5f Author: Nick Clifton Date: Tue Aug 21 15:41:59 2018 +0100 Note that Arnold Metselaar has retired as the z80 maintainer. commit 66b09c7ea97ffa4e0a175393fa7a8f240b00fbde Author: L. Simon Date: Tue Aug 21 15:37:06 2018 +0100 Fix a seg-fault in readelf when parsing corrupt HPPA unwind tables. PR 23531 * readelf.c (hppa_process_unwind): Only dump the unwind table if the data was successfully read in. commit 9dcbfff1e02778bac6fb723640724c38001a8f0a Author: Andreas Schwab Date: Mon Aug 20 16:55:05 2018 +0200 Fix invalid strcpy on unterminated buffer * read.c (do_repeat_with_expander): Use memmove instead of strcpy on unterminated string buffer. commit 9cf7e5687f823a1009d25cb25ff653ee8372e517 Author: Alan Modra Date: Thu Aug 16 16:14:12 2018 +0930 Use operand->extract to provide defaults for optional PowerPC operands Most optional operands to powerpc instructions use a default value of zero, but there are a few exceptions. Those have been handled by PPC_OPERAND_OPTIONAL_VALUE and an entry in the powerpc_operands table for the default value, smuggled in the shift field. This patch changes that to using the operand extract function to provide non-zero defaults. I've also moved the code determining whether optional operands are provided or omitted, to the point the first optional operand is seen, and allowed for the possibility of optional base register operands in a future patch. The patch does change the error you get on invalid assembly like ld 3,4 You'll now see "missing operand" rather than "syntax error; end of line, expected `('". gas/ * config/tc-ppc.c (md_assemble): Delay counting of optional operands until one is encountered. Allow for the possibility of optional base regs, ie. PPC_OPERAND_PARENS. Call ppc_optional_operand_value with extra args. include/ * opcode/ppc.h (struct powerpc_operand): Correct "insert" comment. Mention use of "extract" function to provide default value. (PPC_OPERAND_OPTIONAL_VALUE): Delete. (ppc_optional_operand_value): Rewrite to use extract function. opcodes/ * ppc-dis.c (operand_value_powerpc): Init "invalid". (skip_optional_operands): Count optional operands, and update ppc_optional_operand_value call. * ppc-opc.c (extract_dxdn): Remove ATTRIBUTE_UNUSED from used arg. (extract_vlensi): Likewise. (extract_fxm): Return default value for missing optional operand. (extract_ls, extract_raq, extract_tbr): Likewise. (insert_sxl, extract_sxl): New functions. (insert_esync, extract_esync): Remove Power9 handling and simplify. (powerpc_operands ): Delete PPC_OPERAND_OPTIONAL_VALUE flag and extra entry. (powerpc_operands ): Likewise, and use insert_sxl and extract_sxl. commit 46807bf45106af5523ad06cf84e7b825dcb9f089 Author: Alan Modra Date: Mon Aug 20 15:23:38 2018 +0930 PowerPC HOWTOs These take up far too many lines in the files. This patch introduces a replacement for the HOWTO macro that simplifies the relow howto initialization. Apart from the two relocs mentioned in the ChangeLog, no relocation howto is changed. * elf64-ppc.c (HOW): Define. (ONES): Delete. (ppc64_elf_howto_raw): Use HOW to initialize entries. * elf32-ppc.c (HOW): Define. (ppc_elf_howto_raw): Use HOW to initialize entries, updating R_PPC_VLE_REL15 and R_PPC_VLE_REL24 to use bitpos=0. commit 706704c88344314646e4edcc0840cb18a9cb4c82 Author: Alan Modra Date: Tue Aug 21 11:54:29 2018 +0930 Pack reloc_howto_struct This patch uses bitfields in reloc_howto_struct, reducing its size from 80 to 40 bytes on 64-bit hosts and from 52 to 32 bytes on 32-bit hosts (with a 32-bit bfd_vma). I've also added a new "negate" field rather than making the encoded "size" field do double duty as both a size and a flag. There was just one use of an encoded size of 8, which according to bfd_get_reloc_size meant 16 bytes, in vms-alpha.c ALPHA_R_LINKAGE. See git commit c3d8e071bf adding ALPHA_R_LINKAGE and git commit 8612a388f7 decoding size 8 in bfd_get_reloc_size. Since no other part of BFD handles 16 byte relocs, I've removed that encoding and special cased the ALPHA_R_LINKAGE size in vms-alpha.c. * reloc.c (reloc_howto_type): Typedef. (bfd_symbol): Delete forward declaration. (struct reloc_howto_struct): Add "negate" field. Make "size", "bitsize", "rightshift", "bitpos", "complain_on_overflow", "pc_relative", "partial_inplace", and "pcrel_offset" bitfields. Rearrange for better packing. Revise comments. (HOWTO): Map to rearranged reloc_howto_struct. (bfd_get_reloc_size): Delete now unused cases. (read_reloc, write_reloc): Likewise. (apply_reloc, _bfd_relocate_contents): Test howto->negate rather than howto->size < 0 for negated relocation values. * coff-rs6000.c (xcoff_complain_overflow_bitfield_func): Avoid signed/unsigned warning. (xcoff_ppc_relocate_section): Delete "condition is always false" code. * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise. * cpu-ns32k.c (do_ns32k_reloc): Adjust to suit reloc_howto_struct changes. * vms-alpha.c (_bfd_vms_write_etir, alpha_vms_slurp_relocs): Use size 16 for ALPHA_R_LINKAGE. (alpha_howto_table ): Set encoded size and bitsize to zero. * bfd-in.h (reloc_howto_type): Delete. * bfd-in2.h: Regenerate. commit 487096bf0bd5499b1d23ecbe5fd64f9f0079c0b5 Author: Alan Modra Date: Mon Aug 20 19:36:05 2018 +0930 Delete NEWHOWTO and tidy some uses of reloc_howto_struct NEWHOWTO was promised way back in 1991 (git commit e5683622186). I doubt it's ever going to be implemented. This patch removes it, and tidies some reloc howtos. I was going to make some changes to reloc_howto_struct, so I think it's important that all relocs howtos are initialized with HOWTO. * reloc.c (HOWTO): Revise comment. (NEWHOWTO, HOWTO_PREPARE): Delete. * coff-arm.c (coff_arm_reloc_type_lookup): Replace const struc reloc_howto_struct with reloc_howto_type. * ns32knetbsd.c (MY_bfd_reloc_type_lookup): Likewise. * vms-alpha.c (alpha_vms_bfd_reloc_type_lookup): Likewise. * elf-hppa.h (HOW): Define. (elf_hppa_howto_table): Use it to simplify this table, correcting name of R_PARISC_LTOFF16WF, R_PARISC_LTOFF_FPTR64, and R_PARISC_LTOFF_FPTR16DF. * elf32-mep.c (MEPREL): Use HOWTO. * bfd-in2.h: Regenerate. commit 08a8fe2ffd9766877a74a52922b4391d37e85491 Author: Alan Modra Date: Mon Aug 20 18:16:34 2018 +0930 Fix s12z test regexps Fixes ERROR: tcl error sourcing .../gas/testsuite/gas/s12z/s12z.exp. ERROR: couldn't compile regular expression pattern: quantifier operand invalid run_dump_test expected output lines are regexps. * testsuite/gas/s12z/bit-manip-invalid.d: Correct regexps. commit fe22d84fe472a5a1f19c56cf0f888c86a635dee7 Author: GDB Administrator Date: Tue Aug 21 00:00:49 2018 +0000 Automatic date update in version.in commit c44deb735ef492f8799cbb35c5f2566fc2dba19d Author: Simon Marchi Date: Sun Aug 19 22:03:58 2018 -0400 Fix formatting in solib-svr4.c Fix some formatting issues which I have missed during review. gdb/ChangeLog: * solib-svr4.c (svr4_exec_displacement): Fix formatting. commit 865dcc8a4d397e4d9d032785e8ff318e28355d76 Author: Alan Modra Date: Mon Aug 20 09:25:12 2018 +0930 Don't init array at run time When it can be done at compile time. * mmo.c (valid_mmo_symbol_character_set): Initialize and make array const. (mmo_init): Don't init valid_mmo_symbol_character_set. commit d203b41ac79b011d63bc1e2467f9c8a81f468eed Author: Alan Modra Date: Mon Aug 20 09:22:28 2018 +0930 Tidy bit twiddling * sh-opc.h (MASK): Simplify. commit ba1c4c6fee7e8794481412fd8604462f04b2765f Author: Alan Modra Date: Mon Aug 20 09:20:11 2018 +0930 Balance parentheses in expression * rs6000-core.c (CORE_COMMONSZ): Balance parentheses in expression. commit 8ca28cdfbec3efd7dab10f13919dc0b1cf778ded Author: GDB Administrator Date: Mon Aug 20 00:00:44 2018 +0000 Automatic date update in version.in commit be2d111a878e1422c921226bc7714131a5c470fa Author: Michael Spang Date: Sun Aug 19 10:55:58 2018 -0400 Fix debugging of stripped PIE executables with padded PT_TLS Certain PIE executables produced by gold cannot be debugged by gdb after being stripped. GDB requires program headers of PIE executables to match, and those checks may fail due to adjustments made during stripping. One case of this occurs because strip recomputes the memsz of PT_TLS and does not add alignment, while gold does. This is another variant of PR 11786, so apply the same fix of relaxing the program header matching. gdb/ChangeLog: PR gdb/11786 * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields for PT_TLS segments. gdb/testsuite/ChangeLog: PR gdb/11786 * gdb.base/gcore-tls-pie.c: New file. * gdb.base/gcore-tls-pie.exp: New file. commit d604f19adeb96f96213f4825e56053fac50723c6 Author: GDB Administrator Date: Sun Aug 19 00:01:08 2018 +0000 Automatic date update in version.in commit 7d140d1a0be24da37c9103ed6cac98b0017829d9 Author: Kevin Buettner Date: Tue Jul 31 14:45:20 2018 -0700 Test case for DW_OP_GNU_variable_value gdb/testsuite/ChangeLog: * gdb.dwarf2/varval.c: New file. * gdb.dwarf2/varval.exp: New file. commit ae3a7c47e6a95d69a09838c11f9fd3c9cbb25cb6 Author: Kevin Buettner Date: Mon Jul 30 16:15:34 2018 -0700 Add support of DW_OP_GNU_variable_value to DWARF assembler gdb/testsuite/ChangeLog: * lib/dwarf.exp: Add support for DW_OP_GNU_variable_value. commit a6b786da4e3353bf634ec7d9c7bffbd7569e73c6 Author: Kevin Buettner Date: Mon Jul 30 15:41:56 2018 -0700 Add support for DW_OP_GNU_variable_value This patch adds support for DW_OP_GNU_variable_value to GDB. Jakub Jelinek provides a fairly expansive discussion of this DWARF expression opcode in his GCC patch... https://gcc.gnu.org/ml/gcc-patches/2017-02/msg01499.html It has also been proposed for addition to the DWARF Standard: http://www.dwarfstd.org/ShowIssue.php?issue=161109.2 If compiled with a suitable version of GCC, the test case associated with GCC Bug 77589 uses DW_OP_GNU_variable_value in a DW_AT_byte_stride expression. Here's a link to the bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77589 This is what the DWARF looks like. Look at the last line, which has the DW_AT_byte_stride expression: <2>: Abbrev Number: 12 (DW_TAG_variable) DW_AT_name : (indirect string, offset: 0x115): span.0 DW_AT_type : <0x2e> DW_AT_artificial : 1 DW_AT_location : 3 byte block: 91 b0 7f (DW_OP_fbreg: -80) ... <2><178>: Abbrev Number: 18 (DW_TAG_subrange_type) <179> DW_AT_lower_bound : 4 byte block: 97 23 20 6 (DW_OP_push_object_address; DW_OP_plus_uconst: 32; DW_OP_deref) <17e> DW_AT_upper_bound : 4 byte block: 97 23 28 6 (DW_OP_push_object_address; DW_OP_plus_uconst: 40; DW_OP_deref) <183> DW_AT_byte_stride : 10 byte block: 97 23 18 6 fd e1 0 0 0 1e (DW_OP_push_object_address; DW_OP_plus_uconst: 24; DW_OP_deref; DW_OP_GNU_variable_value: <0xe1>; DW_OP_mul) A patch to readelf, which I'm also submitting, is required to do this decoding. I found that GDB gave me the correct answer for "p c40pt(2)" once I (correctly) implemented DW_OP_GNU_variable_value. I also have test case (later in this series) which uses the DWARF assembler and, therefore, do not rely on having a compiler with this support. gdb/ChangeLog: * dwarf2expr.h (struct dwarf_expr_context): Add virtual method dwarf_variable_value. * dwarf2-frame.c (class dwarf_expr_executor): Add override for dwarf_variable_value. * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise. (class symbol_needs_eval_context): Likewise. (indirect_synthetic_pointer): Add forward declaration. (sect_variable_value): New function. (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value. * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case for DW_OP_GNU_variable_value. commit f41078422a4381d4943f36aa1ef95b1d7c85ee7e Author: John Darrington Date: Tue Jul 24 13:40:21 2018 +0200 Opcodes: (BRCLR / BRSET) Disassemble reserved codes instead of aborting. Bit manipulation instructions which are not normally generated by the assembler, should nevertheless be decoded by the disassembler. opcodes/ * s12z-dis.c: BM_RESERVED1 to behave like BM_OPR_REG, and BM_RESERVED0 like BM_REG_IMM. commit 7ba3ba91a3dbc43f7ff16c4899f7f1cbef056db0 Author: John Darrington Date: Wed Jul 11 10:42:01 2018 +0200 S12Z: Move opcode header to public include directory. opcodes/ * s12z.h: Delete. * s12z-dis.c: Adjust path of included file. include/ * opcode/s12z.h: New file. gas/ * config/tc-s12z.c: Adjust path of included file. commit 2e72a56e451cf26fb01712d6004d3b6a70749756 Author: Alan Modra Date: Fri Aug 17 15:06:46 2018 +0930 Remove duplicate ld testsuite function It's in binutils/testsuite/lib/binutils-common.exp * testsuite/ld-elf/elf.exp (is_elf64): Delete. commit 506b86a4f5fe2aff90e62940a07c9e275d406cd4 Author: Alan Modra Date: Mon Aug 13 13:41:18 2018 +0930 binutils testsuite strip-13 test The strip-13 test runs into difficulty using dc.a on some targets. dc.a writes a power of 2 number of bytes large enough to contain a target address. On some targets, eg. avr-elf, this can be 2 bytes but the ELF format used require words of 4 bytes to make up a relocation entry. There was a hack in the test, duplicating the reloc type into what is normally the addend to make the test work when little-endian, but that hack fails for similar big-endian targets. This patch fixes that problem by arranging to emit 32-bit and 64-bit ELF relocs using .4byte and .8byte directives, chosen as appropriate for the ELF size. I've also bumped the reloc number tested to a higher unused value, and made the number more easily parameterised by target should that be necessary in the future. Whether REL or RELA relocs are used is now chosen by a new is_rela readelf test of an object file, rather than by lists of targets. * testsuite/lib/binutils-common.exp (is_elf64): Use directory of input file for readelf.out. (is_rela): New proc. * testsuite/binutils-all/objcopy.exp (elf64): Set new variable from first result of is_elf64 test. (reloc_format): Set using is_rela. (strip-13): Pass RELOC and ELF64 to assembler. (strip-14, strip-15): Use elf64 rather than calling is_elf64 again. * testsuite/binutils-all/strip-13.d: Run for more targets. * testsuite/binutils-all/strip-13mips64.s: Use RELOC and set addend to zero. * testsuite/binutils-all/strip-13rel.s: Use RELOC and ELF64. Don't add _NONE reloc. * testsuite/binutils-all/strip-13rela.s: Likewise. commit 503c367dc237e6fec46d0b8ccf3e74f7406b3260 Author: GDB Administrator Date: Sat Aug 18 00:00:26 2018 +0000 Automatic date update in version.in commit 89fbedf3abc90b62fbb7f08782ed78d87b3fccaa Author: Tom Tromey Date: Wed Aug 15 18:37:00 2018 -0600 Remove "repeat" argument from command_line_input After the previous patch, all callers pass 0 as the repeat argument to command_line_input. So, this patch removes it. gdb/ChangeLog 2018-08-16 Tom Tromey * top.c (read_command_file): Update. (command_line_input): Remove "repeat" argument. * ada-lang.c (get_selections): Update. * linespec.c (decode_line_2): Update. * defs.h (command_line_input): Remove argument. * cli/cli-script.c (read_next_line): Update. * python/py-gdb-readline.c: Update. commit 12582533306990c9406aedd960fa411c317a67de Author: Tom Tromey Date: Wed Aug 15 18:37:00 2018 -0600 Fix use-after-free in number_or_range_parser -fsanitize=address showed a use-after-free in number_or_range_parser. The cause was that handle_line_of_input could stash the input into "saved_command_line", and then this could be freed by reentrant calls. This fixes the bug by preventing commands that are read by "commands" from being eligible for repeating. gdb/ChangeLog 2018-08-17 Tom Tromey * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to command_line_input. commit bfb1e8c15a6b7d02cd0b9a124d01722a07ebf09a Author: H.J. Lu Date: Fri Aug 17 03:54:05 2018 -0700 x86: Remove empty X86_FEATURE_1_AND property There is no need to generate .note.gnu.property section with empty X86_FEATURE_1_AND property. This patch adds fixup_gnu_properties to ELF linker backend so that x86 backend can remove it. bfd/ PR ld/23515 * elf-bfd.h (elf_backend_data): Add fixup_gnu_properties. * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Call backend fixup_gnu_properties if it isn't NULL. Discard .note.gnu.property section if all properties have been removed. * elfxx-target.h (elf_backend_fixup_gnu_properties): New. (elfNN_bed): Initialize fixup_gnu_properties. * elfxx-x86.c (_bfd_x86_elf_link_fixup_gnu_properties): New function. * elfxx-x86.h (_bfd_x86_elf_link_fixup_gnu_properties): New prototype. (elf_backend_fixup_gnu_properties): New. ld/ PR ld/23515 * testsuite/ld-i386/ibt-plt-2a.d: Updated. * testsuite/ld-i386/ibt-plt-2b.d: Likewise. * testsuite/ld-x86-64/ibt-plt-2a-x32.d: Likewise. * testsuite/ld-x86-64/ibt-plt-2a.d: Likewise. * testsuite/ld-x86-64/ibt-plt-2b-x32.d: Likewise. * testsuite/ld-x86-64/ibt-plt-2b.d: Likewise. commit 2ecae92e2372102ac0fa774fce4c4c0d6f8c85f5 Author: Alan Hayward Date: Thu Aug 16 15:21:15 2018 +0100 Fix asm in testsuite/gdb.arch/aarch64-fp.c Cannot assume result of first and third ldr will go into x0. Rewrite asm to be clearer. gdb/testsuite/ PR gdb/18931: * gdb.arch/aarch64-fp.c (main): Fix asm registers. commit c1854f1d5a8fb5d86c7ac6d118348759cfa8c393 Author: Keith Seitz Date: Thu Aug 16 14:37:49 2018 -0700 Use gdb_test_no_output for compile tests expected to pass There is a small think-o in compile.exp: if { $srcfile3 != "" } { gdb_test "p constvar" " = 3" gdb_test "info addr constvar" {Symbol "constvar" is constant\.} gdb_test "compile code globalvar = constvar;"; # INCORRECT gdb_test "print globalvar" " = 3" "print constvar value" } else { untested "print constvar value" } The line marked INCORRECT runs a simple "compile code" which is expected to succeed. When this happens, the compile plug-in and GDB will not output anything. The use of gdb_test matches against anything. This is certainly not the intent, and this patch corrects the two instances of this in the file. [The rest of gdb.compile looks okay.] testsuite/ChangeLog: * gdb.compile/compile.exp: Use gdb_test_no_output for "compile code" tests expected to pass. commit 2cdcc33021214e77c2c185aa78ad4f9ae1b9e565 Author: Alan Modra Date: Wed Aug 15 11:11:59 2018 +0930 Correct elf64-ppc.c linkage stub comment and formatting fixes ppc_stub_long_branch_notoc will never need more than a 32-bit offset for the r12 offset since the stub target must be in range of a branch instruction. * elf64-ppc.c: Correct ppc_stub_long_branch_notoc example. Formatting. commit 3b7b80752fdb3544b5d822f477dc5a9863959393 Author: GDB Administrator Date: Thu Aug 16 00:00:31 2018 +0000 Automatic date update in version.in commit 495143533ad95369811391c6e3c6dadd69d7dd67 Author: Tom Tromey Date: Wed Aug 15 10:05:01 2018 -0600 Use pulongest in aarch64-linux-tdep.c While testing a patch on the buildbot, I got this error: ../../binutils-gdb/gdb/aarch64-linux-tdep.c: In function uint64_t aarch64_linux_core_read_vq(gdbarch*, bfd*): ../../binutils-gdb/gdb/aarch64-linux-tdep.c:285:29: error: format %ld expects argument of type long int, but argument 2 has type uint64_t {aka long long unsigned int} [-Werror=format=] This patch avoids the problem by using pulongest rather than %ld. This seems safe to me because, if aarch64-linux-tdep.c is included in the build, then ULONGEST must be a 64-bit type. gdb/ChangeLog 2018-08-15 Tom Tromey * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest. commit 07aff30e92ead6c6d662462efc6ebdf83c6b8de3 Author: GDB Administrator Date: Wed Aug 15 00:00:14 2018 +0000 Automatic date update in version.in commit 1bc60e562458b1e1c25be808a62adb1cb6c20ff0 Author: H.J. Lu Date: Tue Aug 14 09:55:43 2018 -0700 x86-64: Display eiz for address with the addr32 prefix In 64-bit mode, display eiz for address with the addr32 prefix and without base nor index registers. For mov -0xccddef(,%eiz,), %rax disassembler now displays: 67 48 8b 04 25 11 22 33 ff mov -0xccddef(,%eiz,1),%rax instead of 67 48 8b 04 25 11 22 33 ff addr32 mov 0xffffffffff332211,%rax gas/ * testsuite/gas/i386/evex-no-scale-64.d: Updated. * testsuite/gas/i386/x86-64-addr32-intel.d: Likewise. * testsuite/gas/i386/x86-64-addr32.d: Likewise. * testsuite/gas/i386/ilp32/x86-64-addr32-intel.d: Likewise. * testsuite/gas/i386/ilp32/x86-64-addr32.d: Likewise. * testsuite/gas/i386/x86-64-addr32.s: Add %eiz tests. opcodes/ * i386-dis.c (OP_E_memory): In 64-bit mode, display eiz for address with the addr32 prefix and without base nor index registers. commit 26fb3983d7062c6f6bc43028ae2074cc29d22c7e Author: Jan Vrany Date: Tue Aug 14 14:13:28 2018 +0100 MI: Add -a option to the "-data-disassemble" command The CLI "disassemble" command allows specifying a single address - in that case the function surrounding that address is disassembled. This commit adds this feature to the equivalent MI command "-data-disassemble". gdb/ChangeLog: 2018-08-14 Jan Vrany * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option. If used, use find_pc_partial_function to find address range to disassemble. * mi/mi-main.c (mi_cmd_list_features): Report "data-disassemble-a-option" feature. * NEWS: Mention new -data-disassemble option -a. gdb/doc/ChangeLog: 2018-08-14 Jan Vrany * gdb.texinfo (GDB/MI Data Manipulation): Document "-data-disassemble -a addr". (GDB/MI Support Commands): Document "data-disassemble-a-option" feature. gdb/testsuite/ChangeLog: 2018-08-14 Jan Vrany * gdb.mi/mi-disassemble.exp (test_disassembly_only): Add tests for -data-disassemble -a. (test_disassembly_bogus_args): Likewise. commit 67943c005fafa4397535766787b4fbda338ac07d Author: Andrew Burgess Date: Fri Aug 10 10:16:32 2018 +0100 gdb: Fix instability in thread groups test In the test script gdb.mi/list-thread-groups-available.exp we ask GDB to list all thread groups, and match the output against a regexp. Occasionally, I would see this test fail. The expected output is a list of entries, each entry looking roughly like this: {id="",type="process",description="", user="",cores=["","",...]} All the fields after 'id' and 'type' are optional, and the 'cores' list can contain 1 or more "" entries. On my machine (Running Fedora 27, kernel 4.17.3-100.fc27.x86_64) usually the 'description' is a non-empty string, and the 'cores' list has at least one entry in it. But sometimes, very rarely, I'll see an entry in the process group list where the 'description' is an empty string, the 'user' is the string "?", and the 'cores' list is empty. Such an entry looks like this: {id="19863",type="process",description="",user="?",cores=[]} I believe that this is caused by the process exiting while GDB is scanning /proc for process information. The current code in gdb/nat/linux-osdata.c is not (I think) resilient against exiting processes. This commit adjusts the regex that matches the 'cores' list so that an empty list is acceptable, with this patch in place the test script gdb.mi/list-thread-groups-available.exp never fails for me now. I've only adjusted the cores regexp for the occasion when we have GDB read information about all processes, its only in this case that we might encounter an exiting process. When we read information about two known PIDs, that we know will not exit for the duration of the test, we require that the core list be non-empty. gdb/testsuite/ChangeLog: * gdb.mi/list-thread-groups-available.exp: Update test regexp. commit 2a50366ded329bfb39d387253450c9d5302c3503 Author: Robert Yang Date: Tue Aug 14 12:22:35 2018 +0100 When the assembler reports that the input and output are the same, report the file names involved, in order to help debugging. Also do not equate two files are the same if the have the same inode value but reside on different file systems. * as.c (main): Improve check for input file matching output file. commit 08887f4a644fb31fd04faa4208c523dbf9b4f93b Author: GDB Administrator Date: Tue Aug 14 00:00:28 2018 +0000 Automatic date update in version.in commit a97b53dda99526d7c2890aeb9637008790cbdfa9 Author: Tom Tromey Date: Fri Aug 10 09:03:47 2018 -0600 Define _FORTIFY_SOURCE in common-defs.h This defines _FORTIFY_SOURCE in common-defs.h. This seems like a sensible safety measure, and also it may help avoid build problems with -Wunused-result on distros that already define _FORTIFY_SOURCE by default. Tested by the buildbot. gdb/ChangeLog 2018-08-13 Tom Tromey * common/common-defs.h (_FORTIFY_SOURCE): Define. commit 98641896ad52915448c0dd1ab4b4bbe23148a582 Author: H.J. Lu Date: Mon Aug 13 07:24:31 2018 -0700 bfd: Move elf-properties.lo to BFD32_LIBS commit 6404ab993797d1d6cd3d9e97cc281e3cb6226c12 Author: H.J. Lu Date: Wed Aug 8 21:00:04 2018 -0700 Convert .note.gnu.property section between ELF32 and ELF64 updated bfd_convert_section_size and bfd_convert_section_contents in bfd.c to call _bfd_elf_convert_gnu_property_size and _bfd_elf_convert_gnu_properties, which are defined in elf-properties.c. It led to bfd.c:2484: undefined reference to `_bfd_elf_convert_gnu_property_size' for non-ELF targets. Since elf-properties.c is a generic implementation and doesn't reference any ELF specific functions directly, this patch moves elf-properties.lo BFD32_LIBS. Tested for many ELF and non-ELF targets. PR binutils/23494 * Makefile.am (BFD32_LIBS): Add elf-properties.lo. (BFD32_LIBS_CFILES): Add elf-properties.c. (BFD32_BACKENDS): Remove elf-properties.lo. (BFD32_BACKENDS_CFILES): Remove elf-properties.c. * configure.ac (elf): Remove elf-properties.lo. * Makefile.in: Regenerated. * configure: Likewise. commit 0c76e06d5cc83a42ec05a377c3b3c211c8e85151 Author: Alan Hayward Date: Mon Aug 13 11:02:22 2018 +0100 Parse SVE registers in aarch64 core file reading/writing sve_regmap cannot be global static as the size is dependant on the current vector length. gdb/ * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function. (aarch64_linux_collect_sve_regset): Likewise. (aarch64_linux_iterate_over_regset_sections): Check for SVE. * regcache.h (regcache_map_entry_size): New function. commit b7fd65b9dc0a9f132fba362493ec21dadc2994d7 Author: Alan Hayward Date: Mon Aug 13 10:49:51 2018 +0100 Detect SVE when reading aarch64 core files The SVE section in a core file contains a header followed by the registers. Add defines to easily access the header fields within a buffer. gdb/ * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define. (SVE_HEADER_MAX_SIZE_LENGTH): Likewise. (SVE_HEADER_VL_LENGTH): Likewise. (SVE_HEADER_MAX_VL_LENGTH): Likewise. (SVE_HEADER_FLAGS_LENGTH): Likewise. (SVE_HEADER_RESERVED_LENGTH): Likewise. (SVE_HEADER_SIZE_OFFSET): Likewise. (SVE_HEADER_MAX_SIZE_OFFSET): Likewise. (SVE_HEADER_VL_OFFSET): Likewise. (SVE_HEADER_MAX_VL_OFFSET): Likewise. (SVE_HEADER_FLAGS_OFFSET): Likewise. (SVE_HEADER_RESERVED_OFFSET): Likewise. (SVE_HEADER_SIZE): Likewise. (aarch64_linux_core_read_vq): Add function. (aarch64_linux_core_read_description): Check for SVE section. commit a616bb94509c22c96ae8bf1432ec28a7f3e31778 Author: Alan Hayward Date: Mon Aug 13 10:04:11 2018 +0100 Split size in regset section iterators In the existing code, when using the regset section iteration functions, the size parameter is used in different ways. With collect, size is used to create the buffer in which to write the regset. (see linux-tdep.c::linux_collect_regset_section_cb). With supply, size is used to confirm the existing regset is the correct size. If REGSET_VARIABLE_SIZE is set then the regset can be bigger than size. Effectively, size is the minimum possible size of the regset. (see corelow.c::get_core_register_section). There are currently no targets with both REGSET_VARIABLE_SIZE and a collect function. In SVE, a corefile can contain one of two formats after the header, both of which are different sizes. However, when writing a core file, we always want to write out the full bigger size. To allow support of collects for REGSET_VARIABLE_SIZE we need two sizes. This is done by adding supply_size and collect_size. gdb/ * aarch64-fbsd-tdep.c (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and collect_size. * aarch64-linux-tdep.c (aarch64_linux_iterate_over_regset_sections): Likewise. * alpha-linux-tdep.c (alpha_linux_iterate_over_regset_sections): * alpha-nbsd-tdep.c (alphanbsd_iterate_over_regset_sections): Likewise. * amd64-fbsd-tdep.c (amd64fbsd_iterate_over_regset_sections): Likewise. * amd64-linux-tdep.c (amd64_linux_iterate_over_regset_sections): Likewise. * arm-bsd-tdep.c (armbsd_iterate_over_regset_sections): Likewise. * arm-fbsd-tdep.c (arm_fbsd_iterate_over_regset_sections): Likewise. * arm-linux-tdep.c (arm_linux_iterate_over_regset_sections): Likewise. * corelow.c (get_core_registers_cb): Likewise. (core_target::fetch_registers): Likewise. * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise. * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise. * gdbarch.h (void): Regenerate. * gdbarch.sh: Add supply_size and collect_size. * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise. * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise. * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise. * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise. * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise. * i386-tdep.c (i386_iterate_over_regset_sections): Likewise. * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise. * linux-tdep.c (linux_collect_regset_section_cb): Likewise. * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise. * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise. * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise. * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise. * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise. * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise. * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise. * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise. * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise. * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise. * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise. * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise. * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise. * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise. * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise. * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise. * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise. * sh-tdep.c (sh_iterate_over_regset_sections): Likewise. * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise. * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise. * vax-tdep.c (vax_iterate_over_regset_sections): Likewise. * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise. commit facbd8bd3d6d51c907494a269dc13a2a0a75bc4e Author: GDB Administrator Date: Mon Aug 13 00:00:51 2018 +0000 Automatic date update in version.in commit 988daa317c01a610b5298bbcd80be8642ee66094 Author: H.J. Lu Date: Sun Aug 12 05:39:00 2018 -0700 ld-x86-64/pr23486b.d: Swap pr23486a.s and pr23486a.s Swap pr23486a.s and pr23486a.s so that pr23486b.d differs from pr23486a.d. * testsuite/ld-x86-64/pr23486b.d: Swap pr23486a.s and pr23486a.s. commit 8e92e6d4b214ea9e0169cb25f3716c912f828e9e Author: GDB Administrator Date: Sun Aug 12 00:01:17 2018 +0000 Automatic date update in version.in commit d871f3f48388d57721d8077e281041ed16a745cf Author: H.J. Lu Date: Sat Aug 11 14:37:14 2018 -0700 x86: Add CpuCMOV and CpuFXSR There are separate CPUID feature bits for fxsave/fxrstor and cmovCC instructions. This patch adds CpuCMOV and CpuFXSR to replace Cpu686 on corresponding instructions. gas/ * config/tc-i386.c (cpu_arch): Add .cmov and .fxsr. (cpu_noarch): Add nocmov and nofxsr. * doc/c-i386.texi: Document cmov and fxsr. opcodes/ * i386-gen.c (cpu_flag_init): Add CpuCMOV and CpuFXSR to CPU_I686_FLAGS. Add CPU_CMOV_FLAGS, CPU_FXSR_FLAGS, CPU_ANY_CMOV_FLAGS and CPU_ANY_FXSR_FLAGS. (cpu_flags): Add CpuCMOV and CpuFXSR. * i386-opc.tbl: Replace Cpu686 with CpuFXSR on fxsave, fxsave64, fxrstor and fxrstor64. Replace Cpu686 with CpuCMOV on cmovCC. * i386-init.h: Regenerated. * i386-tbl.h: Likewise. commit ab9e342807d132182892de1be1a92d6e91a5c1da Author: H.J. Lu Date: Sat Aug 11 06:41:33 2018 -0700 x86: Properly add X86_ISA_1_NEEDED property Existing properties may be removed during property merging. We avoid adding X86_ISA_1_NEEDED property only if existing properties won't be removed. bfd/ PR ld/23428 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't add X86_ISA_1_NEEDED property only if existing properties won't be removed. ld/ PR ld/23428 * testsuite/ld-elf/dummy.s: New file. * testsuite/ld-elf/linux-x86.S: Add X86_FEATURE_1_AND property. * testsuite/ld-elf/linux-x86.exp: Add dummy.s to pr23428. commit 1dc9e2d63e37839ff1768346b2e3f52e338baba5 Author: Alan Modra Date: Sat Aug 11 11:07:07 2018 +0930 Factor out common relocation processing This patch factors out some code common to both bfd_perform_relocation and bfd_install_relocation, in the process fixing the omission of "case -1" in bfd_install_relocation. * reloc.c (bfd_get_reloc_size): Sort switch. (read_reloc, write_reloc, apply_reloc): New functions. (bfd_perform_relocation, bfd_install_relocation): Use apply_reloc. (_bfd_relocate_contents): Use read_reloc and write_reloc. (_bfd_clear_contents): Likewise. commit 7cf9ebc6958462c3ef1372071d1ced5dae7bef3c Author: John Darrington Date: Thu Aug 9 18:46:51 2018 +0200 Deal with relocations which are 3 bytes in size * reloc.c (_bfd_relocate_contents): Handle 3 byte relocs. (_bfd_clear_contents): Likewise. (bfd_perform_relocation): Likewise. (bfd_install_relocation): Likewise. commit ae1f3b64e5818eed2354aa43740d4324ca18efcf Author: GDB Administrator Date: Sat Aug 11 00:00:27 2018 +0000 Automatic date update in version.in commit a9925d4f9982ad897bc85f98076e5924e70232b1 Author: Simon Marchi Date: Fri Aug 10 18:01:11 2018 -0400 Fix forgotten xstrprintf -> string_printf change The patch 528e157 ("Replace some uses of xstrprintf with string_printf") forgot to actually change an xstrprintf call to string_printf, this one fixes it. gdb/ChangeLog: * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf with string_printf. commit 48e30f5238c70e738f44474d595c476ef4e4ec38 Author: H.J. Lu Date: Fri Aug 10 12:21:58 2018 -0700 Always clear h->verinfo.verdef when overriding a dynamic definition When linker defines a symbol to override a dynamic definition, it should always clear h->verinfo.verdef so that the symbol won't be associated with the version information from the dynamic object. This happened to the symbol "_edata" when creating an unversioned dynamic object linking against: 1. libKF5ConfigCore.so.5.49.0 2. libKF5CoreAddons.so.5.49.0 3. libKF5I18n.so.5.49.0 4. libKF5DBusAddons.so.5.49.0 5. libQt5Xml.so.5.11.1 6. libQt5DBus.so.5.11.1 7. libQt5Core.so.5.11.1 Among them libQt5Xml.so.5.11.1 299: 000000000003e000 0 NOTYPE GLOBAL DEFAULT 18 _edata@@Qt_5 libQt5DBus.so.5.11.1 597: 0000000000092018 0 NOTYPE GLOBAL DEFAULT 18 _edata@@Qt_5 libQt5Core.so.5.11.1 2292: 00000000004df640 0 NOTYPE GLOBAL DEFAULT 21 _edata@Qt_5 2293: 00000000004df640 0 NOTYPE GLOBAL DEFAULT 21 _edata@Qt_5 The problem is triggered by 2 duplicated entries of _edata@Qt_5 in libQt5Core.so.5.11.1 which was created by gold. Before this commit, ld created the dynamic object with "_edata" in its dynamic symbol table which was linker defined and associated with the version information from libQt5Core.so.5.11.1. The code in question was there when the binutils source was imported to sourceware.org. When such a dynamic object was used later, we got: /usr/bin/ld: bin/libKF5Service.so.5.49.0: _edata: invalid version 21 (max 0) /usr/bin/ld: bin/libKF5Service.so.5.49.0: error adding symbols: bad value Tested with many ELF targets. PR ld/23499 * elflink.c (bfd_elf_record_link_assignment): Always clear h->verinfo.verdef when overriding a dynamic definition. commit ad3a68e9b9b01fbdc09854fb7fd655db652c482f Author: Keith Seitz Date: Fri Aug 10 11:01:24 2018 -0700 Use policies for code generation This patch changes code generation procedures add_code_header, add_code_footer, and several other language-specific code generation functions into policies. gdb/ChangeLog: * compile/compile-c-support.c (add_code_header, add_code_footer): Move into policy class. (c_push_user_expression, pop_user_expression_nop) (c_add_code_header, c_add_code_footer, c_add_input): New policy class. (compile_program): New host class. (c_compile_program): New typedef. (c_compute_porgram): Use c_compile_program. commit 0cfbf43085c4191f3f4b4b4a834f1e19bf42d4a9 Author: Keith Seitz Date: Fri Aug 10 10:53:47 2018 -0700 Use unique_ptr for htabs This patch updates the type-conversion caching in C compile to use unique pointers. This patch also removes the on-demand allocation of the symbol error map in favor of initialization, simplifying the code. gdb/ChangeLog * compile/compile-internal.h (compile_instance::~compile_instance): Remove calls to htab_delete. : Switch type to htab_up. * compile.c (compile_instance::compile_instance): Initialize htab unique pointers. (compile_instance::get_cached_type, compile_instance::insert_type) (compile_instance::error_symbol_once): Update for unique_ptr. commit 946d3d10e7609e074be30db8662cb9c4a3d8961d Author: Keith Seitz Date: Fri Aug 10 10:52:13 2018 -0700 Move compile_instance to compile.c This simple patch moves any code related to compile_instance into compile.c, reserving compile-c-* files strictly for C language support. gdb/ChangeLog: * compile/compile-c-symbols.c (struct symbol_error) (hash_symbol_error, eq_symbol_error, del_symbol_error) (compile_instance::insert_symbol_error) (compile_instance::error_symbol_once): Move to ... * compile/compile.c: ... here. commit 9cdfd9a26ef63ef2fee58c0e7475b5373b61e5d1 Author: Keith Seitz Date: Fri Aug 10 10:48:03 2018 -0700 Change compile_instance/compile_c_instance into classes This patch changes structs compile_instance and compile_c_instance into classes. Because of the nature of the change, there are a number of unavoidably mechanical changes buried in here, such as turning variable access of the POD struct into method calls, removing the struct keyword, and changing access of the plugin from "c_plugin->operation()" to "plugin ().operation ()". There is one "non-trivial" change associated with this patch, though. The type cache and symbol error maps have been moved into the base class, believing these facilities would be used other language implementations. [They are indeed re-used by C++.] gdb/ChangeLog: * compile/compile-c-support.c (c_get_compile_context): Use `new' instead of `new_compile_instance'. * compile/compile-c-symbols.c (compile_instance::insert_symbol_error): Update description. If the symbol error map is not initialized, create it. (generate_c_for_for_one_symbol): Do not check/initialize the symbol error map. * compile/compile-c-types.c (compile_c_instance): Make a class. Update all callers. (compile_instance::compile_instance): Initialize the type cache. (get_cached_type): New function. (insert_type): Update description. (compile_c_instance::m_default_cflags): Define. (convert_type): Update description. Use get_cached_type. (delete_instance): Moved to destructor. (new_compile_instance): Moved to constructor. * compile/compile-c.h (compile_c_instance): Make class inheriting from compile_instance. : Remove field. : Move to base class. : Rename to `m_plugin' and remove pointer type. * compile/compile-internal.h (compile_instance): Make class. : Define. : Rename to `m_gcc_fe'. : Add `m_' prefix. : New fields, moved from compile_c_instance. : Remove. (convert_type, new_compile_instance): Remove. * compile/compile.c (cleanup_compile_instance): Remove. (compile_to_object): Use unique_ptr to eliminate cleanups. (compile_instance::set_print_callback, compile_instance::version) (compile_instance::set_verbose) (compile_instance::set_driver_filename) (compile_instance::set_triplet_regexp) (compile_instance::set_arguments) (compile_instance::set_source_file) (compile_instance::compile): Define. commit 18cdc6d8f8e8b55e84783e0a2b5a80b41a0e917b Author: Keith Seitz Date: Fri Aug 10 10:45:36 2018 -0700 Add a C++ wrapper for GCC C plug-in This patch introduces a new class which wraps the GCC C compile plug-in. It is a little unfortunate that this all happened in between the time that GCC moved to C++ and GDB moved to C++, leaving us with an ABI promise to support a C-like interface. The hope is to isolate GDB from some of this should it change in the future. Broadly, what this does is replace calls like: C_CTX (context)->c_ops->operation (C_CTX (context), ...); with calls that now look like: context->c_plugin->operation (...); This API will be further refined in following patches when struct compile_instance/compile_c_instance are changed into classes. gdb/ChangeLog: * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h. * compile/compile-c-types.c: Define GCC_METHODN macros and include gcc-c-fe.def to define C plugin. (delete_instance): Delete `c_plugin'. (new_compile_instance): Initialize `c_plugin'. * compile/compile-c.h: Include gcc_c_plugin.h. (struct compile_c_instance) : New member. * gcc-c-plugin.h: New file. Update all callers with API change. commit b7dc48b4a8006abb552c5e7d22f9841c86f2537d Author: Keith Seitz Date: Fri Aug 10 10:43:17 2018 -0700 Move C-related declarations to compile-c.h This patch simply moves a bunch of C language-related declarations from the various compile header files into a new C-specific header, compile-c.h. gdb/ChangeLog: * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ... (HFILES_NO_SRCDIR): ... to here. Add compile-internal.h and compile-c.h. * compile/compile-c-support.c: Include compile-c.h. * compile/compile-c-symbols.c: Include compile-c.h. (generate_c_for_variable_locations): Update comment. * compile/compile-c-types.c: Include compile-c.h. * compile/compile-c.h: New file -- moved C language declarations from other files here. * compile/compile-internal.h: Do not include hashtab.h or common/enum-flags.h. (gcc_qualifiers_flags, struct compile_c_instance, C_CTX) (gcc_convert_symbol, gcc_symbol_address) (generate_c_for_variable_locations, c_get_mode_for_size) (c_get_range_decl_name): Definitions moved to compile-c.h. * compile/compile-loc2c.c: Include compile-c.h. commit 6f36b6d29fdff5be77ec6dfdac693d5e4b5dee50 Author: Keith Seitz Date: Fri Aug 10 10:41:37 2018 -0700 Rename symbol_substitution_name This patch simply adds a "c_" prefix to symbol_substitution_name to clarify that this is a C language-related function. gdb/ChangeLog: * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ... (c_symbol_substitution_name): ... this. Update all callers. commit bd923e510884a92514a4f9d90d79592d248d5d92 Author: Keith Seitz Date: Fri Aug 10 10:38:56 2018 -0700 Return unique_xmalloc_ptr for generate_c_for_variable_locations This patch eliminates two cleanups in compile/ by changing generate_c_for_variable_locations so that it returns a unique_ptr. gdb/ChangeLog: * compile/compile-c-support.c (c_compute_program): Use unique_xmalloc_ptr to eliminate cleanup. * compile/compile-c-symbols.c (generate_c_for_variable_locations): Return a unique_xmalloc_ptr and eliminate cleanup. * compile/compile-internal.h (generate_c_for_variable_locations): Return unique_xmalloc_ptr and update description. commit d7f449c026181e14162a67407842462e4bc0d8bd Author: H.J. Lu Date: Fri Aug 10 11:03:50 2018 -0700 x86: Don't display --32/--64/--x32 without BFD64 For 32-bit x86 assembler, --64 and --x32 are unsupported if BFD64 is undefined. Even if BFD64 is defined, --64 and --x32 still may not be supported if x86-64 support isn't compiled in: [hjl@gnu-hsw-1 gas]$ ./as-new --64 -o x.o x.s Assembler messages: Fatal error: no compiled in support for x86_64 [hjl@gnu-hsw-1 gas]$ ./as-new --x32 -o x.o x.s Assembler messages: Fatal error: no compiled in support for 32bit x86_64 [hjl@gnu-hsw-1 gas]$ This patch removes --32/--64/--x32 from md_show_usage if BFD64 is undefined and runs code64-inval only if BFD64 is undefined. * config/tc-i386.c (md_show_usage): Don't display --32/--64/--x32 if BFD64 is undefined. * testsuite/gas/i386/i386.exp (gas_bfd64_check): New. Run code64-inval if gas_bfd64_check fails. commit 19449d7c67690c641b1ec9c13ff3531677a5afcc Author: H.J. Lu Date: Fri Aug 10 10:23:11 2018 -0700 x86: Replace evex-no-scale.s with evex-no-scale-[32|64].s .if is_64bit vmovaps -1024(%rip), %zmm0 vmovaps 64(,%rax), %zmm0 vmovaps 64(,%riz), %zmm0 .endif doesn't with i686-elf cross binutils on 64-bit hosts: evex-no-scale.s: Assembler messages: evex-no-scale.s:10: Error: bad register name `%rip)' evex-no-scale.s:11: Error: bad register name `%rax)' evex-no-scale.s:12: Error: bad register name `%riz)' This patch replaces evex-no-scale.s with evex-no-scale-32.s and evex-no-scale-64.s. * testsuite/gas/i386/evex-no-scale-32.d: Don't use evex-no-scale.s. * testsuite/gas/i386/evex-no-scale-64.d: Likewise. * testsuite/gas/i386/evex-no-scale-32.s: New file. * testsuite/gas/i386/evex-no-scale-64.s: Likewise. * testsuite/gas/i386/evex-no-scale.s: Removed. commit 9c973a29df61c411e24ce51b13401333c6f6e0e7 Author: H.J. Lu Date: Thu Aug 9 04:29:43 2018 -0700 Always use align_size as pr_datasz for GNU_PROPERTY_STACK_SIZE For GNU_PROPERTY_STACK_SIZE, pr_datasz is the same as align_size, which is 8 bytes for 64-bit ELF binaries and 4 bytes for 32-bit ELF binaries, Use align_size as pr_datasz for GNU_PROPERTY_STACK_SIZE to convert .note.gnu.property section. bfd/ PR binutils/23494 * elf-properties.c (elf_get_gnu_property_section_size): Always use align_size as pr_datasz for GNU_PROPERTY_STACK_SIZE. (elf_write_gnu_properties): Likewise. binutils/ PR binutils/23494 * testsuite/binutils-all/x86-64/pr23494c.s: New file. * testsuite/binutils-all/x86-64/pr23494e-x32.d: Likewise. * testsuite/binutils-all/x86-64/pr23494e.d: Likewise. commit 11459a79d97842a64961a35472bb8d67ed0fcf22 Author: H.J. Lu Date: Fri Aug 10 07:53:50 2018 -0700 Skip PR binutils/23494 tests for nacl targets PR binutils/23494 tests pass "-O elf64-x86-64" and "-O elf32-x86-64" to objcopy which may not supported for nacl targets. This patch skips these tests for nacl targets. * testsuite/binutils-all/x86-64/pr23494a-x32.d: Skip nacl targets. * testsuite/binutils-all/x86-64/pr23494a.d: Likewise. * testsuite/binutils-all/x86-64/pr23494b-x32.d: Likewise. * testsuite/binutils-all/x86-64/pr23494b.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. commit dbd534fee4a3d6479e4a84f0cd79bd188d94f4d0 Author: Alan Hayward Date: Fri Aug 10 10:17:12 2018 +0100 Rename size in get_core_register_section Make it clearer that the size field indicates the size of the section. gdb/ * corelow.c (core_target::get_core_register_section): Rename min_size to section_min_size. commit db850b68654e26232a1fbd8c182ce0b4dfc52a23 Author: GDB Administrator Date: Fri Aug 10 00:00:26 2018 +0000 Automatic date update in version.in commit 52a187f8e78eeaefa38bdaff04aae1fd9a69d788 Author: Jim Wilson Date: Thu Aug 9 13:37:45 2018 -0700 RISC-V: Add configure support for riscv*-linux*. This adds the target and native configure support, and the NEWS entries for the new target and native configurations. gdb/ * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c. (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c. * NEWS: Mention new GNU/Linux RISC-V target. * configure.host: Add riscv*-*-linux*. * configure.nat: Add riscv*. * configure.tgt: Add riscv*-*-linux*. commit 3c77f97eb0825f5808f4a3a01aa5cc2fcffd5ed4 Author: Jim Wilson Date: Thu Aug 9 13:35:24 2018 -0700 RISC-V: Add native linux support. Add initial native support for riscv*-linux*. gdb/ * riscv-linux-nat.c: New file. commit 90ad36544c2fe5ecc423d99058116514d9fe718b Author: Jim Wilson Date: Thu Aug 9 13:33:36 2018 -0700 RISC-V: Add linux target support. Add initial target support for riscv*-linux*. gdb/ * riscv-linux-tdep.c: New file. commit aff4e1751ffeae9684b80d5f528ee07bac34a5f8 Author: Andrew Burgess Date: Wed Jul 11 10:41:55 2018 +0100 gdb: Make infrun.c:resume function static Make the infrun.c:resume function static, and update the header comment on the infrun.c:proceed function. There should be no user visible change after this commit. gdb/ChangeLog: * infrun.c (resume): Make static, add forward declaration. (proceed): Update header comment. * infrun.h (resume): Delete declaration. commit 06ab921988f5dfd64630a0b92d05dd94792e0a08 Author: Tom Tromey Date: Thu Aug 9 10:46:01 2018 -0600 Minor formatting fixes in riscv-tdep.h This fixes some minor formatting issues in riscv-tdep.h, including one pointed out by ARI. ChangeLog 2018-08-09 Tom Tromey * riscv-tdep.h: Minor formatting fixes. commit 83c8d318d1aefecf3cc43015226c10bf4126df87 Author: Simon Marchi Date: Thu Aug 9 13:17:21 2018 -0400 Fix some gettext ARI warnings ARI produces this warning for the lines touched in this patch: warning: gettext: All messages should be marked up with _. However, in these cases, the message is not translatable (they are syscall names). Adding an extra set of parentheses silences the warning. gdb/ChangeLog: * common/scoped_mmap.c (mmap_file): Silence ARI warning. * dwarf-index-cache.c (create_dir_and_check): Likewise. (test_mkdir_recursive): Likewise. * dwarf-index-write.c (write_psymtabs_to_index): Likewise. commit 3a53fb12c870d67537c883b9abd80d6a4ba408ff Author: H.J. Lu Date: Thu Aug 9 09:57:11 2018 -0700 as --help: Display default option for --elf-stt-common= * as.c (show_usage): Display default option for --elf-stt-common=. commit 7c5c05effd92cc5732bee527303077fc2e6b62af Author: H.J. Lu Date: Thu Aug 9 09:48:12 2018 -0700 x86: Display default x86-specific options for "as --help" * config/tc-i386.c (md_show_usage): Display default options. commit 5ff2bbae198cbd615885f26aa7d065b8cec8c278 Author: Andrew Burgess Date: Wed Jul 25 17:33:08 2018 +0100 gdb: Check element of optimised out vla exists If a vla is not in memory, and the upper bound is not defined, then we can't know that an array element exists or not, and we should not try to access the array element. One case where this happens is for arrays that have been optimised out, the array will then have VALUE_LVAL of not_lval, and an undefined upper bound, if we then try to access an element of this array we will index into random GDB memory. An argument could be made that even for arrays that are in inferior memory, if the upper bound is not defined then we should not try to access the array element, however, in some of the Fortran tests, it seems as though we do rely indexing from a base address into an array which has no bounds defined. In this case GDBs standard protection for detecting unreadable target memory prevents bad thing happening. gdb/ChangeLog: * valarith.c (value_subscripted_rvalue): If an array is not in memory, and we don't know the upper bound, then we can't know that the requested element exists or not. gdb/testsuite/ChangeLog: * gdb.base/vla-optimized-out.exp: Add new test. commit e5bbcd0f04911d671d0c43d57df9886c06018705 Author: Andrew Burgess Date: Sat Jul 28 20:55:04 2018 +0100 gdb: Merge similar tests into a single test script The three test scripts: gdb/testsuite/gdb.base/vla-optimized-out.exp gdb/testsuite/gdb.base/vla-optimized-out-o3.exp gdb/testsuite/gdb.base/vla-optimized-out-o3-strict.exp are all pretty similar, with differences in the compile flags used, and some of the expected results. Instead of maintaining 3 files, merge them into a single test script, and use parameters to control the test behaviour. gdb/testsuite/ChangeLog: * gdb.base/vla-optimized-out-o3.exp: Delete. * gdb.base/vla-optimized-out-o3-strict.exp: Delete. * gdb.base/vla-optimized-out.exp: Extend to cover all of the deleted tests. commit 57285adece935b4c827d02eae10c6ae6d60c92fc Author: Richard Earnshaw Date: Thu Aug 9 16:51:09 2018 +0100 arm - Add some comments about the versions of ARM ELF that define various e_flags values This patch adds a few comments to include/elf/arm.h to clarify which versions of the ARM ELF specification defined which headers. Given that the EABI is pretty ubiquitous these days, I've marked anything not based on that as deprecated. There are no plans to remove any deprecated definitions at this time, but any new development shouldn't be building upon support for deprecated definitions remaining in the long term. * elf/arm.h: Updated comments for e_flags definitions. commit 6404ab993797d1d6cd3d9e97cc281e3cb6226c12 Author: H.J. Lu Date: Wed Aug 8 21:00:04 2018 -0700 Convert .note.gnu.property section between ELF32 and ELF64 .note.gnu.property section has different alignments and section sizes for 32-bit and 64-bit ELF binaries. This patch updated bfd_convert_section_size and bfd_convert_section_contents to properly convert .note.gnu.property section between 32-bit and 64-bit ELF binaries. bfd/ PR binutils/23494 * bfd.c (bfd_convert_section_size): Check BFD_DECOMPRESS after calling _bfd_elf_convert_gnu_property_size to convert .note.gnu.property section size. (bfd_convert_section_contents): Check BFD_DECOMPRESS after calling _bfd_elf_convert_gnu_properties to convert .note.gnu.property section. * elf-bfd.h (_bfd_elf_convert_gnu_property_size): New prototype. (_bfd_elf_convert_gnu_properties): Likewise. * elf-properties.c (elf_get_gnu_property_section_size): New function. (elf_write_gnu_properties): Likewise. (_bfd_elf_convert_gnu_property_size): Likewise. (_bfd_elf_convert_gnu_properties): Likewise. (_bfd_elf_link_setup_gnu_properties): Use elf_get_gnu_property_section_size and elf_write_gnu_properties. binutils/ PR binutils/23494 * testsuite/binutils-all/x86-64/pr23494a-x32.d: New file. * testsuite/binutils-all/x86-64/pr23494a.d: Likewise. * testsuite/binutils-all/x86-64/pr23494a.s: Likewise. * testsuite/binutils-all/x86-64/pr23494b-x32.d: Likewise. * testsuite/binutils-all/x86-64/pr23494b.d: Likewise. * testsuite/binutils-all/x86-64/pr23494b.s: 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. commit f40f4a11d12025d18be2b0f9072f6ddcc94d3cdb Author: GDB Administrator Date: Thu Aug 9 00:00:26 2018 +0000 Automatic date update in version.in commit fdbac7d8d1c9403a857db6e0c1dc92ce7bb65925 Author: Simon Marchi Date: Wed Aug 8 18:13:18 2018 -0400 Fix some comments in target.c Fix a typo and add a missing one. gdb/ChangeLog: * target.c (str_comma_list_concat_elem): Fix typo in comment. (target_options_to_string): Add comment. commit 83202f7ae849e538c04656923312d0eab32f6cea Author: Tom Tromey Date: Wed Aug 8 11:57:39 2018 -0600 Check result of "write" Some distros enable _FORTIFY_SOURCE by default, which caught a failure to check the result of "write" in scoped_mmap-selftests.c. This patch fixes the problem. ChangeLog 2018-08-08 Tom Tromey * unittests/scoped_mmap-selftests.c: Check result of "write". commit 5c720ed8861b461193a507e61e3665b1cc840055 Author: Jim Wilson Date: Wed Aug 8 10:53:12 2018 -0700 RISC-V: Add software single step support. This adds software single step support that is needed by the linux native port. This is modeled after equivalent code in the MIPS port. This also fixes a few bugs in the compressed instruction decode support. Some instructions are RV32/RV64 specific, and this wasn't being checked. Also, a few instructions were accidentally using the non-compressed is_* function. This has been tested on a HiFive Unleashed running Fedora, by putting a breakpoint on start, typing stepi, and then holding down the return key until it finishes, and observing that I see everything I expect to see along the way. There is a problem in _dl_addr where I get into an infinite loop, but it seems to be some synchronization code that doesn't agree with single step, so I have to find the end of the loop, put a breakpoint there, continue, and then single step again until the end. gdb/ * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes. (decode_register_index_short): New. (decode_j_type_insn, decode_cj_type_insn): New. (decode_b_type_insn, decode_cb_type_insn): New. (riscv_insn::decode): Add support for jumps, branches, lr, and sc. New local xlen. Check xlen when decoding ambiguous compressed insns. In compressed decode, use is_c_lui_insn instead of is_lui_insn, and is_c_sw_insn instead of is_sw_insn. (riscv_next_pc, riscv_next_pc_atomic_sequence): New. (riscv_software_single_step): New. * riscv-tdep.h (riscv_software_single_step): Declare. commit 411baa470ef354e50b488c0c736ac7af8d856ded Author: Jim Wilson Date: Wed Aug 8 10:48:09 2018 -0700 RISC-V: Make riscv_isa_xlen a global function. This allows the function to be used from riscv OS files, which also need to depend on XLEN size. gdb/ * riscv-tdep.c (riscv_isa_xlen): Drop static. * riscv-tdep.h (riscv_isa_xlen): Add extern declaration. commit f384a1f025084a4a6370d7ada6dc7198ad3454e4 Author: Kevin Buettner Date: Mon Jul 30 15:35:45 2018 -0700 Add support for DW_OP_GNU_variable_value to readelf As indicated by the subject, this patch adds support for the DWARF expression opcode DW_OP_GNU_variable_value to readelf. It's pretty much a copy/paste of DW_OP_call_ref with the obvious name changes for the printf statements. The FIXME comment comes from that copy/paste. binutils/ChangeLog: * dwarf.c (decode_location_expresion): Add case for DW_OP_GNU_variable_value. commit f7309df20c4e787041cedc4a6aced89c15259e54 Author: H.J. Lu Date: Wed Aug 8 06:09:15 2018 -0700 x86: Properly merge GNU_PROPERTY_X86_ISA_1_USED Without the GNU_PROPERTY_X86_ISA_1_USED property, all ISAs may be used. If a bit in the GNU_PROPERTY_X86_ISA_1_USED property is unset, the corresponding x86 instruction set isn’t used. When merging properties from 2 input files and one input file doesn't have the GNU_PROPERTY_X86_ISA_1_USED property, the output file shouldn't have it neither. This patch removes the GNU_PROPERTY_X86_ISA_1_USED property if an input file doesn't have it. This patch replaces the GNU_PROPERTY_X86_ISA_1_USED property with the GNU_PROPERTY_X86_ISA_1_NEEDED property which is the minimum ISA requirement. bfd/ PR ld/23486 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove GNU_PROPERTY_X86_ISA_1_USED if an input file doesn't have it. (_bfd_x86_elf_link_setup_gnu_properties): Adding the GNU_PROPERTY_X86_ISA_1_NEEDED, instead of GNU_PROPERTY_X86_ISA_1_USED, property. ld/ PR ld/23486 * testsuite/ld-i386/i386.exp: Run PR ld/23486 tests. * testsuite/ld-x86-64/x86-64.exp: Likewise. * testsuite/ld-i386/pr23486a.d: New file. * testsuite/ld-i386/pr23486b.d: Likewise. * testsuite/ld-x86-64/pr23486a-x32.d: Likewise. * testsuite/ld-x86-64/pr23486a.d: Likewise. * testsuite/ld-x86-64/pr23486a.s: Likewise. * testsuite/ld-x86-64/pr23486b-x32.d: Likewise. * testsuite/ld-x86-64/pr23486b.d: Likewise. * testsuite/ld-x86-64/pr23486b.s: Likewise. * testsuite/ld-i386/property-3.r: Remove "x86 ISA used". * testsuite/ld-i386/property-4.r: Likewise. * testsuite/ld-i386/property-5.r: Likewise. * testsuite/ld-i386/property-x86-ibt3a.d: Likewise. * testsuite/ld-i386/property-x86-ibt3b.d: Likewise. * testsuite/ld-i386/property-x86-shstk3a.d: Likewise. * testsuite/ld-i386/property-x86-shstk3b.d: Likewise. * testsuite/ld-x86-64/property-3.r: Likewise. * testsuite/ld-x86-64/property-4.r: Likewise. * testsuite/ld-x86-64/property-5.r: 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-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. commit 9d4a934ce604afea155c39f06834cdbc47e92a6e Author: Andrew Burgess Date: Fri Jun 22 20:39:26 2018 +0100 gdb: Fix assert for extended-remote target (PR gdb/18050) Consider the following GDB session: (gdb) target extended-remote :2347 (gdb) file /path/to/exe (gdb) set remote exec-file /path/to/exe (gdb) set detach-on-fork off (gdb) break breakpt (gdb) run # ... hits breakpoint (gdb) info inferiors Num Description Executable * 1 process 17001 /path/to/exe 2 process 17002 /path/to/exe (gdb) kill (gdb) info inferiors Num Description Executable * 1 /path/to/exe 2 process 17002 /path/to/exe (gdb) target extended-remote :2348 ../../src/gdb/thread.c:660: internal-error: thread_info* any_thread_of_process(int): Assertion `pid != 0' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Or, from bug PR gdb/18050: (gdb) start (gdb) add-inferior -exec /path/to/exe (gdb) target extended-remote :2347 ../../src/gdb/thread.c:660: internal-error: thread_info* any_thread_of_process(int): Assertion `pid != 0' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. The issue is calling target.c:dispose_inferior with a killed inferior in the inferior list. This assertion is fixed in this commit. The new test for this issue only runs on platforms that support 'detach-on-fork', and when using '--target_board=native-extended-gdbserver'. gdb/ChangeLog: PR gdb/18050: * target.c (dispose_inferior): Don't dispose of inferiors that are already killed. gdb/testsuite/ChangeLog: PR gdb/18050: * gdb.server/extended-remote-restart.c: New file. * gdb.server/extended-remote-restart.exp: New file. commit ff36536c9273734af6f84832b583c10f44c5010e Author: Szabolcs Nagy Date: Wed Aug 8 11:14:20 2018 +0100 Fix gdb/remote.c build failure Add const qualifier to fix /S/gdb/common/gdb_locale.h:35:27: error: deprecated conversion from string constant to 'char*' [-Werror=write-strings] # define _(String) (String) ^ /S/gdb/remote.c:12844:19: note: in expansion of macro '_' char *err_msg = _("Tracepoint packet too large for target."); ^ gdb/ChangeLog: * remote.c (remote_target::download_tracepoint): Change char* to const char*. commit f6f9ed015ea683ee2b00591aa31a4cacedb7a810 Author: Tulio Magno Quites Machado Filho Date: Tue Aug 7 22:39:23 2018 -0700 Fix "may be used uninitialized" warning. * object.cc (Sized_relobj_file::map_to_kept_section): Initialize kept_file. commit a9fc784bacd65a47c0d524c4a048453d1d32d765 Author: Cary Coutant Date: Tue Aug 7 21:35:12 2018 -0700 Properly merge GNU_PROPERTY_X86_ISA_1_USED (x86_64). gold/ PR ld/23486 * x86_64.cc (Target_x86_64::Target_x86_64): Initialize object_isa_1_used_. (Target_x86_64::object_isa_1_used_): New data member. (Target_x86_64::record_gnu_property): Save ISA_1_USED bits for object. (Target_x86_64::merge_gnu_properties): Merge ISA_1_USED bits. commit 045cf012860ed0fd6c01892505cab747ee27a21d Author: Simon Marchi Date: Tue Aug 7 22:45:43 2018 -0400 Fix gdb.fortran/nested-funcs.exp failure Commit 87d6a7aa931f ("Add DWARF index cache") broke gdb.fortran/nested-funcs.exp. Because of the new "set index-cache" command, the expression "set index = 42" now fails: set index = 42 Undefined set index-cache command: "= 42". Try "help set index-cache". (gdb) PASS: gdb.fortran/nested-funcs.exp: set index = 42 Fix it by changing it to "set variable index = 42". Also, use gdb_test_no_output to confirm that it worked (since that particular test wrongfully passed). gdb/testsuite/ChangeLog: * gdb.fortran/nested-funcs.exp: Replace "set index = 42" with "set variable index = 42". commit 09ce46f230fee766c386384cd1f5672d12fde276 Author: Simon Marchi Date: Tue Aug 7 21:37:40 2018 -0400 Make target_options_to_string return an std::string Return an std::string instead of a char *, saving some manual freeing. I only manually tested with "set debug target 1" and "set debug lin-lwp 1", since this only deals with debug output. gdb/ChangeLog: * target.h (target_options_to_string): Return an std::string. * target.c (str_comma_list_concat_elem): Return void, use std::string. (do_option): Likewise. (target_options_to_string): Return an std::string. * linux-nat.c (linux_nat_target::wait): Adjust. * target-debug.h (target_debug_print_options): Adjust. commit b825f3a90e33ab6f333d12d676d51419f8fed77b Author: GDB Administrator Date: Wed Aug 8 00:00:29 2018 +0000 Automatic date update in version.in commit 9c61296405d4299b7000e445a6e07c0232bb0342 Author: Tom Tromey Date: Tue Aug 7 12:07:36 2018 -0600 Allow CPPFLAGS to be set on the make command line While looking into PR build/8751 (which seems to be fixed), I noticed that it's not possible to change CPPFLAGS for gdb on the "make" command line. It's reasonable to want to do this sometimes, and I think this patch should suffice. gdb/ChangeLog 2018-08-07 Tom Tromey * Makefile.in (CPPFLAGS): New variable. (INTERNAL_CPPFLAGS): Use it. commit 7d11235d04ded4832430cd40013ca785a3896e4d Author: Simon Marchi Date: Tue Aug 7 18:15:28 2018 -0400 Add doc and news for DWARF index cache New in v3: - Address Eli's comments. This patch adds doc and news for the feature introduced by the previous patch. gdb/ChangeLog: * NEWS: Mention the index cache. gdb/doc/ChangeLog: * gdb.texinfo (Index Files Speed Up GDB): Add section about symbol index cache. commit 87d6a7aa931f2bd4cfe784344b6a2cd595f6f2c9 Author: Simon Marchi Date: Tue Aug 7 18:14:20 2018 -0400 Add DWARF index cache New in v3: - Remove things related to the dwarf-5 format. - Fix compilation on mingw (scoped_mmap.c). GDB can generate indexes for DWARF debug information, which, when integrated in the original binary, can speed up loading object files. This can be done using the gdb-add-index script or directly by the linker itself. However, not many people know about this. And even among those who do, because it requires additional steps, I don't know a lot of people who actually go through that trouble. To help make using the DWARF index more transparent, this patch introduces a DWARF index cache. When enabled, loading an index-less binary in GDB will automatically save an index file in ~/.cache/gdb. When loading that same object file again, the index file will be looked up and used to load the DWARF index. You therefore get the benefit of the DWARF index without having to do additional manual steps or modifying your build system. When an index section is already present in the file, GDB will prefer that one over looking up the cache. When doing my edit-compile-debug cycle, I often debug multiple times the same build, so the cache helps reducing the load time of the debug sessions after the first one. - The saved index file is exactly the same as the output of the "save gdb-index" command. It is therefore the exact same content that would be found in the .gdb_index or .debug_names section. We just leave it as a standalone file instead of merging it in the binary. - The cache is just a directory with files named after the object file's build-id. It is not possible to save/load the index for an object file without build-id in the cache. - The cache uses the gdb index format. The problem with the dwarf-5 format is that we can generate an addendum to the .debug_str section that you're supposed to integrate to the original binary. This complicates a little bit loading the data from the cached index files, so I would leave this for later. - The size taken up by ~/.cache/gdb is not limited. I was thinking we could add configurable limit (like ccache does), but that would come after. Also, maybe a command to flush the cache. - The cache is disabled by default. I think once it's been out there and tested for a while, it could be turned on by default, so that everybody can enjoy it. - The code was made to follow the XDG specification: if the XDG_CACHE_HOME environment variable, it is used, otherwise it falls back to ~/.cache/gdb. It is possible to change it using "set index-cache directory". On other OSes than GNU/Linux, ~/.cache may not be the best place to put such data. On macOS it should probably default to ~/Library/Caches/... On Windows, %LocalAppData%/... I don't intend to do this part, but further patches are welcome. - I think that we need to be careful that multiple instances of GDB don't interfere with each other (not far fetched at all if you run GDB in some automated script) and the cache is always coherent (either the file is not found, or it is found and entirely valid). Writing the file directly to its final location seems like a recipe for failure. One GDB could read a file in the index while it is being written by another GDB. To mitigate this, I made write_psymtabs_to_index write to temporary files and rename them once it's done. Two GDB instances writing the index for the same file should not step on each other's toes (the last file to be renamed will stay). A GDB looking up a file will only see a complete file or no file. Also, if GDB crashes while generating the index file, it will leave a work-in-progress file, but it won't be picked up by other instances looking up in the cache. gdb/ChangeLog: * common/pathstuff.h (get_standard_cache_dir): New. * common/pathstuff.c (get_standard_cache_dir): New. * build-id.h (build_id_to_string): New. * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX, DEBUG_STR_SUFFIX): Move to here. * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX, DEBUG_STR_SUFFIX): Move from there. (write_psymtabs_to_index): Make non-static, add basename parameter. Write to temporary files, rename when done. (save_gdb_index_command): Adjust call to write_psymtabs_to_index. * dwarf2read.h (dwarf2_per_objfile) : New field. * dwarf2read.c (dwz_file) : New field. (get_gdb_index_contents_from_cache): New. (get_gdb_index_contents_from_cache_dwz): New. (dwarf2_initialize_objfile): Read index from cache. (dwarf2_build_psymtabs): Save to index. * dwarf-index-cache.h: New file. * dwarf-index-cache.c: New file. * dwarf-index-write.h: New file. gdb/testsuite/ChangeLog: * boards/index-cache-gdb.exp: New file. * gdb.dwarf2/index-cache.exp: New file. * gdb.dwarf2/index-cache.c: New file. * gdb.base/maint.exp: Check if we are using the index cache. commit 8a99096f31142d7a58962066c801a35b4c5c8bfa Author: Simon Marchi Date: Tue Aug 7 18:13:52 2018 -0400 Import gnulib's mkdir module The following patch makes use of the mkdir function. Import the mkdir gnulib module to ensure proper operation on all platforms. gdb/ChangeLog: * gnulib/aclocal.m4: Re-generate. * gnulib/config.in: Re-generate. * gnulib/configure: Re-generate. * gnulib/import/Makefile.am: Re-generate. * gnulib/import/Makefile.in: Re-generate. * gnulib/import/m4/gnulib-cache.m4: Re-generate. * gnulib/import/m4/gnulib-comp.m4: Re-generate. * gnulib/import/m4/mkdir.m4: New file. * gnulib/import/mkdir.c: New file. * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir module. commit 5c831bb1eb6b22cd1705b98188b7d1b0633e7c54 Author: Simon Marchi Date: Tue Aug 7 18:10:29 2018 -0400 Introduce mmap_file function New in v2: - As Tom pointed out, we don't need to keep the fd around after mmapping. This simplifies things quite a bit, since we don't need a new class. It's now just a function that returns a scoped_mmap. We already have scoped_mmap, which is a thin RAII layer over mmap. If one simply wants to mmap an entire file for reading, it takes a bit of boilerplate. This patch introduces the mmap_file function to make this easier. gdb/ChangeLog: * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c. * common/scoped_mmap.c: New file. * common/scoped_mmap.h (destroy): New method. (~scoped_mmap, reset): Use destroy. (scoped_mmap): New move constructor. (mmap_file): New declaration. * unittests/scoped_mmap-selftests.c (test_normal, test_invalid_filename, run_tests): New functions. (_initialize_scoped_mmap_selftests): Register selftest. commit 4485a1c1d8d2b4a20fca2e2b7d1aabcff383b222 Author: Simon Marchi Date: Tue Aug 7 18:08:57 2018 -0400 Make index reading functions more modular New in v3: - Remove changed to dwarf-5 functions. The read_gdb_index_from_section and read_debug_names_from_section functions read the index content, as their names state, from sections of object files. A following patch will make it possible to read index content from standalone files. This patch therefore decouples the code that reads the index content from the code that processes that content. Functions dwarf2_read_gdb_index and dwarf2_read_debug_names receive callbacks that are responsible for providing the index contents (for both the main file and the potential dwz file). gdb/ChangeLog: * dwarf2read.c (read_gdb_index_from_section): Rename to... (read_gdb_index_from_buffer): ... this. Remove section parameter, add buffer parameter. (get_gdb_index_contents_ftype, get_gdb_index_contents_dwz_ftype): New typedefs. (dwarf2_read_gdb_index): Add callback parameters to get the index contents. (get_gdb_index_contents_from_section): New. (dwarf2_initialize_objfile): Update call to dwarf2_read_gdb_index. commit 528e15722bf67d126e17218708c0314bcfadbf6a Author: Simon Marchi Date: Tue Aug 7 17:43:08 2018 -0400 Replace some uses of xstrprintf with string_printf This patch replaces some simple uses of xstrprintf with with string_printf, removing the need to do manual memory freeing. The change in ada-lang.c fixes an apparent memory leak. Regtested on the buildbot. gdb/ChangeLog: * common/filestuff.h (gdb_fopen_cloexec): New overload. (gdb_open_cloexec): Likewise. * nat/linux-osdata.c (command_from_pid): Use string_printf. (commandline_from_pid): Likewise. (linux_xfer_osdata_threads): Likewise. (linux_xfer_osdata_fds): Likewise. * ada-lang.c (is_package_name): Likewise. * auxv.c (procfs_xfer_auxv): Likewise. * breakpoint.c (print_one_breakpoint_location): Use uiout::field_fmt. (print_one_catch_solib): Use string_printf. * coff-pe-read.c (add_pe_exported_sym): Likewise. (add_pe_forwarded_sym): Likewise. * dwarf2read.c (create_type_unit_group): Likewise. (build_error_marker_type): Likewise. * infcall.c (get_function_name): Likewise. * valprint.c (print_converted_chars_to_obstack): Likewise. * xtensa-tdep.c (xtensa_register_type): Likewise. commit 96d68bd48c77fa44e517c3380ee8f224cbce00e5 Author: Rainer Orth Date: Tue Aug 7 13:20:40 2018 +0200 Support parallel make check with GNU make 4.2+ I noticed that make -jN check would run make check-single when using GNU make 4.2.1. In the end, it turned out that this is due to this change from the make 4.2 NEWS file: * The amount of parallelism can be determined by querying MAKEFLAGS, even when the job server is enabled (previously MAKEFLAGS would always contain only "-j", with no number, when job server was enabled). The fix is trivial: just accept an optional arg to -j in Makefile.in (saw_dash_j). Tested on i386-pc-solaris2.11 with just make and make -j/-jN with both make 3.82 and 4.2.1. * Makefile.in (saw_dash_j): Allow for GNU make 4.2+ passing -jN in MAKEFLAGS. commit df136d64fa2fd23052d7a5fcb7059c29d8e6385d Author: Alan Modra Date: Mon Aug 6 21:43:51 2018 +0930 PowerPC64 EH info for _notoc linkage stubs This patch generates EH info for the new _notoc linkage stubs, to support unwinding from asynchronous signal handlers. Unwinding through the __tls_get_addr_opt stub was already supported, but that was just a single stub. With multiple stubs the EH opcodes need to be emitted and sized when iterating over stubs, so this is done when emitting and sizing the stub code. Emitting the CIEs and FDEs is done when sizing the stubs, as we did before in order to have the linker generated FDEs indexed in .eh_frame_hdr. I moved the final tweaks to FDEs from ppc64_elf_finish_dynamic_sections to ppc64_elf_build_stubs simply because it's tidier to be done with them at that point. bfd/ * elf64-ppc.c (struct map_stub): Delete tls_get_addr_opt_bctrl. Add lr_restore, eh_size and eh_base. (eh_advance, eh_advance_size): New functions. (build_tls_get_addr_stub): Emit EH info for stub. (ppc_build_one_stub): Likewise for _notoc stubs. (ppc_size_one_stub): Size EH info for stub. (group_sections): Init new map_stub fields. (stub_eh_frame_size): Delete. (ppc64_elf_size_stubs): Size EH info for stubs. Set up dummy EH program for stubs. (ppc64_elf_build_stubs): Reinit new map_stub fields. Set FDE offset to stub section here.. (ppc64_elf_finish_dynamic_sections): ..rather than here. ld/ * testsuite/ld-powerpc/notoc.s: Generate some cfi. * testsuite/ld-powerpc/notoc.d: Adjust. * testsuite/ld-powerpc/notoc.wf: New file. * testsuite/ld-powerpc/powerpc.exp: Run "ext" and "notoc" tests as run_ld_link_tests rather than run_dump_test. commit e81b4c933c1b88e29f4b27627dd9ea0bf9189944 Author: Alan Modra Date: Sun Aug 5 19:44:03 2018 +0930 __tls_get_addr_opt stubs and tocsave optimization This patch fixes a bug in the handling of the __tls_get_addr_opt stub. Calls via this stub don't have a toc restoring instruction following the "bl", and the stub itself doesn't have an initial toc save instruction. Thus it is incorrect to skip over the first instruction when a __tls_get_addr call is marked with a tocsave reloc. * elf64-ppc.c (ppc64_elf_relocate_section): Don't skip first instruction of __tls_get_addr_opt stub. (plt_stub_size): Omit ALWAYS_EMIT_R2SAVE condition when dealing with __tls_get_addr_opt stub. (build_tls_get_addr_stub, ppc_size_one_stub): Likewise. commit 99f8774ccaca5b1bfa4a035c6c705bc7ef47e75f Author: Martin Storsjo Date: Tue Aug 7 08:45:14 2018 +0100 Explain what happens for PE targeted linkers in the case where the user actually tries to provide __CTOR_LIST__ and/or __DTOR_LIST__ symbols. * scripttempl/pe.sc: Improve the comment about overriding __CTOR_LIST__ and __DTOR_LIST__ symbols. * scripttemp/pep.sc: Likewise. commit 8f9ea98bebb629f0e6993be015f042bf45dcdd18 Author: James Patrick Conlon Date: Tue Aug 7 08:34:08 2018 +0100 Correct the parsing of derferred register addressing in the PDP11 assembler. PR 23481 * config/tc-pdp11.c (parse_op_noreg): Check for deferred register addressing before assuming non-deferred addressing. * testsuite/gas/pdp11/pr23481.s: New test source file. * testsuite/gas/pdp11/pr23481.d: New test driver file. * testsuite/gas/pdp11/pdp11.exp: Run the new test. commit 71f6efc44e1bc525313f62dc6e30b4706fc644d3 Author: Nick Clifton Date: Tue Aug 7 08:16:03 2018 +0100 Updated Bulgarian translation for the ld/ directory commit 877877f5d5a7484601d79ad965d8e41af7c4596b Author: GDB Administrator Date: Tue Aug 7 00:00:59 2018 +0000 Automatic date update in version.in commit 3a12c78d1491c4877928e7294c8cdbe8171dfeed Author: Cary Coutant Date: Mon Aug 6 14:08:48 2018 -0700 Add --warn-drop-version option; by default, do not warn when discarding version info. gold/ PR gold/23455 * options.h (General_options): Add --warn-drop-version option. * symtab.cc (Symbol_table::set_dynsym_indexes): Check it. commit a7f25a84f4cc1df5248c46346337f19a2a66af5a Author: Simon Marchi Date: Mon Aug 6 16:54:47 2018 -0400 Fix compilation failure in remote.c A recent patch introduced a few of these: /home/emaisin/src/binutils-gdb/gdb/remote.c:12862:19: error: format not a string literal and no format arguments [-Werror=format-security] error (err_msg); ^ Fix them by replacing the call to error with error ("%s", err_msg); gdb/ChangeLog: * remote.c (remote_target::download_tracepoint): Fix format string errors. commit dc1f2887c513c4c2110d2d997ab33ce36b9696fc Author: Cary Coutant Date: Mon Aug 6 13:36:42 2018 -0700 Fix type checking errors. gold/ * target.h (Sized_target::record_gnu_property): Change first two parameters to unsigned int. * x86_64.cc (Target_x86_64::record_gnu_property): Likewise. commit 296956befef3711ed458c7cba8041fde0dab9c50 Author: Pedro Franco de Carvalho Date: Mon Aug 6 16:24:55 2018 -0300 Allow larger regblock sizes when saving tracefiles The tracefile.c:trace_save function assumes trace_regblock_size won't be larger than the MAX_TRACE_UPLOAD constant, used to size the buffer which holds trace data. This can cause buffer overruns when this is not the case. This patch changes this function so that the larger size is used to size the buffer. gdb/ChangeLog: 2018-08-06 Pedro Franco de Carvalho * tracefile.c: Include common/byte-vector.h. (trace_save): Change type of buf to gdb::byte_vector. Initialize with trace_regblock_size if needed. Update uses of buf. commit a04b9d62a234923826e431a209d396a628661548 Author: Pedro Franco de Carvalho Date: Mon Aug 6 16:24:55 2018 -0300 Variable size for regs mask in collection list This patch changes collection_list to allow larger register masks. The mask is changed from an array to a vector and is initialized to hold the maximum possible remote register number. The stringify method is updated to resize temp_buf if needed. gdb/ChangeLog: 2018-08-06 Pedro Franco de Carvalho * tracepoint.h (collection_list) : Change type to std::vector. * tracepoint.c (collection_list::collection_list): Remove m_regs_mask initializer from initializer list. Resize m_regs_mask using the largest remote register number. (collection_list::add_remote_register): Remove size check on m_regs_mask. Use at to access element. (collection_list::stringify): Change type of temp_buf to gdb::char_vector. Update uses of temp_buf. Resize if needed to stringify the register mask. Use pack_hex_byte for the register mask. commit 4277c4b87addb5354cc47b98d7a73e44cfaf22c2 Author: Pedro Franco de Carvalho Date: Mon Aug 6 16:24:55 2018 -0300 Use remote register numbers in tracepoint mask Currently, tracepoint register masks in the QTDP packets include both internal and remote register numbers, as well as pseudo-register numbers. This patch changes this so that the mask only includes remote register numbers. Register numbers from agent expressions are already set in the mask using remote numbers. Other tracepoint actions used internal numbers, e.g. "collect $regs" or "collect $". To handle pseudoreg numbers, an empty agent expression is created and ax_reg_mask is called for this expression and the pseudoreg. This will cause the ax to set its mask with the corresponding remote raw register numbers (using ax_regs_mask, which calls gdbarch_ax_pseudo_register_collect). If ax_regs_mask and gdbarch_ax_pseudo_register_collect also generate more ax bytecode, the ax is also appended to the collection list. It isn't clear that this was the original intent for gdbarch_ax_pseudo_register_collect, and none of the arches seem to do this, but if this changes in the future, it should work. The patch also refactors the code used by validate_action line to validate axs into a function that is now called from every place that generates axs. Previously, some parts of tracepoint.c that generated axs didn't check if the ax length was greater than MAX_AGENT_EXPR_LEN. gdb/ChangeLog: 2018-08-06 Pedro Franco de Carvalho * tracepoint.h (class collection_list) : Remove. : Declare. : Add scope parameter. * tracepoint.c (encode_actions_1): Likewise. (collection_list::add_register): Rename to ... (collection_list::add_remote_register): ... this. Update comment. (collection_list::add_ax_registers, add_local_register): New methods. (collection_list::add_memrange): Add scope parameter. Call add_local_register instead of add_register. (finalize_tracepoint_aexpr): New function. (collection_list::collect_symbol): Update calls to add_memrange. Call add_local_register instead of add_register. Call add_ax_registers. Call finalize_tracepoint_aexpr. (encode_actions_1): Get remote regnos for $reg action. Call add_remote_register, add_ax_registers, and add_local_register. Update call to add_memrange. Call finalize_tracepoint_aexpr. (validate_actionline): Call finalize_tracepoint_aexpr. commit 3df3a985a475db004706d64f83d9085f99053611 Author: Pedro Franco de Carvalho Date: Mon Aug 6 16:24:55 2018 -0300 Use get_remote_packet_size in download_tracepoint This patch changes the remote target to use the remote packet size to build QTDP packets, and to check if there is enough room for the packet. I changed the function to raise an error if the packet is too small, instead of aborting gdb (through xsnprintf). It isn't clear if gdb will be in a consistent state with respect to the stub after this, since it's possible that some packets will be sent but not others, and there could be an incomplete tracepoint on the stub. The char array used to build the packets is changed to a gdb::char_vector and sized with the result from get_remote_packet_size. When checking if the buffer is large enough to hold the tracepoint condition agent expression, the length of the expression is multiplied by two, since it is encoded with two hex digits per expression byte. For simplicity, I assume that the result won't overflow, which can happen for very long condition expressions. gdb/ChangeLog: 2018-08-06 Pedro Franco de Carvalho * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE. Replace array buf with gdb::char_vector buf, of size get_remote_packet_size (). Replace references to buf and BUF_SIZE to buf.data () and buf.size (). Replace strcpy, strcat and xsnprintf with snprintf. Raise errors if the buffer is too small. commit aa6f3694ce867884e43d1c0406c64df08ea24bd3 Author: Pedro Franco de Carvalho Date: Mon Aug 6 16:24:55 2018 -0300 Remove trailing '-' from the last QTDP action packet The has_more predicate in remote_target::download_tracepoint always evaluates to true, so the last action packet will be sent with a trailing '-'. This patch changes the predicate to remove the last trailing '-'. gdb/ChangeLog: 2018-08-06 Pedro Franco de Carvalho * remote.c (remote_target::download_tracepoint): Fix the has_more predicate in the QTDP action list iteration. commit 05abfc39c719e740530000059bb963ad33462479 Author: Pedro Franco de Carvalho Date: Mon Aug 6 16:24:55 2018 -0300 Fix indentation in remote_target::download_tracepoint gdb/ChangeLog: 2018-08-06 Pedro Franco de Carvalho * remote.c (remote_target::download_tracepoint): Fix indentation in for block. commit 02d7a79e1b93240729a52246432d9a84583bcf82 Author: Claudiu Zissulescu Date: Mon Aug 6 17:07:34 2018 +0300 Update binutils/MAINTAINERS for ARC. binutils/ * MAINTAINERS: Add myself as ARC maintainer. commit 5a6996172e6294ea37054b1a9caa3a923a8fe399 Author: Rainer Orth Date: Mon Aug 6 16:05:16 2018 +0200 Update dg-extract-results.* from gcc When looking at the gdb.sum file produced by dg-extract-results.sh on Solaris 11/x86, I noticed some wrong sorting, like this: PASS: gdb.ada/addr_arith.exp: print something'address + 0 PASS: gdb.ada/addr_arith.exp: print 0 + something'address PASS: gdb.ada/addr_arith.exp: print something'address - 0 PASS: gdb.ada/addr_arith.exp: print 0 - something'address Looking closer, I noticed that while dg-extract-results.sh had been copied over from contrib in the gcc repo, the corresponding dg-extract-results.py file had not. The latter not only fixes the sorting problem I'd observed, but is also way faster than the shell version (like a factor of 50 faster). Therefore I propose to update both files from the gcc repo. The changes to the .sh version are trivial, just counting the number of DejaGnu ERROR lines, too. The files are moved to toplevel contrib: * This way, they can easily be used should someone decide to parallelize one or more of the binutils, gas, or ld testsuites. * They are less easily overlooked for updates from the gcc repo when they reside in the same place in both. * The test_summary script needs to live in contrib since the toplevel Makefile's mail-report.log target expects it there. Tested on amd64-pc-solaris2.11 with make -j16 check and make -j16 -k RACY_ITER=5 check gdb/testsuite: * dg-extract-results.sh: Move to toplevel contrib. * Makefile.in (check-parallel): Reflect dg-extract-results.sh move. * Makefile.in (check-parallel-racy): Likewise. contrib: * dg-extract-results.sh: Move from gdb/testsuite. Update from gcc repo. * dg-extract-results.py: New from gcc repo. commit 63741043bde141c20f0a08dada84ed7bdf333d99 Author: claziss Date: Mon Aug 6 16:41:32 2018 +0300 [ARC] Check if an input asm file is rf16 compliant Check if an input asm file is rf16 compliant; if not, and the tag says otherwise, fix the tag and emit a warning. gas/ 2017-09-20 Claudiu Zissulescu * config/tc-arc.c (rf16_only): New static variable. (autodetect_attributes): Check if we are rf16 compliant. (arc_set_public_attributes): Fix and emit the warning is required. * testsuite/gas/arc/attr-rf16.d: New file. * testsuite/gas/arc/attr-rf16.err: Likewise. * testsuite/gas/arc/attr-rf16.s: Likewise. commit 6af0448446f9212df4dc62e7618174d5d3f5e43e Author: Claudiu Zissulescu Date: Mon Aug 6 16:41:32 2018 +0300 [ARC] Update warning reporting. MWDT compiler doesn't use eflags and makes use of 0x0c section. For those, silence the gnu warning system. bfd/ Claudiu Zissulescu * elf32-arc.c (arc_elf_merge_private_bfd_data): Complain about efalgs only when in/out exists. (elf32_arc_section_from_shdr): Don't complain about 0x0c section type. It is mwdt compiler specific. commit 2fd43d7870803bf0713f76118cc0fcb89407e873 Author: claziss Date: Mon Aug 6 16:41:32 2018 +0300 [ARC] Update merging attributes. Some attributes were ignored during merging. Fix that, and add some errors. bfd/ 2017-09-19 Claudiu Zissulescu * elf32-arc.c (arc_elf_merge_attributes): Fix merge attributes. ld/ 2017-09-19 Claudiu Zissulescu * testsuite/ld-arc/attr-merge-6.d: New file. * testsuite/ld-arc/attr-merge-6a.s: Likewise. * testsuite/ld-arc/attr-merge-6b.s: Likewise. * testsuite/ld-arc/attr-merge-6bis.d: Likewise. commit db1e1b45b417dc3e7d37f401828afa18328d8508 Author: claziss Date: Mon Aug 6 16:41:32 2018 +0300 [ARC] Add Tag_ARC_ATR_version. Add a new tag (Tag_ARC_ATR_version) used to indicate if current attributes are interpreted in GNU way. This attribute is used by Synopsys custom compiler to correctly identify and interpret the object attributes section as generated by GNU tools. gas/ 2017-08-02 Claudiu Zissulescu * config/tc-arc.c (arc_set_public_attributes): Add Tag_ARC_ATR_version. (arc_convert_symbolic_attribute): Likewise. * testsuite/gas/arc/attr-arc600.d: Update test. * testsuite/gas/arc/attr-arc600_mul32x16.d: Likewise. * testsuite/gas/arc/attr-arc600_norm.d: Likewise. * testsuite/gas/arc/attr-arc601.d: Likewise. * testsuite/gas/arc/attr-arc601_mul32x16.d: Likewise. * testsuite/gas/arc/attr-arc601_mul64.d: Likewise. * testsuite/gas/arc/attr-arc601_norm.d: Likewise. * testsuite/gas/arc/attr-arc700.d: Likewise. * testsuite/gas/arc/attr-arcem.d: Likewise. * testsuite/gas/arc/attr-archs.d: Likewise. * testsuite/gas/arc/attr-autodetect-1.d: Likewise. * testsuite/gas/arc/attr-cpu-a601.d: Likewise. * testsuite/gas/arc/attr-cpu-a700.d: Likewise. * testsuite/gas/arc/attr-cpu-em.d: Likewise. * testsuite/gas/arc/attr-cpu-hs.d: Likewise. * testsuite/gas/arc/attr-em.d: Likewise. * testsuite/gas/arc/attr-em4.d: Likewise. * testsuite/gas/arc/attr-em4_dmips.d: Likewise. * testsuite/gas/arc/attr-em4_fpuda.d: Likewise. * testsuite/gas/arc/attr-em4_fpus.d: Likewise. * testsuite/gas/arc/attr-hs.d: Likewise. * testsuite/gas/arc/attr-hs34.d: Likewise. * testsuite/gas/arc/attr-hs38.d: Likewise. * testsuite/gas/arc/attr-hs38_linux.d: Likewise. * testsuite/gas/arc/attr-mul64.d: Likewise. * testsuite/gas/arc/attr-name.d: Likewise. * testsuite/gas/arc/attr-nps400.d: Likewise. * testsuite/gas/arc/attr-override-mcpu.d: Likewise. * testsuite/gas/arc/attr-quarkse_em.d: Likewise. bfd/ 2017-08-02 Claudiu Zissulescu * elf32-arc.c (arc_elf_merge_attributes): Handle Tag_ARC_ATR_version. binutils/ 2017-08-02 Claudiu Zissulescu * readelf.c (display_arc_attribute): Print Tag_ARC_ATR_version. include/ 2017-08-02 Claudiu Zissulescu * elf/arc.h (Tag_ARC_ATR_version): New tag. ld/ 2017-08-02 Claudiu Zissulescu * testsuite/ld-arc/attr-merge-0.d: Update test. * testsuite/ld-arc/attr-merge-1.d: Likewise. * testsuite/ld-arc/attr-merge-2.d: Likewise. * testsuite/ld-arc/attr-merge-3.d: Likewise. * testsuite/ld-arc/attr-merge-5.d: Likewise. commit b6523c37fb52fc38da6e152328341caffd793749 Author: claziss Date: Mon Aug 6 16:41:32 2018 +0300 [ARC] Update handling AUX-registers. Update aux-registers data-base, and accept aux-registers names with upper/lowercase names. opcode/ 2017-07-18 Claudiu Zissulescu * arc-regs.h: Update aux-registers. gas/ 2017-07-18 Claudiu Zissulescu * config/tc-arc.c (find_opcode_match): Accept uppercase aux-regs names. * testsuite/gas/arc/ld2.d: Update test. * testsuite/gas/arc/taux.d: Likewise. * testsuite/gas/arc/taux.s: Likewise. include/ 2017-07-18 Claudiu Zissulescu * opcode/arc.h (ARC_OPCODE_ARCV1): Define. commit 821a26825bdcb96358a51f5c2140475951429470 Author: Rainer Orth Date: Mon Aug 6 13:54:34 2018 +0200 Remove unused variables in procfs.c etc. The recent patch to enable -Wunused-variable uncovered a couple of instances in Solaris-specific files: /vol/src/gnu/gdb/hg/master/dist/gdb/proc-api.c: In function ‘void _initialize_proc_api()’: /vol/src/gnu/gdb/hg/master/dist/gdb/proc-api.c:422:28: error: unused variable ‘c’ [-Werror=unused-variable] struct cmd_list_element *c; ^ /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In function ‘void procfs_init_inferior(target_ops*, int)’: /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:2895:12: error: unused variable ‘signals’ [-Werror=unused-variable] sigset_t signals; ^~~~~~~ /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In member function ‘virtual char* procfs_target::make_corefile_notes(bfd*, int*)’: /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:3845:19: error: unused variable ‘old_chain’ [-Werror=unused-variable] struct cleanup *old_chain; ^~~~~~~~~ /vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:3847:18: error: unused variable ‘fpregs’ [-Werror=unused-variable] gdb_fpregset_t fpregs; ^~~~~~ Fixed as follows. Tested on amd64-pc-solaris2.11, installed as obvious. * proc-api.c (_initialize_proc_api): Remove c, unused. * procfs.c (procfs_init_inferior): Remove signals, unused. (procfs_target::make_corefile_notes): Remove old_chain, fpregs, unused. commit 5bd18990b01406ff41dc44d92db1c34018b61923 Author: Andrew Burgess Date: Tue Jul 3 16:44:08 2018 +0100 gdb: Only run scheduler-locking tests if feature is supported Not all targets support scheduler-locking. Add a check to see if the taraget supports scheduler locking, and if it doesn't, don't run the scheduler-locking tests that will otherwise fail. There are actually a set of tests that try to use scheduler-locking however, in most of these cases the test will not be run on smaller targets (those that might not support threads and scheduler-locking) due to the targets lack of support for threads, or some other larger feature. In the gdb.mi/mi-cmd-param-changed.exp test though, there's no dependence on threads, or any other larger feature, and so, for the small target I was using the test would otherwise try to run, only to fail due to lack of support for scheduler-locking. gdb/testsuite/ChangeLog: * lib/gdb.exp (target_supports_scheduler_locking): New proc. * gdb.mi/mi-cmd-param-changed.exp: Only run scheduler locking tests if the target supports scheduler locking. commit 953473375500a809fbb3eca3efa4dbb670c3a32f Author: Andrew Burgess Date: Tue Jul 3 19:02:48 2018 +0100 gdb: Avoid using W_STOPCODE(0) as this is ambiguous on MIPS The MIPS target supports 127 signals, and this can create an ambiguity in process wait statuses. A status value of 0x007f could potentially indicate a process that has exited with signal 127, or a process that has stopped with signal 0. In uClibc-ng the interpretation of 0x007f is that the process has exited with signal 127 rather than stopped with signal 0, and so, WIFSTOPPED (W_STOPCODE (0)) will be false rather than true as it would be on most other platforms. Given that it's pretty easy to avoid using W_STOPCODE (0), lets do that. gdb/ChangeLog: * linux-nat.c (linux_nat_target::follow_fork): Avoid using 'W_STOPCODE (0)' as this could be ambiguous. commit e968fc9b638e48a89e9a96804896c88a400e9be1 Author: Jan Beulich Date: Mon Aug 6 08:34:36 2018 +0200 x86: fold RegEip/RegRip and RegEiz/RegRiz This allows to simplify the code in a number of places. commit b01474366f651f3ea3eed4038e1e0b37588d243d Author: GDB Administrator Date: Mon Aug 6 00:00:27 2018 +0000 Automatic date update in version.in commit 99c2d522f7a7259947aa84c1b385a7c8147fa46c Author: H.J. Lu Date: Sun Aug 5 10:05:52 2018 -0700 x86: Update assembler tests for non-ELF targets evex-no-scale.s has ELF directive: .section .probe, "", @progbits and non-ELF targets may pad text sections. * testsuite/gas/i386/i386.exp: Run evex-no-scale-32 and evex-no-scale-64 only for ELF targets. * testsuite/gas/i386/prefix32.s: Append ".p2align 4,0". * testsuite/gas/i386/prefix64.s: Likewise. * testsuite/gas/i386/prefix32.l: Updated. * testsuite/gas/i386/prefix64.l: Likewise. commit 05d0e962f08af24f18cc79b890a68176b42bcb78 Author: Alan Modra Date: Fri Aug 3 16:41:22 2018 +0930 R_PPC64_REL24_NOTOC support R_PPC64_REL24_NOTOC is used on calls like "bl foo@notoc" to tell the linker that linkage stubs for PLT calls or long branches can't use r2 for pic addressing. Instead, new stubs that generate pc-relative addresses are used. One complication is that pc-relative offsets to the PLT may need to be 64-bit in large programs, in contrast to the toc-relative addressing used by older PLT linkage stubs where a 32-bit offset is sufficient until the PLT itself exceeds 2G in size. .eh_frame info to cover the _notoc stubs is yet to be implemented. bfd/ * elf64-ppc.c (ADDI_R12_R11, ADDI_R12_R12, LIS_R12), (ADDIS_R12_R11, ORIS_R12_R12_0, ORI_R12_R12_0), (SLDI_R12_R12_32, LDX_R12_R11_R12, ADD_R12_R11_R12): Define. (ppc64_elf_howto_raw): Add R_PPC64_REL24_NOTOC entry. (ppc64_elf_reloc_type_lookup): Support R_PPC64_REL24_NOTOC. (ppc_stub_type): Add ppc_stub_long_branch_notoc, ppc_stub_long_branch_both, ppc_stub_plt_branch_notoc, ppc_stub_plt_branch_both, ppc_stub_plt_call_notoc, and ppc_stub_plt_call_both. (is_branch_reloc): Add R_PPC64_REL24_NOTOC. (build_offset, size_offset): New functions. (plt_stub_size): Support plt_call_notoc and plt_call_both. (ppc_build_one_stub, ppc_size_one_stub): Support new stubs. (toc_adjusting_stub_needed): Handle R_PPC64_REL24_NOTOC. (ppc64_elf_size_stubs): Likewise, and new stubs. (ppc64_elf_build_stubs, ppc64_elf_relocate_section): Likewise. * reloc.c: Add BFD_RELOC_PPC64_REL24_NOTOC. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. gas/ * config/tc-ppc.c (ppc_elf_suffix): Support @notoc. (ppc_force_relocation, ppc_fix_adjustable): Handle REL24_NOTOC. ld/ * testsuite/ld-powerpc/ext.d, * testsuite/ld-powerpc/ext.s, * testsuite/ld-powerpc/ext.lnk, * testsuite/ld-powerpc/notoc.d, * testsuite/ld-powerpc/notoc.s: New tests. * testsuite/ld-powerpc/powerpc.exp: Run them. commit 3f6ff4799bc50e6030bb707b2b2b525fcfdd2216 Author: Alan Modra Date: Fri Aug 3 16:45:25 2018 +0930 Lose _r2off in powerpc64 stub names Not a lot is conveyed by putting _r2off in a stub symbol that can't be seen by inspecting the stub code or the toc restoring instruction immediately after a call via such a stub. Also, we don't distinguish plt_call stub symbols from plt_call_r2save stub symbols, so this patch makes long branch and plt branch stub symbols consistent with that decision. bfd/ * elf64-ppc.c (ppc_build_one_stub): Lose "_r2off" in stub symbols. ld/ * testsuite/ld-powerpc/elfv2exe.d: Adjust for stub symbol change. * testsuite/ld-powerpc/tocopt6.d: Likewise. commit 1a6204c9a73d10fe65c0b0b54d542cf73d156a56 Author: GDB Administrator Date: Sun Aug 5 00:01:09 2018 +0000 Automatic date update in version.in commit 3fbbcf473a59df74a0b5d9ee343169f778fbd054 Author: Tom de Vries Date: Fri Aug 3 19:15:30 2018 +0200 [gdb/testsuite] Fix regexp in py-rbreak.exp This fails for me on openSUSE leap 15.0: ... FAIL: gdb.python/py-rbreak.exp: check number of returned breakpoints is 11 ... The rbreak "" command expects 11 breaks, but I see two extra for __libc_csu_fini and __libc_csu_init: ... Breakpoint 13 at 0x4005b0: file elf-init.c, line 106.^M Breakpoint 14 at 0x400540: file elf-init.c, line 68.^M ... This patch fixes the failing test by excluding functions starting with an underscore. Tested on x86_64-linux. 2018-08-04 Tom de Vries * gdb.python/py-rbreak.exp: Fix rbreak regexp. commit 5e7f20ca9a7abc3fa8e053643eaa422dc9fbf3a4 Author: GDB Administrator Date: Sat Aug 4 00:00:33 2018 +0000 Automatic date update in version.in commit 39aac631baa1c5c540d16e45b64c2813a14f95b0 Author: H.J. Lu Date: Fri Aug 3 15:47:26 2018 -0700 x32: Align the .note.gnu.property section to 4 bytes The .note.gnu.property section should be aligned to 4 bytes for x32. * testsuite/ld-x86-64/property-x86-3.s: Use ".p2align 2" to align .note.gnu.property section if __64_bit__ is undefined. commit 425699f52d8fb875c2197b202b9e05bdc09d0115 Author: Sergio Durigan Junior Date: Fri Aug 3 18:04:38 2018 -0400 Fix thinko when deciding whether to disable TCP's Nagle algorithm This patch fixes a thinko that happened when I was implementing the IPv6 support on GDB/gdbserver. On certain situations, it is necessary to disable TCP's Nagle algorithm (NODELAY). For obvious reasons, this only applies when we are dealing with a TCP connection. While implementing the IPv6 patch, I noticed that the net_open function (on gdb/ser-tcp.c) kept a flag indicating whether the connection type was UDP or TCP. I eliminated that flag, and started using the 'struct addrinfo *' related to the successful connection directly. However, I made a mistake: if (success_ainfo->ai_socktype == IPPROTO_TCP) ^^^^^^^^^^^ { /* Disable Nagle algorithm. Needed in some cases. */ int tmp = 1; setsockopt (scb->fd, IPPROTO_TCP, TCP_NODELAY, (char *) &tmp, sizeof (tmp)); } The 'ai_socktype' field specifies the socket type (SOCK_STREAM or SOCK_DGRAM), and not the protocol. This test was always failing, and the Nagle algorithm was never being disabled. The obvious fix is to use the 'ai_protocol' field. This is what this patch does. Huge "thank you" to Joel Brobecker who reported the regression (he was experiencing an unusual delay while debugging a bare-metal program running under QEMU) and helped me set up a proper reproducer for the bug. gdb/ChangeLog: 2018-08-03 Sergio Durigan Junior * ser-tcp.c (net_open): Fix thinko when deciding whether to disable TCP's Nagle algorithm (use "ai_protocol" instead of "ai_socktype"). commit 4aae6e5abddb84e1225cfd696b8fd2c6832f9fb6 Author: Nick Clifton Date: Fri Aug 3 17:08:11 2018 +0100 Improve objcopy's ability to merge build notes. * objcopy.c (merge_gnu_build_notes): Delete empty notes. Merge identical function notes. commit 2688aab226c6d8871af4cf53ea5651e06f104744 Author: Dimitar Dimitrov Date: Fri Aug 3 10:02:39 2018 +0100 Update PRU assembler to corect hardware register numbering for DWARF. A small rework of the PRU GCC port exposed that CIE data alignment is erroneously set to 4 for PRU in GAS. In fact PRU stack must be aligned to 1. Set the macro to -1, to allow output from GCC to be assembled without errors. Also, while at it, set DWARF2 HW register numbering to follow latest * config/tc-pru.c (pru_regname_to_dw2regnum): Return the starting HW byte-register number. (pru_frame_initial_instructions): Use byte-numbering for FP index. * config/tc-pru.h (DWARF2_DEFAULT_RETURN_COLUMN): Use number from latest GCC. (DWARF2_CIE_DATA_ALIGNMENT): Set to -1. commit dbf8be89edf7b6443fa0b7d31ca6d6ad202fadae Author: Jan Beulich Date: Fri Aug 3 09:30:58 2018 +0200 x86: drop NoRex64 from {,v}pmov{s,z}x* They're pointless with IgnoreSize also specified, and even more so when no Qword operand exists. commit c48dadc9a87f4fc3408987fc4dbd312bed50da9c Author: Jan Beulich Date: Fri Aug 3 09:30:02 2018 +0200 x86: drop "mem" operand type attribute No template specifies this bit, so there's no point recording it in the templates. Use a flags[] bit instead. commit 3ed12f02a20a487ce46b463746c52c2905e16c03 Author: GDB Administrator Date: Fri Aug 3 00:00:43 2018 +0000 Automatic date update in version.in commit 13755f406d6615e0750213edb04a023ec2ba7b9b Author: Jim Wilson Date: Thu Aug 2 16:13:49 2018 -0700 RISC-V: Fix TLS and --gc-sections conflict. bfd/ * elfnn-riscv.c (riscv_elf_create_dynamic_sections): For .tdata.dyn, add SEC_LINKER_CREATED flag. commit 3e1d3d8c2494c021718ba957e83395958ee08a0f Author: Tom Tromey Date: Thu Jul 19 11:24:49 2018 -0600 Allow "info address" of a template parameter PR symtab/16842 shows that gdb will crash when the user tries to invoke "info address" of a template parameter. The bug here is that dwarf2read.c does not set the symtab on the template parameter symbols. This is pedantically correct, given that the template symbols do not appear in a symtab. However, gdb primarily uses the symtab backlink to find the symbol's objfile. So, this patch simply sets the symtab on these symbols. Tested by the buildbot. gdb/ChangeLog 2018-08-02 Tom Tromey PR symtab/16842. * dwarf2read.c (read_func_scope): Set symtab on template parameter symbols. (process_structure_scope): Likewise. gdb/testsuite/ChangeLog 2018-08-02 Tom Tromey PR symtab/16842. * gdb.cp/temargs.exp: Test "info address" of a template parameter. commit 1584354913285389063622a39f845851f332eb9a Author: Xavier Roirand Date: Thu Jun 8 18:10:18 2017 +0200 Fix kill issue leading to zombie process on MacOS Sierra Starting with MacOS version Sierra, the gdb kill command seems to work but inferior remains as zombie on the host. Notice that, as zombie process, the inferior is not killable by the user, nor by root. The kill signal gdb sent to the inferior is not handled in gdb as a signal sent by gdb thus no reply is made and the process remains (since MacOS does not "release" the inferior because no reply have been made to the signal message). This patch fixes this problem. gdb/ChangeLog 2018-08-02 Xavier Roirand PR gdb/22629: * darwin-nat.c (darwin_kill_inferior): Fix handling of kill inferior. commit b5bddbbbbcece5d52115bd3e1299cec2a3b362f0 Author: Tom Tromey Date: Fri Jul 13 12:45:07 2018 -0600 Check results of get_darwin_inferior I noticed that the existing kill-detach-inferiors-cmd.exp test was causing gdb to crash on macOS 10.13. The bug was that an inferior that hadn't yet been started would cause get_darwin_inferior to return NULL, and this was not checked. I went through the places calling get_darwin_inferior and added checks where appropriate. This makes the test get a bit further. Not all of these spots are exercised by the test, but they seem safe enough in any case. gdb/ChangeLog 2018-08-02 Tom Tromey * darwin-nat.c (find_inferior_task_it, darwin_find_thread) (darwin_suspend_inferior, darwin_resume_inferior) (darwin_decode_notify_message, darwin_resume_inferior_threads) (darwin_check_new_threads): Check result of get_darwin_inferior. commit 8094f49a4dd9679c294e6254e928ea75c229aa95 Author: Simon Marchi Date: Thu Aug 2 14:53:34 2018 -0400 Backport gettext fixes to get rid of warnings on macOS Two fixes were committed recently to the gettext repo in order to make gdb build warning-free on macOS. This patch backports them both: - Make the format_arg attribute effective also in the case _INTL_REDIRECT_INLINE. 113893dce80358a4ae0d9463ce73c5670c81cf0c http://git.savannah.gnu.org/cgit/gettext.git/commit/?id=113893dce80358a4ae0d9463ce73c5670c81cf0c - Enable the format_arg attribute also on clang on Mac OS X. bd6a52241c7c83c90e043ace2082a2508d273f55 http://git.savannah.gnu.org/cgit/gettext.git/commit/?id=bd6a52241c7c83c90e043ace2082a2508d273f55 intl/ChangeLog: * libgnuintl.h (_INTL_MAY_RETURN_STRING_ARG, gettext, dgettext, dcgettext, ngettext, dngettext, dcngettext): Backport changes from upstream gettext. commit 8a28fa1b4beb3b4c77c9b3963f1e32235591470d Author: Nick Clifton Date: Thu Aug 2 16:37:12 2018 +0100 Disable the PR12982 test for HPPA targets. PR 23463 * testsuite/ld-plugin/pr12982.d: Revert previous delta. * testsuite/ld-plugin/lto.exp: Skip the pr12982 test for HPPA targets. commit d0042c6ed311694e791ecea8c132b3f01278b7ee Author: H.J. Lu Date: Thu Aug 2 05:42:53 2018 -0700 ifunc.exp: Always build static_nonifunc_prog Since static_nonifunc_prog isn't linked against libc.a, we can always build it. * testsuite/ld-ifunc/ifunc.exp: Always build static_nonifunc_prog. commit 36a900f483789dc2ec4bfd31386e29b52fd2e019 Author: H.J. Lu Date: Thu Aug 2 05:00:45 2018 -0700 Add a testcase for PR binutils/23460 Add a testcase to limit open files to 16 for AR with plugin. Before commit 103da91bc083f94769e3758175a96d06cef1f8fe Author: Nick Clifton Date: Wed Aug 1 14:34:41 2018 +0100 Close resource leaks in the BFD library's plugin handler. it failed with: ../binutils/ar: tmpdir/pr23460f.o: plugin needed to handle lto object PR binutils/23460 * testsuite/ld-plugin/lto.exp: Run the PR binutils/23460 test. * testsuite/ld-plugin/pr23460a.c: New file. * testsuite/ld-plugin/pr23460b.c: Likewise. * testsuite/ld-plugin/pr23460c.c: Likewise. * testsuite/ld-plugin/pr23460d.c: Likewise. * testsuite/ld-plugin/pr23460e.c: Likewise. * testsuite/ld-plugin/pr23460f.c: Likewise. commit 09a8cc152be1b6ad2e309ac2d61caa5a4a1c3a54 Author: GDB Administrator Date: Thu Aug 2 00:00:31 2018 +0000 Automatic date update in version.in commit c198a1ecf835c5896ef810ebe1ded06729039dcd Author: Roland McGrath Date: Wed Aug 1 13:36:51 2018 -0700 Fix spurious check-ld failures on aarch64-elf ld/ * testsuite/ld-aarch64/ifunc-1-local.d: Adjust regexps to match the offsets emitted by aarch64-elf configurations. * testsuite/ld-aarch64/ifunc-1.d: Likewise. * testsuite/ld-aarch64/ifunc-2-local.d: Likewise. * testsuite/ld-aarch64/ifunc-2.d: Likewise. * testsuite/ld-aarch64/ifunc-21.d: Likewise. * testsuite/ld-aarch64/ifunc-3a.d: Likewise. commit e256144888a28eae9326f86cd95282b807aa2f6a Author: Nick Clifton Date: Wed Aug 1 15:51:57 2018 +0100 Add a note about regenerating the info files when creating a new release. * README-how-to-make-a-release: Add note about regenerating the info files prior to the release. commit e30985fa2b495a6b932e1376f287cb51252572d7 Author: Nick Clifton Date: Wed Aug 1 15:28:37 2018 +0100 Skip the test for PR12982 on HPPA targets as they always need an executable stack. PR 23463 * testsuite/ld-plugin/pr12982.d: Skip thios test for the HPPA target. commit 3cf2b6691cef024f7cdb48aaec5fab5189e1cffa Author: James Patrick Conlon Date: Wed Aug 1 15:14:46 2018 +0100 Fix bug in PDP11 assembler when handling a JSr instruction with deferred auto increment. PR 14480 * config/tc-pdp11.c (parse_op_noreg): Check for and handle auto increment deferred. * testsuite/gas/pdp11/pr14480.d: New test driver file. * testsuite/gas/pdp11/pr14480.s: New test source file file. * testsuite/gas/pdp11/pdp11.exp: Run the new test. commit c25179e71fee952ace322ce26b3fe6b722ec77f9 Author: Nick Clifton Date: Wed Aug 1 14:46:43 2018 +0100 Suppress compile time warning message when compiling coff-rs6000.c with gcc v8. * coff-rs6000.c (_bfd_xcoff_put_ldsymbol_name): Suppress warnings about potentially truncated strncpy operations. (_bfd_xcoff_put_symbol_name): Likewise. commit 4a9f7d653c089fdd8ca66a51caab7c9687f50cd1 Author: Nick Clifton Date: Wed Aug 1 14:42:37 2018 +0100 Fix potential illegal memory access in AVR backend. * elf32-avr.c (avr_stub_name): Check for a NULL return from bfd_malloc. commit f03fb29221a00c294e14850f1fa1af343cded926 Author: Nick Clifton Date: Wed Aug 1 14:36:50 2018 +0100 Fix compile time warning problem with gcc 8 and the NS32K assembler sources. * config/tc-ns32k.c (addr_mode): Replace "Drop through" comment with "Fall through" so that it will be recognised by gcc's switch statment error checker. commit 103da91bc083f94769e3758175a96d06cef1f8fe Author: Nick Clifton Date: Wed Aug 1 14:34:41 2018 +0100 Close resource leaks in the BFD library's plugin handler. PR 23460 * plugin.c (bfd_plugin_open_input): Close file descriptor if the call to fstat fails. (try_claim): Always close the file descriptor at the end of the function. (try_load_plugin): If a plugin has already been registered, then skip the dlopen and onload steps and go straight to claiming the file. If these is an error, close the plugin. commit 50320b1d4a1dd06db70aeea485e0ffd9871548e0 Author: marxin Date: Thu Jul 26 12:13:14 2018 +0000 Copy from GCC: Add linker_output as prefix for LTO temps (PR lto/86548). 2018-07-26 Martin Liska PR lto/86548 * libiberty.h (make_temp_file_with_prefix): New function. 2018-07-26 Martin Liska PR lto/86548 * make-temp-file.c (TEMP_FILE): Remove leading 'cc'. (make_temp_file): Call make_temp_file_with_prefix with first argument set to NULL. (make_temp_file_with_prefix): Support also prefix. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@262999 138bc75d-0d04-0410-961f-82ee72b054a4 commit a67ae9b01af7eb2b1f8e5c517338a4b12167ce40 Author: Alan Modra Date: Wed Aug 1 18:59:03 2018 +0930 Re: PowerPC64 __tls_get_addr_opt stub .eh_frame fix The modified test failed on some powerpc targets due to differences in default hash style. If the default hash style is both, then more sections are created, bumping section ids. Section id is used in stub symbols and although the test is careful to not depend on id in labels, the stub hash traversal order changes when stub names change. That lead to the stubs being emitted in a different order and thus not matching expected output. * testsuite/ld-powerpc/powerpc.exp: Run tlsopt5 with hash-style specified. commit 1aa4214141d30f99f941266a3bedbc332d674c04 Author: Alan Modra Date: Wed Aug 1 12:14:22 2018 +0930 PowerPC64 __tls_get_addr_opt stub .eh_frame fix This patch sets stub_offset in ppc_size_one_stub rather than in ppc_build_one_stub. That allows the plt stub alignment to be done in just ppc_size_one_stub rather than both functions. The patch also corrects the place where the alignment was done, fixing a possible error in .eh_frame data, and tidies some offset calculations. bfd/ * elf64-ppc.c (plt_stub_pad): Delay plt_stub_size call until needed. (ppc_build_one_stub): Don't set stub_offset, instead assert that it is sane. Don't adjust stub_offset for alignment. Adjust size calculation. Use "targ" temp when calculating offsets. (ppc_size_one_stub): Set stub_offset here. Use "targ" temp when calculating offsets. Adjust for alignment before setting tls_get_addr_opt_bctrl. ld/ * testsuite/ld-powerpc/powerpc.exp: Run tlsopt5 with plt alignment. * testsuite/ld-powerpc/tlsopt5.s: Add extra call. * testsuite/ld-powerpc/tlsopt5.wf: Adjust expected output. * testsuite/ld-powerpc/tlsopt5.d: Likewise. commit cb86a42aba5b6e1c135433e1c0c26223fd0f7a7f Author: Alan Modra Date: Wed Aug 1 10:32:56 2018 +0930 csky regen bfd/ * po/SRC-POTFILES.in: Regenerate. gas/ * po/POTFILES.in: Regenerate. ld/ * po/BLD-POTFILES.in: Regenerate. opcodes/ * po/POTFILES.in: Regenerate. commit 33633d9f5b138a211405d482436db2f7661b190e Author: GDB Administrator Date: Wed Aug 1 00:00:43 2018 +0000 Automatic date update in version.in commit 07cc045019bf655b84692465232e9f0faf7d868f Author: Nick Clifton Date: Tue Jul 31 17:49:53 2018 +0100 Correct previous update - new translation for the opcodes subdirectory. opcodes * po/sv.po: Updated Swedish translation. commit 11cfdeb3863c5ddf8e773147e6cf5a14de15aee8 Author: Nick Clifton Date: Tue Jul 31 17:46:15 2018 +0100 Updated Swedish translation for the binutils sub-directory. * po/sv.po: Updated Swedish translation. commit f61cfa0740987a13a1e14242b3039caba73e901e Author: Joel Brobecker Date: Tue Jul 31 07:59:44 2018 -0700 Document the GDB 8.1.1 release in gdb/ChangeLog gdb/ChangeLog: GDB 8.1.1 released. commit 5abe0f0cc79a753b80bde28d9c0c7fec9bff3c10 Author: Jan Vrany Date: Tue Jul 31 10:15:44 2018 +0100 Fix segfault when invoking -var-info-path-expression on a dynamic varobj Invoking -var-info-path-expression on a dynamic varobj lead either in wrong (nonsense) result or to a segmentation fault in cplus_describe_child(). This was caused by the fact that varobj_get_path_expr() called cplus_path_expr_of_child() ignoring the fact the parent of the variable is dynamic. Then, cplus_describe_child() accessed the underlaying C type members by index, causing (i) either wrong (nonsense) expression being returned (since dynamic child may be completely arbibtrary value) or (ii) segmentation fault (in case the index higher than number of underlaying C type members. This fixes the problem by checking whether a varobj is a child of a dynamic varobj and, if so, reporting an error as described in documentation. gdb/ChangeLog: * varobj.c (varobj_get_path_expr_parent): Report an error if parent is a dynamic varobj. gdb/testsuite/Changelog: * gdb.python/py-mi-var-info-path-expression.c: New file. * gdb.python/py-mi-var-info-path-expression.py: New file. * gdb.python/py-mi-var-info-path-expression.exp: New file. commit 472fa5eec2cc521ad5ea37091ea2424ea46552ae Author: Simon Marchi Date: Tue Jul 31 10:09:10 2018 -0400 Re-generate gnulib import I noticed that re-generating our gnulib import introduced some changes. I supposed that this comes from the recent upgrade to autoconf 2.69 (though I haven't checked). Tested by rebuilding on GNU/Linux x86-64 and mingw (cross-compiled from GNU/Linux). gdb/ChangeLog: * gnulib/aclocal.m4: Re-generate. * gnulib/config.in: Re-generate. * gnulib/configure: Re-generate. * gnulib/import/Makefile.in: Re-generate. * gnulib/import/m4/gnulib-comp.m4: Re-generate. * gnulib/import/m4/onceonly.m4: Re-generate. commit 1c28969efcca7c214e41c496f599bc4de2c56dbe Author: Simon Marchi Date: Tue Jul 31 10:06:00 2018 -0400 Delete test target descriptions when exiting Looking at the address sanitizer output, this was a quite low hanging fruit. We create target_desc objects for testing that we never free. Saving them in unique_ptrs takes care of it. I created a small struct to hold these because I thought it would help readability. gdb/ChangeLog: * target-descriptions.c (struct xml_test_tdesc): New. (xml_tdesc): Change type to std::vector. (record_xml_tdesc): Update. (maintenance_check_xml_descriptions): Update. * target-descriptions.h (record_xml_tdesc): Update comment. commit 1424ad867742286be44932bf29720539add19ae0 Author: Jan Beulich Date: Tue Jul 31 10:58:05 2018 +0200 x86: also optimize KXOR{D,Q} and KANDN{D,Q} These can be converted to 2-byte VEX encoding when both source registers are the same, by using KXORW / KANDNW as replacement. commit ae2387feae3f0798dd77c98a7107fdec38a99fe3 Author: Jan Beulich Date: Tue Jul 31 10:57:09 2018 +0200 x86: fold various AVX512 templates with so far differing Masking attributes There's no insn allowing ZEROING_MASKING alone. Re-purpose its value for handling the not uncommon case of insns allowing either form of masking with register operands, but only merging masking with a memory operand. commit fa77b93ab76cae42e9394592d7474c795bb28f7e Author: Jan Beulich Date: Tue Jul 31 10:56:09 2018 +0200 x86: add more exhaustive tests for invalid AVX512 zeroing-masking Before changing how things get handled, install a full set of tests, such that it can be demonstrated that the subsequent change doesn't break things. commit 6ff00b5e12e7256738d9a4dac66e5a7745b771ea Author: Jan Beulich Date: Tue Jul 31 10:55:17 2018 +0200 x86/Intel: correct permitted operand sizes for AVX512 scatter/gather AVX gather insns correctly allow the element size to be specified rather than the full vector size. Make AVX512 ones match. commit 7a8655d2bbdc788786cb28e925e1d4303cd960b0 Author: Jan Beulich Date: Tue Jul 31 10:54:05 2018 +0200 x86: don't abort() upon DATA16 prefix on (E)VEX encoded insn Instead of hitting the abort() in output_insn() (commented by "There should be no other prefixes for instructions with VEX prefix"), report a proper diagnostic instead, just like we do e.g. for invalid REP prefixes. commit e951d5ca3d73cfd71a002b91c16d6036240213e6 Author: Jan Beulich Date: Tue Jul 31 10:52:37 2018 +0200 x86: drop CpuVREX It is fully redundant with CpuAVX512F. commit ef6ba1ed0d7831c35cd241c382ed3026c156b641 Author: GDB Administrator Date: Tue Jul 31 00:00:34 2018 +0000 Automatic date update in version.in commit fb66cde8a42a383b111f0f1f48eb9f6daf9d736c Author: Sergio Durigan Junior Date: Mon Jul 30 15:23:27 2018 -0400 Match any kind of error after "cannot resolve name" on lib/gdbserver-support.exp:gdbserver_start On commit: commit 7f1f7e23939adc7d71036a17fc6081e3af7ca585 Author: Sergio Durigan Junior Date: Fri Jul 13 16:20:34 2018 -0400 Expect for another variant of error message when gdbserver cannot resolve hostname I extended the regular expression being used to identify whether gdbserver could not resolve a (host)name. This was needed because the error message being printed had a different variation across some systems. However, as it turns out, I've just noticed that the message has yet another variation: target remote tcp8:123:2353 tcp8:123:2353: cannot resolve name: System error ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tcp8:123:2353: No such file or directory. (gdb) FAIL: gdb.server/server-connect.exp: tcp8: connect to gdbserver using tcp8:123 which is causing FAILs on some systems (namely, Fedora-i686 on BuildBot). So instead of trying to predict everything that can be printed, I decided to just match anything after the "cannot resolve name: " part. This patch implements that. Regression tested on the BuildBot. gdb/testsuite/ChangeLog: 2018-07-30 Sergio Durigan Junior * lib/gdbserver-support.exp (gdbserver_start): Match any kind of error after "cannot resolve name" string. commit eb41b24898e9858852c98f9275e7a4adee860d7b Author: Jim Wilson Date: Mon Jul 30 13:55:41 2018 -0700 RISC-V: Set insn info fields correctly when disassembling. include/ * opcode/riscv.h (INSN_TYPE, INSN_BRANCH, INSN_CONDBRANCH, INSN_JSR) (INSN_DREF, INSN_DATA_SIZE, INSN_DATA_SIZE_SHIFT, INSN_1_BYTE) (INSN_2_BYTE, INSN_4_BYTE, INSN_8_BYTE, INSN_16_BYTE): New. opcodes/ * riscv-dis.c (riscv_disassemble_insn): Set insn_type and data_size fields. * riscv-opc.c (riscv_opcodes): Use new INSN_* flags to annotate insns. commit c8f2dc0dc967222673d71a0493958a587c53ae3c Author: Andrew Burgess Date: Sun Jul 29 22:14:33 2018 +0100 gdb: Fix sizeof for dynamic types other than arrays In commit: commit 37cc0caeca4c9a8552370040f4cfeaeceaa03369 Date: Wed Jul 18 13:38:35 2018 +0200 [gdb/exp] Interpret size of vla with unknown size as All dynamic types are treated as arrays in the 'sizeof' code path, which means that structures can incorrectly be treated as arrays. This can cause a failure in the gdb.base/vla-datatypes.exp test script. This commit adds a check that we do have an array before checking the array bounds, and I also check that the array index type is dynamic too. This second check probably isn't strictly necessary, but shouldn't hurt, a non-dynamic index type shouldn't have undefined high bound. gdb/ChangeLog: * eval.c (evaluate_subexp_for_sizeof): Check for array type before checking array bounds are defined. commit 629cfaf1b0fbb32a985607c774bd8e7870b9fa94 Author: Jan Beulich Date: Mon Jul 30 17:25:05 2018 +0200 x86: don't mistakenly scale non-8-bit displacements In commit b5014f7af2 I've removed (instead of replaced) a conditional, resulting in addressing forms not allowing 8-bit displacements to now get their displacements scaled under certain circumstances. Re-add the missing conditional. commit 2409af1e94de228ccd7a1d34deb954541fbfa37c Author: Andrew Jenner Date: Mon Jul 30 08:22:21 2018 -0700 * MAINTAINERS (C-SKY): Add Yunhai Shang as co-maintainer. commit d0ba5758c269263a6cabfbb69ee23358ebdbe9cf Author: Andrew Jenner Date: Mon Jul 30 07:53:38 2018 -0700 * MAINTAINERS (C-SKY): Add Lifang Xia as maintainer. commit 463c08d160e55d6eaf0f9bc3729781ce90f4de3f Author: Tom Tromey Date: Thu Jul 19 21:10:09 2018 -0600 Fix crash with -D_GLIBCXX_DEBUG I noticed a buildbot failure where gdb crashed in info-os.exp, when compiled with -D_GLIBCXX_DEBUG: (gdb) info os procgroups /usr/include/c++/7/bits/stl_algo.h:4834: Error: comparison doesn't meet irreflexive requirements, assert(!(a < a)). Objects involved in the operation: iterator::value_type "< operator type" { type = pid_pgid_entry; } The bug here is that pid_pgid_entry::operator< violates the C++ irreflexivity rule; that is, that an object cannot be less than itself. Tested locally by re-running info-os.exp. gdb/ChangeLog 2018-07-30 Tom Tromey * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix irreflexivity violation. commit dba7455e76f87abe81cc9e4e9b1f979c1da02846 Author: Tom Tromey Date: Sun Jul 29 15:23:51 2018 -0600 Remove old lint code This removes dead code that, according to the comments, existed to placate lint. I don't think this has been relevant in a long time, and certainly not since gdb switched to C++. Tested by rebuilding. ChangeLog 2018-07-30 Tom Tromey * cli/cli-decode.c (lookup_cmd): Remove lint code. * value.c (unpack_long): Remove lint code. * valops.c (value_ind): Remove lint code. * valarith.c (value_x_binop, value_x_unop, value_equal) (value_pos): Remove lint code. commit a05b9f5e1eb8f01eea23eff3902fa57f1f28a4e1 Author: Nick Clifton Date: Mon Jul 30 13:58:15 2018 +0100 Prevent a seg-fault in the linker when trying to process SH object files with bogus relocs. PR 22706 * elf32-sh.c (sh_elf_relocate_section): When processing translation relocs, fail if the relocation offset is too small. Replace BFD_ASSERTs with more helpful error messages. commit 4570c3d98c0a35e52fa4117d07b78d4f461b6f26 Author: Nick Clifton Date: Mon Jul 30 12:35:37 2018 +0100 Fix thinko in the placement of the .gnu.build.attributes section. * scripttempl/elf.sc: Move the .gnu.build.attributes section to after the .comment section. commit b8891f8d622a31306062065813fc278d8a94fe21 Author: Andrew Jenner Date: Mon Jul 30 12:24:14 2018 +0100 Add support for the C_SKY series of processors. This patch series is a new binutils port for C-SKY processors, including support for both the V1 and V2 processor variants. V1 is derived from the MCore architecture while V2 is substantially different, with mixed 16- and 32-bit instructions, a larger register set, a different (but overlapping) ABI, etc. There is support for bare-metal ELF targets and Linux with both glibc and uClibc. This code is being contributed jointly by C-SKY Microsystems and Mentor Graphics. C-SKY is responsible for the technical content and has proposed Lifang Xia and Yunhai Shang as port maintainers. (Note that C-SKY does have a corporate copyright assignment on file with the FSF.) Mentor Graphics' role has been cleaning up the code, adding documentation and additional test cases, etc, to address issues we anticipated reviewers would complain about. bfd * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES): Add C-SKY. (BFD32_BACKENDS, BFD_BACKENDS_CFILES): Likewise. * Makefile.in: Regenerated. * archures.c (enum bfd_architecture): Add bfd_arch_csky and related bfd_mach defines. (bfd_csky_arch): Declare. (bfd_archures_list): Add C-SKY. * bfd-in.h (elf32_csky_build_stubs): Declare. (elf32_csky_size_stubs): Declare. (elf32_csky_next_input_section: Declare. (elf32_csky_setup_section_lists): Declare. * bfd-in2.h: Regenerated. * config.bfd: Add C-SKY. * configure.ac: Likewise. * configure: Regenerated. * cpu-csky.c: New file. * elf-bfd.h (enum elf_target_id): Add C-SKY. * elf32-csky.c: New file. * libbfd.h: Regenerated. * reloc.c: Add C-SKY relocations. * targets.c (csky_elf32_be_vec, csky_elf32_le_vec): Declare. (_bfd_target_vector): Add C-SKY target vector entries. binutils* readelf.c: Include elf/csky.h. (guess_is_rela): Handle EM_CSKY. (dump_relocations): Likewise. (get_machine_name): Likewise. (is_32bit_abs_reloc): Likewise. include * dis-asm.h (csky_symbol_is_valid): Declare. * opcode/csky.h: New file. opcodes * Makefile.am (TARGET_LIBOPCODES_CFILES): Add csky-dis.c. * Makefile.in: Regenerated. * configure.ac: Add C-SKY. * configure: Regenerated. * csky-dis.c: New file. * csky-opc.h: New file. * disassemble.c (ARCH_csky): Define. (disassembler, disassemble_init_for_target): Add case for ARCH_csky. * disassemble.h (print_insn_csky, csky_get_disassembler): Declare. gas * Makefile.am (TARGET_CPU_CFILES): Add entry for C-SKY. (TARGET_CPU_HFILES, TARGET_ENV_HFILES): Likewise. * Makefile.in: Regenerated. * config/tc-csky.c: New file. * config/tc-csky.h: New file. * config/te-csky_abiv1.h: New file. * config/te-csky_abiv1_linux.h: New file. * config/te-csky_abiv2.h: New file. * config/te-csky_abiv2_linux.h: New file. * configure.tgt: Add C-SKY. * doc/Makefile.am (CPU_DOCS): Add entry for C-SKY. * doc/Makefile.in: Regenerated. * doc/all.texi: Set CSKY feature. * doc/as.texi (Overview): Add C-SKY options. (Machine Dependencies): Likewise. * doc/c-csky.texi: New file. * testsuite/gas/csky/*: New test cases. ld * Makefile.am (ALL_EMULATION_SOURCES): Add C-SKY emulations. (ecskyelf.c, ecskyelf_linux.c): New rules. * Makefile.in: Regenerated. * configure.tgt: Add C-SKY. * emulparams/cskyelf.sh: New file. * emulparams/cskyelf_linux.sh: New file. * emultempl/cskyelf.em: New file. * gen-doc.texi: Add C-SKY. * ld.texi: Likewise. (Options specific to C-SKY targets): New section. * testsuite/ld-csky/*: New tests. commit 7d8a31665739412395f6dd370d2279acd322e78e Author: Nick Clifton Date: Mon Jul 30 09:34:40 2018 +0100 Combine ,gnu.build.attributes.* sections into one .gnu.build.attributes section during linking. gold * layout.cc (section_name_mapping): Add an entry for .gnu.build.attributes. ld * scripttempl/elf.sc: Place .gnu.build.attributes sections with other read-only sections. commit 906c6f2c54425f18eccb30e3ae54cbe620f0fe86 Author: GDB Administrator Date: Mon Jul 30 00:00:27 2018 +0000 Automatic date update in version.in commit 29e6f4745eca5ed82c7dcde09cb0bdde1f8a2eaa Author: John David Anglin Date: Sun Jul 29 12:51:23 2018 -0400 Fix unwind offset for start_symbol. * config/tc-hppa.c: Include "struc-symbol.h". (pa_build_unwind_subspace): Use call_info->start_symbol->sy_frag instead of frag_now for local symbol replacement. commit 51b79795294ad32c7bfeafaebe4c921db75491ed Author: GDB Administrator Date: Sun Jul 29 00:00:51 2018 +0000 Automatic date update in version.in commit c708f4d256f1f1a92310fcb323a108d95d5fd5da Author: Andrew Burgess Date: Wed Jul 11 16:58:47 2018 +0100 gdb: Don't call gdb_load_shlib unless GDB is running The gdb_load_shlib function will, on remote targets, try to run some GDB commands. This obviously isn't going to work unless GDB is running. The gdb.trace/tspeed.exp test calls gdb_load_shlib before starting GDB. Don't do that. The failure that's triggered is actually DeJaGNU complaining that the variable $use_gdb_stub doesn't exist, this is only created when GDB is started. Something like this should trigger a failure: make check-gdb \ RUNTESTFLAGS="--target_board=remote-gdbserver-on-localhost \ gdb.trace/tspeed.exp" This commit also adds a check to gdb_load_shlib that GDB is running. The check is always performed, so this should catch cases where a GDB developer adds a use of gdb_load_shlib but doesn't test their code with a remote target. gdb/testsuite/ChangeLog: * gdb.trace/tspeed.exp: Only call gdb_load_shlib after gdb has started. * lib/gdb.exp (gdb_load_shlib): Call perror if GDB is not running. commit 37cc0caeca4c9a8552370040f4cfeaeceaa03369 Author: Tom de Vries Date: Wed Jul 18 13:38:35 2018 +0200 [gdb/exp] Interpret size of vla with unknown size as At -O3 -g -gstrict-dwarf, gcc generates for an optimized out vla 'a' a DW_TAG_variable with type DW_TAG_array_type containing one DW_TAG_subrange_type, but without DW_AT_upper_bound or DW_AT_count, which makes the upper bound value 'unknown': ... .uleb128 0x15 # (DIE (0x161) DW_TAG_variable) .long 0xec # DW_AT_abstract_origin .long 0x170 # DW_AT_type ... .uleb128 0xa # (DIE (0x170) DW_TAG_array_type) .long 0x110 # DW_AT_type .long 0x17f # DW_AT_sibling .uleb128 0x17 # (DIE (0x179) DW_TAG_subrange_type) .long 0xc6 # DW_AT_type .byte 0 # end of children of DIE 0x170 ... But gdb prints '0' for the size of 'a': ... /gdb ./vla-1.exe -batch -ex "b f1" -ex "run" -ex "p sizeof(a)" Breakpoint 1 at 0x4004c0: f1. (2 locations) Breakpoint 1, f1 (i=) at vla-1.c:18 18 } $1 = 0 ... while would be more appropriate. This patch fixes that in evaluate_subexp_for_sizeof. Build and reg-tested on x86_64-linux. 2018-07-28 Tom de Vries * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type with undefined upper bound as . * gdb.base/vla-optimized-out-o3-strict.exp: New file. commit 5842d7025f1307a2fb37ae5c4f25fdacfb827d35 Author: GDB Administrator Date: Sat Jul 28 00:00:33 2018 +0000 Automatic date update in version.in commit d19969ffbfda0576fab881e0b00c2fefae3aa8df Author: Jim Wilson Date: Fri Jul 27 14:35:29 2018 -0700 RISC-V: Fix gas configure support for riscv*-*-*. gas/ * configure.tgt (riscv*): Accept as alias for riscv32*. commit 129eb0f1f16dc7a49799a024a7bcb109d954a1e7 Author: Sergio Durigan Junior Date: Fri Jul 27 00:52:23 2018 -0400 Improve gcore manpage and clarify "-o" option Ref.: https://bugs.debian.org/904628 It has been reported that gcore's manpage is a bit imprecise when it comes to two things: - It doesn't explicity say that the command accepts more than one PID on its CLI. - It fails to mention that the argument passed through the "-o" option is actually a prefix that will be used to compose the corefile's filename, and not the actual filename. I decided to give it a try and rewrite parts of the text to further clarify these two points. I ended up rewording the "Description" section because, IMHO, it was a bit confuse to understand. To make things consistent, I've also renamed the "$name" variable in the gcore.in script, and expanded the usage text. gdb/doc/ChangeLog: 2018-07-27 Sergio Durigan Junior * gdb.texinfo (gcore man): Rewrite "Description" and "-o" option sections to further clarify that gcore can take more than one PID, and that "-o" is used to specify a prefix, not a filename. gdb/ChangeLog: 2018-07-27 Sergio Durigan Junior * gcore.in: Rename variable "name" to "prefix". Expand "usage" text. commit 1286ab788188bb8f0b0da2a3def4641fb3817f10 Author: H.J. Lu Date: Fri Jul 27 06:35:09 2018 -0700 x86: Check for more than 2 memory references For movsd (%esi), %ss:(%edi), %ss:(%eax) we got [hjl@gnu-tools-1 tmp]$ as -o x.o x.s x.s: Assembler messages: x.s:1: Error: too many memory references for `movsd' munmap_chunk(): invalid pointer x.s:1: Internal error (Aborted). Please report this bug. [hjl@gnu-tools-1 tmp]$ struct _i386_insn has const seg_entry *seg[2]; 3 memory references will overflow the seg array. We should issue an error if there are more than 2 memory references. PR gas/23453 * config/tc-i386.c (parse_operands): Check for more than 2 memory references. * testsuite/gas/i386/inval.s: Add a movsd test with 3 memory references. * testsuite/gas/i386/x86-64-inval.s: Likewise. * testsuite/gas/i386/inval.l: Updated. * testsuite/gas/i386/x86-64-inval.l: Likewise. commit 469d3b57cef3d9e02d4bc584a9cc814ef22cdb4e Author: John Darrington Date: Tue Jul 24 12:58:44 2018 +0200 S12Z: Remove ELF_TARGET_ID macro * elf32-s12z.c (ELF_TARGET_ID): Don't define. commit 370e4b5079ff8d62be3adee7396948d4c5795091 Author: John Darrington Date: Tue Jul 24 12:58:43 2018 +0200 Add functions and macros to read and write 24 bit values. * libbfd.c (bfd_getb24, bfd_getl24): New functions. (bfd_get_24, bfd_put_24): New macros. * bfd-in2.h: Regenerate. commit cd4d353f812a3ecb29cabf0e62319253daf510fa Author: John Darrington Date: Tue Jul 24 12:58:42 2018 +0200 S12Z: Remove inappropriate comment. * elf32-s12z.c (s12z_elf_set_mach_from_flags): Remove comment. commit fe57a8c9f51516feb4fe999d2ff079157db42c26 Author: John Darrington Date: Tue Jul 24 12:58:41 2018 +0200 S12Z: Emit uninitialized data in the .bss segment * scripttempl/elfm9s12z.sc: Put input sections called .common into the .bss segment. commit 5b73b52bccfc73172bc472c1e223f54f07a3e858 Author: John Darrington Date: Tue Jul 24 12:58:40 2018 +0200 S12Z: Emit initialized data segment image. * scripttempl/elfm9s12z.sc: Emit the data_section at the end of text. commit 2bb9bbe2e8faa7fd9ee156da0254605720eb16d6 Author: Chenghua Xu Date: Fri Jul 27 01:12:43 2018 +0100 MIPS/GAS: Correct the AFL_ASE_MASK macro Fix an issue with commit 8095d2f70e1a ("MIPS/GAS: Split Loongson MMI Instructions from loongson2f/3a"), AFL_ASE_MASK should be 0x0006ffff instead of 0x0004ffff. 2018-07-27 Chenghua Xu Maciej W. Rozycki include/ * elf/mips.h (AFL_ASE_MASK): Correct typo. commit 16065af1b0497ea33b53948dfd1f64f551787959 Author: Alan Modra Date: Fri Jul 27 08:19:45 2018 +0930 Re: PowerPC Improve support for Gekko & Broadway PowerPC has replaced use of "long" for insns with "int64_t", in preparation for 64-bit power10 insns. * ppc-opc.c (insert_sprbat): Correct function parameter and return type. (extract_sprbat): Likewise, variable too. commit c93cb6280f66565c7ab3dd3077227f8a0039d678 Author: GDB Administrator Date: Fri Jul 27 00:00:35 2018 +0000 Automatic date update in version.in commit 6af79d7b5a21a40c4036541fbfa821f9d1260ebf Author: Jon Turney Date: Sat Jul 14 12:17:29 2018 +0100 Fix Cygwin compilation after target_ops C++ conversion. After f6ac5f3d "Convert struct target_ops to C++", we need to explicitly use the global namespace when calling ::close() from windows_nat_target methods, as that object has a close() method. gdb/ChangeLog: 2018-07-14 Jon Turney * windows-nat.c (windows_nat_target::create_inferior): Update to call close() in global namespace. commit 1f75763aa1bfe2f998f4347f0de436092a126980 Author: H.J. Lu Date: Thu Jul 26 08:49:12 2018 -0700 x86: Initialize broadcast_op.bytes to 0 * config/tc-i386.c (check_VecOperations): Initialize broadcast_op.bytes to 0. commit 7974897237f7708d440c45bc74cdfb70a2db8124 Author: Tom Tromey Date: Thu May 3 16:36:21 2018 -0600 Make psymbols and psymtabs independent of the program space This patch finally makes partial symbols and partial symtabs independent of the program space. Specifically: It changes add_psymbol_to_list to accept a section index, and changes the psymbol readers to pass this. At the same time it removes the code to add the objfile's section offset to the psymbol. It adds an objfile argument to the psymtab textlow and texthigh accessors and changes some code to use the raw variants instead. It removes the "relocate" method from struct quick_symbol_functions, as it is no longer needed any more. It changes partial_symbol::address so that the relevant offset is now applied at the point of use. gdb/ChangeLog 2018-07-26 Tom Tromey * dwarf-index-write.c (add_address_entry): Don't add objfile offsets. * dbxread.c (find_stab_function): Rename from find_stab_function_addr. Return a bound_minimal_symbol. (read_dbx_symtab): Use raw_text_low, raw_text_high. Don't add objfile offsets. (end_psymtab): Use raw_text_low, raw_text_high, MSYMBOL_VALUE_RAW_ADDRESS. (read_ofile_symtab): Update. (process_one_symbol): Update. * dwarf2read.c (create_addrmap_from_index): Don't add objfile offsets. (dw2_relocate): Remove. (dw2_find_pc_sect_symtab): Bias PC by the text offset before searching addrmap. (dwarf2_gdb_index_functions, dwarf2_debug_names_functions): Update. (process_psymtab_comp_unit_reader, add_partial_symbol) (add_partial_subprogram, dwarf2_ranges_read): Update. (load_partial_dies): Update. (add_address_entry): Don't add objfile offsets. (dwarf2_build_include_psymtabs): Update. (create_addrmap_from_aranges): Don't add objfile offsets. (dw2_find_pc_sect_compunit_symtab): Update. * mdebugread.c (parse_symbol): Don't add objfile offsets. (parse_lines): Remove 'pst' parameter, replace with 'textlow'. Update. (parse_partial_symbols): Don't add objfile offsets. Use raw_text_low, raw_text_high. Update. (handle_psymbol_enumerators, psymtab_to_symtab_1): Update. * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap or call 'relocate' quick function. Clear psymbol_map. * psympriv.h (struct partial_symbol)
: Add section offset. : Rename from set_address. : New methods. : Add objfile parameter. (add_psymbol_to_bcache): Add 'section' parameter. Call set_unrelocated_address. * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab) (find_pc_psymbol): Update. (fixup_psymbol_section, relocate_psymtabs): Remove. (dump_psymtab, psym_functions): Update. (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section' parameter. (maintenance_info_psymtabs, maintenance_check_psymtabs): Update. (start_psymtab_common): Update. * symfile-debug.c (debug_qf_relocate): Remove. (debug_sym_quick_functions): Update. * symfile.h (struct quick_symbol_functions) : Remove. * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets. Update. commit 52948f01e4a11f5fcebdca112036f907ac69e7ad Author: Tom Tromey Date: Thu May 3 16:36:20 2018 -0600 Add validity bits for psymtab high and low fields Right now some psymtab code checks whether a psymtab's textlow or texthigh fields are valid by comparing against 0. I imagine this is mildly wrong in the current environment, but once psymtabs are relocated dynamically, it will no longer be correct, because it will be much more normal to see a psymtab with a textlow of zero -- this will just mean it appears at the start of the text section. This patch introduces validity bits to handle this situation more nicely, and changes users of the code to follow. gdb/ChangeLog 2018-07-26 Tom Tromey * dbxread.c (end_psymtab): Use text_high_valid and text_low_valid. * mdebugread.c (parse_partial_symbols): Use text_low_valid. (psymtab_to_symtab_1): Use text_high_valid and text_low_valid. * psympriv.h (struct partial_symtab) : Update comment. : New fields. : Update. * xcoffread.c (scan_xcoff_symtab): Use text_low_valid. commit 4ae976d1df96aee0ecd97ea1235efc4490562932 Author: Tom Tromey Date: Thu May 3 16:36:19 2018 -0600 Introduce accessors for psymtab high and low fields This introduces accessors for the partial symbol table textlow and texthigh fields. This lets us later arrange to relocate these values at their point of use. I did this conversion by renaming the fields. I didn't rename the fields back afterward, thinking that on the off chance that someone has a patch touching this area, then a merge would helpfully break their compile. I looked at making the fields private, but this interferes with the memset in allocate_psymtab, and I didn't want to chase this down. This conversion can be done later if need be. gdb/ChangeLog 2018-07-26 Tom Tromey * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab): Update. * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize textlow and texthigh fields. (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs): Update. * mdebugread.c (parse_lines, parse_partial_symbols) (psymtab_to_symtab_1): Update. * psympriv.h (struct partial_symtab) : Rename fields. Update comment. Now private. : New methods. * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab) (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab) (start_psymtab_common, maintenance_info_psymtabs) (maintenance_check_psymtabs): Update. * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and texthigh fields. (scan_xcoff_symtab): Update. commit 02e9e7f7e2bed3b82cb6541f566caf07256b9b2f Author: Tom Tromey Date: Thu May 3 16:36:18 2018 -0600 Introduce partial_symbol::address This introduces a partial_symbol::address method. This method takes an objfile argument. This is necessary so that we can later relocate a partial symbol at its point of use. It also adds an accessor to compute the unrelocated value; and a method to be used for setting the field. Note that the new method doesn't actually perform any relocation yet. That will come in a subsequent patch. However, the comments are written to reflect the intended, rather than the temporary, semantics. gdb/ChangeLog 2018-07-26 Tom Tromey * psympriv.h (struct partial_symbol) : New methods. * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol) (fixup_psymbol_section, relocate_psymtabs): Update. (print_partial_symbols): Add 'objfile' parameter. Update. (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map): Update. commit 8a6d4234503bfe1c656d8cd335cac828507df9a3 Author: Tom Tromey Date: Thu May 3 16:36:17 2018 -0600 Change representation of psymbol to flush out accessors This is the psymbol analog to the patch to change the representation of minimal symbols: https://sourceware.org/ml/gdb-patches/2013-10/msg00524.html It has the same rationale: namely, that we're going to change the code to apply psymbol offsets at runtime. This will be done by adding an argument to the SYMBOL_VALUE_ADDRESS macro -- but since we can't convert all the symbol types at once, we need a new approach. Because gdb now is in C++, this patch changes partial_symbol to inherit from general_symbol_info, rather than renaming the field. This simplifies code in some places. Also, as noted before, these macros implement a kind of "phony polymorphism" that is not actually useful in practice; so this patch removes the macros in favor of simply referring directly to members. In a few cases -- obj_section in this patch and the symbol address in the future -- methods will be used instead. Note that this removes the blanket memset from add_psymbol_to_bcache. This hasn't really been needed since bcache was modified to allow holes in objects and since psymtab took advantage of that. This deletion was required due to changing partial_symbol to derive from general_symbol_info. gdb/ChangeLog 2018-07-26 Tom Tromey * dwarf-index-write.c (write_psymbols, debug_names::insert) (debug_names::write_psymbols): Update. * psympriv.h (struct partial_symbol): Derive from general_symbol_info. : New method. (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab) (find_pc_sect_psymbol, fixup_psymbol_section) (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs) (print_partial_symbols, recursively_search_psymtabs) (compare_psymbols, psymbol_hash, psymbol_compare) (add_psymbol_to_bcache, maintenance_check_psymtabs) (psymbol_name_matches, psym_fill_psymbol_map): Update. commit 08994e1ddcc8e5e1e003602409662ae799a1ff30 Author: Tom Tromey Date: Thu May 3 16:36:16 2018 -0600 Remove dead code in end_psymtab I noticed that there is a bit of dead code in end_psymtab. This deletes it. Normally I would investigate a fix for the code. However, considering that the code has been this way a long time (since the first import to sourceware) and considering that dbxread.c is not as important any more, I think it's safe to just consider that there's no bug. gdb/ChangeLog 2018-07-26 Tom Tromey * dbxread.c (end_psymtab): Remove dead code. commit 63b4ecf76fec65c6853ea01ffab31642533801e9 Author: Tom de Vries Date: Thu Jul 26 10:16:06 2018 +0200 [gdb/testsuite] Add comment in gdb.base/vla-optimized-out.c 2018-07-26 Tom de Vries * gdb.base/vla-optimized-out.c: Add comment about origin of test-case. commit fa758a70467c37cfe7b261e1dc20d431be3db62e Author: Alex Chadwick Date: Tue Jul 24 09:21:44 2018 +0930 PowerPC Improve support for Gekko & Broadway This is a relatively straightforward patch to improve support for the IBM Gekko and IBM Broadway processors. Broadway is functionally equivalent to the IBM 750CL, while Gekko's functionality is a subset of theirs. The patch simplifies this reality and adds -mgekko and -mbroadway as aliases for -m750cl. I didn't feel it was worth wasting a PPC_OPCODE_* bit to differentiate Gekko. The patch adds a number of simplified mnemonics for special purpose register access. Notably, Broadway adds 4 additional IBAT and DBAT registers but these are not assigned sequential SPR numbers. gas/ * config/tc-ppc.c (md_show_usage): Add -mgekko and -mbroadway. * doc/as.texi (Target PowerPC options): Add -mgekko and -mbroadway. * doc/c-ppc.texi (PowerPC-Opts): Likewise. * testsuite/gas/ppc/broadway.d, * testsuite/gas/ppc/broadway.s: New test for broadway. * testsuite/gas/ppc/ppc.exp: Run new test. include/ * opcode/ppc.h (PPC_OPCODE_750): Adjust comment. opcodes/ * ppc-dis.c (ppc_opts): Add -mgekko and -mbroadway. (powerpc_init_dialect): Handle bfd_mach_ppc_750. * ppc-opc.c (insert_sprbat, extract_sprbat): New functions to support disjointed BAT. (powerpc_operands): Allow extra bit in SPRBAT_MASK. Add SPRGQR. (XSPRGQR_MASK, GEKKO, BROADWAY): Define. (powerpc_opcodes): Add 750cl extended mnemonics for spr access. commit b358827438360cb5d04fbc59d594583fb506ba65 Author: Alan Modra Date: Thu Jul 26 17:12:07 2018 +0930 Re: Enhance powerpc ld -r --relax git commit 491993044ba6 broke the powerpc vxworks testsuite. * testsuite/ld-powerpc/vxworks-relax-2.rd: Update for 2018-07-25 ppc_elf_relax_section changes. commit 3c3bb0580be0027a1c7187b78c747af74dcfa884 Author: Andrew Burgess Date: Fri Jul 13 12:01:16 2018 +0100 gdb: Add switch to disable DWARF stack unwinders Add a maintenance command to disable the DWARF stack unwinders. Normal users would not need this feature, but it is useful to allow extended testing of fallback stack unwinding strategies, for example, prologue scanners. This is a partial implementation of the idea discussed in pr gdb/8434, which talks about a generic ability to disable any frame unwinder. Being able to arbitrarily disable any frame unwinder would be a more complex patch, and I was unsure how useful such a feature would really be, however, I can see (and have) a real need to disable DWARF unwinders. That's why this patch only targets that specific set of unwinders. If in the future we find ourselves adding more switches to disable different unwinders, then we should probably move to a more generic solution, and remove this patch. gdb/ChangeLog: * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if DWARF unwinders are disabled. * dwarf2-frame.c: Add dwarf2read.h include. (dwarf2_frame_sniffer): Exit early if DWARF unwinders are disabled. (dwarf2_frame_unwinders_enabled_p): Define. (show_dwarf_unwinders_enabled_p): New function. (_initialize_dwarf2_frame): Register switch to control DWARF unwinder use. * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare. * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword. (show_dwarf_cmdlist): Remove static keyword. * dwarf2read.h (set_dwarf_cmdlist): Declare. (show_dwarf_cmdlist): Declare. * NEWS: Document new feature. gdb/doc/ChangeLog: * gdb.texinfo (Maintenance Commands): Add description of maintenance command to control dwarf unwinders. gdb/testsuite/ChangeLog: * gdb.base/maint.exp: Add check that dwarf unwinders control flag is visible. commit 33cb30a1f932b5a211aa319a01783d4957ae5d57 Author: Alan Modra Date: Thu Jul 26 12:11:11 2018 +0930 Implement PowerPC64 .localentry for value 1 This adds support for ".localentry 1", a new st_other STO_PPC64_LOCAL_MASK encoding that signifies a function with a single entry point like ".localentry 0", but unlike a ".localentry 0" function does not preserve r2. include/ * elf/ppc64.h: Specify byte offset to local entry for values of two to six in STO_PPC64_LOCAL_MASK. Clarify r2 return value for such functions when entering via global entry point. Specify meaning of a value of one in STO_PPC64_LOCAL_MASK. bfd/ * elf64-ppc.c (ppc64_elf_size_stubs): Use a ppc_stub_long_branch_r2off for calls to symbols with STO_PPC64_LOCAL_MASK bits set to 1. gas/ * config/tc-ppc.c (ppc_elf_localentry): Allow .localentry values of 1 and 7 to directly set value into STO_PPC64_LOCAL_MASK bits. ld/testsuite/ * ld-powerpc/elfv2.s: Add .localentry f5,1 testcase. * ld-powerpc/elfv2exe.d: Update. * ld-powerpc/elfv2so.d: Update. commit 6cf212b445b4222bef4f74544896a3be332d5a12 Author: GDB Administrator Date: Thu Jul 26 00:00:15 2018 +0000 Automatic date update in version.in commit 9e7f3bbbbf5a13e879a4cc3cfa958412ffac0d9d Author: Tom de Vries Date: Tue Jul 3 17:08:42 2018 +0200 [gdb/breakpoints] Fix sigsegv in info prog at exec catchpoint With the test-case contained in this patch and compiled for debug we run into a segfault with trunk gdb: ... $ gdb catch-follow-exec -batch -ex "catch exec" \ -ex "set follow-exec-mode new" -ex "run" -ex "info prog" Catchpoint 1 (exec) process xxx is executing new program: /usr/bin/ls [New inferior 2 (process 0)] [New process xxx] Thread 2.1 "ls" hit Catchpoint 1 (exec'd /usr/bin/ls), in _start () from /lib64/ld-linux-x86-64.so.2 Segmentation fault (core dumped) ... The patch fixes the segfault by returning an error in info_program_command if get_last_target_status returns minus_one_ptid. The test-case is non-standard, because the standard approach runs into PR23368, a problem with gdb going to the background. Build and reg-tested on x86_64-linux. 2018-07-26 Tom de Vries PR breakpoints/23366 * infcmd.c (info_program_command): Handle ptid == minus_one_ptid. * gdb.base/catch-follow-exec.c: New test. * gdb.base/catch-follow-exec.exp: New file. commit 4a1b91eabbe77f4d906a0895121d76a0653c3cf3 Author: H.J. Lu Date: Wed Jul 25 15:28:07 2018 -0700 x86: Expand Broadcast to 3 bits Expand Broadcast to 3 bits so that the number of bytes to broadcast can be computed as 1 << (Broadcast - 1). Use it to simplify x86 assembler. gas/ * config/tc-i386.c (Broadcast_Operation): Add bytes. (build_evex_prefix): Use i.broadcast->bytes. (match_broadcast_size): New function. (check_VecOperands): Use the broadcast field to compute the number of bytes to broadcast directly. Set i.broadcast->bytes. Use match_broadcast_size. opcodes/ * i386-gen.c (adjust_broadcast_modifier): New function. (process_i386_opcode_modifier): Add an argument for operands. Adjust the Broadcast value based on operands. (output_i386_opcode): Pass operand_types to process_i386_opcode_modifier. (process_i386_opcodes): Pass NULL as operands to process_i386_opcode_modifier. * i386-opc.h (BYTE_BROADCAST): New. (WORD_BROADCAST): Likewise. (DWORD_BROADCAST): Likewise. (QWORD_BROADCAST): Likewise. (i386_opcode_modifier): Expand broadcast to 3 bits. * i386-tbl.h: Regenerated. commit 506f5c41cab71dbc3e562ba367d2dc6b355b64a6 Author: Tom de Vries Date: Wed Jul 18 18:33:07 2018 +0200 [gdb/symtab] Warn about unresolved DW_AT_upper_bound/DW_AT_count This patch generates a warning if DW_AT_upper_bound or DW_AT_count is defined, but can't be translated. This is triggered for current gcc in lto mode for vla test-cases. Build and reg-tested on x86_64-linux. 2018-07-26 Tom de Vries * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or DW_AT_count can't be translated to a dynamic prop. commit 16f808ec99b141bf03091d3b309a335c68d4e9e0 Author: Tom de Vries Date: Fri Jul 20 16:41:00 2018 +0200 [gdb/exp] Fix exception when printing optimized out vla When compiling vla-optimized-out.c with -O3 and a recent gcc, and trying to print the vla a in f1, we run into this gdb exception: ... Cannot find matching parameter at DW_TAG_call_site 0x4003be at main ... This is a regression introduced by 42dc7699a2 "[gdb/exp] Fix printing of type of optimized out vla". This patch fixes the regression by wrapping the ctx.eval call in dwarf2_locexpr_baton_eval in try/catch, similar to what is done in dwarf2_evaluate_loc_desc_full. Build and reg-tested on x86_64-linux. 2018-07-25 Tom de Vries * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in try/catch. * gdb.base/vla-optimized-out-o3.exp: New file. Reuse vla-optimized-out.c. commit d7154a8d08b142d1258dc2e4189ff0d00cd26493 Author: Jan Vrany Date: Thu May 31 09:56:33 2018 +0100 Notify about breakpoint modification when enabling/disabling single location When a single breakpoint location enableness was modified by a CLI command, observers were not notified about it. This issue is now fixed. gdb/ChangeLog: * breakpoint.c (enable_disable_bp_num_loc): Notify observers. gdb/testsuite/ChangeLog: * gdb.mi/mi-breakpoint-location-ena-dis.cc: New file. * gdb.mi/mi-breakpoint-location-ena-dis.exp: New file. commit a45389f60d4372bdb3484e432935f3169037d88c Author: Joel Brobecker Date: Wed Jul 25 10:57:27 2018 -0400 list Tom Tromey as GDB Global Maintainer gdb/ChangeLog: * MAINTAINERS (Global Maintainers): Add Tom Tromey. commit 54691107334ee13f3237e0f754d458c52d5b145e Author: Thomas Preud'homme Date: Wed Jul 25 09:51:51 2018 +0100 Clarify doc for .arch/.cpu Documentation for .arch and .cpu directives currently says that it accepts the same name as -march/-mcpu command-line options respectively. However it only accept the architecture/CPU part of those options: it does not accept specifying an extension which is done via .arch_extension. This patch clarifies that the extension is not accepted. 2018-07-25 Thomas Preud'homme gas/ * doc/c-arm.texi (.arch directive): Clarify that name must not include an extension. (.cpu directive): Likewise. commit e3d39609d16dccfef8fd1f02090fcd1df82736df Author: Nick Clifton Date: Wed Jul 25 10:56:45 2018 +0100 Fix potential memory leaks in some of the binutils source files. * rdcoff.c (parse_coff_struct_type): Free fields array upon early exit. (parse_coff_enum_type): Free names and vals arrays upon early exit. * rddbg.c (read_section_stabs_debugging_info): Free shandle and strings and stabs arrays upon early exit. * readelf.c (get_32bit_section_headers): Free shdrs structure upon early exit. (get_64bit_section_headers): Likewise. (get_32bit_elf_symbols): Generate an error if multiple symbol table index sections are associated with the same symbol section. (get_64bit_elf_symbols): Likewise. (process_dynamic_section): Generate an error if there are multiple dynamic symbol table sections, multiple dynamic string tables or multiple dynamic symbol information sections. commit 491993044ba6cfb2b0fc93c8b3032d5c91cccda5 Author: Alan Modra Date: Wed Jul 25 15:24:55 2018 +0930 Enhance powerpc ld -r --relax One of the ill effects of ld -r is to mash together sections. That can result in reduced icache performance at runtime due to unexpected movement of code. Another problem is that sections can become too large to link on targets that have limited relative addressing. ld -r --relax attempts to overcome the large section problem for branches by inserting trampolines, but the powerpc support added lots of unnecessary trampolines. This patch trims them somewhat. bfd/ * elf32-ppc.c (ppc_elf_relax_section): Ignore common or undef locals. Avoid trashing toff with added when used as a symbol index. Ignore R_PPC_PLTREL24 addends in unused example code. Avoid creating unnecessary fixups when relocatable. ld/ * testsuite/ld-powerpc/big.s: New file. * testsuite/ld-powerpc/relaxrl.d: New test. * testsuite/ld-powerpc/powerpc.exp: Run new test. * testsuite/ld-powerpc/relaxr.d: Adjust. commit be3e27bb5554e45d54d7cdc74353dda246239475 Author: Alan Modra Date: Wed Jul 25 11:40:48 2018 +0930 Suppress string diagnostics for pre-release GCC Extends commit 898ade12ee8 to cover other targets. * elf32-arm.c (elf32_arm_nabi_write_core_note): Disable -Wstringop-truncation warning for gcc-8.0 too. * elf32-ppc.c (ppc_elf_write_core_note): Likewise. * elf64-ppc.c (ppc64_elf_write_core_note): Likewise. * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise. * elf32-s390.c (elf_s390_write_core_note): Comment fix. * elf64-s390.c (elf_s390_write_core_note): Likewise. commit 5fbad1b90943710ff622e119d1ac6211fda500d0 Author: GDB Administrator Date: Wed Jul 25 00:00:36 2018 +0000 Automatic date update in version.in commit 380618d68a2b4ee60cebf3941d11a5af4e0aeee0 Author: Keith Seitz Date: Tue Jul 24 12:48:58 2018 -0700 Set CU language before processing any DIEs (symtab/23010 et al) This patch is another attempt at really fixing the multitude of assertions being seen where symbols of one language are being added to symbol lists of another language. In this specific case, the backtrace command (thread apply all bt full) that is looking for the compunit containing the PC of the thread. That calls get_prev_frame several times. This function calls (eventually) dwarf2_frame_prev_register. That eventually ends up calling find_pc_compunit_symtab. In this function (find_pc_sect_compunit_symtab actually), we loop over all compunits, calling the "quick" function dw2_find_pc_sect_compunit_symtab. That function calls dw2_instantiate_symtab to read in all the CU's symbols. Now the fun begins. dw2_do_instantiate_symtab queues the per_cu for reading, using a default "pretend" language of language_minimal with the expectation that this will be set later. The DIEs of this (only queued) CU are then processed. The first DIE is DW_TAG_compile_unit. That's handled by read_file_scope. (Nearly) The first thing read_file_scope does is: get_scope_pc_bounds (die, &lowpc, &highpc, cu); This function loops over the children of the current DIE (a compile_unit), looking for bounds. The first such child is a subprogram, and we attempt to get its bounds. We use dwarf2_attr to get at DW_AT_high_pc. This subprogram has DW_AT_specification set, so dwarf_attr (via follow_die_ref/follow_die_offset) will follow that, but follow_die_offset *also* attempts to load the containing CU for the spec DIE. That spec DIE lives inside a CU that is a partial_unit and has no language attribute. So it simply inherits the language from the CU that elicited the read. [That all happens in follow_die_offset.] The original CU's language is still language_minimal -- we haven't gotten to the line in read_file_scope that actually sets the language yet! And that is the cause of these problems. The call to prepare_one_comp_unit needs to be the *first* thing that is done when reading a CU so that the CU's language can be recorded (and inherited by any referenced partial_units). Since a test reproducer for this has been so elusive, this patch also adds a wrapper function around add_symbol_to_list which asserts when adding a symbol of one language to a list containing symbols of a different language. gdb/ChangeLog: 2017-07-24 Keith Seitz PR symtab/23010 * dwarf2read.c (dw2_add_symbol_to_list): New function. (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list instead of add_symbol_to_list. (read_file_scope): Call prepare_one_comp_unit before reading any other DIEs. commit 4b17aefe753a8d62ccd491b6a39dabdc69e91445 Author: Simon Marchi Date: Tue Jul 24 14:14:17 2018 -0400 Fix indentation in scoped_mmap.h gdb/ChangeLog: * common/scoped_mmap.h (class scoped_mmap): Fix indentation. commit 29d17e4773334ae60ffac7ea7f92d507c23b70f6 Author: Tom Tromey Date: Sun Jul 22 09:34:42 2018 -0600 Remove some unnecessary declarations and configury configure checks for declarations of free, malloc, and realloc; but the results are only used in a single spot: utils.c. I think these checks are long since obsolete, so this patch removes them. Grepping the entire tree for these HAVE_DECL_ symbols, the only uses of possible interest to gdb come from bfd/sysdep.h; but this is not (nor should be) included by gdb. (And furthermore I think the code there is probably also obsolete.) gdb/ChangeLog 2018-07-24 Tom Tromey * utils.c (malloc, realloc, free): Don't declare. * configure, config.in: Rebuild. * configure.ac: Don't check for declarations of free, malloc, or realloc. commit 56522fc5af76ec88f650d8d305c0aa3d669c2849 Author: H.J. Lu Date: Tue Jul 24 09:47:47 2018 -0700 x86: Use unsigned int to iterate through vector operands Use unsigned int to iterate through multi-length vector operands to avoid sign-extension. * config/tc-i386.c (build_vex_prefix): Use unsigned int to iterate through multi-length vector operands. (build_evex_prefix): Likewise. commit 1d97232ae3655ad4f2661af34f4fa6038d492a25 Author: Nick Clifton Date: Tue Jul 24 14:07:54 2018 +0100 Updated French translation for ld/ and Swedish translation for binutils/ bin * po/sv.po: Updated Swedish translation. ld * po/fr.po: Updated French translation. commit 7b8d9e8cec30b366392aaebc513063eff0115548 Author: Alan Modra Date: Tue Jul 24 09:11:35 2018 +0930 PR23431, Messages composed from pieces can't be properly translated PR 23431 * dwarf.c (display_formatted_table): Replace "what" parameter with "is_dir". Expand messages. Fix capitalisation. * testsuite/binutils-all/dw5.W: Update expected output. commit 67ce483baa43121a17195efe4b14a183e9fd8232 Author: Alan Modra Date: Tue Jul 24 16:35:52 2018 +0930 PR23430, Indices misspelled PR 23430 include/ * elf/common.h (SHT_SYMTAB_SHNDX): Fix comment typo. bfd/ * dwarf2.c (dwarf_debug_section_enum): Fix comment typo. * elf.c (bfd_section_from_shdr, elf_sort_sections): Likewise. binutils/ * elfcomm.h (struct archive_info): Rename uses_64bit_indicies to uses_64bit_indices. * elfcomm.c (setup_archive): Update uses of above. * readelf.c (process_archive): Likewise. (get_section_type_name): Rename indicies to indices. (get_32bit_elf_symbols, get_64bit_elf_symbols): Likewise. (process_section_groups): Likewise. cpu/ * or1kcommon.cpu (spr-reg-indices): Fix description typo. opcodes/ * or1k-desc.h: Regenerate. commit 4174bfff8a88f21659446cf631dbbbad615b4a9e Author: Jan Beulich Date: Tue Jul 24 09:46:27 2018 +0200 x86-64: correct AVX512F vcvtsi2s{d,s} handling Just like for their AVX counterparts and CVTSI2S{D,S}, a memory source here is ambiguous and hence - in source files should be qualified with a suitable suffix or operand size specifier (not doing so is an error in Intel mode, and will gain a diagnostic in AT&T mode in the future), - in disassembly should be properly suffixed (the Intel operand size specifiers were emitted correctly already). commit f47194a9cde616ed1c207d618d4827d1216ef650 Author: GDB Administrator Date: Tue Jul 24 00:00:43 2018 +0000 Automatic date update in version.in commit 2ae0bdddef8193e3d2ffc352f4fc035808b5fce4 Author: Max Filippov Date: Sun Jul 22 21:45:48 2018 -0700 xtensa: ld: convert tests to run_dump_test Three tests with individual .exp files can be implemented in less verbose way with run_dump_test infrastructure. Convert them. ld/ 2018-07-23 Max Filippov * testsuite/ld-xtensa/coalesce.d: New file. * testsuite/ld-xtensa/coalesce.exp: Remove file. * testsuite/ld-xtensa/diff_overflow.d: New file. * testsuite/ld-xtensa/diff_overflow.exp: Remove file. * testsuite/ld-xtensa/lcall.d: New file. * testsuite/ld-xtensa/lcall.exp: Remove file. * testsuite/ld-xtensa/xtensa.exp (coalesce, diff_overflow) (lcall): New tests. commit f5e263426f1f191ae85584a82dd793cfd3c951e9 Author: Max Filippov Date: Thu Jul 19 21:00:29 2018 -0700 xtensa: ld: add tests for static linkage relaxation ld/ 2018-07-23 Max Filippov * testsuite/ld-xtensa/relax-static-defs.s: New file. * testsuite/ld-xtensa/relax-static-local-pie.d: New file. * testsuite/ld-xtensa/relax-static-local-shared.d: New file. * testsuite/ld-xtensa/relax-static-local.s: New file. * testsuite/ld-xtensa/relax-static-pie.d: New file. * testsuite/ld-xtensa/relax-static-shared.d: New file. * testsuite/ld-xtensa/relax-static.s: New file. * testsuite/ld-xtensa/relax-undef-weak-local-pie.d: New file. * testsuite/ld-xtensa/relax-undef-weak-local-shared.d: New file. * testsuite/ld-xtensa/relax-undef-weak-local.s: New file. * testsuite/ld-xtensa/relax-undef-weak-pie.d: New file. * testsuite/ld-xtensa/relax-undef-weak-shared.d: New file. * testsuite/ld-xtensa/relax-undef-weak.s: New file. * testsuite/ld-xtensa/xtensa.exp: New file. commit da90fdf9936c532665e2a743d2fc5cf5e8f6816c Author: Max Filippov Date: Sat Jul 21 18:32:32 2018 -0700 xtensa: ld: rename xtensa.exp to xtensa-linux.exp xtensa.exp in fact only checks xtensa*-*-linux* configurations, rename it to xtensa-linux.exp to allow xtensa.exp to check xtensa*-*-*. ld/ 2018-07-23 Max Filippov * testsuite/ld-xtensa/xtensa.exp: Rename to xtensa-linux.exp. commit f82863d797e461b936dff2b659a3aa65088ee87e Author: Max Filippov Date: Sun Jul 22 18:59:11 2018 -0700 xtensa: move dynamic relocations sections consistency check The function elf_xtensa_finish_dynamic_sections checks that sizes of sections .rela.dyn and .rela.plt match number of corresponding relocation records, but the check is only done when .rela.plt is non-empty, so, e.g. it is never run for the static PIE. Rearrange the test so that .rela.dyn and .rela.plt are checked always. bfd/ 2018-07-23 Max Filippov * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Move relocation sections consistency check to always check both .rela.dyn and .rela.plt when they exist. Rearrange variable definition and assignment places. commit 5d3a462f05cba5b0c0c96de899b84fb84155c760 Author: Max Filippov Date: Sun Jul 22 13:52:28 2018 -0700 xtensa: fix relaxation of undefined weak references in shared objects The change c451bb34ae8b ("xtensa: don't emit dynamic relocation for weak undefined symbol") didn't properly handle shrinking of relocation sections due to coalescing of references to a dynamic undefined weak symbol in a shared object, which resulted in the following assertion failure in ld when linking uClibc-ng libthread_db for xtensa: BFD (GNU Binutils) 2.31 internal error, aborting at elf32-xtensa.c:3269 in elf_xtensa_finish_dynamic_sections Shrink dynamic relocations section for dynamic undefined weak symbols when linking a shared object. bfd/ 2018-07-23 Max Filippov * elf32-xtensa.c (shrink_dynamic_reloc_sections): Shrink dynamic relocations section for dynamic undefined weak symbols when linking a shared object. commit 01bcaf636ad0b1d5fe44a21917ec900af86072a8 Author: Tom Tromey Date: Sun Jul 15 18:07:40 2018 -0600 Avoid ubsan complaint in BFD I built gdb with ubsan and ran the test suite. One complaint was due to bfd_get_elf_phdrs passing NULL to memcpy. This patch avoids the complaint. bfd/ChangeLog 2018-07-23 Tom Tromey * elf.c (bfd_get_elf_phdrs): Don't call memcpy with size 0. commit e2b7fbc46d08605bd2807678475e01be42e589e6 Author: H.J. Lu Date: Mon Jul 23 06:32:20 2018 -0700 x86: Add a test for missing broadcast For .intel_syntax noprefix vcvtps2qq xmm0, DWORD PTR [rax] we should get Error: broadcast is needed for operand of such type for `vcvtps2qq' * testsuite/gas/i386/inval-avx512f.s: Add a test for missing 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. commit c265869848bc3f3715161ed4174d7ae73e495fc3 Author: H.J. Lu Date: Mon Jul 23 05:43:43 2018 -0700 x86: Remove broadcast_not_on_src_operand Remove broadcast_not_on_src_operand since it is unused. * config/tc-i386.c (i386_error): Remove broadcast_not_on_src_operand. (match_template): Likewse. commit 04e65276fa99a0de996142b054bb76f8491ae103 Author: Claudiu Zissulescu Date: Mon Jul 23 11:09:43 2018 +0200 [ARC] Fix decoding of w6 signed short immediate. gas/ Claudiu Zissulescu * testsuite/gas/arc/st.d: Fix test. opcodes/ Claudiu Zissulescu * arc-opc.c (extract_w6): Fix extending the sign. commit 47e6f81c7c269ab5ef2b3004bb5ebe0de5cfb969 Author: Claudiu Zissulescu Date: Mon Jul 23 11:09:43 2018 +0200 [ARC] Allow vewt instruction for ARC EM family. opcode/ Claudiu Zissulescu * arc-tbl.h (vewt): Allow it for ARC EM family. commit f02806be1ff3d25fdf4d9e06ced33c4b138458aa Author: claziss Date: Mon Jul 23 11:09:43 2018 +0200 [ARC] Fix case-sensitivity for extension instructions. In ARC assembler, we accept case insensitive mnemonics, but this was not the case for extension instruction, fix it and add a test. gas/ Claudiu Zissulescu * config/tc-arc.c (tokenize_extinsn): Convert to lower case the name of extension instructions. * testsuite/gas/arc/textinsn_case.d: New file. * testsuite/gas/arc/textinsn_case.s: Likewise. commit 898ade12ee835c3a55460ae4fe311f40a01cf586 Author: Andreas Krebbel Date: Mon Jul 23 10:29:37 2018 +0200 S/390: Suppress string diagnostics for pre-release GCC Building for S/390 currently fails when using a GCC 8.1 pre-release version like 8.0.1 (as it is used by F28). Fixed with the attached patch. bfd/ChangeLog: 2018-07-23 Andreas Krebbel * elf32-s390.c (elf_s390_write_core_note): Make GCC version 8.0 to be covered by the check as well. * elf64-s390.c (elf_s390_write_core_note): Likewise. commit 49ddb0fbdad2bdf5ff4fcbcf50470f16c0f1f34a Author: Alan Modra Date: Mon Jul 23 12:31:18 2018 +0930 PowerPC64 fails reloc-discard test PowerPC64 fails here due to emitting a warning about discarded dynamic relocations. That's a good thing, since accidentally discarding dynamic relocations will likely result in a non-working binary. * testsuite/ld-elf/reloc-discard-warn.d: New. * testsuite/ld-elf/reloc-discard.d: Skip test on PowerPC64. commit bb71536f2841449252952ac4f759c1e0eca7e137 Author: Alan Modra Date: Mon Jul 23 12:59:23 2018 +0930 power9 mfupmc/mtupmc PR 23419 * ppc-opc.c (powerpc_opcodes): Add mtupmc/mfupmc/mfpmc extended opcode variants for mtspr/mfspr encodings. commit cf4088a92f240b01e6db8f39a5a3abfa918f6f2c Author: Simon Marchi Date: Sun Jul 22 23:23:11 2018 -0400 Remove some unused variables Found using the newly-enabled -Wunused-variable. gdb/ChangeLog: * aarch64-linux-nat.c (aarch64_linux_nat_target::stopped_data_address): Remove unused variable. * arm-linux-nat.c (fetch_regs): Likewise. (store_regs): Likewise. (fetch_vfp_regs): Likewise. (store_vfp_regs): Likewise. (arm_linux_nat_target::insert_hw_breakpoint): Likewise. (arm_linux_nat_target::remove_hw_breakpoint): Likewise. (arm_linux_nat_target::insert_watchpoint): Likewise. (arm_linux_nat_target::remove_watchpoint): Likewise. * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint): Likewise. * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): Likewise. * ppc-linux-nat.c (fetch_register): Likewise. (fetch_all_gp_regs): Likewise. (fetch_ppc_registers): Likewise. (store_all_gp_regs): Likewise. (store_ppc_registers): Likewise. (hwdebug_insert_point): Likewise. (can_use_watchpoint_cond_accel): Likewise. * remote-sim.c (gdb_os_write_stdout): Likewise. gdb/gdbserver/ChangeLog: * linux-mips-low.c (mips_collect_ptrace_register): Remove unused variable. (mips_supply_ptrace_register): Likewise. commit 6018c5acdf8b33b8f816de4757045379485f6ad6 Author: GDB Administrator Date: Mon Jul 23 00:01:17 2018 +0000 Automatic date update in version.in commit a0de763e32b381369896fef63d221376f29a9113 Author: Tom Tromey Date: Sun Jul 8 21:05:41 2018 -0600 Add -Wunused-variable to warnings.m4 This adds -Wunused-variable to the build. This required a special check in configure in order to work around a bug in GCC 4.9. Simon ound the correct test to use, so I've added him to the ChangeLog. gdb/ChangeLog 2018-07-22 Simon Marchi Tom Tromey * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special test for it. * configure: Rebuild. gdb/gdbserver/ChangeLog 2018-07-22 Tom Tromey * configure: Rebuild. commit 3b20124b3d6df31b5bde0f6bcd718cc40de8d49b Author: Tom Tromey Date: Sun Jul 8 20:31:58 2018 -0600 Conditionally define xmltarget_${name} variable in regdat.sh This changes regdat.sh to emit the xmltarget_${name} variable inside the #ifndef IN_PROCESS_AGENT block. This avoids a -Wunused-variable warning for some builds. Thanks to Pedro for investigating this one. gdb/ChangeLog 2018-07-22 Tom Tromey * regformats/regdat.sh: Define xmltarget_${name} inside #ifndef IN_PROCESS_AGENT. commit b0a7723d29ddd39345a4af30c130ebc89c623d21 Author: Tom Tromey Date: Sun Jul 8 12:09:22 2018 -0600 Remove unused variables from gdbserver This removes a few unused variables from gdbserver. The x86-tdesc.h change is a bit unusual for this series. This file was not defining the multiple-include guard symbol, so I've added that here. Also, it is hard to determine when i386_expedite_regs will be needed, so this patch simply marks it ATTRIBUTE_UNUSED. gdb/gdbserver/ChangeLog 2018-07-22 Tom Tromey * win32-low.c (win32_create_inferior): Remove unused variables. * gdbreplay.c (remote_open): Remove unused variable. * remote-utils.c (remote_prepare): Remove unused variable. * x86-tdesc.h (X86_TDESC_H): Define. (amd64_expedite_regs): Define conditionally. (i386_expedite_regs): Mark ATTRIBUTE_UNUSED. * linux-x86-tdesc.c (i386_tdescs): Move inside #if. * remote-utils.c (readchar): Remove unused variable. commit 8c8807f43924ec0f936b9bb59fd73d8fa4956e9e Author: Tom Tromey Date: Sun Jul 8 12:18:19 2018 -0600 Remove unused declaration from value.c This removes an unused declaration from value_fetch_lazy_bitfield. Because it is not completely clear if the check_typedef call is needed somewhere beneath this function, this is broken out into a separate patch. gdb/ChangeLog 2018-07-22 Tom Tromey * value.c (value_fetch_lazy_bitfield): Remove unused variable. commit c486b6106a31e442cba13c74a103aad8463bbd20 Author: Tom Tromey Date: Sun Jul 8 12:18:09 2018 -0600 Pass the correct argument to the observer in reread_symbols This is actually a patch I found via another route. Joel had asked me to write a test, but I still have not found the time to do this. Meanwhile, -Wunused-variable also found this error. gdb/ChangeLog 2018-07-22 Tom Tromey * symfile.c (reread_symbols): Notify iter, not objfile. commit 494f80a9321dccb939bf39afed66649702b563fe Author: Tom Tromey Date: Sun Jul 8 12:17:51 2018 -0600 Fix ravenscar-thread.c to use arch_ops The change to turn target ops into methods accidentally introduced a bug in ravenscar-thread.c, changing some calls that were using "arch_ops" to use the target beneath. This patch changes ravenscar-thread.c to use these variables where appropriate. gdb/ChangeLog 2018-07-22 Tom Tromey * ravenscar-thread.c (ravenscar_thread_target::store_registers): Use arch_ops. (ravenscar_thread_target::prepare_to_store): Likewise. commit c51f6a54c28aaf2039f95553ff897338475fe8bf Author: Tom Tromey Date: Sun Jul 8 12:17:36 2018 -0600 Call value_fetch_lazy when needed in pretty-printers This removes some unused variables, and replaces the calls to value_contents_for_printing with a call to value_fetch_lazy, when needed. gdb/ChangeLog 2018-07-22 Tom Tromey * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove unused variable. Call value_fetch_lazy when needed. * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer): Remove unused variable. Call value_fetch_lazy when needed. commit 374fd1fd7b9bbefc15c003f14f4229ccbfc1bfc8 Author: Tom Tromey Date: Sun Jul 8 12:17:23 2018 -0600 Remove declarations from m32c-tdep.c This removes some unused declarations from m32c-tdep.c. Initially I had thought that this entire code block was dead, but Simon pointed out that it is not; so this patch simply removes some declarations. gdb/ChangeLog 2018-07-22 Tom Tromey * m32c-tdep.c (mark_dma): Return void. (make_regs): Remove unused declarations. commit d5e9a511c4bbb25a7e6844169aa9e5b3fc7ef453 Author: Tom Tromey Date: Sun Jul 8 12:16:20 2018 -0600 Call some functions in guile/ for effect This changes a couple of spots in guile/ to remove a variable declaration but to still call a function for effect. gdb/ChangeLog 2018-07-22 Tom Tromey * guile/scm-cmd.c (gdbscm_dont_repeat): Call cmdscm_get_valid_command_smob_arg_unsafe for effect. * guile/scm-block.c (gdbscm_make_block_syms_iter): Call bkscm_get_valid_block_smob_arg_unsafe for effect. commit 996d693a07973411897103a36e89bccee6c94479 Author: Tom Tromey Date: Sun Jul 8 12:16:00 2018 -0600 Use a previously unused variable in bfin-tdep.c This changes bfin_push_dummy_call to use the result of check_typedef. Calling check_typedef for effect was probably ok as well, but this seemed a little nicer. gdb/ChangeLog 2018-07-22 Tom Tromey * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not value_type. commit 157663703656814c751998747faadf41711e51ec Author: Tom Tromey Date: Sun Jul 8 12:39:36 2018 -0600 Unused variable fixes related to conditional compilation This patch fixes various unused variable warnings that are related to conditional compilation. In these cases, either the variable is now protected by the same #if as its uses, or the declaration is simply lowered into the conditionally-compiled block. gdb/ChangeLog 2018-07-22 Tom Tromey * windows-nat.c (saved_context): Conditionally define. * remote.c (remote_target::remote_btrace_maybe_reopen): Conditionally declare "warned". * inflow.c (sigquit_ours): Conditionally define. (new_tty): Move "tty" declaration inside #if. * guile/guile.c (guile_datadir): Conditionally define. * charset.c (set_be_le_names): Move some declarations inside #if. * btrace.c (parse_xml_btrace): Move "errcode" declaration inside #if. (parse_xml_btrace_conf): Likewise. commit f4e80e1301f916ae7952abaf4ff1ebeac00951b3 Author: Tom Tromey Date: Mon Jul 16 09:33:42 2018 -0600 Remove an unused variable from spu_get_overlay_table This removes an unused variable from spu_get_overlay_table, replacing it with an explanatory comment. gdb/ChangeLog 2018-07-22 Tom Tromey * spu-tdep.c (spu_get_overlay_table): Remove unused variable. commit 8d49165d8382e29bff8d60d208934596e3994305 Author: Tom Tromey Date: Sun Jul 8 12:15:04 2018 -0600 Simple unused variable removals This patch holds all the straightforward unused variable deletions. gdb/ChangeLog 2018-07-22 Tom Tromey * guile/scm-value.c (gdbscm_value_call): Remove unused variables. * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow) (vlscm_convert_typed_value_from_scheme): Remove unused variable. * buildsym-legacy.c (get_macro_table): Remove unused variable. * stack.c (frame_apply_level_command): Remove unused variable. * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable. * sparc64-tdep.c (adi_examine_command): Remove unused variable. * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove unused variable. * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable. * mep-tdep.c (mep_push_dummy_call): Remove unused variable. * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused variable. * amd64-tdep.c (amd64_supply_xsave): Remove unused variable. * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused variable. * breakpoint.c (check_no_tracepoint_commands, update_watchpoint): Remove unused variable. * cli/cli-script.c (recurse_read_control_structure): Remove unused variable. * common/tdesc.c (print_xml_feature::visit): Remove unused variable. * compile/compile-object-load.c (store_regs): Remove unused variables. * complaints.c (clear_complaints): Remove unused variable. * corelow.c (core_target_open): Remove unused variable. * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused variable. * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused variable. * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused variable. * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused variable. * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused variable. * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused variable. * ia64-tdep.c (examine_prologue): Remove unused variable. * infcall.c (run_inferior_call): Remove unused variable. * inferior.c (exit_inferior): Remove unused variable. * infrun.c (infrun_thread_ptid_changed): Remove unused variable. * linespec.c (decode_line_2): Remove unused variable. * linux-nat.c (super_close): Remove. * linux-tdep.c (linux_info_proc): Remove unused variable. * mi/mi-main.c (mi_execute_command): Remove unused variable. * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache): Remove unused variable. * parse.c (find_minsym_type_and_address): Remove unused variable. * printcmd.c (info_symbol_command, printf_floating): Remove unused variable. * python/py-breakpoint.c (bppy_set_commands): Remove unused variable. * python/py-unwind.c (unwind_infopy_dealloc): Remove unused variables. * record-btrace.c (record_btrace_target::store_registers): Remove unused variable. (cmd_show_record_btrace_cpu): Remove unused variable. * riscv-tdep.c (riscv_register_reggroup_p) (riscv_push_dummy_call, riscv_return_value): Remove unused variable. * rust-exp.y (literal): Remove unused variable. * rust-lang.c (rust_evaluate_subexp) : Remove unused variable. : Likewise. * s390-linux-tdep.c (s390_linux_init_abi_31) (s390_linux_init_abi_64): Remove unused variable. * ser-ming2.c (ser_windows_read_prim, pipe_select_thread) (file_select_thread, net_windows_open, _initialize_ser_windows): Remove unused variables. * symtab.c (find_pc_sect_line): Remove unused variable. * target-memory.c (compute_garbled_blocks): Remove unused variable. (target_write_memory_blocks): Remove unused variable. * target.c (target_stack::unpush): Remove unused variables. * tracepoint.c (start_tracing, all_tracepoint_actions) (merge_uploaded_trace_state_variables) (print_one_static_tracepoint_marker): Remove unused variable. * unittests/basic_string_view/element_access/char/1.cc (test01): Remove unused variable. * windows-nat.c (windows_continue, windows_add_all_dlls) (do_initial_windows_stuff, windows_nat_target::create_inferior): Remove unused variables. commit c7213af9b3e47d3341f95fe24549681029a53853 Author: H.J. Lu Date: Sun Jul 22 12:00:39 2018 -0700 x86: Determine vector length from the last vector operand Determine VEX/EVEXE vector length from the last multi-length vector operand. * config/tc-i386.c (build_vex_prefix): Determine vector length from the last multi-length vector operand. (build_evex_prefix): Likewise. commit 17cbafdbbef78d7e05ade53d4cc867fa8ac2f432 Author: Simon Marchi Date: Sat Jul 21 22:21:57 2018 -0400 Fix -Wunused-variable warnings related to conditional compilation Some variables are not used when !HAVE_ELF, so avoid declaring them in that case. gdb/ChangeLog: * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and attr_profile in HAVE_ELF. * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in HAVE_ELF. commit dcc0660f04bb74948299fb33c98620cfd1ceabb2 Author: GDB Administrator Date: Sun Jul 22 00:01:12 2018 +0000 Automatic date update in version.in commit dd40ce22d01afa0676d2eb5163d77ca3262e01f9 Author: H.J. Lu Date: Sat Jul 21 10:57:54 2018 -0700 gas/config/tc-i386.c: Break long line * config/tc-i386.c (match_simd_size): Break long line. (match_mem_size): Likewise. commit 2376f038d10f901d3e1a2777407f350e4e54d284 Author: Eric Botcazou Date: Sat Jul 21 15:00:40 2018 +0200 Initialize GOT slot for local symbol in non-PIC link. On ARM/VxWorks 7, the R_ARM_TARGET2 relocation used for exception handling is R_ARM_GOT_PREL; moreover in Ada you can define local exceptions. In this case, you may end up with a GOT relocation against a local symbol in a non-PIC link and the ARM linker leaves the GOT slot uninitialized, unlike for example the i386 or the SPARC linkers in the same situation. bfd/ * elf32-arm.c (elf32_arm_final_link_relocate) : Small cleanup for the case of a global symbol that binds locally. Also install a value in the GOT slot in the case of a local symbol in a non-PIC link. commit 0ee6c332f36222a73abee41bc5168bacf78c9189 Author: Simon Marchi Date: Fri Jul 20 22:19:04 2018 -0400 Rename some frame unwind function parameters I am currently working with these functions, and though this renaming could help to reason about the code. Some functions take a frame and will return the value associated to that frame, others will return the value associated to the previous frame. Those usually conveniently contain "unwind" in their name, but naming the variable next_frame instead of frame helps remembering which frame we are dealing with. I also included a little typo fix at the top of frame.h. gdb/ChangeLog: * frame.c (frame_register_unwind): Change parameter name. (frame_unwind_register): Likewise. (frame_unwind_register_value): Likewise. (frame_unwind_register_signed): Likewise. (frame_unwind_register_unsigned): Likewise. * frame.h (frame_register_unwind): Likewise. (frame_unwind_register): Likewise. (frame_unwind_register_value): Likewise. (frame_unwind_register_signed): Likewise. (frame_unwind_register_unsigned): Likewise. (frame_unwind_arch): Likewise. commit bef891d212194e71264a6276094efffddb06c586 Author: GDB Administrator Date: Sat Jul 21 00:00:33 2018 +0000 Automatic date update in version.in commit e2e31f1039e614b11277f5f1acc4182cd7fd3f2c Author: Maciej W. Rozycki Date: Sat Jul 21 00:14:01 2018 +0100 Update my e-mail address, limit maintenance to MIPS I-IV ISAs binutils/ * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV ISA maintenance. gdb/ * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV ISA maintenance. sim/ * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV ISA maintenance. commit 7a54636a02e089436f69446a631451593ffeca30 Author: H.J. Lu Date: Fri Jul 20 12:47:25 2018 -0700 x86: Rename match_reg_size to match_operand_size match_reg_size checks size for both memory and register operands. This patch renamed match_reg_size to match_operand_size and updated comments for commit 3ac21baa8498d3aa9951f79e2c3336d532eeff7b Author: Jan Beulich Date: Mon Jul 16 08:19:21 2018 +0200 x86: fix operand size checking which added one argument to match_reg_size, match_simd_size and match_mem_size. * config/tc-i386.c (match_reg_size): Renamed to ... (match_operand_size): This. Update comments. (match_simd_size): Update comments. Replace match_reg_size with match_operand_size. (match_mem_size): Likewise. (operand_size_match): Replace match_reg_size with match_operand_size. commit d5f4da5e334dc4d87d7751a816c15d2bf4db3d43 Author: H.J. Lu Date: Fri Jul 20 09:52:35 2018 -0700 ld: Discard .rel.* and .rela.* sections On many targets, like x86, .rel.dyn/.rela.dyn section is combined from different .rel/.rela sections by -z combreloc. To discard dynamic relocation section, we need to discard .rel.* and .rela.* sections instead of .rel.dyn and .rela.dyn sections. Note: This test fails for targets which issue a warning when dynamic section is discarded. * testsuite/ld-elf/reloc-discard.ld: Discard .rel.* and .rela.* sections instead of .rel.dyn and .rela.dyn sections. commit 2d38991535ecfcd092f3c57da84844efc3d49877 Author: Maciej W. Rozycki Date: Fri Jul 20 17:28:08 2018 +0100 MIPS/Linux/native: Convert to `get_ptrace_pid' for PID extraction Use `get_ptrace_pid' to get the ptrace PID from `inferior_ptid' rather than extracting it by hand. gdb/ * mips-linux-nat.c (mips_linux_nat_target::read_description): Call `get_ptrace_pid' rather than extracting the ptrace PID by hand. commit 241e64e3b42cd9eba514b8e0ad2ef39a337f10a5 Author: H.J. Lu Date: Fri Jul 20 09:18:47 2018 -0700 x86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed When -z separate-code, which is enabled by default for Linux/x86, is used to create executable, ld won't place any data in the code-only PT_LOAD segment. If there are no data sections placed before the code-only PT_LOAD segment, the program headers won't be mapped into any PT_LOAD segment. When the executable tries to access it (based on the program header address passed in AT_PHDR), it will lead to segfault. This patch inserts a GNU_PROPERTY_X86_ISA_1_USED note if there may be no data sections before the text section so that the first PT_LOAD segment won't be code-only and will contain the program header. Testcases are adjusted to either pass "-z noseparate-code" to ld or discard the .note.gnu.property section. A Linux/x86 run-time test is added. bfd/ PR ld/23428 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the separate code program header is needed, make sure that the first read-only PT_LOAD segment has no code by adding a GNU_PROPERTY_X86_ISA_1_USED note. ld/ PR ld/23428 * testsuite/ld-elf/linux-x86.S: New file. * testsuite/ld-elf/linux-x86.exp: Likewise. * testsuite/ld-elf/pr23428.c: Likewise. * testsuite/ld-elf/sec64k.exp: Pass "-z noseparate-code" to ld for Linux/x86 targets. * testsuite/ld-i386/abs-iamcu.d: Likewise. * testsuite/ld-i386/abs.d: Likewise. * testsuite/ld-i386/pr12718.d: Likewise. * testsuite/ld-i386/pr12921.d: Likewise. * testsuite/ld-x86-64/abs-k1om.d: Likewise. * testsuite/ld-x86-64/abs-l1om.d: Likewise. * testsuite/ld-x86-64/abs.d: Likewise. * testsuite/ld-x86-64/pr12718.d: Likewise. * testsuite/ld-x86-64/pr12921.d: Likewise. * testsuite/ld-linkonce/zeroeh.ld: Discard .note.gnu.property section. * testsuite/ld-scripts/print-memory-usage.t: Likewise. * testsuite/ld-scripts/size-2.t: Likewise. * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Use ld to create executable if language is "asm". commit cbb09508e4b515501273288aaa11a8ef5e15e0ff Author: Keith Seitz Date: Sun Jul 8 10:19:10 2018 -0600 Rename remaining members of buildsym_compunit to start with "m_" This renames all the remaining members of buildsym_compunit to start with "m_" to follow the general naming convention. gdb/ChangeLog 2018-07-20 Keith Seitz * buildsym.h (struct buildsym_compunit) : Add "m_" prefix. Update all uses. * buildsym.c: Update all uses. commit bfe2e011c004b88687ae4514cfdb00072a9cee63 Author: Tom Tromey Date: Tue May 22 22:47:15 2018 -0600 Remove record_line_ftype The record_line_ftype typedef was only used in the DWARF reader, and we removed those uses a few patches ago. So, remove the typedef. gdb/ChangeLog 2018-07-20 Tom Tromey * buildsym-legacy.h (record_line): Don't use record_line_ftype. * buildsym.h (record_line_ftype): Remove typedef. commit 0e6f30610fdb50b4974b349ed3673b744d03e9a9 Author: Tom Tromey Date: Tue May 22 22:44:44 2018 -0600 Remove some unused buildsym functions Now that the DWARF reader uses the builder-based API, we can remove a few "legacy" functions that were only ever called by it. gdb/ChangeLog 2018-07-20 Tom Tromey * buildsym-legacy.h (augment_type_symtab): Don't declare. (end_expandable_symtab): Likewise. (end_symtab_get_static_block): Likewise. (end_symtab_from_static_block): Likewise. * buildsym-legacy.c (augment_type_symtab): Remove. (end_expandable_symtab): Remove. (end_symtab_get_static_block): Remove. (end_symtab_from_static_block): Remove. commit 804d27291b2922f01fe5cc2d9ae759533d4a2f6f Author: Tom Tromey Date: Tue May 22 15:22:53 2018 -0600 Convert the DWARF reader to new-style buildysm This converts the DWARF reader to use the new-style buildsym API. A new buildsym_compunit is created for each CU and is used to construct the symbol table. In some cases the CU must be passed to functions which previously did not accept it. FWIW I tend to think that most methods in the DWARF reader ought to be methods on the dwarf2_cu object. gdb/ChangeLog 2018-07-20 Tom Tromey * dwarf2read.c: Include buildsym.h. (struct dwarf2_cu) : New method. (fixup_go_packaging): Update. (process_full_comp_unit, process_full_type_unit): Update. Don't use scoped_free_pendings. (using_directives): Add "cu" parameter, remove "language". (read_import_statement, setup_type_unit_groups, ) (read_func_scope, read_lexical_block_scope) (dwarf2_record_block_ranges, read_namespace): Update. (lnp_state_machine::lnp_state_machine): Add cu parameter. (lnp_state_machine::handle_end_sequence): Update. (class lnp_state_machine) : New member. : Remove. : New member. (lnp_state_machine::handle_set_file): Update. (noop_record_line): Remove. (dwarf_record_line_p): Add cu parameter. (dwarf_record_line_1, dwarf_finish_line): Likewise. (lnp_state_machine::record_line) (lnp_state_machine::lnp_state_machine) (lnp_state_machine::check_line_address, dwarf_decode_lines_1) (dwarf_decode_lines): Update. (dwarf2_start_subfile): Add cu parameter. (dwarf2_start_symtab, new_symbol): Update. (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter. Remove dwarf2_per_objfile parameter. (dwarf_decode_macros): Update. commit 80e649fcac86101a8a4581317e867e89de015d28 Author: Tom Tromey Date: Tue May 22 14:44:09 2018 -0600 Parameterize cp_scan_for_anonymous_namespaces This changes cp_scan_for_anonymous_namespaces to use the buildsym_compunit API, rather than the function-based API. gdb/ChangeLog 2018-07-20 Tom Tromey * stabsread.c (define_symbol): Update. * buildsym-legacy.h (get_buildsym_compunit): Declare. * dwarf2read.c (new_symbol): Update. * cp-support.h (cp_scan_for_anonymous_namespaces): Update. * cp-namespace.c: Include buildsym.h. (cp_scan_for_anonymous_namespaces): Add "compunit" parameter. * buildsym-legacy.c (get_buildsym_compunit): New function. commit 0baae8dbd38534c0f3dcedc7b9204bbc8f18de1b Author: Tom Tromey Date: Tue May 22 14:39:24 2018 -0600 Introduce buildsym-legacy.h This introduces a new header, buildsym-legacy.h, and changes all the symbol readers to use it. The idea is to put the function-based interface, that relies on the buildsym_compunit global, into a separate header. Then when a symbol reader is updated to use the new interface, it can simply not include buildsym-legacy.h, so it's easy to be sure that the new API is used everywhere. gdb/ChangeLog 2018-07-20 Tom Tromey * xcoffread.c: Include buildsym-legacy.h. * windows-nat.c: Include buildsym-legacy.h. * stabsread.c: Include buildsym-legacy.h. * mdebugread.c: Include buildsym-legacy.h. * buildsym-legacy.h: New file. * buildsym-legacy.c: New file, from buildsym.c. * go32-nat.c: Include buildsym-legacy.h. * dwarf2read.c: Include buildsym-legacy.h. * dbxread.c: Include buildsym-legacy.h. * cp-namespace.c: Include buildsym-legacy.h. * coffread.c: Include buildsym-legacy.h. * buildsym.h: Move some contents to buildsym-legacy.h. * buildsym.c: Include buildsym-legacy.h. Move many functions to buildsym-legacy.c. * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h. commit ab209f6fa9dbaf0d3d0c42e2a8f14bf3ff7dfce8 Author: Tom Tromey Date: Tue May 22 14:27:43 2018 -0600 Move struct buildsym_compunit to buildsym.h This moves struct buildsym_compunit to buildsym.h. Now that the members are private, and it no longer affects any global state in buildsym.c, an instance can be used directly for symtab creation. gdb/ChangeLog 2018-07-20 Tom Tromey * buildsym.h (struct buildsym_compunit): Move from buildsym.c. * buildsym.c (struct buildsym_compunit): Move to buildsym.h. (buildsym_compunit::buildsym_compunit) (buildsym_compunit::~buildsym_compunit) (buildsym_compunit::get_macro_table): Define. commit 74c72eac237232e9c23c2b4e21d24941d804dae9 Author: Tom Tromey Date: Tue May 22 14:23:32 2018 -0600 Remove reset_symtab_globals This patch arranges for the remaining buildsym global -- buildsym_compunit -- to only be cleared by the wrapper functions, not by methods on struct buildsym_compunit. In the process, reset_symtab_globals is removed. gdb/ChangeLog 2018-07-20 Tom Tromey * buildsym.c (reset_symtab_globals): Remove. (buildsym_compunit::end_symtab_from_static_block): Update. (buildsym_compunit::augment_type_symtab): Update. (end_symtab_from_static_block): Call free_buildsym_compunit. (augment_type_symtab, end_symtab, end_expandable_symtab): Likewise. commit da6580e59c5c2c5dda086f9c407688e79377e49e Author: Tom Tromey Date: Tue May 22 14:13:46 2018 -0600 Do not use buildsym.h in some files A few files no longer need to include buildsym.h. gdb/ChangeLog 2018-07-20 Tom Tromey * arch-utils.c: Do not include buildsym.h. * mipsread.c: Do not include buildsym.h. * machoread.c: Do not include buildsym.h. * elfread.c: Do not include buildsym.h. commit 4a2125f531114e80d68334a67f2d4ea2335a865d Author: Tom Tromey Date: Mon May 21 09:29:29 2018 -0600 Add many methods to buildsym_compunit This adds many methods to buildsym_compunit and makes the data members private. Essentially the entire buildsym API is now available as a method on buildsym_compunit. However, standalone functions are still provided, as this is what the sybmol readers actually use. gdb/ChangeLog 2018-07-20 Tom Tromey * buildsym.c (buildsym_compunit::buildsym_compunit): Do more initialization. (buildsym_compunit): Add new constructor. (struct buildsym_compunit) : New public methods. : New private methods. Update all users. commit 6b213a4778fae60d40257aee37c3fdec837ea574 Author: Tom Tromey Date: Wed Jul 11 22:55:17 2018 -0600 Remove parameter from record_pending_block This removes a redundant parameter from record_pending_block. It also moves record_pending_block earlier in the file, so that a forward declaration is no longer needed. gdb/ChangeLog 2018-07-20 Tom Tromey * buildsym.c (record_pending_block): Move earlier. Remove objfile parameter. (finish_block_internal): Update. commit b80a981d0867f554d382eef9fc16081b12ac0543 Author: Tom Tromey Date: Mon May 21 09:21:18 2018 -0600 Remove EXTERN from buildsym.h Nothing in buildsym.h relies on the "EXTERN" method of declaration/definition, so remove the traces. gdb/ChangeLog 2018-07-20 Tom Tromey * buildsym.h (EXTERN): Don't define or undef. * buildsym.c (EXTERN): Don't define. commit ddb7060226028e5e18c340a6d072337ead3209cd Author: Tom Tromey Date: Mon May 21 09:20:31 2018 -0600 Remove a TODO This removes a TODO comment -- the work has been done. gdb/ChangeLog 2018-07-20 Tom Tromey * buildsym.c: Remove TODO comment. commit b37dd3bcaac70cede547ba41fdac7878a0f4c67e Author: Tom Tromey Date: Mon May 21 09:16:16 2018 -0600 Remove buildsym_init Now that buildsym_init does nothing, it can be removed. gdb/ChangeLog 2018-07-20 Tom Tromey * coffread.c (coff_symtab_read): Update. * xcoffread.c (xcoff_psymtab_to_symtab_1): Update. (xcoff_new_init): Update. * mipsread.c (mipscoff_new_init): Update. * mdebugread.c (mdebug_build_psymtabs): Update. * elfread.c (elf_new_init): Update. * dwarf2read.c (process_full_comp_unit, process_full_type_unit): Update. * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1) (coffstab_build_psymtabs, elfstab_build_psymtabs) (stabsect_build_psymtabs): Update. * buildsym.h (buildsym_init): Don't declare. * buildsym.c: Update comment. (prepare_for_building): Remove. (start_symtab, restart_symtab): Update. (reset_symtab_globals): Update comment. (buildsym_init): Remove. commit e148f09d75af9e5c6af5136fee3a5a298114d41f Author: Tom Tromey Date: Mon May 21 09:12:54 2018 -0600 Move the symbol lists to buildsym_compunit This moves the global symbol lists into buildsym_compunit, adds accessors, and updates all the users. gdb/ChangeLog 2018-07-20 Tom Tromey * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update. * stabsread.c (patch_block_stabs, define_symbol, read_type) (read_enum_type, common_block_start, common_block_end) (cleanup_undefined_types_1, finish_global_stabs): Update. * mdebugread.c (psymtab_to_symtab_1): Update. * dwarf2read.c (fixup_go_packaging, read_func_scope) (read_lexical_block_scope, new_symbol): Update. * dbxread.c (process_one_symbol): Update. * coffread.c (coff_symtab_read, process_coff_symbol) (coff_read_enum_type): Update. * buildsym.h (file_symbols, global_symbols, local_symbols): Don't declare. (get_local_symbols, get_file_symbols, get_global_symbols): New functions. * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and m_global_symbols. : New members. (~scoped_free_pendings): Update. (finish_block, prepare_for_building, reset_symtab_globals) (end_symtab_get_static_block, end_symtab_with_blockvector) (augment_type_symtab, push_context): Update. (get_local_symbols, get_file_symbols, get_global_symbols): New functions. (buildsym_init): Update. commit 93b8bea4143cafae79076076c64aaa4c46a9b73c Author: Tom Tromey Date: Mon May 21 23:30:47 2018 -0600 Set list_in_scope later in DWARF reader Currently the DWARF reader sets the list_in_scope member of the CU when first starting to process symbols. Future changes will make this assert -- code will not be able to refer to these lists until after start_symtab has been called. This patch prepares for the problem by arranging to initialize list_in_scope in dwarf2_start_symtab. gdb/ChangeLog 2018-07-20 Tom Tromey * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope. (process_full_type_unit): Likewise. (dwarf2_start_symtab): Set list_in_scope. commit f62f6af5da07eba0ac5425365da3d82c43f3445c Author: Tom Tromey Date: Mon May 21 23:23:02 2018 -0600 Do not look at file symbols when reading psymtabs The DWARF reader was setting the list_in_scope member when reading partial symbols. however, this member is only useful when reading full symbols. Future patches will make this assert, so remove these unneeded initializations. gdb/ChangeLog 2018-07-20 Tom Tromey * dwarf2read.c (process_psymtab_comp_unit_reader) (build_type_psymtabs_reader): Do not set list_in_scope. commit 1d376700df2476d8a8ca4fa503bdcfb0b425b683 Author: Tom Tromey Date: Mon May 21 08:35:43 2018 -0600 Remove free_pendings buildsym.c currently keeps a free list of "struct pending"s. However, this didn't seem necessary to me, and so this patch removes the free list. gdb/ChangeLog 2018-07-20 Tom Tromey * buildsym.c (free_pendings): Remove. (add_symbol_to_list, scoped_free_pendings) (finish_block_internal, buildsym_init): Update. commit c233e9c641a84e69603bd94d0e85050c361b64a6 Author: Tom Tromey Date: Mon May 21 00:41:21 2018 -0600 Remove the "listhead" argument from finish_block finish_block is only ever called with "&local_symbols" as the "listhead" argument. So, remove this argument. gdb/ChangeLog 2018-07-20 Tom Tromey * xcoffread.c (read_xcoff_symtab): Update. * dwarf2read.c (read_func_scope, read_lexical_block_scope): Update. * dbxread.c (process_one_symbol): Update. * coffread.c (coff_symtab_read): Update. * buildsym.h (finish_block): Update. * buildsym.c (finish_block): Remove "listhead" argument. (end_symtab_get_static_block): Update. commit 5ac045503de7dde6793b318f89d251addc161f66 Author: Tom Tromey Date: Mon May 21 00:34:26 2018 -0600 Move pending_blocks and pending_block_obstack to buildsym_compunit This moves the pending_blocks and pending_block_obstack into buildsym_compunit. The obstack could perhaps be merged with the addrmap obstack, but I did not do that in this series. gdb/ChangeLog 2018-07-20 Tom Tromey * buildsym.h (class scoped_free_pendings): Remove constructor. * buildsym.c (struct buildsym_compunit) : New method. : New members. (pending_block_obstack, pending_blocks): Remove. (scoped_free_pendings::scoped_free_pendings): Default. (~scoped_free_pendings): Update. (free_pending_blocks): Remove. (finish_block_internal, record_pending_block, make_blockvector) (end_symtab_get_static_block, augment_type_symtab, push_context) (buildsym_init): Update. commit 7ea05a7b634a895128e87c8c71e8e611758cd4bb Author: Tom Tromey Date: Mon May 21 00:28:56 2018 -0600 Move pending addrmap globals to buildsym_compunit This moves the pending addrmap-related globals into buildsym_compunit. gdb/ChangeLog 2018-07-20 Tom Tromey * buildsym.c (struct buildsym_compunit) : New members. (pending_addrmap, pending_addrmap_obstack) (pending_addrmap_interesting): Remove. (scoped_free_pendings, record_block_range, make_blockvector) (prepare_for_building, reset_symtab_globals, buildsym_init): Update. commit 3c65e5b31cb5587773deff979099435b9687a0f4 Author: Tom Tromey Date: Mon May 21 00:15:12 2018 -0600 Move current_subfile to buildsym_compunit This moves the global current_subfile into buildsym_compunit. gdb/ChangeLog 2018-07-20 Tom Tromey * xcoffread.c (process_linenos): Update. * stabsread.c (define_symbol, read_type, read_enum_type): Update. * mdebugread.c (psymtab_to_symtab_1): Update. * dwarf2read.c (setup_type_unit_groups) (lnp_state_machine::handle_set_file, dwarf_record_line_p) (lnp_state_machine::record_line, dwarf_decode_lines): Update. * dbxread.c (process_one_symbol): Update. * coffread.c (coff_symtab_read, enter_linenos) (process_coff_symbol): Update. * buildsym.h (current_subfile): Don't declare. (get_current_subfile): Declare. * buildsym.c (struct buildsym_compunit) : New member. (start_subfile, free_buildsym_compunit, push_subfile) (prepare_for_building, start_symtab): Update. (get_current_subfile): New function. commit a60f3166aa946336c68e7a873d5eed6061b5733c Author: Tom Tromey Date: Sun May 20 23:58:35 2018 -0600 Move the context stack to buildsym_compunit This moves the context stack globals to be members of buildsym_compunit, changing the type to a std::vector in the process. Because the callers expect the context stack object to be valid after being popped, at Simon's suggestion I've changed pop_context to return the object rather than the pointer. gdb/ChangeLog 2018-07-20 Tom Tromey * coffread.c (coff_symtab_read): Update. * xcoffread.c (read_xcoff_symtab): Update. * dwarf2read.c (new_symbol): Update. (read_func_scope, read_lexical_block_scope): Update. * dbxread.c (process_one_symbol): Update. * buildsym.h (context_stack, context_stack_depth): Don't declare. (outermost_context_p): Remove macro. (outermost_context_p, get_current_context_stack) (get_context_stack_depth): Declare. (pop_context): Return struct context_stack. * buildsym.c (struct buildsym_compunit) Date: Fri Jun 1 22:20:23 2018 -0600 Make the Rust parser pure This makes the Rust parser a pure parser and removes all the (non-constant) globals from rust-exp.y. This seemed like a nice simplification to me and I think it should probably be applied to all the parsers. Perhaps it would be good to go even one step farther and have all parsers derive from parser_state. Tested on x86-64 Fedora 26. gdb/ChangeLog 2018-07-20 Tom Tromey * rust-exp.y: Now a pure parser. Update all rules. (%union): Move earlier. (current_parser, work_obstack): Remove globals. (rust_parser, ~rust_parser): Update. (class rust_parser) : New methods. (rust_parse): Update. (rustyyerror, rustyylex): Add parser parameter. (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test) (rust_lex_stringish_test, rust_lex_test_sequence) (rust_lex_test_trailing_dot, rust_lex_test_completion) (rust_lex_test_push_back, rust_lex_tests): Update. commit 3ba174474d3cc063d6b7abf0bfdd6021bbaf8a90 Author: Andre Simoes Dias Vieira Date: Thu Jul 19 16:18:28 2018 +0100 [PATCH, LD, AArch64] Fix ifunc testisms This patch fixes some ifunc testisms after H.J. Lu's patch to enable the use of IFUNC pointers in position dependent code for binutils. See PR LD/23169 in binutils bugzilla. The aarch64 ifunc error message test was changed to no longer expect this error message as this is now an accepted combination. This patch also disables the executable tests added by H.J. Lu for aarch64, just as Alan Modra did with his patch, as these tests only seem to work on some architectures. ld/ChangeLog: 2018-07-19 Andre Vieira * testsuite/ld-aarch64/ifunc-9.d: Remove no longer expected error. * testsuite/ld-ifunc/ifunc.exp: Disable tests for aarch64. commit 232a00325b0f97e108014148c68ae314e90cbb36 Author: Tom de Vries Date: Fri Jul 20 16:40:10 2018 +0200 [gdb/testsuite] Make noclone conditional in vla-optimized-out.c Make the noclone attribute on f1 in vla-optimized-out.c conditional. This makes the test-case by default identical to gcc/testsuite/gcc.dg/guality/vla-1.c. Tested on x86_64-linux. 2018-07-20 Tom de Vries * gdb.base/vla-optimized-out.c: Make noclone attribute conditional on NOCLONE macro. * gdb.base/vla-optimized-out.exp: Use additional_flags -DNOCLONE. commit 3391569f218cd5d05e96769f47559d5828be3acd Author: Nick Clifton Date: Fri Jul 20 15:05:34 2018 +0100 Close memory and resource leaks detected by coverity in the binutils directory. * objcopy.c (add_specific_symbols): Free buffer on exit. (add_redefine_syms_file): Close file handle on exit. (copy_object): Close file handle on early exit. Free buffer on early exit. Free gaps buffers once they are no longer needed. * dwarf.c (display_debug_frames): Free allocated memory on exit. (load_separate_debug_info): Free allocate memory on early exit. commit 8095d2f70e1a982c006f306be1a9e1c892758914 Author: Chenghua Xu Date: Fri Jul 20 13:21:33 2018 +0100 MIPS/GAS: Split Loongson MMI Instructions from loongson2f/3a The MMI instruction set has been implemented in many Loongson processors. There is a lot of software optimized for MMI. This patch splits MMI from loongson2f/3a, and adds GAS and disassembler options for MMI instructions. 2018-07-20 Chenghua Xu Maciej W. Rozycki bfd/ * elfxx-mips.c (print_mips_ases): Add MMI extension. binutils/ * readelf.c (print_mips_ases): Add MMI extension. gas/ * NEWS: Mention MultiMedia extensions Instructions (MMI) support. * config/tc-mips.c (options): Add OPTION_LOONGSON_MMI and OPTION_NO_LOONGSON_MMI. (md_longopts): Likewise. (mips_ases): Define availability for MMI. (mips_convert_ase_flags): Map ASE_LOONGSON_MMI to AFL_ASE_LOONGSON_MMI. (mips_cpu_info_table): Add ASE_LOONGSON_MMI for loongson2f/3a. (md_show_usage): Add help for -mloongson-mmi and -mno-loongson-mmi. * doc/as.texi: Document -mloongson-mmi, -mno-loongson-mmi. * doc/c-mips.texi: Document -mloongson-mmi, -mno-loongson-mmi, .set loongson-mmi and .set noloongson-mmi. * testsuite/gas/mips/loongson-2f.d: Move mmi test to ... * testsuite/gas/mips/loongson-2f-mmi.d: Here. Add ISA/ASE flag verification. * testsuite/gas/mips/loongson-2f.s: Move mmi test to ... * testsuite/gas/mips/loongson-2f-mmi.s: Here. * testsuite/gas/mips/loongson-3a.d: Move mmi test to ... * testsuite/gas/mips/loongson-3a-mmi.d: Here. Add ISA/ASE flag verification. * testsuite/gas/mips/loongson-3a.s: Move mmi test to ... * testsuite/gas/mips/loongson-3a-mmi.s: Here. * testsuite/gas/mips/mips.exp: Run loongson-2f-mmi and loongson-3a-mmi tests. include/ * elf/mips.h (AFL_ASE_MMI): New macro. (AFL_ASE_MASK): Update to include AFL_ASE_LOONGSON_MMI. * opcode/mips.h (ASE_LOONGSON_MMI): New macro. opcodes/ * mips-dis.c (mips_arch_choices): Add MMI to loongson2f and loongson3a descriptors. (parse_mips_ase_option): Handle -M loongson-mmi option. (print_mips_disassembler_options): Document -M loongson-mmi. * mips-opc.c (LMMI): New macro. (mips_opcodes): Replace IL2F|IL3A marking with LMMI for MMI instructions. commit db841b6fcd8b3bc2e6d6774e81c14dfbb9ac815d Author: Maciej W. Rozycki Date: Fri Jul 20 13:21:33 2018 +0100 MIPS/LD: Fix crashing with a discarded dynamic relocation section Fix a crash that occurs in `_bfd_mips_elf_finish_dynamic_sections' if a dynamic relocation section has been created, but marked to be discarded by an assignment to the /DISCARD/ output section in a linker script. In that case the output section is the absolute section, which has no ELF section data attached, so trying to set its `sh_size' parameter causes a null pointer dereference. This is only done as the value for the DT_RELSZ dynamic entry is being set, so fix the problem by not creating DT_REL, DT_RELSZ or DT_RELENT dynamic entries in the first place if the dynamic relocation section will not be output, as with no dynamic relocation data present these would not serve their purpose anyway. Add a generic ELF test case to verify that no dynamic relocation data is reported in the dynamic segment. bfd/ * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Do not create DT_REL, DT_RELSZ or DT_RELENT dynamic entries if the dynamic relocation section will be discarded from output. (_bfd_mips_elf_finish_dynamic_sections) : Assert that the dynamic relocation section will be retained in output. ld/ * testsuite/ld-elf/reloc-discard.d: New test. * testsuite/ld-elf/reloc-discard.ld: New test linker script. * testsuite/ld-elf/reloc-discard.s: New test source. commit 0458ca44409420c3d5cdbbb21561ee71fd930d31 Author: Rainer Orth Date: Fri Jul 20 11:15:57 2018 +0200 Specify architecture for SPARC gas tests A couple of SPARC gas tests FAIL on Solaris/SPARC (both sparc-sun-solaris2.11 and sparcv9-sun-solaris2.11): FAIL: sparc PAUSE FAIL: sparc CBCOND FAIL: sparc CFR FAIL: sparc CRYPTO FAIL: sparc HPC+VIS3 FAIL: sparc IMA FAIL: sparc OSA2015 %mwait asr and MWAIT instruction FAIL: sparc OSA2015 %mcdper asr FAIL: sparc SPARC5 and VIS4.0 FAIL: OSA2015 crypto instructions FAIL: SPARC6 FAIL: FPCMPSHL OSA2017 instructions FAIL: OSA2017 ONADD/ONSUB/ONMUL/ONDIV instructions. FAIL: OSA2017 RLE instructions FAIL: sparc64 rdasr FAIL: sparc64 rdpr FAIL: sparc64 rdhpr FAIL: sparc64 wrasr FAIL: sparc64 wrpr It turns out there's a common pattern here: failures happen for all tests that use SPARC ISA extensions beyond sparcv9, e.g. for the sparc PAUSE test: regexp_diff match failure regexp "^ 0: b7 80 40 02 wr %g1, %g2, %pause$" line " 0: b7 80 40 02 wr %g1, %g2, %asr27" [...] regexp_diff match failure regexp "^ 8: b7 80 20 08 pause 8$" line " 8: b7 80 20 08 wr 8, %asr27" [...] The fix is easy, actually: just as the tests specify the ISA extension to use as a gas flag, the same needs to be done for objdump. For the test above, which has -Av9v, this means passing -msparc:v9v to objdump. Doing so makes all but two (unrelated; to be reported separately) failures go away. This doesn't happen on Linux/SPARC, where gas emits GNU object attributes matching the hardcare capabilities used. Since gas doesn't yet implement Solaris-style object capabilites, the explicit -march is needed, but only passed on Solaris. Tested on both sparc-sun-solaris2.11 and sparcv9-sun-solaris2.11. * testsuite/gas/sparc/sparc.exp (set_tests_arch): New proc. Prefix v9c, v9d, v9v, v9m, v9m8 tests with corresponding set_tests_arch. commit 79f5b65e3e7b10d914b1328ce6e9ad7c9ae39c63 Author: DJ Delorie Date: Thu Jul 19 21:34:37 2018 -0400 Remove myself from target-specific MAINTAINERS [binutils] * MAINTAINERS (RL78, RX): Remove myself as maintainer. [sim] * MAINTAINERS (rl78, m32c, rx, v850): Remove myself as maintainer. commit 8f153adc1db75601619dbead97fdbe621fbf69b0 Author: GDB Administrator Date: Fri Jul 20 00:00:47 2018 +0000 Automatic date update in version.in commit 4c6933327e2e30c97ea4e49dc6f7e0f48941fd6f Author: Pedro Alves Date: Thu Jul 19 16:34:55 2018 +0100 Eliminate remaining gdb/guile cleanups The remaining gdb/guile cleanups all handle the memory returned by gdbscm_scm_to_c_string. This commit makes gdbscm_scm_to_c_string return a gdb::unique_xmalloc_ptr instead of a naked pointer, and eliminates the remaining cleanups. gdb/ChangeLog: 2018-07-19 Pedro Alves * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a gdb::unique_xmalloc_ptr. * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x): Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr. * guile/scm-exception.c (gdbscm_exception_message_to_string): Use copy-initialization. * guile/scm-pretty-print.c (ppscm_print_children): Use gdb::unique_xmalloc_ptr instead of cleanups. (gdbscm_apply_val_pretty_printer): Remove cleanups. * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a gdb::unique_xmalloc_ptr. * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p): Adjust to use gdb::unique_xmalloc_ptr. * guile/scm-utils.c (extract_arg): Adjust. * guile/scm-value.c (gdbscm_value_field): Adjust to use gdb::unique_xmalloc_ptr instead of a cleanup. commit 4581dc8297381651284e2f4a9f835eebcc6f2328 Author: Tom Tromey Date: Thu Jul 19 08:49:58 2018 -0600 Remove make_cleanup_value_free_to_mark Pedro's patch to introduce gdbscm_wrap removed the last caller of make_cleanup_value_free_to_mark. This patch removes this function. I'm checking this in as obvious. Tested by rebuilding, and by grepping. gdb/ChangeLog 2018-07-19 Tom Tromey * utils.c (do_value_free_to_mark) (make_cleanup_value_free_to_mark): Remove. * utils.h (make_cleanup_value_free_to_mark): Remove. commit fbb1d502eeae135dbe6ac3b0b122e574a9b888d6 Author: Tom de Vries Date: Thu Jul 19 16:24:16 2018 +0200 [gdb/testsuite] Fix regexp in list-thread-groups-available.exp I ran into a gdb.mi/list-thread-groups-available.exp failure: ... Running gdb/testsuite/gdb.mi/list-thread-groups-available.exp ... FAIL: gdb.mi/list-thread-groups-available.exp: list available thread groups (unexpected output) PASS: gdb.mi/list-thread-groups-available.exp: list available thread groups with filter ... When doing an experiment of running it 100 times in a row, the failure reproduced 3 times. Analyzing the original failure led to insufficient quoting of square brackets in a regexp. This patch fixes the regexp, which resulted in 0 failures in a 100-in-a-row run. Tested on x86_64-linux. 2018-07-19 Tom de Vries * gdb.mi/list-thread-groups-available.exp (cores_re): Fix quoting in regular expression. commit db3410f80f793189d3c8afb8b80951333d3fe007 Author: Eli Zaretskii Date: Thu Jul 19 16:54:06 2018 +0300 Fix GDB build using mingw.org's MinGW libiberty/ 2018-07-18 Eli Zaretskii PR gdb/23434 * libiberty/simple-object-elf.c (ENOTSUP): If not defined by errno.h, redirect ENOTSUP to ENOSYS. commit 442a6ce858c0da0c5fba3eeb57a646254adf107a Author: Nick Clifton Date: Thu Jul 19 14:23:31 2018 +0100 Stop potential memory leaks in dwarf CIE reader. * dwarf.c (read_cie): Free allocated memory before returning with a failure result. commit 43cc6c3adb7f6ac45c06011f439ed06161d1d770 Author: Pedro Alves Date: Thu Jul 19 10:56:47 2018 +0100 gdbscm_wrap, really forward args Commit 557e56be2648 ("Eliminate most remaining cleanups under gdb/guile/") missed adding the && to Args to really forward the arguments properly. Noticed by inspection. gdb/ChangeLog: 2018-07-19 Pedro Alves * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a forwarding reference. commit f559b440bb6dc6eb853125039dfaaee84f3a7522 Author: Andreas Krebbel Date: Thu Jul 19 10:00:51 2018 +0200 S/390: Set the htm flag on PPA The PPA instruction will be emitted by GCC transactional execution builtins so it needs to be accepted with just -mhtm and without -march=zEC12. opcodes/ChangeLog: 2018-07-19 Andreas Krebbel * s390-opc.txt (PPA): Add the htm flag. commit 5f32791e1ea970cabd6ca764f1cc282d9e8fef22 Author: Jan Beulich Date: Thu Jul 19 08:36:19 2018 +0200 x86: fold narrowing VCVT* templates When multiple (here: two) forms of an insn take different width inputs but produce identical size outputs (here: RegXMM), the templates can be combined. Also drop IgnoreSize (and the now redundant size specifiers) wherever applicable. commit 625cbd7ac121a6df6d237c8368262f6634fb61ab Author: Jan Beulich Date: Thu Jul 19 08:35:38 2018 +0200 x86: fold VFPCLASSP{D,S} templates These are special because they may not have a register operand to derive the vector length from, which requires to also deal with the braodcast case when determining vector length in build_evex_prefix(). Also drop IgnoreSize (and the now redundant size specifiers) from their suffixed counterparts. commit 86b15c32040ae35c74e84b18f7b65dea94436458 Author: Jan Beulich Date: Thu Jul 19 08:34:45 2018 +0200 x86: fold various AVX512* templates commit cf769ed505ed9b3eca24df67bb9cfc0adc1a033f Author: Jan Beulich Date: Thu Jul 19 08:34:01 2018 +0200 x86: fold various AVX512DQ templates commit 8282b7ad0dfaffce380cb668dc2a8ca473758760 Author: Jan Beulich Date: Thu Jul 19 08:32:17 2018 +0200 x86: fold various AVX512BW templates commit 755908cce568d1cb5f2a3f1cc64472ed43eef8b5 Author: Jan Beulich Date: Thu Jul 19 08:31:24 2018 +0200 x86: fold various AVX512CD templates commit 7091c612013ed63fedabc26b1662c87071e41fd6 Author: Jan Beulich Date: Thu Jul 19 08:29:35 2018 +0200 x86: fold various AVX512VL templates into their AVX512F counterparts commit c30be56ebf7989e36f5c7d4a703cb00f7d4ca2ab Author: Jan Beulich Date: Thu Jul 19 08:28:29 2018 +0200 x86: pre-process opcodes table before parsing Instead of expanding macro-like constructs in i386-gen, have the C pre- processor do this for us. Besides being a prerequisite for the next template folding steps, this also paves the way for removing various hidden dependencies between #define-s in i386-opc.h and plain literal numbers used in i386-opc.tbl. The #undef of None is solely to leave the generated i386-tbl.h entirely unchanged. commit e387da76fc6ee61f6bc30edfa1210be173e96db4 Author: GDB Administrator Date: Thu Jul 19 00:00:39 2018 +0000 Automatic date update in version.in commit 3a5f2a48ffe3941396d7a19d9398c9a4945b4e5d Author: Pedro Alves Date: Wed Jul 18 23:41:06 2018 +0100 Eliminate cleanup in gdbscm_execute_gdb_command Note: the "may be modified" comment is no longer true nowadays. gdb/ChangeLog: 2018-07-18 Pedro Alves * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use gdbscm_wrap. Use gdb::unique_xmalloc_ptr instead of a cleanup. commit 557e56be2648db13cd5d9876f702ba119ee9e7fd Author: Pedro Alves Date: Wed Jul 18 22:55:59 2018 +0100 Eliminate most remaining cleanups under gdb/guile/ The main complication with the Guile code is that we have two types of exceptions to consider. GDB/C++ exceptions, and Guile/SJLJ exceptions. Code that is facing the Guile interpreter must not throw GDB exceptions, instead Scheme exceptions must be thrown. Also, because Guile exceptions are SJLJ based, Guile-facing code must not use local objects with dtors, unless wrapped in a scope with a TRY/CATCH, because the dtors won't otherwise be run when a Guile exceptions is thrown. This commit adds a new gdbscm_wrap wrapper function than encapsulates a pattern I noticed in many of the functions using GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS. The wrapper is written such that you can pass either a lambda to it, or a function plus a variable number of forwarded args. I used a lambda when its body would be reasonably short, and a separate function in the larger cases. This also convers a few functions that were using GDBSCM_HANDLE_GDB_EXCEPTION to use gdbscm_wrap too because they followed a similar pattern. A few cases of make_cleanup calls are replaced with explicit xfree calls. The make_cleanup/do_cleanups calls in those cases are pointless, because do_cleanups won't be called when a Scheme exception is thrown. We also have a couple cases of Guile-facing code using RAII-type objects to manage memory, but those are incorrect, exactly because their dtor won't be called if a Guile exception is thrown. gdb/ChangeLog: 2018-07-18 Pedro Alves * guile/guile-internal.h: Add comment about mixing GDB and Scheme exceptions. (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete. (gdbscm_wrap): New. * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree directly instead of a cleanup. * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ... (vlscm_unop): ... this. Reimplement using gdbscm_wrap. (vlscm_binop_gdbthrow): New, factored out from ... (vlscm_binop): ... this. Reimplement using gdbscm_wrap. (vlscm_rich_compare): Use gdbscm_wrap. * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly instead of a cleanup. (gdbscm_lookup_global_symbol): Use xfree directly instead of a cleanup. * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p): Use xfree directly instead of a cleanup. * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value): Adjust to use gdbscm_wrap and scoped_value_mark. (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap. (gdbscm_value_address, gdbscm_value_dereference) (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and scoped_value_mark. (gdbscm_value_dynamic_type): Use scoped_value_mark. (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and scoped_value_mark. (gdbscm_value_subscript, gdbscm_value_call): Adjust to use gdbscm_wrap and scoped_value_mark. (gdbscm_value_to_string): Use xfree directly instead of a cleanup. Move 'buffer' unique_ptr to TRY scope. (gdbscm_value_to_lazy_string): Use xfree directly instead of a cleanup. Move 'buffer' unique_ptr to TRY scope. Use scoped_value_mark. (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap. (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and scoped_value_mark. (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use gdbscm_wrap. commit 42dc7699a26be0157c438dcaeb89da38287c6d2d Author: Tom de Vries Date: Tue Jul 3 11:06:45 2018 +0200 [gdb/exp] Fix printing of type of optimized out vla Consider this snippet from gcc/testsuite/gcc.dg/guality/vla-1.c: ... int __attribute__((noinline)) f1 (int i) { char a[i + 1]; a[0] = 5; /* { dg-final { gdb-test .+1 "i" "5" } } */ return a[0]; /* { dg-final { gdb-test . "sizeof (a)" "6" } } */ } ... When we compile the test-case with -O1 -g, and query the size of optimized out vla 'a', we get: ... $ ./gdb -batch -ex "b f1" -ex "r" -ex "p sizeof (a)" vla-1.exe Breakpoint 1 at 0x4004a8: file vla-1.c, line 17. Breakpoint 1, f1 (i=i@entry=5) at vla-1.c:17 17 return a[0]; $1 = 0 ... while we expect a size of '6'. The problem is that default_read_var_value does not resolve the dynamic type of a variable if the variable is optimized out. This patch fixes that, and consequently gdb prints '6', as expected. Tested on x86_64-linux. 2018-07-18 Tom de Vries * findvar.c (default_read_var_value): Also resolve dynamic type for LOC_OPTIMIZED_OUT vars. * gdb.base/vla-optimized-out.c: New test. * gdb.base/vla-optimized-out.exp: New file. commit 6592ceed489043051d02d41dc71f51e8ef8aa6f0 Author: Maciej W. Rozycki Date: Wed Jul 18 19:17:39 2018 +0100 microMIPS: Add SYSCALL instruction decoding Fix a bug with commit 4cc0665f24bb ("microMIPS support"), , and add missing microMIPS SYSCALL instruction decoding needed to determine the location to put a breakpoint at when single-stepping though a syscall. gdb/ * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction decoding. commit d3554ec1ed057f4ecfee35d4bec81f9d5a545cb1 Author: Maciej W. Rozycki Date: Wed Jul 18 17:51:54 2018 +0100 BFD/XCOFF: Fix storage class setting for weak defined symbols Fix an issue with commit 8602d4fea60d ("Add AIX weak support"), , and use the correct condition to set the storage class for weak defined symbols. The context here is as follows: else if ((h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) && h->smclas == XMC_XO) { BFD_ASSERT (bfd_is_abs_section (h->root.u.def.section)); isym.n_value = h->root.u.def.value; isym.n_scnum = N_UNDEF; if (h->root.type == bfd_link_hash_undefweak && C_WEAKEXT == C_AIX_WEAKEXT) isym.n_sclass = C_WEAKEXT; else isym.n_sclass = C_EXT; aux.x_csect.x_smtyp = XTY_ER; } so clearly the inner condition can never be true. Correct the condition then to check for the `bfd_link_hash_defweak' symbol type instead here, and in a similar place a little further down in the same function. bfd/ * xcofflink.c (xcoff_write_global_symbol): Fix symbol type checks for defined weak symbols. commit 972450a72cb9e75a5dda614d29b04bf738d38cb0 Author: Maciej W. Rozycki Date: Wed Jul 18 14:08:37 2018 +0100 MIPS/GAS/testsuite: Correct whitespace issues with Loongson tests Remove CR characters, trailing whitespace and space characters appearing immediately before a tab character, and replace spaces with tabs, all across Loongson GAS tests. gas/ * testsuite/gas/mips/loongson-2e.d: Correct whitespace issues. * testsuite/gas/mips/loongson-2f.d: Likewise. * testsuite/gas/mips/loongson-2f-2.d: Likewise. * testsuite/gas/mips/loongson-2f-3.d: Likewise. * testsuite/gas/mips/loongson-3a.d: Likewise. * testsuite/gas/mips/loongson-3a-2.d: Likewise. * testsuite/gas/mips/loongson-2e.s: Likewise. * testsuite/gas/mips/loongson-2f.s: Likewise. * testsuite/gas/mips/loongson-2f-3.s: Likewise. * testsuite/gas/mips/loongson-3a.s: Likewise. * testsuite/gas/mips/loongson-3a-2.s: Likewise. commit 11a322db5c8bc23009e97af30180d6b14d86dbd3 Author: H.J. Lu Date: Wed Jul 18 05:33:36 2018 -0700 x86: Split vcvtps2{,u}qq and vcvttps2{,u}qq After commit 1b54b8d7e4fc8055f9220a5287e8a94d8a65a88d Author: Jan Beulich Date: Mon Dec 18 09:36:14 2017 +0100 x86: fold RegXMM/RegYMM/RegZMM into RegSIMD ... qualified by their respective sizes, allowing to drop FirstXmm0 at the same time. folded RegXMM, RegYMM and RegZMM into RegSIMD, it's no longer impossible to distinguish if Xmmword can represent a memory reference when operand specification contains SIMD register. For example, template operands specification like these RegXMM|...|Xmmword|... and RegXMM|... The Xmmword bitfield is always set by RegXMM which is represented by "RegSIMD|Xmmword". This patch splits each of vcvtps2qq, vcvtps2uqq, vcvttps2qq and vcvttps2uqq into 2 templates: one template only has RegXMM source operand and the other only has mempry source operand. gas/ PR gas/23418 * testsuite/gas/i386/xmmword.s: Add tests for vcvtps2qq, vcvtps2uqq, vcvttps2qq and vcvttps2uqq. * testsuite/gas/i386/xmmword.l: Updated. opcodes/ PR gas/23418 * i386-opc.h (Byte): Update comments. (Word): Likewise. (Dword): Likewise. (Fword): Likewise. (Qword): Likewise. (Tbyte): Likewise. (Xmmword): Likewise. (Ymmword): Likewise. (Zmmword): Likewise. * i386-opc.tbl: Split vcvtps2qq, vcvtps2uqq, vcvttps2qq and vcvttps2uqq. * i386-tbl.h: Regenerated. commit afca762f598d453c563f244cd3777715b1a0cb72 Author: Andreas Krebbel Date: Thu Dec 21 13:12:03 2017 +0100 S/390: Improve partial relro support for 64 bit Currently on S/390 the .got.plt always comes first which prevents the GNU_RELRO segment from being extended across the non-plt GOT entries. Just swapping both unfortunately is not that simple since our ABI requires the _GLOBAL_OFFSET_TABLE_ symbol to point to the very beginning of the entire GOT. Of the 3 magic GOT entries the first is accessed via got pointer while second and third are being accessed via DT_PLTGOT. In order to keep them together we make DT_PLTGOT to point to the .got instead of .got.plt. However, this violates an assumption in the dynamic linker prelink undo code about the GOTPLT entries starting at DT_PLTGOT + 3. We got rid of this requirement with a Glibc patch already in version 2.24: https://sourceware.org/ml/libc-alpha/2016-06/msg01302.html So the S/390 relro GOT layout will look like this with this patch: +----------------------------------+ |got[0]: DYNAMIC | <--- _GLOBAL_OFFSET_TABLE_ == DT_PLTGOT .got |got[1]: link_map parm | |got[2]: &_dl_runtime_resolve | +----------------------------------+ | | non-plt GOT entries | | | | +----------------------------------+ | | <--- .gotplt, PLT GOT entries | | | | | | +----------------------------------+ The patch detects the current layout in size_dynamic_section in order to deal also with linker scripts not generated by this ld version. With partial relro enabled we pick a linker script where .got and .got.plt are swapped which then triggers the rest of the logic. ld/ChangeLog: 2018-07-18 Andreas Krebbel * emulparams/elf64_s390.sh: Define GENERATE_RELRO_SCRIPT and SEPARATE_GOTPLT. * testsuite/ld-s390/gotreloc_64-relro-1.dd: New test. * testsuite/ld-s390/gotreloc_64-norelro-1.dd: Renamed from ... * testsuite/ld-s390/gotreloc_64-1.dd: ... this. * testsuite/ld-s390/s390.exp: Split the GOT testcase into two. bfd/ChangeLog: 2018-07-18 Andreas Krebbel * elf-s390-common.c (s390_gotplt_after_got_p): New function. (s390_got_pointer): New function. (s390_got_offset): New function. (s390_gotplt_offset): New function. * elf64-s390.c (allocate_dynrelocs): Adjust comment. (elf_s390_size_dynamic_sections): Move space for magic GOT entries from .got.plt to .got if necessary and pick the right location for _GLOBAL_OFFSET_TABLE_. (elf_s390_relocate_section): Use the wrapper functions from elf-s390-common.c to deal with both possible layouts (either .got or .got.plt first). (elf_s390_finish_dynamic_sections): Likewise. (elf_s390_finish_dynamic_symbol): Make the location of the GOT magic entries conditional. commit a38137289e91fd548fc27fb6566a439233b94d65 Author: Andreas Krebbel Date: Mon Jun 11 13:23:00 2018 +0200 ld: Enable using separate linker script for -z relro With this patch dedicated linker scripts can be generated for partial relro triggered by defining GENERATE_RELRO_SCRIPT in the target specific scripts. This is necessary for e.g. S/390 where usually the .got.plt comes first and prevents the relro segment from being extended across the non-plt GOT entries. The patch started with the work from Marcin taken from the mwk user branches. However, the patch needed substantial changes due to the 'separate code' feature which got committed in the meantime. ld/ChangeLog: 2018-07-18 Andreas Krebbel Marcin Kościelnicki * emultempl/elf32.em: Add code to pick dedicated linker scripts for partial relro. * genscripts.sh: Generate dedicated linker scripts for partial relro. commit 0984c34e7683e1e987eaf4f9e057b678cb67efa6 Author: Nick Clifton Date: Wed Jul 18 08:37:38 2018 +0100 Updated French translation for gold and Spanish translation for ld. ld * po/es.po: Updated Spanish translation. gold * po/fr.po: Updated French translation. commit 012ab4137393b948e7d5c9eb7e0124296eba72f2 Author: GDB Administrator Date: Wed Jul 18 00:00:35 2018 +0000 Automatic date update in version.in commit c6c6149af440c3032eb7d02c2852907c61aac470 Author: Tom Tromey Date: Sat May 26 23:34:02 2018 -0600 Return unique_xmalloc_ptr from gdbscm_scm_to_string This changes gdbscm_scm_to_string to return a unique_xmalloc_ptr and then fixes all the callers. This allows for the removal of some cleanups. gdb/ChangeLog 2018-07-17 Tom Tromey * guile/scm-param.c (pascm_set_func, pascm_show_func) (compute_enum_list, pascm_set_param_value_x) (gdbscm_parameter_value): Update. * guile/guile-internal.h (gdbscm_scm_to_string): Update. (gdbscm_scm_to_host_string): Update. * guile/scm-math.c (vlscm_convert_typed_value_from_scheme): Update. * guile/scm-cmd.c (cmdscm_add_completion): Update. * guile/scm-pretty-print.c (ppscm_print_string_repr): Update. * guile/scm-string.c (gdbscm_scm_to_string): Return unique_xmalloc_ptr. (gdbscm_scm_to_host_string): Likewise. commit a1a31cb8dce7d1bfa7878dc08c28af330ef2ed69 Author: Tom Tromey Date: Sat May 26 23:26:39 2018 -0600 Return unique_xmalloc_ptr from gdbscm_safe_eval_string This changes gdbscm_safe_eval_string to return a unique_xmalloc_ptr. This allows for the removal of some cleanups. It also fixes a potential latent memory leak in gdbscm_set_backtrace. gdb/ChangeLog 2018-07-17 Tom Tromey * guile/guile.c (gdbscm_eval_from_control_command): Update. * guile/guile-internal.h (gdbscm_safe_eval_string): Update. * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update. * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return unique_xmalloc_ptr. commit 15bf30027bcb167833a0ca2c619c03f177ef1ba4 Author: Tom Tromey Date: Sat May 26 23:21:23 2018 -0600 Change gdbscm_exception_message_to_string to return a unique_xmalloc_ptr This changes gdbscm_exception_message_to_string to return a unique_xmalloc_ptr, allowing for the removal of some cleanups. unique_xmalloc_ptr was chosen because at the root of the call chains is a function from Guile that returns a malloc'd string. gdb/ChangeLog 2018-07-17 Tom Tromey * guile/scm-param.c (pascm_signal_setshow_error): Update. * guile/guile-internal.h (gdbscm_exception_message_to_string): Update. * guile/scm-cmd.c (cmdscm_function): Update. * guile/scm-pretty-print.c (ppscm_print_exception_unless_memory_error): Update. * guile/scm-exception.c (gdbscm_exception_message_to_string): Return unique_xmalloc_ptr. commit 7eb1a66c26b57803bb4245f84cf15278297bb649 Author: Tom Tromey Date: Sat May 26 23:16:13 2018 -0600 Use std::string in ppscm_make_pp_type_error_exception This changes ppscm_make_pp_type_error_exception to use std::string, removing a cleanup. gdb/ChangeLog 2018-07-17 Tom Tromey * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception): Use string_printf. commit c691de6a16a87adc686ce5cd6c9be54ee0b1a8c1 Author: Maciej W. Rozycki Date: Tue Jul 17 20:04:53 2018 +0100 BFD: Use `bfd_is_abs_symbol' to determine whether a symbol is absolute Use `bfd_is_abs_symbol' to determine whether a symbol is absolute, avoiding a problem with ordinary symbols defined in a linker script outside an output section definition. Such symbols have its owning section set to the absolute section up to the final link phase. A flag has been added to the link hash to identify such symbols. Rather than checking the flag by hand, use the macro that does it uniformly for all users. bfd/ * elf32-nds32.c (nds32_elf_relax_loadstore): Use `bfd_is_abs_symbol' rather than `bfd_is_abs_section' in checking whether the symbol is absolute. (nds32_elf_relax_lo12): Likewise. * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise. (elfNN_aarch64_check_relocs): Likewise. * xcofflink.c (xcoff_need_ldrel_p): Likewise. (bfd_xcoff_import_symbol): Likewise. (xcoff_write_global_symbol): Likewise. commit d5c928c05356b22af08450bf43b262ccc1b1d8ee Author: Maciej W. Rozycki Date: Tue Jul 17 20:04:53 2018 +0100 LD: Export relative-from-absolute symbol marking to BFD It is usually possible to tell absolute and ordinary symbols apart in BFD throughout the link, by checking whether the section that owns the symbol is absolute or not. That however does not work for ordinary symbols defined in a linker script outside an output section statement. Initially such symbols are entered into to the link hash as absolute symbols, owned by the absolute section. A flag is set in the internal linker expression defining such symbols to tell the linker to convert them to section-relative ones in the final phase of the link. That flag is however not accessible to BFD linker code, including BFD target code in particular. Add a flag to the link hash then to copy the information held in the linker expression. Define a macro, `bfd_is_abs_symbol', for BFD code to use where determining whether a symbol is absolute or ordinary is required before the final link phase. This macro will correctly identify the special `__ehdr_start' symbol as ordinary throughout link, for example, even though early on it will be assigned to the absolute section. Of course this does not let BFD code identify what the symbol's ultimate section will be before the final link phase has converted this symbol (in `update_definedness'). include/ * bfdlink.h (bfd_link_hash_entry): Add `rel_from_abs' member. bfd/ * linker.c (bfd_is_abs_symbol): New macro. * bfd-in2.h: Regenerate. ld/ * ldexp.c (exp_fold_tree_1) : Copy expression's `rel_from_abs' flag to the link hash. commit 27724bad005cd734eb0b990205d315f8e2d3bd35 Author: Jim Wilson Date: Tue Jul 17 09:44:42 2018 -0700 RISC-V: Don't decrement pc after break. gdb/ * riscv-tdep.c (riscv_has_feature): Delete comment that refers to set_gdbarch_decr_pc_after_break. Call riscv_read_misa_reg always. (riscv_gdbarch_init): Delete local has_compressed_isa. Delete now unecessary braces after EF_RISCV_RVC test. Delete call to set_gdbarch_decr_pc_after_break. commit ce73f310150418a9a1625ab60a527d959096a9e2 Author: Jim Wilson Date: Tue Jul 17 09:42:23 2018 -0700 RISC-V: Correct legacy misa register number. gdb/ * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of RISCV_LAST_FP_REGNUM + 1. (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM. commit 056dec39ed11e0027ae399018c3fef3a719718b9 Author: Tom Tromey Date: Thu Jun 28 11:19:33 2018 -0600 Remove --disable-gdbcli I think it doesn't really make sense to allow building gdb without the CLI. Perhaps at one time this was a goal, but libgdb is long gone and the CLI is intrinsic to gdb. So, this patch removes the implementation of this configure option. It is still recognized (this is autoconf's default), but does nothing. This simplifies configure.ac and Makefile.in a bit. Tested by rebuilding. gdb/ChangeLog 2018-07-17 Tom Tromey * configure.ac: Remove --disable-gdbcli. * configure: Rebuild. * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS) (SUBDIR_CLI_CFLAGS): Remove. (SFILES): Use SUBDIR_CLI_SRCS. (COMMON_OBS): Use SUBDIR_CLI_OBS. commit 4735f0edf4265e3e260e10a12921baf17987a020 Author: Tom Tromey Date: Fri Jun 29 15:10:04 2018 -0600 Use scoped_free_pendings in coff_symtab_read PR gdb/18624 concerns an assertion failure that occurs when setting a breakpoint in a Go program on Windows. What happens here is that coff_symtab_read uses buildsym but does not instantiate scoped_free_pendings. So, the struct pending objects are never released. Later, dwarf2read.c calls buildsym_init, which asserts. This patch fixes the problem by instantiating scoped_free_pendings in coff_symtab_read. Tested using the test executable from the PR. I don't know how to test this more fully. gdb/ChangeLog 2018-07-17 Tom Tromey PR gdb/18624: * coffread.c (coff_symtab_read): Use scoped_free_pendings. commit 0909f342a21207c0b096e8caa7462b1c6809298e Author: GDB Administrator Date: Tue Jul 17 00:00:37 2018 +0000 Automatic date update in version.in commit 117a0e996dab2abae985a2b4251ebfb092955dc8 Author: Jim Wilson Date: Mon Jul 16 14:50:36 2018 -0700 RISC-V: Add osabi support. gdb/ * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi. commit 3fd217186c573ccbe22ad1512578fd316cd7870a Author: Pedro Franco de Carvalho Date: Mon Jul 16 12:42:22 2018 -0300 Fix typo in NT_PPC_TM_CVSX note description 2018-07-16 Pedro Franco de Carvalho binutils/ * readelf.c (get_note_type): Fix typo in NT_PPC_TM_CVSX note description. commit cb2366c198d4c22b4bae6fca8f9ab4b0234c64aa Author: Edjunior Barbosa Machado Date: Mon Jul 16 12:42:22 2018 -0300 Add grok/write functions for new ppc core note sections This patch adds functions for grokking and writing more register core note sections (NT_PPC_TAR, NT_PPC_PPR, NT_PPC_DSCR, NT_PPC_EBB, NT_PPC_PMU, NT_PPC_TM_CGPR, NT_PPC_TM_CFPR, NT_PPC_TM_CVMX, NT_PPC_TM_CVSX, NT_PPC_TM_SPR, NT_PPC_TM_CTAR, NT_PPC_TM_CPPR, NT_PPC_TM_CDSCR). 2018-07-16 Edjunior Barbosa Machado bfd/ * elf-bfd.h (elfcore_write_ppc_tar): Add prototype. (elfcore_write_ppc_ppr): Likewise. (elfcore_write_ppc_dscr): Likewise. (elfcore_write_ppc_ebb): Likewise. (elfcore_write_ppc_pmu): Likewise. (elfcore_write_ppc_tm_cgpr): Likewise. (elfcore_write_ppc_tm_cfpr): Likewise. (elfcore_write_ppc_tm_cvmx): Likewise. (elfcore_write_ppc_tm_cvsx): Likewise. (elfcore_write_ppc_tm_spr): Likewise. (elfcore_write_ppc_tm_ctar): Likewise. (elfcore_write_ppc_tm_cppr): Likewise. (elfcore_write_ppc_tm_cdscr): Likewise. * elf.c (elfcore_write_ppc_tar): New function. (elfcore_write_ppc_ppr): Likewise. (elfcore_write_ppc_dscr): Likewise. (elfcore_write_ppc_ebb): Likewise. (elfcore_write_ppc_pmu): Likewise. (elfcore_write_ppc_tm_cgpr): Likewise. (elfcore_write_ppc_tm_cfpr): Likewise. (elfcore_write_ppc_tm_cvmx): Likewise. (elfcore_write_ppc_tm_cvsx): Likewise. (elfcore_write_ppc_tm_spr): Likewise. (elfcore_write_ppc_tm_ctar): Likewise. (elfcore_write_ppc_tm_cppr): Likewise. (elfcore_write_ppc_tm_cdscr): Likewise. (elfcore_write_register_note): Call them. (elfcore_grok_ppc_tar): New function. (elfcore_grok_ppc_ppr): Likewise. (elfcore_grok_ppc_dscr): Likewise. (elfcore_grok_ppc_ebb): Likewise. (elfcore_grok_ppc_pmu): Likewise. (elfcore_grok_ppc_tm_cgpr): Likewise. (elfcore_grok_ppc_tm_cfpr): Likewise. (elfcore_grok_ppc_tm_cvmx): Likewise. (elfcore_grok_ppc_tm_cvsx): Likewise. (elfcore_grok_ppc_tm_spr): Likewise. (elfcore_grok_ppc_tm_ctar): Likewise. (elfcore_grok_ppc_tm_cppr): Likewise. (elfcore_grok_ppc_tm_cdscr): Likewise. (elfcore_grok_note): Call them. commit 8a67aaa8186ccfa10374027d0b3645548eb5f30c Author: Simon Marchi Date: Mon Jul 16 14:30:56 2018 -0400 Add missing ChangeLog entry I forgot (yes, again) the ChangeLog entry in my latest patch. commit b4792091ca60bd865064a501d50661f522e26636 Author: Simon Marchi Date: Mon Jul 16 14:27:50 2018 -0400 Remove unused variables in ia64*tdep.c gdb/ChangeLog: * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused variable. (libunwind_frame_sniffer): Likewise. (libunwind_frame_prev_register): Likewise. (libunwind_sigtramp_frame_sniffer): Likewise. * ia64-tdep.c (ia64_access_reg): Likewise. (ia64_access_rse_reg): Likewise. (ia64_libunwind_sigtramp_frame_this_id): Likewise. * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise. commit ec74dcd894ce3087dad2b6d0da96c572d5e0c7c6 Author: Simon Marchi Date: Mon Jul 16 14:15:09 2018 -0400 Fix compilation error in ia64-vms-tdep.c with libunwind-ia64 I found this when doing a --enable-targets=all build with libunwind-ia64 properly configured. CXX ia64-vms-tdep.o /home/emaisin/src/binutils-gdb/gdb/ia64-vms-tdep.c: In function ‘int ia64_vms_find_proc_info_x(unw_addr_space_t, unw_word_t, unw_proc_info_t*, int, void*)’: /home/emaisin/src/binutils-gdb/gdb/ia64-vms-tdep.c:79:33: error: invalid conversion from ‘void*’ to ‘gdb_byte* {aka unsigned char*}’ [-fpermissive] pi->unwind_info, pi->unwind_info_size); ^ In file included from /home/emaisin/src/binutils-gdb/gdb/target.h:70:0, from /home/emaisin/src/binutils-gdb/gdb/exec.h:23, from /home/emaisin/src/binutils-gdb/gdb/gdbcore.h:29, from /home/emaisin/src/binutils-gdb/gdb/ia64-vms-tdep.c:25: /home/emaisin/src/binutils-gdb/gdb/target/target.h:35:12: note: initializing argument 2 of ‘int target_read_memory(CORE_ADDR, gdb_byte*, ssize_t)’ extern int target_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, ^ gdb/ChangeLog: * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast. commit a700e753e5b019fb5d783c4e15cb29f165a339d3 Author: Simon Marchi Date: Mon Jul 16 14:07:09 2018 -0400 remote-sim.c: Remove unused variables gdb/ChangeLog: * remote-sim.c (gdbsim_target::close, gdbsim_target::mourn_inferior): Remove unused variables. commit 8b411ff8d537ae34f1336ba1e9694d694ddde27d Author: Simon Marchi Date: Mon Jul 16 14:08:26 2018 -0400 Add missing ChangeLog entry I forgot to append the ChangeLog entry to the last commit... commit 5d691c8829d0e5c4c4b9cfb147c8a873ce18085b Author: Simon Marchi Date: Sat Jul 7 11:10:49 2018 -0400 Fix compilation error in ia64-tdep.c with libunwind-ia64 Commit 9018be22e022 ("Make target_read_alloc & al return vectors") failed to update the code in ia64-tdep.c, for HAVE_LIBUNWIND_IA64_H. This patch fixes that. gdb/ChangeLog: * ia64-tdep.c (ktab_buf): New global. (getunwind_table): Return a gdb::optional. (get_kernel_table): Adjust. commit edb0470b99a9f399ccb5d666173c4315f6cb02c0 Author: Tom Tromey Date: Sun May 20 23:42:01 2018 -0600 Use outermost_context_p in more places This changes a few explicit checks of context_stack_depth to use outermost_context_p instead. This simplifies some future work. gdb/ChangeLog 2018-07-16 Tom Tromey * xcoffread.c (read_xcoff_symtab): Use outermost_context_p. * dwarf2read.c (using_directives, new_symbol): Use outermost_context_p. * dbxread.c (process_one_symbol): Use outermost_context_p. * coffread.c (coff_symtab_read): Use outermost_context_p. commit 6cccc9a89160455aab634784c231af4590d943f3 Author: Tom Tromey Date: Sun May 20 23:28:39 2018 -0600 Move the using directives to buildsym_compunit This moves the globals local_using_directives and global_using_directives to be members of buildsym_compunit, and adds the necessary accessors. gdb/ChangeLog 2018-07-16 Tom Tromey * dwarf2read.c (using_directives, read_func_scope) (read_lexical_block_scope): Update. * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update. * buildsym.h (local_using_directives, global_using_directives): Don't declare. (get_local_using_directives, set_local_using_directives) (get_global_using_directives): Declare. * buildsym.c (struct buildsym_compunit) : New members. (finish_block_internal, prepare_for_building) (reset_symtab_globals, end_symtab_get_static_block) (push_context): Update. (get_local_using_directives, set_local_using_directives) (get_global_using_directives): New functions. (buildsym_init): Update. commit 652788a73137d8c16ac67a0cf9a8e51dd336d09e Author: Tom Tromey Date: Sun May 20 22:45:44 2018 -0600 Make free_pending_blocks static free_pending_blocks can be static because scoped_free_pendings (et al) arrange for it to be NULL in the "steady state". This removes a couple of unnecessary calls to free_pending_blocks and changes it to be static. gdb/ChangeLog 2018-07-16 Tom Tromey * xcoffread.c (xcoff_initial_scan): Don't call free_pending_blocks. * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks. * buildsym.h (class scoped_free_pendings): Add constructor. (free_pending_blocks): Don't declare. * buildsym.c (scoped_free_pendings::scoped_free_pendings): New. (free_pending_blocks): Now static. commit 8419ee5331d5b3253d2bfe1a039f12a167292dfc Author: Tom Tromey Date: Sun May 20 20:48:44 2018 -0600 Move the subfile stack to buildsym_compunit This moves the global subfile_stack to be a member of buildsym_compunit. It also change this to be a std::vector, which simplifies the code. gdb/ChangeLog 2018-07-16 Tom Tromey * buildsym.h (push_subfile, pop_subfile): Update declarations. * buildsym.c (struct buildsym_compunit) : New member. (struct subfile_stack): Remove. (subfile_stack): Remove. (push_subfile, pop_subfile, buildsym_init): Update. commit ccdac490bb3b568e88626afc84017c79e2d086e7 Author: Tom Tromey Date: Sun May 20 16:15:14 2018 -0600 Use gdb_assert in two places in buildsym.c This changes buildsym.c to use gdb_assert rather than internal_error in a couple of spots. gdb/ChangeLog 2018-07-16 Tom Tromey * buildsym.c (push_subfile): Use gdb_assert. (pop_subfile): Use gdb_assert. commit 43130d6f969cebcd407e210fd06e565647401ba9 Author: Tom Tromey Date: Sun May 20 12:07:44 2018 -0600 Remove merge_symbol_lists I discovered that merge_symbol_lists is unused, so this removes it. gdb/ChangeLog 2018-07-16 Tom Tromey * buildsym.h (merge_symbol_lists): Remove. * buildsym.c (merge_symbol_lists): Remove. commit 77d6f1aa16685bc715c95decf6e3d3ae2e70dbc1 Author: Tom Tromey Date: Sun May 20 12:06:43 2018 -0600 Move scan_file_globals declaration to stabsread.h scan_file_globals is defined in stabsread.c, so move its declaration to stabsread.h. gdb/ChangeLog 2018-07-16 Tom Tromey * stabsread.c (scan_file_globals): Update comment. * stabsread.h (scan_file_globals): Move from buildsym.h. * buildsym.h (scan_file_globals): Move to stabsread.h. commit 2c722d18f32b1c1f82c7546b1e41edec47d88dce Author: Tom Tromey Date: Sun May 20 11:25:20 2018 -0600 Remove buildsym_new_init buildsym_new_init is just an alias for buildsym_init. This removes it. In the long run buildsym_init will also go away; this patch just helps make things a bit clearer in the meantime. gdb/ChangeLog 2018-07-16 Tom Tromey * xcoffread.c (xcoff_new_init): Update. * mipsread.c (mipscoff_new_init): Update. * mdebugread.c (mdebug_build_psymtabs): Update. * elfread.c (elf_new_init): Update. * dbxread.c (dbx_new_init, coffstab_build_psymtabs) (elfstab_build_psymtabs, stabsect_build_psymtabs): Update. * buildsym.h (buildsym_new_init): Don't declare. * buildsym.c (buildsym_new_init): Remove. commit 5985ac614d7e8ae65faadf62e9302c1c096b5647 Author: Tom Tromey Date: Sun May 20 11:19:14 2018 -0600 Move within_function to stabsread The global within_function is only used by a few symbol readers. This patch moves the global out of buildsym and into stabsread, which seemed like a better fit. It also arranges for the existing readers to clear the global at the appropriate time. gdb/ChangeLog 2018-07-16 Tom Tromey * stabsread.h (within_function): Move from buildsym.h. * stabsread.c (start_stabs): Clear within_function. * coffread.c (coff_start_symtab): Clear within_function. * buildsym.h (within_function): Move to stabsread.h. * buildsym.c (prepare_for_building): Update. commit 6b84eeb21628a89b40c985b527d3d5db7806c93c Author: Tom Tromey Date: Sun May 20 11:16:57 2018 -0600 Move processing_gcc to stabsread processing_gcc is also only used by stabsread -- it is set by the DWARF reader, but this turns out not to be needed. So, this patch moves processing_gcc and removes the assignment from the DWARF reader. gdb/ChangeLog 2018-07-16 Tom Tromey * stabsread.h (processing_gcc_compilation): Move from buildsym.h. * dwarf2read.c (dwarf2_start_symtab): Don't set processing_gcc_compilation. * buildsym.h (processing_gcc_compilation): Move to stabsread.h. commit 2150c3ef045a525b1d74c06eb8b0811621f264e3 Author: Tom Tromey Date: Sun May 20 11:13:12 2018 -0600 Move some code from buildsym to stabsread A few things that currently reside in buildsym.c turn out to be specific to the stabs reader. This patch moves these from buildsym.[ch] to stabsread.[ch]. gdb/ChangeLog 2018-07-16 Tom Tromey * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text) (next_symbol_text_func): Move from buildsym.h. * stabsread.c (hashname): Move from buildsym.c. * buildsym.h (HASHSIZE, symnum, next_symbol_text) (next_symbol_text_func, hashname): Move to stabsread.h. * buildsym.c: Don't include bcache.h (hashname): Move to stasbread.c. commit 0ec44fc067ca71f968a4fedda1c17cba2e5ad0ca Author: Tom Tromey Date: Sun May 20 11:12:57 2018 -0600 Make context_stack_size static in buildsym.c context_stack_size is declared in buildsym.h, but only used in buildsym.c. This makes it static in buildsym.c. gdb/ChangeLog 2018-07-16 Tom Tromey * buildsym.h (context_stack_size): Don't declare. * buildsym.c (context_stack_size): New global. commit 81cc346dc98678c5d196c7110795d8f2edfd8f50 Author: Tom Tromey Date: Sun May 20 11:04:16 2018 -0600 Move processing_acc_compilation to dbxread.c processing_acc_compilation is only used in dbxread.c, so move it there. gdb/ChangeLog 2018-07-16 Tom Tromey * dbxread.c (processing_acc_compilation): New global. * buildsym.h (processing_acc_compilation): Don't declare. commit 2c99ee5c4f44d52258fa176563cc6a4cfbf0069d Author: Tom Tromey Date: Sun May 20 11:01:37 2018 -0600 Move last_source_start_addr to buildsym_compunit This moves the global last_source_start_addr into buildsym_compunit, adding some accessors as well. gdb/ChangeLog 2018-07-16 Tom Tromey * xcoffread.c (aix_process_linenos, complete_symtab): Update. * dbxread.c (read_ofile_symtab): Update. * coffread.c (coff_start_symtab, coff_end_symtab): Update. * buildsym.h (last_source_start_addr): Remove. (set_last_source_start_addr, get_last_source_start_addr): Declare. * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr parameter. (struct buildsym_compunit) : New member. (prepare_for_building): Remove start_addr parameter. (start_symtab, restart_symtab, end_symtab_get_static_block) (end_symtab_with_blockvector): Update. (set_last_source_start_addr, get_last_source_start_addr): New functions. commit 530fedbcbf61b6d74c76a8ba720fe29d98896831 Author: Tom Tromey Date: Sun May 20 10:48:41 2018 -0600 Move have_line_numbers to buildsym_compunit This moves the global have_line_numbers into buildsym_compunit. gdb/ChangeLog 2018-07-16 Tom Tromey * buildsym.c (struct buildsym_compunit) : New member. (have_line_numbers): Remove. (record_line, prepare_for_building, end_symtab_get_static_block) (augment_type_symtab): Update. commit 6a976300e78cf6c90b5b70626ff1b28f495d8bab Author: Tom Tromey Date: Sun May 20 10:46:25 2018 -0600 Move pending_macros to buildsym_compunit This moves the pending_macros global into buildsym_compunit. gdb/ChangeLog 2018-07-16 Tom Tromey * buildsym.c (~buildsym_compunit): Free the macro table. (struct buildsym_compunit) : New methods. : New member. (pending_macros): Remove. (~scoped_free_pendings, get_macro_table, prepare_for_building) (reset_symtab_globals, end_symtab_get_static_block) (end_symtab_with_blockvector, augment_type_symtab) (buildsym_init): Update. commit c0015d4497e0057536b5ec7e0fed8f8bca07572e Author: Tom Tromey Date: Sun May 20 10:39:24 2018 -0600 Move last_source file to buildsym_compunit This moves the global last_source_file into buildsym_compunit. gdb/ChangeLog 2018-07-16 Tom Tromey * buildsym.c (buildsym_compunit::buildsym_compunit): Add name parameter. (buildsym_compunit::set_last_source_file): New method. : New member. (prepare_for_building): Remove "name" parameter. (start_symtab, restart_symtab, reset_symtab_globals): Update. (last_source_file): Remove. (set_last_source_file, get_last_source_file): Update. commit e62cca7ccb9ea47d18a0812a2c27f00e5048367b Author: Tom Tromey Date: Sun May 20 10:25:53 2018 -0600 Add assert in prepare_for_building This adds an assertion in prepare_for_building. This was useful for verifying whether some subsequent changes were valid. gdb/ChangeLog 2018-07-16 Tom Tromey * buildsym.c (prepare_for_building): Add assert. commit 905eb0e293820ae91941100ebed291a8f74e1f12 Author: Tom Tromey Date: Sun May 20 10:22:19 2018 -0600 Change buildsym_compunit::comp_dir to be a unique_xmalloc_ptr This change buildsym_compunit::comp_dir to be a unique_xmalloc_ptr. This is just a small cleanup to remove some manual memory management. gdb/ChangeLog 2018-07-16 Tom Tromey * buildsym.c (~buildsym_compunit): Update. (struct buildsym_compunit) : Now a unique_xmalloc_ptr. (start_subfile, patch_subfile_names) (end_symtab_with_blockvector): Update. commit b248663fe5654192101fc95dbe0cbfb389564359 Author: Tom Tromey Date: Sun May 20 10:20:53 2018 -0600 Use new and delete for buildsym_compunit This changes buildsym_compunit to use new and delete. gdb/ChangeLog 2018-07-16 Tom Tromey * buildsym.c (struct buildsym_compunit): Add constructor, destructor, initializers. (start_buildsym_compunit): Remove. (free_buildsym_compunit): Use "delete". (start_symtab, restart_symtab): Use "new". commit ad96220cc73a2daa24b1d2b2e4afed557879e6f4 Author: Nick Clifton Date: Mon Jul 16 14:14:17 2018 +0100 Update release making notes to metion checking for new top level files. * README-how-to-make-a-release: Add note to check for new top level files and add them to the src-release.sh script. commit 0a8288f78ad4d8d273b3dc7ab10b0fd43464d0aa Author: Nick Clifton Date: Mon Jul 16 14:10:35 2018 +0100 Update the src-release script to include the new top level files test-driver and ar-lib. * src-release.sh (DEVO_SUPPORT): Add test-driver and ar-lib. commit 3ac21baa8498d3aa9951f79e2c3336d532eeff7b Author: Jan Beulich Date: Mon Jul 16 08:19:21 2018 +0200 x86: fix operand size checking Currently mov to/from control, debug, and test register insns accept any size GPR operand (general pattern: templates with D set and both operands being registers in distinct register files). This is due to improper checking of the reverse case, including not informing the caller whether a straight and/or reverse match was successful. The helper functions need to be told two indexes: One to index the given operand types array, and the other to index the template one. The caller must attempt a further straight match only if the function reported a straight match (and respectively for reverse matches). commit 4ad422a6354ee4c9a5c6e0236b4f9ded36039bb9 Author: GDB Administrator Date: Mon Jul 16 00:00:40 2018 +0000 Automatic date update in version.in commit 4869c5854e255b545447fdda31a6f1a69d937fee Author: Simon Marchi Date: Sun Jul 15 10:40:49 2018 -0400 Fix filename in prior ChangeLog entry commit b63ea3389dd991ebdaefe3ee264855ad923cf700 Author: GDB Administrator Date: Sun Jul 15 00:01:15 2018 +0000 Automatic date update in version.in commit 1074bc6d41f480e9e7b8f2e68f778225da2559b7 Author: Cary Coutant Date: Sat Jul 14 11:52:27 2018 -0700 Fix internal error when using --emit-relocs with plugins. When an .eh_frame section has deferred layout because of plugins, gold was neglecting to mark the section as deferred. When we later processed the corresponding relocation section, we were then ignoring it, causing the internal error later on in the link. gold/ PR gold/23397 * object.cc (Sized_relobj_file::do_layout): Mark section as deferred. * testsuite/Makefile.am (plugin_test_1): Add --emit-relocs option to existing test case. * testsuite/Makefile.in: Regenerate. commit 1b115e8e0e051d65d0747f0a8a84eb6453866729 Author: Cary Coutant Date: Sat Jul 14 12:29:03 2018 -0700 Fix problem causing duplicated linker-generated symbols with versions. When generating _end, _edata, etc. symbols, and a version script provides a version name, and we are linking against another shared library that provides those symbols with a different version, gold ends up trying to resolve the other shared library's symbols to the new definitions, resulting in two copies of each symbol, one as default, and one as non-default. This patch tests for that condition, and ignores the symbols provided by the other shared library. gold/ PR gold/23409 * symtab.cc (Symbol_table::define_special_symbol): Add check for version name on existing symbol. * testsuite/Makefile.am (ver_test_pr23409): New test case. * testsuite/Makefile.in: Regenerate. * testsuite/ver_test_pr23409.sh: New test script. * testsuite/ver_test_pr23409_1.script: New version script. * testsuite/ver_test_pr23409_2.script: New version script. commit 6cb624f8a02a844885025dd6d756f9dd1d380023 Author: Nick Clifton Date: Sat Jul 14 20:23:52 2018 +0100 Update the notes on how to make a binutils release. * README-how-to-make-a-release: Updated with corrections based on the 2.31 release experience. commit ff27d0737ef0c9433a6a7c83c1e678ac57a27699 Author: Simon Marchi Date: Fri Jul 13 22:06:34 2018 -0400 Remove struct keyword in range-based for loop Fix this with gcc 6.3.0: /home/simark/src/binutils-gdb/gdb/symfile.c: In function 'void set_objfile_default_section_offset(objfile*, const section_addr_info&, CORE_ADDR)': /home/simark/src/binutils-gdb/gdb/symfile.c:2114:14: error: types may not be defined in a for-range-declaration [-Werror] for (const struct other_sections *objf_sect : objf_addrs_sorted) ^~~~~~ gdb/ChangeLog: * symfile.c (set_objfile_default_section_offset): Remove struct keyword. commit 1e65a4a40e778e1eb58fb5d3b8d00be879f7ee63 Author: GDB Administrator Date: Sat Jul 14 00:00:32 2018 +0000 Automatic date update in version.in commit 31375626546b074268b2e1ccc7b52704b04bdb6c Author: Stafford Horne Date: Sat Jul 14 05:59:26 2018 +0900 sim: Add Stafford Horne as or1k maintainer. Since I helped upstream the or1k port I would like to claim myself as maintainer. sim/ChangeLog: yyyy-mm-dd Stafford Horne * MAINTAINERS (or1k): Add myself as or1k maintainer. Signed-off-by: Stafford Horne commit 6a15ecf5e0538ba416f6578403fceb9e5af98120 Author: Stafford Horne Date: Sat Jul 14 05:59:26 2018 +0900 gdb: Add Stafford Horne as or1k maintainer. Since I helped upstream openrisc I would like to claim responsibility to maintain it. gdb/ChangeLog: yyyy-mm-dd Stafford Horne * (Responsible Maintainers): Add myself as or1k maintainer. Signed-off-by: Stafford Horne commit 7f1f7e23939adc7d71036a17fc6081e3af7ca585 Author: Sergio Durigan Junior Date: Fri Jul 13 16:20:34 2018 -0400 Expect for another variant of error message when gdbserver cannot resolve hostname I've noticed that on a few hosts, when given an invalid hostname, gdbserver fails with: spawn /../../gdb/gdbserver/gdbserver --once tcp8:123:2353 /gdb/build/fedora-s390x/build/gdb/testsuite/outputs/gdb.server/server-connect/server-connect tcp8:123:2353: cannot resolve name: No address associated with hostname ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Exiting Unfortunately, this causes a fail on the new gdb.server/server-connect.exp test (introduced by the IPv6 patch): FAIL: gdb.server/server-connect.exp: tcp8: start gdbserver: gdbserver should fail but did not This happens because we're expecting for another variant of this error message: cannot resolve name: Name or service not known Therefore, this patch extends the helper function 'gdbserver_start' to also recognize the "No address associated with hostname" message. This "fixes" the testcase on the hosts that use this variant. gdb/testsuite/ChangeLog: 2018-07-13 Sergio Durigan Junior * lib/gdbserver-support.exp (gdbserver_start): Expect for the message "No address associated with hostname" when gdbserver cannot resolve the hostname. commit 027a4c30d03e3f434ddfa61e7f026e3b15f83daa Author: Tom Tromey Date: Fri Jul 13 11:14:57 2018 -0600 Remove a warning on macOS This removes a clang warning coming from -Wmissing-braces. ChangeLog 2018-07-13 Tom Tromey * symfile.c (set_objfile_default_section_offset): Use extra braces around initializer. commit b84f59efc6d6d8e97135a1b92ca224d1b2cffe16 Author: Nick Clifton Date: Fri Jul 13 15:48:49 2018 +0100 Add a test that relocs are correctly generated for missing build notes. * testsuite/gas/elf/missing-build-notes.s: New test. Checks that relocs are correctly generated for missing build notes. * testsuite/gas/elf/missing-build-notes.d: New file. Expected output from objdump. * testsuite/gas/elf/elf.exp: Run the new test. commit 4ef4710f5c3e417dc43057e10d7675699bb38431 Author: Nick Clifton Date: Fri Jul 13 11:46:44 2018 +0100 Allow bit-patterns in the immediate field of ARM neon mov instructions. * config/tc-arm.c (do_neon_mov): When converting an integer immediate into a floating point value, check that the conversion is valid. Also warn if the immediate is valid as both a floating point value and a bit pattern. * testsuite/gas/arm/vfp-mov-enc.s: Add instructions that use floating point bit patterns. * testsuite/gas/arm/vfp-mov-enc.d: Add regexps for the disassembly of the new insns. commit 5c1eda30f55e9c543de26fec0246f4d7655c81e4 Author: Andreas Arnez Date: Fri Jul 13 12:46:14 2018 +0200 S390: Fix displaced stepping of "basr r,0" The BASR instruction behaves differently depending on whether the second operand is a number from 1 to 15, or zero. In the former case BASR jumps to the address contained in the general register of that number, but in the latter case no jump is performed. GDB's displaced-stepping logic does not distinguish these cases, although it should. This is fixed. In the case where no jump is performed the PC is adjusted to point back after the original instruction. Otherwise the PC is left alone. gdb/ChangeLog: * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a non-branching basr. commit a780ef4f27f8bc44082be81fdbee44bb11f1049c Author: Pedro Alves Date: Fri Jul 13 10:28:47 2018 +0100 GDBserver: Pass process_info pointer to target_kill We start from a process_info pointer, pass down process->pid, and then the target_kill implementations need to find the process from the pid again. Pass the process_info pointer down directly instead. gdb/gdbserver/ChangeLog: 2018-07-13 Pedro Alves * linux-low.c (linux_kill): Change parameter to process_info pointer instead of pid. Adjust. * lynx-low.c (lynx_kill): Likewise. * nto-low.c (nto_kill): Likewise. * spu-low.c (spu_kill): Likewise. * win32-low.c (win32_kill): Likewise. * server.c (handle_v_kill, kill_inferior_callback) (detach_or_kill_for_exit): Adjust. * target.c (kill_inferior): Change parameter to process_info pointer instead of pid. Adjust. * target.h (struct target_ops) : Change parameter to process_info pointer instead of pid. Adjust all implementations and callers. (kill_inferior): Likewise. commit ef2ddb33bd29a7c4f7027b9e37e55c74c15af825 Author: Pedro Alves Date: Fri Jul 13 10:28:46 2018 +0100 GDBserver: Pass process_info pointer to target_detach and target_join We start from a process_info pointer, pass down process->pid, and then the target_detach and target_join implementations need to find the process from the pid again. Pass the process_info pointer down directly instead. gdb/gdbserver/ChangeLog: 2018-07-13 Pedro Alves * linux-low.c (linux_detach, linux_join): Change parameter to process_info pointer instead of pid. Adjust. * lynx-low.c (lynx_detach, lynx_join): Likewise. * nto-low.c (nto_detach): Likewise. * spu-low.c (spu_detach, spu_join): Likewise. * win32-low.c (win32_detach, win32_join): Likewise. * server.c (handle_detach, detach_or_kill_for_exit): Adjust. * target.h (struct target_ops) : Change parameter to process_info pointer instead of pid. Adjust all implementations and callers. (detach_inferior, join_inferior): Rename 'pid' parameter to 'proc'. commit 9451a3b9a1af46cbe988c3a2cf4c4754d7e84143 Author: GDB Administrator Date: Fri Jul 13 00:01:06 2018 +0000 Automatic date update in version.in commit bc7b042bcb22320ddc1b54d45b6a1d264dcbfbe6 Author: Philippe Waroquiers Date: Mon May 21 09:16:13 2018 +0200 Add a self-test for cli-utils.c tests added for: * number_or_range_parser In particular, it tests the cur_tok when parsing is finished. * parse_flags * parse_flags_qcs gdb/ChangeLog 2018-07-12 Philippe Waroquiers * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add unittests/cli-utils-selftests.c * unittests/cli-utils-selftests.c: New file. commit 5759ebb3b35f4bff8aba7ba06e8b0eb88d9d0831 Author: Philippe Waroquiers Date: Sun May 20 20:31:27 2018 +0200 Modify gdb.threads/pthreads.exp to test FLAG qcs arguments for thread apply. Also, add prefixes to make some non unique tests unique. gdb/testsuite/ChangeLog 2018-07-12 Philippe Waroquiers * gdb.threads/pthreads.exp: Test qcs FLAG arguments. Add some test prefixes to make tests unique. commit 3606ccab0fea904adce8487ce4b2b26253a861e7 Author: Philippe Waroquiers Date: Thu Jul 12 23:04:13 2018 +0200 Add a test for 'frame apply' gdb/testsuite/ChangeLog 2018-07-12 Philippe Waroquiers * gdb.base/frameapply.c: New file. * gdb.base/frameapply.exp: New file. commit a14c4daab2fe90612e63169425e74098e74d5f28 Author: Philippe Waroquiers Date: Thu Jul 12 23:02:14 2018 +0200 Announce the user visible changes for frame/thread apply in NEWS. 'frame apply', faas, taas, tfaas commands and [FLAG]... arg for thread apply. gdb/ChangeLog 2018-07-12 Philippe Waroquiers * NEWS: Mention new commands. Mention change to 'thread apply'. commit 0a2323003c1ecc356252426f6ed3f45309849ad3 Author: Philippe Waroquiers Date: Sun Jun 24 13:02:43 2018 +0200 Documents the new commands 'frame apply', faas, taas, tfaas Documents the new commands 'frame apply', faas, taas, tfaas. Documents the new arguments [FLAG]... added to 'thread apply'. gdb/doc/ChangeLog 2018-07-12 Philippe Waroquiers * gdb.texinfo (Debugging Programs with Multiple Threads): Document changes to 'thread apply'. Document 'taas'. Document 'tfaas'. (Examining the Stack): Document 'frame apply'. Document 'faas'. commit 1fe75df7eb1fcdf56bbf3041b473bd9a80120054 Author: Philippe Waroquiers Date: Sat May 5 20:33:38 2018 +0200 Add [FLAG]... arguments to 'thread apply'. Enhance 'thread apply' command to also accept [FLAG]... arguments. An example usage for this new argument: thread apply all -s frame apply all -s p some_local_var_somewhere Prints the thread id, frame location and some_local_var_somewhere value in frames of threads that have such local var. To make the life of the user easier, the most typical use cases have shortcuts : taas : shortcut for 'thread apply all -s' tfaas : shortcut for 'thread apply all -s frame apply all -s" An example usage : tfaas p some_local_var_somewhere same as the longer: 'thread apply all -s frame apply all -s p some_local_var_somewhere' gdb/ChangeLog 2018-07-12 Philippe Waroquiers * thread.c (thr_try_catch_cmd): New function. (thread_apply_all_command): Handle qcs flags. (thread_apply_command): Handle qcs flags. (taas_command): New function. (tfaas_command): New function. (_initialize_thread): Update to setup the new commands 'taas and 'tfaas'. Change doc string for 'thread apply'. commit 6a70eb7d9bf1646e7a7379eb8efdba30c2cb9c92 Author: Philippe Waroquiers Date: Sat May 5 20:27:11 2018 +0200 Implement frame apply [all | COUNT | -COUNT | level LEVEL... ] [FLAG]... COMMAND. Implement frame apply [all | COUNT | -COUNT | level LEVEL... ] [FLAG]... COMMAND. Also implement the command 'faas COMMAND', a shortcut for 'frame apply all -s COMMAND'. The syntax of 'frame apply' to specify some innermost or outermost frames is similar to 'backtrace' command, using COUNT or -COUNT. To apply a COMMAND to a more specific set of frames, the following new command and syntax can be used: frame apply level LEVEL... [FLAG]... COMMAND where LEVEL is one or more frame levels or range of frame levels. The new command 'frame apply' allows to apply a COMMAND to a number of frames, or to all frames, or to a set of frames. The optional [FLAG]... arguments allow to control what output to produce and how to handle errors raised when applying COMMAND to a frame. Some example usages for this new command: frame apply all info frame Produce info frame for all frames. frame apply all p $sp For each frame, print the location, followed by the frame sp. frame apply all -q p $sp Same as before, but -q flag (q = quiet) indicates to only print the frames sp. frame apply all p some_local_var_somewhere Print some_local_var_somewhere in all frames. 'frame apply' will abort as soon as the print command fails. frame apply all -c p some_local_var_somewhere Same as before, but -c flag (c = continue) means to print the error and continue applying command in case the print command fails. frame apply all -s p some_local_var_somewhere Same as before, but -s flag (s = silent) means to be silent for frames where the print command fails. In other words, this allows to 'search' the frame in which some_local_var_somewhere can be printed. frame apply all -s -q p some_local_var_somewhere Same as before, but does not print the frame info in which the variable is found. frame apply level 2-4 5 8-10 -s p i = i + 1 Increments i in the identified frames. gdb/ChangeLog 2018-07-12 Philippe Waroquiers * stack.c: (trailing_outermost_frame): New function, mostly extracted from backtrace_command_1. (leading_innermost_frame): New function. (backtrace_command_1): Update to call trailing_outermost_frame. (frame_apply_command_count): New function. (frame_apply_level_command): New function. (frame_apply_all_command): New function. (frame_apply_command): New function. (faas_command): New function. (frame_cmd_list): New variable. (_initialize_stack): Update to setup the new commands 'frame apply' and 'faas'. commit 529c08b25ec7b9ba2a0b94083a08ec8d1a6e5528 Author: Philippe Waroquiers Date: Sat May 5 20:20:56 2018 +0200 Add helper functions parse_flags and parse_flags_qcs Add helper functions parse_flags and parse_flags_qcs. parse_flags helper function allows to look for a set of flags at the start of a string. A flag must be given individually. parse_flags_qcs is a specialised helper function to handle the flags -q, -c and -s, that are used in the new command 'frame apply' and in the command 'thread apply. Modify number_or_range_parser::get_number to differentiate a - followed by digits from a - followed by an alpha (i.e. a flag or an option). That is needed for the addition of the [FLAG]... arguments to thread apply ID... [FLAG]... COMMAND Remove bool number_or_range_parser::m_finished, rather implement the 'finished' logic inside number_or_range_parser::finished. The new logic properly detects the end of parsing even if not at end of the string. This ensures that number_or_range_parser::cur_tok really points past the last parsed token when parsing is finished. Before, it was always pointing at the end of the string. As parsing now is finished directly when not positioned on a number, number_is_in_list must do an error check before the loop getting all numbers. The error message for 'thread apply -$unknownconvvar p 1' is now the more clear: Convenience variable must have integer value. Invalid thread ID: -$unknownconvvar p 1 instead of previously: negative value gdb/ChangeLog 2018-07-12 Philippe Waroquiers * cli-utils.c (number_or_range_parser::get_number): Only handle numbers or convenience var as numbers. (parse_flags): New function. (parse_flags_qcs): New function. (number_or_range_parser::finished): Ensure parsing end is detected before end of string. * cli-utils.h (parse_flags): New function. (parse_flags_qcs): New function. (number_or_range_parser): Remove m_finished bool. (number_or_range_parser::skip_range): Set m_in_range to false. gdb/testsuite/ChangeLog 2018-07-12 Philippe Waroquiers * gdb.base/skip.exp: Update expected error message. commit 78da84f9940586202deb4e43decea6d32d237080 Author: Maciej W. Rozycki Date: Thu Jul 12 20:01:44 2018 +0100 MIPS/LD/testsuite: Correct mips-elf.exp test ABI/emul/endian arrangement Similarly to commit 86b24e15c45b ("MIPS/LD/testsuite: Correct comm-data.exp test ABI/emul/endian arrangement") update the mips-elf.exp test script to: - correctly select emulations for targets using non-traditional MIPS emulations, - correctly select ABIs for targets that do not support all of them, - use the default endianness selection where possible to benefit targets that support only one, - simplify test invocation by providing ABI-specific `run_dump_test' wrappers, specifically `run_dump_test_o32', `run_dump_test_n32', `run_dump_test_n64' and `run_dump_test_eabi', which remove the need to use conditionals across the Expect script or to repeat ABI-specific GAS and LD flags with each invocation, removing numerous test failures for `mips-sgi-irix6', `mips64-openbsd', `mips64el-openbsd' and `mips64el-ps2-elf' targets and broadening coverage for several MIPS targets. There are some new failures for the `mips64el-ps2-elf' target with tests that were not previously run for that target: FAIL: MIPS16 link branch to absolute expression (n32) FAIL: MIPS16 link branch to absolute expression 1 (n32) FAIL: MIPS16 link branch to absolute expression 2 (n32) FAIL: microMIPS link branch to absolute expression (n32) FAIL: MIPS ELF got reloc n32 FAIL: MIPS ELF xgot reloc n32 FAIL: undefined weak symbol overflow (n32) FAIL: R_MIPS16_HI16 and R_MIPS16_LO16 relocs n32 FAIL: ld-mips-elf/attr-gnu-4-0-n32-ph FAIL: ld-mips-elf/attr-gnu-4-1-n32-ph FAIL: ld-mips-elf/attr-gnu-4-2-n32-ph FAIL: ld-mips-elf/attr-gnu-4-3-n32-ph FAIL: MIPSr6 JALR reloc unaligned/cross-mode link test (n32) which are mostly due to dump discrepancies caused by mapping differences coming from the default linker scripts used by these test cases, or sometimes because of the specific MIPS processor architecture recorded in the ELF file taking precedence over the general MIPS ISA level also recorded. Finally, the R_MIPS16_HI16/R_MIPS16_LO16 relocation test failure is a preexisting issue with the IRIX style emulation. These failures will have to be addressed separately. ld/ * testsuite/ld-mips-elf/mips-elf.exp (run_dump_test_abi) (run_dump_test_o32, run_dump_test_n32, run_dump_test_n64) (run_dump_test_eabi): New procedures. (has_newabi, has_elf32): Remove variables. (has_abi): New associative array variable. (abi_asflags, abi_ldflags): Update settings across targets. (irixemul): New variable. Replace `run_dump_test' calls where applicable throughout with `run_dump_test_o32', `run_dump_test_n32', `run_dump_test_n64' and `run_dump_test_eabi' as appropriate. Remove explicit passing of `abi_asflags' and `abi_ldflags'. Use `noarch' for tests that require their own architecture setting. Force the big endianness for tests that require it. Select the endianness required for `objdump invocation with the `reloc-2' test. Conditionalize tests run via `run_ld_link_tests' on the ABI required and use the ABI list from the `has_abi' array where appropriate. * testsuite/ld-mips-elf/attr-gnu-4-0-n32-ph.d: Remove ABI and endianness selection options from `ld' and `source' tags. Relax output format matching. * testsuite/ld-mips-elf/attr-gnu-4-0-n64-ph.d: Likewise. * testsuite/ld-mips-elf/attr-gnu-4-1-n32-ph.d: Likewise. * testsuite/ld-mips-elf/attr-gnu-4-1-n64-ph.d: Likewise. * testsuite/ld-mips-elf/attr-gnu-4-2-n32-ph.d: Likewise. * testsuite/ld-mips-elf/attr-gnu-4-2-n64-ph.d: Likewise. * testsuite/ld-mips-elf/attr-gnu-4-3-n32-ph.d: Likewise. * testsuite/ld-mips-elf/attr-gnu-4-3-n64-ph.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-addend-micromips-n32.d: Remove ABI and endianness selection options from `as', `ld', `source' tags, and also the `-march=from-abi' option. Remove the `as' tag where it would become empty. * testsuite/ld-mips-elf/bal-jalx-addend-micromips-n64.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-addend-micromips.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-addend-n32.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-addend-n64.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-addend.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-local-micromips-n32.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-local-micromips-n64.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-local-micromips.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-local-n32.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-local-n64.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-local.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-pic-ignore-micromips-n32.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-pic-ignore-micromips-n64.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-pic-ignore-micromips.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-pic-ignore-n32.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-pic-ignore-n64.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-pic-ignore.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-pic-micromips-n32.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-pic-micromips-n64.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-pic-micromips.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-pic-n32.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-pic-n64.d: Likewise. * testsuite/ld-mips-elf/bal-jalx-pic.d: Likewise. * testsuite/ld-mips-elf/branch-absolute-addend-n32.d: Likewise. * testsuite/ld-mips-elf/branch-absolute-addend-n64.d: Likewise. * testsuite/ld-mips-elf/branch-absolute-addend.d: Likewise. * testsuite/ld-mips-elf/branch-absolute-n32.d: Likewise. * testsuite/ld-mips-elf/branch-absolute-n64.d: Likewise. * testsuite/ld-mips-elf/branch-absolute.d: Likewise. * testsuite/ld-mips-elf/dyn-sec64.d: Likewise. * testsuite/ld-mips-elf/eh-frame1-n32.d: Likewise. * testsuite/ld-mips-elf/eh-frame1-n64.d: Likewise. * testsuite/ld-mips-elf/eh-frame2-n32.d: Likewise. * testsuite/ld-mips-elf/eh-frame2-n64.d: Likewise. * testsuite/ld-mips-elf/elf-rel-got-n32-embed.d: Likewise. * testsuite/ld-mips-elf/elf-rel-got-n32.d: Likewise. * testsuite/ld-mips-elf/elf-rel-got-n64-embed.d: Likewise. * testsuite/ld-mips-elf/elf-rel-got-n64-irix.d: Likewise. * testsuite/ld-mips-elf/elf-rel-got-n64.d: Likewise. * testsuite/ld-mips-elf/elf-rel-xgot-n32-embed.d: Likewise. * testsuite/ld-mips-elf/elf-rel-xgot-n32.d: Likewise. * testsuite/ld-mips-elf/elf-rel-xgot-n64-embed.d: Likewise. * testsuite/ld-mips-elf/elf-rel-xgot-n64-irix.d: Likewise. * testsuite/ld-mips-elf/elf-rel-xgot-n64.d: Likewise. * testsuite/ld-mips-elf/emit-relocs-1.d: Likewise. * testsuite/ld-mips-elf/got-dump-2.d: Likewise. * testsuite/ld-mips-elf/got-page-2.d: Likewise. * testsuite/ld-mips-elf/jal-global-overflow-0.d: Likewise. * testsuite/ld-mips-elf/jal-global-overflow-1.d: Likewise. * testsuite/ld-mips-elf/jal-local-overflow-0.d: Likewise. * testsuite/ld-mips-elf/jal-local-overflow-1.d: Likewise. * testsuite/ld-mips-elf/jalbal.d: Likewise. * testsuite/ld-mips-elf/jalx-addend-n32.d: Likewise. * testsuite/ld-mips-elf/jalx-addend-n64.d: Likewise. * testsuite/ld-mips-elf/jalx-addend.d: Likewise. * testsuite/ld-mips-elf/jalx-local-n32.d: Likewise. * testsuite/ld-mips-elf/jalx-local-n64.d: Likewise. * testsuite/ld-mips-elf/jalx-local.d: Likewise. * testsuite/ld-mips-elf/jr-to-b-1.d: Likewise. * testsuite/ld-mips-elf/jr-to-b-2.d: Likewise. * testsuite/ld-mips-elf/lsi-4010-isa.d: Likewise. * testsuite/ld-mips-elf/micromips-branch-absolute-addend-n32.d: Likewise. * testsuite/ld-mips-elf/micromips-branch-absolute-addend-n64.d: Likewise. * testsuite/ld-mips-elf/micromips-branch-absolute-addend.d: Likewise. * testsuite/ld-mips-elf/micromips-branch-absolute-n32.d: Likewise. * testsuite/ld-mips-elf/micromips-branch-absolute-n64.d: Likewise. * testsuite/ld-mips-elf/micromips-branch-absolute.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-2.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-3.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute-1.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute-2.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute-addend-1.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute-addend-n32-1.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute-addend-n32.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute-addend-n64-1.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute-addend-n64.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute-addend.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute-n32-1.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute-n32-2.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute-n32.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute-n64-1.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute-n64-2.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute-n64.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-absolute.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-addend-2.d: Likewise. * testsuite/ld-mips-elf/mips16-branch-addend-3.d: Likewise. * testsuite/ld-mips-elf/mips16-hilo-n32.d: Likewise. * testsuite/ld-mips-elf/mips16-pcrel-0.d: Likewise. * testsuite/ld-mips-elf/mips16-pcrel-1.d: Likewise. * testsuite/ld-mips-elf/mips16-pcrel-addend-2.d: Likewise. * testsuite/ld-mips-elf/mips16-pcrel-addend-6.d: Likewise. * testsuite/ld-mips-elf/mips16-pcrel-n32-0.d: Likewise. * testsuite/ld-mips-elf/mips16-pcrel-n32-1.d: Likewise. * testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d: Likewise. * testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d: Likewise. * testsuite/ld-mips-elf/mips16e2-pcrel-0.d: Likewise. * testsuite/ld-mips-elf/mips16e2-pcrel-1.d: Likewise. * testsuite/ld-mips-elf/mips16e2-pcrel-addend-2.d: Likewise. * testsuite/ld-mips-elf/mips16e2-pcrel-addend-6.d: Likewise. * testsuite/ld-mips-elf/mips16e2-pcrel-n32-0.d: Likewise. * testsuite/ld-mips-elf/mips16e2-pcrel-n32-1.d: Likewise. * testsuite/ld-mips-elf/mips16e2-pcrel-n64-sym32-0.d: Likewise. * testsuite/ld-mips-elf/mips16e2-pcrel-n64-sym32-1.d: Likewise. * testsuite/ld-mips-elf/multi-got-1.d: Likewise. * testsuite/ld-mips-elf/multi-got-hidden-1.d: Likewise. * testsuite/ld-mips-elf/multi-got-hidden-2.d: Likewise. * testsuite/ld-mips-elf/multi-got-no-shared.d: Likewise. * testsuite/ld-mips-elf/no-shared-1-n32.d: Likewise. * testsuite/ld-mips-elf/no-shared-1-n64.d: Likewise. * testsuite/ld-mips-elf/no-shared-1-o32.d: Likewise. * testsuite/ld-mips-elf/pic-and-nonpic-2.d: Likewise. * testsuite/ld-mips-elf/pic-and-nonpic-3-error.d: Likewise. * testsuite/ld-mips-elf/pic-and-nonpic-4-error.d: Likewise. * testsuite/ld-mips-elf/pie-n32.d: Likewise. * testsuite/ld-mips-elf/pie-n64.d: Likewise. * testsuite/ld-mips-elf/pie-o32.d: Likewise. * testsuite/ld-mips-elf/rel32-n32.d: Likewise. * testsuite/ld-mips-elf/rel32-o32.d: Likewise. * testsuite/ld-mips-elf/rel64.d: Likewise. * testsuite/ld-mips-elf/relax-jalr-n32.d: Likewise. * testsuite/ld-mips-elf/reloc-1-n32.d: Likewise. * testsuite/ld-mips-elf/reloc-1-n64.d: Likewise. * testsuite/ld-mips-elf/reloc-2.d: Likewise. * testsuite/ld-mips-elf/reloc-3-n32.d: Likewise. * testsuite/ld-mips-elf/reloc-local-overflow.d: Likewise. * testsuite/ld-mips-elf/textrel-1.d: Likewise. * testsuite/ld-mips-elf/unaligned-branch-2.d: Likewise. * testsuite/ld-mips-elf/unaligned-branch-ignore-2.d: Likewise. * testsuite/ld-mips-elf/unaligned-branch-ignore-micromips.d: Likewise. * testsuite/ld-mips-elf/unaligned-branch-ignore-mips16.d: Likewise. * testsuite/ld-mips-elf/unaligned-branch-ignore-r6-1.d: Likewise. * testsuite/ld-mips-elf/unaligned-branch-micromips.d: Likewise. * testsuite/ld-mips-elf/unaligned-branch-mips16.d: Likewise. * testsuite/ld-mips-elf/unaligned-branch-r6-1.d: Likewise. * testsuite/ld-mips-elf/unaligned-branch-r6-2.d: Likewise. * testsuite/ld-mips-elf/unaligned-branch.d: Likewise. * testsuite/ld-mips-elf/unaligned-jalx-addend-0.d: Likewise. * testsuite/ld-mips-elf/unaligned-jalx-addend-1.d: Likewise. * testsuite/ld-mips-elf/unaligned-jalx-addend-2.d: Likewise. * testsuite/ld-mips-elf/unaligned-jalx-addend-3.d: Likewise. * testsuite/ld-mips-elf/unaligned-jalx-addend-micromips-0.d: Likewise. * testsuite/ld-mips-elf/unaligned-jalx-addend-micromips-1.d: Likewise. * testsuite/ld-mips-elf/unaligned-jalx-addend-mips16-0.d: Likewise. * testsuite/ld-mips-elf/unaligned-jalx-addend-mips16-1.d: Likewise. * testsuite/ld-mips-elf/unaligned-jump-micromips.d: Likewise. * testsuite/ld-mips-elf/unaligned-jump-mips16.d: Likewise. * testsuite/ld-mips-elf/unaligned-jump.d: Likewise. * testsuite/ld-mips-elf/unaligned-ldpc-0.d: Likewise. * testsuite/ld-mips-elf/unaligned-ldpc-1.d: Likewise. * testsuite/ld-mips-elf/unaligned-lwpc-0.d: Likewise. * testsuite/ld-mips-elf/unaligned-lwpc-1.d: Likewise. commit f880fcab1ae7713037ec85a56268f853fe6ca835 Author: Maciej W. Rozycki Date: Thu Jul 12 20:01:44 2018 +0100 MIPS/LD/testsuite: Limit reloc 6 tests to DSO targets Complement commit 500c05ddbe98 ("MIPS/ld/testsuite: Limit export class call reloc tests to DSO targets") and also check for target's shared library support in determining whether to run reloc 6 tests, which require it. No changes in results as all targets currently enabled for NewABI testing support shared libraries. ld/ * testsuite/ld-mips-elf/mips-elf.exp: Limit reloc 6 tests to shared library targets. commit 64b5847236593f23564bd37afb0ea503f751165c Author: Sergio Durigan Junior Date: Thu Jul 12 13:03:31 2018 -0400 Declare 'ioarg' (from ser-tcp.c:try_connect) as 'u_long' when on Windows (and unbreak build on mingw32) When building GDB on mingw32, it fails with: ../../binutils-gdb/gdb/ser-tcp.c: In function 'int try_connect(const addrinfo*, unsigned int*)': ../../binutils-gdb/gdb/ser-tcp.c:176:25: error: invalid conversion from 'int*' to 'u_long* {aka long unsigned int*}' [-fpermissive] ioctl (sock, FIONBIO, &ioarg); ^~~~~~ In file included from ../../binutils-gdb/gdb/serial.h:23:0, from ../../binutils-gdb/gdb/ser-tcp.c:21: /usr/x86_64-w64-mingw32/sys-root/mingw/include/winsock2.h:977:34: note: initializing argument 3 of 'int ioctlsocket(SOCKET, long int, u_long*)' WINSOCK_API_LINKAGE int WSAAPI ioctlsocket(SOCKET s,__LONG32 cmd,u_long *argp); ^~~~~~~~~~~ make[2]: *** [Makefile:1610: ser-tcp.o] Error 1 The problem happens because the IPv6 commit (c7ab0aef11d91b637bf091aa9176b8dc4aadee46) wrongly removed the code responsible for declaring 'ioarg' with a different type if building for Windows. This patch restores that. gdb/ChangeLog: 2018-07-12 Sergio Durigan Junior * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building on Windows. commit cde3679eb5aca10a6d09f6aa4f846ac99a3371dd Author: Nick Clifton Date: Thu Jul 12 15:46:17 2018 +0100 This patch adds support for the SSBB and PSSBB speculation barrier instructions to the AArch64 assembler and disassembler. For more details see: https://static.docs.arm.com/ddi0596/a/DDI_0596_ARM_a64_instruction_set_architecture.pdf opcodes * aarch64-tbl.h (aarch64_opcode_table): Add entry for ssbb and pssbb and update dsb flags to F_HAS_ALIAS. * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Regenerate. * aarch64-opc-2.c: Regenerate. gas * testsuite/gas/aarch64/system.s: Add test for ssbb and pssbb. * testsuite/gas/aarch64/system.d: Update accordingly and remove explicit addresses. commit 45a28947f3fe5693560e9a1d6373807a9e82c04a Author: Tamar Christina Date: Thu Jul 12 10:28:46 2018 +0100 Add remainder of Em16 restrictions for AArch64 gas. This adds the missing Em16 constraints the rest of the instructions requiring them and also adds a testcase to test all the instructions so these are checked from now on. The Em16 operand constrains the valid registers to the lower 16 registers when used with a half precision qualifier. The list has been cross checked (by hand) through the Arm ARM version Ca. opcodes/ PR binutils/23192 * aarch64-tbl.h (sqdmlal, sqdmlal2, smlsl, smlsl2, sqdmlsl, sqdmlsl2, mul, smull, smull2, sqdmull, sqdmull2, sqdmulh, sqrdmulh, mla, umlal, umlal2, mls, umlsl, umlsl2, umull, umull2, sqdmlal, sqdmlsl, sqdmull, sqdmulh, sqrdmulh): Use Em16. gas/ PR binutils/23192 * testsuite/gas/aarch64/illegal-by-element.s: New. * testsuite/gas/aarch64/illegal-by-element.d: New. * testsuite/gas/aarch64/illegal-by-element.l: New. commit 55cc53e98b86d9be559073c4f062735e2099d1fb Author: Francois H. Theron Date: Wed Jul 11 18:14:16 2018 +0200 readelf: Don't print section type twice for --section-details * readelf.c (process_section_headers): Don't print section type twice for --section-details. commit 639eff935742fda1f8d5fd629dc877eda9975c96 Author: GDB Administrator Date: Thu Jul 12 00:00:31 2018 +0000 Automatic date update in version.in commit c7ab0aef11d91b637bf091aa9176b8dc4aadee46 Author: Sergio Durigan Junior Date: Fri May 18 01:29:24 2018 -0400 Implement IPv6 support for GDB/gdbserver This patch implements IPv6 support for both GDB and gdbserver. Based on my research, it is the fourth attempt to do that since 2006. Since I used ideas from all of the previous patches, I also added their authors's names on the ChangeLogs as a way to recognize their efforts. For reference sake, you can find the previous attempts at: https://sourceware.org/ml/gdb-patches/2006-09/msg00192.html https://sourceware.org/ml/gdb-patches/2014-02/msg00248.html https://sourceware.org/ml/gdb-patches/2016-02/msg00226.html The basic idea behind the patch is to start using the new 'getaddrinfo'/'getnameinfo' calls, which are responsible for translating names and addresses in a protocol-independent way. This means that if we ever have a new version of the IP protocol, we won't need to change the code again (or, at least, won't have to change the majority of the code). The function 'getaddrinfo' returns a linked list of possible addresses to connect to. Dealing with multiple addresses proved to be a hard task with the current TCP auto-retry mechanism implemented on ser-tcp:net_open. For example, when gdbserver listened only on an IPv4 socket: $ ./gdbserver --once 127.0.0.1:1234 ./a.out and GDB was instructed to try to connect to both IPv6 and IPv4 sockets: $ ./gdb -ex 'target extended-remote localhost:1234' ./a.out the user would notice a somewhat big delay before GDB was able to connect to the IPv4 socket. This happened because GDB was trying to connect to the IPv6 socket first, and had to wait until the connection timed out before it tried to connect to the IPv4 socket. For that reason, I had to rewrite the main loop and implement a new method for handling multiple connections. After some discussion, Pedro and I agreed on the following algorithm: 1) For each entry returned by 'getaddrinfo', we try to open a socket and connect to it. 2.a) If we have a successful 'connect', we just use that connection. 2.b) If we don't have a successfull 'connect', but if we've got a ECONNREFUSED (meaning the the connection was refused), we keep track of this fact by using a flag. 2.c) If we don't have a successfull 'connect', but if we've got a EINPROGRESS (meaning that the connection is in progress), we perform a 'select' call on the socket until we have a result (either a successful connection, or an error on the socket). 3) If tcp_auto_retry is true, and we haven't gotten a successful connection, and at least one of our attempts failed with ECONNREFUSED, then we wait a little bit (i.e., call 'wait_for_connect'), check to see if there was a timeout/interruption (in which case we bail out), and then go back to (1). After multiple tests, I was able to connect without delay on the scenario described above, and was also able to connect in all other types of scenarios. I also implemented some hostname parsing functions (along with their corresponding unit tests) which are used to help GDB and gdbserver to parse hostname strings provided by the user. These new functions are living inside common/netstuff.[ch]. I've had to do that since IPv6 introduces a new URL scheme, which defines that square brackets can be used to enclose the host part and differentiate it from the port (e.g., "[::1]:1234" means "host ::1, port 1234"). I spent some time thinking about a reasonable way to interpret what the user wants, and I came up with the following: - If the user has provided a prefix that doesn't specify the protocol version (i.e., "tcp:" or "udp:"), or if the user has not provided any prefix, don't make any assumptions (i.e., assume AF_UNSPEC when dealing with 'getaddrinfo') *unless* the host starts with "[" (in which case, assume it's an IPv6 host). - If the user has provided a prefix that does specify the protocol version (i.e., "tcp4:", "tcp6:", "udp4:" or "udp6:"), then respect that. This method doesn't follow strictly what RFC 2732 proposes (that literal IPv6 addresses should be provided enclosed in "[" and "]") because IPv6 addresses still can be provided without square brackets in our case, but since we have prefixes to specify protocol versions I think this is not an issue. Another thing worth mentioning is the new 'GDB_TEST_SOCKETHOST' testcase parameter, which makes it possible to specify the hostname (without the port) to be used when testing GDB and gdbserver. For example, to run IPv6 tests: $ make check-gdb RUNTESTFLAGS='GDB_TEST_SOCKETHOST=tcp6:[::1]' Or, to run IPv4 tests: $ make check-gdb RUNTESTFLAGS='GDB_TEST_SOCKETHOST=tcp4:127.0.0.1' This required a few changes on the gdbserver-base.exp, and also a minimal adjustment on gdb.server/run-without-local-binary.exp. Finally, I've implemented a new testcase, gdb.server/server-connect.exp, which is supposed to run on the native host and perform various "smoke tests" using different connection methods. This patch has been regression-tested on BuildBot and locally, and also built using a x86_64-w64-mingw32 GCC, and no problems were found. gdb/ChangeLog: 2018-07-11 Sergio Durigan Junior Jan Kratochvil Paul Fertser Tsutomu Seki Pedro Alves * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add 'unittests/parse-connection-spec-selftests.c'. (COMMON_SFILES): Add 'common/netstuff.c'. (HFILES_NO_SRCDIR): Add 'common/netstuff.h'. * NEWS (Changes since GDB 8.2): Mention IPv6 support. * common/netstuff.c: New file. * common/netstuff.h: New file. * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'. (wait_for_connect): Update comment. New parameter 'gdb::optional sock' instead of 'struct serial *scb'. Use 'sock' directly instead of 'scb->fd'. (try_connect): New function, with code from 'net_open'. (net_open): Rewrite main loop to deal with multiple sockets/addresses. Handle IPv6-style hostnames; implement support for IPv6 connections. * unittests/parse-connection-spec-selftests.c: New file. gdb/gdbserver/ChangeLog: 2018-07-11 Sergio Durigan Junior Jan Kratochvil Paul Fertser Tsutomu Seki * Makefile.in (SFILES): Add '$(srcdir)/common/netstuff.c'. (OBS): Add 'common/netstuff.o'. (GDBREPLAY_OBS): Likewise. * gdbreplay.c: Include 'wspiapi.h' and 'netstuff.h'. (remote_open): Implement support for IPv6 connections. * remote-utils.c: Include 'netstuff.h', 'filestuff.h' and 'wspiapi.h'. (handle_accept_event): Accept connections from IPv6 sources. (remote_prepare): Handle IPv6-style hostnames; implement support for IPv6 connections. (remote_open): Implement support for printing connections from IPv6 sources. gdb/testsuite/ChangeLog: 2018-07-11 Sergio Durigan Junior Jan Kratochvil Paul Fertser Tsutomu Seki * README (Testsuite Parameters): Mention new 'GDB_TEST_SOCKETHOST' parameter. * boards/native-extended-gdbserver.exp: Do not set 'sockethost' by default. * boards/native-gdbserver.exp: Likewise. * gdb.server/run-without-local-binary.exp: Improve regexp used for detecting when a remote debugging connection succeeds. * gdb.server/server-connect.exp: New file. * lib/gdbserver-support.exp (gdbserver_default_get_comm_port): Do not prefix the port number with ":". (gdbserver_start): New global GDB_TEST_SOCKETHOST. Implement support for detecting and using it. Add '$debughost_gdbserver' to the list of arguments used to start gdbserver. Handle case when gdbserver cannot resolve a network name. gdb/doc/ChangeLog: 2018-07-11 Sergio Durigan Junior Jan Kratochvil Paul Fertser Tsutomu Seki * gdb.texinfo (Remote Connection Commands): Add explanation about new IPv6 support. Add new connection prefixes. commit 4c7333b308f5178813745f40e641231efb1cb763 Author: Pedro Alves Date: Wed Jul 11 23:31:44 2018 +0100 GDB: Work around D;PID handling bug in older GDBservers (PR gdb/23377) This commit adds a GDB workaround for the GDBserver bug exposed by commit f2ffa92bbce9 ("gdb: Eliminate the 'stop_pc' global"), so that newer GDBs can continue working with older GDBservers. gdb/ChangeLog: 2018-07-11 Pedro Alves PR gdb/23377 * remote.c (remote_target::remote_detach_pid): Call set_current_process. commit 31445d1036f7fc41de2724cb016913c9b1461bb1 Author: Pedro Alves Date: Wed Jul 11 23:31:44 2018 +0100 GDBserver: Don't assume a current process in D;PID implementation (PR gdb/23377) This fixes a gdb.base/multi-forks.exp regression with GDBserver. Git commit f2ffa92bbce9 ("gdb: Eliminate the 'stop_pc' global") caused the regression by exposing a latent bug in gdbserver. The bug is that GDBserver's implementation of the D;PID packet incorrectly assumes that the selected thread points to the process being detached. This happens via the any_persistent_commands call, which calls current_process: (gdb) bt #0 0x000000000040a57e in internal_error(char const*, int, char const*, ...) (file=0x4a53c0 "src/gdb/gdbserver/inferiors.c", line=212, fmt=0x4a539e "%s: Assertion `%s' failed.") at src/gdb/gdbserver/../common/errors.c:54 #1 0x0000000000420acf in current_process() () at src/gdb/gdbserver/inferiors.c:212 #2 0x00000000004226a0 in any_persistent_commands() () at gdb/gdbserver/mem-break.c:308 #3 0x000000000042cb43 in handle_detach(char*) (own_buf=0x6f0280 "D;62ea") at src/gdb/gdbserver/server.c:1210 #4 0x0000000000433af3 in process_serial_event() () at src/gdb/gdbserver/server.c:4055 #5 0x0000000000434878 in handle_serial_event(int, void*) (err=0, client_data=0x0) The "eliminate stop_pc" commit exposes the problem because before that commit, GDB's switch_to_thread always read the newly-selected thread's PC, and that would end up forcing GDBserver's selected thread to change accordingly as side effect. After that commit, GDB no longer reads the thread's PC, and GDBserver does not switch the thread. Fix this by removing the assumption from GDBserver. gdb/gdbserver/ChangeLog: 2018-07-11 Pedro Alves PR gdb/23377 * mem-break.c (any_persistent_commands): Add process_info parameter and use it instead of relying on the current process. Change return type to bool. * mem-break.h (any_persistent_commands): Add process_info parameter and change return type to bool. * server.c (handle_detach): Remove require_running_or_return call. Look up the process_info for the process we're about to detach. If not found, return back error to GDB. Adjust any_persistent_commands call to pass down a process pointer. commit a6f88f6e4458e672b8a72ee0c0998fdc79cf601e Author: Pedro Alves Date: Wed Jul 11 20:39:12 2018 +0100 gdb: Remove traces of h8300 ecoff support There's this little bit of ecoff support in the h8300 port that I ran into that I think we could remove. Grepping around BFD, I don't think ECOFF is supported for h8300. And if not, I'm failing to see why we'd support ECOFF debug info in ELF for h8300 (.mdebug). It kind of seems like someone just installed the set_gdbarch_ecoff_reg_to_regnum hook at the same time the dwarf2 and stabs hooks were installed. I'm removing this so that greps for ecoff stuff only lead to MIPS, as ISTR that Linux/MIPS support still relies on some subset of ECOFF for something. gdb/ChangeLog: 2018-07-11 Pedro Alves * h8300-tdep.c (h8300_gdbarch_init): Remove set_gdbarch_ecoff_reg_to_regnum calls. commit 16ff70ddd430b63ca4dd68bf1d52828f2ed4f030 Author: Sergio Durigan Junior Date: Sat Jul 7 17:16:55 2018 -0400 Fix PR c++/23373: GDB hangs when printing a struct with a static member of itself This patch fixes a failure that happens when a structure has a static member whose type is the same as itself. From the bug report: Example code: struct A { static A Empty; int a; }; int main(void) { A a; return 0; } Output: (gdb) ptype/o A /* offset | size */ type = struct A { static struct A { static struct A { static struct A { static struct A { static struct A { static struct A { ... # infinite loop The problem here is that GDB is not taking into account the fact that static members inside a class/struct are not stored in the class/struct, and therefore they should not be accounted for during the display of the offsets/sizes. The fix is simple: we just check if the field we're dealing with (on c-typeprint.c:c_type_print_base_struct_union) is static, and if it is then we don't iterate over it. This patch also adds a new test for this case, and doesn't introduce any regressions. I believe it is important enough to be included in the 8.2 branch. OK? gdb/ChangeLog: 2018-07-11 Sergio Durigan Junior PR c++/23373 * c-typeprint.c (c_type_print_base_struct_union): Don't print offsets/sizes for static members of a class/struct. gdb/testsuite/ChangeLog: 2018-07-11 Sergio Durigan Junior PR c++/23373 * gdb.base/ptype-offsets.cc (struct static_member): New struct. (main) : New variable. * gdb.base/ptype-offsets.exp: Add test for printing a struct with a static member in it. commit cb19713281c69c3625dd447a0c2ce539761989e2 Author: Pedro Alves Date: Wed Jul 11 19:49:19 2018 +0100 GDBserver: Fix "Cond. jump or move depends on uninit value" in x87 code Running gdbserver under Valgrind I get: ==26925== Conditional jump or move depends on uninitialised value(s) ==26925== at 0x473E7F: i387_cache_to_xsave(regcache*, void*) (i387-fp.c:579) ==26925== by 0x46E3ED: x86_fill_xstateregset(regcache*, void*) (linux-x86-low.c:418) ==26925== by 0x45E747: regsets_store_inferior_registers(regsets_info*, regcache*) (linux-low.c:5456) ==26925== by 0x45EEF8: linux_store_registers(regcache*, int) (linux-low.c:5731) ==26925== by 0x426441: regcache_invalidate_thread(thread_info*) (regcache.c:89) ==26925== by 0x45CCAF: linux_resume_one_lwp_throw(lwp_info*, int, int, siginfo_t*) (linux-low.c:4447) ==26925== by 0x45CE2A: linux_resume_one_lwp(lwp_info*, int, int, siginfo_t*) (linux-low.c:4519) ==26925== by 0x45E17C: proceed_one_lwp(thread_info*, lwp_info*) (linux-low.c:5216) ==26925== by 0x45DC81: linux_resume_one_thread(thread_info*, bool) (linux-low.c:5031) ==26925== by 0x45DD34: linux_resume(thread_resume*, unsigned long)::{lambda(thread_info*)#2}::operator()(thread_info*) const (linux-low.c:5095) ==26925== by 0x462907: void for_each_thread(linux_resume(thread_resume*, unsigned long)::{lambda(thread_info*)#2}) (gdbthread.h:150) ==26925== by 0x45DE62: linux_resume(thread_resume*, unsigned long) (linux-low.c:5093) ==26925== ==26925== Conditional jump or move depends on uninitialised value(s) ==26925== at 0x473EBD: i387_cache_to_xsave(regcache*, void*) (i387-fp.c:586) ==26925== by 0x46E3ED: x86_fill_xstateregset(regcache*, void*) (linux-x86-low.c:418) ==26925== by 0x45E747: regsets_store_inferior_registers(regsets_info*, regcache*) (linux-low.c:5456) ==26925== by 0x45EEF8: linux_store_registers(regcache*, int) (linux-low.c:5731) ==26925== by 0x426441: regcache_invalidate_thread(thread_info*) (regcache.c:89) ==26925== by 0x45CCAF: linux_resume_one_lwp_throw(lwp_info*, int, int, siginfo_t*) (linux-low.c:4447) ==26925== by 0x45CE2A: linux_resume_one_lwp(lwp_info*, int, int, siginfo_t*) (linux-low.c:4519) ==26925== by 0x45E17C: proceed_one_lwp(thread_info*, lwp_info*) (linux-low.c:5216) ==26925== by 0x45DC81: linux_resume_one_thread(thread_info*, bool) (linux-low.c:5031) ==26925== by 0x45DD34: linux_resume(thread_resume*, unsigned long)::{lambda(thread_info*)#2}::operator()(thread_info*) const (linux-low.c:5095) ==26925== by 0x462907: void for_each_thread(linux_resume(thread_resume*, unsigned long)::{lambda(thread_info*)#2}) (gdbthread.h:150) ==26925== by 0x45DE62: linux_resume(thread_resume*, unsigned long) (linux-low.c:5093) The problem is a type/width mismatch in code like this, in gdbserver/i387-fp.c: /* Some registers are 16-bit. */ collect_register_by_name (regcache, "fctrl", &val); fp->fctrl = val; In the above code: #1 - 'val' is a 64-bit unsigned long. #2 - "fctrl" is 32-bit in the register cache, thus half of 'val' is left uninitialized by collect_register_by_name, which works with an untyped raw buffer output (i.e., void*). #3 - fp->fctrl is an unsigned short (16-bit). For some such registers we're masking off the uninitialized bits with 0xffff, but not in all cases. We end up in such a fragile situation because collect_registers_by_name works with an untyped output buffer pointer, making it easy to pass a pointer to a variable of the wrong size. Fix this by using regcache_raw_get_unsigned instead (actually a new regcache_raw_get_unsigned_by_name wrapper), which always returns a zero-extended ULONGEST register value. It ends up simplifying the i387-tdep.c code a bit, even. gdb/gdbserver/ChangeLog: 2018-07-11 Pedro Alves * i387-fp.c (i387_cache_to_fsave, cache_to_fxsave) (i387_cache_to_xsave): Use regcache_raw_get_unsigned_by_name instead of collect_register_by_name. * regcache.c (regcache_raw_get_unsigned_by_name): New. * regcache.h (regcache_raw_get_unsigned_by_name): New. commit c597cc3d6eb76802dd079b1262f2d425e07da3eb Author: Sudakshina Das Date: Wed Jul 11 18:05:34 2018 +0100 Adds the speculation barrier instructions to the ARM assembler and disassembler. See: https://developer.arm.com/support/arm-security-updates/speculative-processor-vulnerability/download-the-whitepaper opcodes * arm-dis.c (arm_opcodes): Add ssbb and pssbb and move csdb together with them. (thumb32_opcodes): Likewise. gas * config/tc-arm.c (insns): Add new ssbb and pssbb instructions. * testsuite/gas/arm/csdb.s: Add new tests for ssbb and pssbb. * testsuite/gas/arm/csdb.d: Likewise * testsuite/gas/arm/thumb2_it_bad.s: Likewise. * testsuite/gas/arm/thumb2_it_bad.l: Likewise. * testsuite/gas/arm/barrier.d: Update with ssbb. * testsuite/gas/arm/barrier-thumb.d: Likewise. commit 1cb83cac9a8974bdb12aac90018ad1165ba86274 Author: Maciej W. Rozycki Date: Wed Jul 11 17:44:45 2018 +0100 MIPS/BFD: Fix TLS relocation resolution for regular executables Correct an issue with commit 0f20cc3522e7 ("TLS support for MIPS"), , where a condition used to determine whether to use a dynamic symbol for GD, LD and IE TLS dynamic relocations against a symbol that has been defined locally has been incorrectly reversed. It's executables rather than dynamic shared objects where no symbol is required, because such symbols cannot be preempted and therefore their values (thread pointer offsets) are fixed at the static link time as is the associated module ID of the main executable, so the original condition should have been `shared' instead of `!shared'. This wrong condition was then later converted from `!shared' to `!bfd_link_pic', with commit 0e1862bb401f ("Add output_type to bfd_link_info"). Use the correct `bfd_link_dll' condition then, and adjust code for the dynamic symbol index possibly being -1 as with symbols that have been forced local, removing unnecessary dynamic relocations from dynamic regular executables. PIE executables are unaffected as the existing condition excluded them by chance due to the conversion mentioned above. Adjust test cases accordingly. bfd/ * elfxx-mips.c (mips_tls_got_relocs): Use `bfd_link_dll' rather than `!bfd_link_pic' in determining the dynamic symbol index. Avoid the index of -1. (mips_elf_initialize_tls_slots): Likewise. Flatten code by moving `dyn' to the beginning of the function block. ld/ * testsuite/ld-mips-elf/tlsdyn-o32.d: Update test for dynamic relocation removal. * testsuite/ld-mips-elf/tlsdyn-o32.got: Likewise. * testsuite/ld-mips-elf/tlsdyn-o32-1.d: Likewise. * testsuite/ld-mips-elf/tlsdyn-o32-1.got: Likewise. * testsuite/ld-mips-elf/tlsdyn-o32-2.d: Likewise. * testsuite/ld-mips-elf/tlsdyn-o32-2.got: Likewise. * testsuite/ld-mips-elf/tlsdyn-o32-3.d: Likewise. * testsuite/ld-mips-elf/tlsdyn-o32-3.got: Likewise. commit 9143e72c6d4ddefbcb41c0f6361ad140354145ef Author: Maciej W. Rozycki Date: Wed Jul 11 17:44:45 2018 +0100 PR ld/22570: MIPS/BFD: Fix TLS relocation resolution for PIE executables Correct a commit 0e1862bb401f ("Add output_type to bfd_link_info") issue and use `bfd_link_dll' rather than `bfd_link_pic' in determining whether to fully resolve GD, LD and IE TLS relocations referring to symbols locally defined rather than deferring them to the load time by means of dynamic relocations. Such symbols cannot be preempted in PIE executables, which are necessarily PIC, and therefore their values (thread pointer offsets) are fixed at the static link time as is the associated module ID of the main executable. Given the `tlsbin-o32.s' and `tlsdyn-o32.s' sources from our test suite this removes the absolute TLS relocations from the static: DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE 00000000 R_MIPS_NONE *ABS* 1000002c R_MIPS_TLS_TPREL32 *ABS* 10000030 R_MIPS_TLS_DTPMOD32 *ABS* 10000038 R_MIPS_TLS_DTPMOD32 *ABS* and the dynamic: DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE 00000000 R_MIPS_NONE *ABS* 1000002c R_MIPS_TLS_TPREL32 *ABS* 10000038 R_MIPS_TLS_DTPMOD32 *ABS* 10000044 R_MIPS_TLS_DTPMOD32 *ABS* 10000030 R_MIPS_TLS_DTPMOD32 tlsvar_gd 10000034 R_MIPS_TLS_DTPREL32 tlsvar_gd 10000040 R_MIPS_TLS_TPREL32 tlsvar_ie PIE executable respectively, as reported by `objdump -R', and fills the corresponding GOT slots with the values expected, as recorded with the test cases added. The new output from `objdump -R' is: DYNAMIC RELOCATION RECORDS (none) and: DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE 00000000 R_MIPS_NONE *ABS* 10000030 R_MIPS_TLS_DTPMOD32 tlsvar_gd 10000034 R_MIPS_TLS_DTPREL32 tlsvar_gd 10000040 R_MIPS_TLS_TPREL32 tlsvar_ie for the static and the dynamic executable respectively. 2018-07-11 Maciej W. Rozycki Rich Felker bfd/ PR ld/22570 * elfxx-mips.c (mips_tls_got_relocs): Use `bfd_link_dll' rather than `bfd_link_pic' to determine whether dynamic relocations are to be produced. (mips_elf_initialize_tls_slots): Likewise. ld/ PR ld/22570 * testsuite/ld-mips-elf/tlsbin-pie-o32.d: New test. * testsuite/ld-mips-elf/tlsbin-pie-o32.got: New test. * testsuite/ld-mips-elf/tlsdyn-pie-o32.d: New test. * testsuite/ld-mips-elf/tlsdyn-pie-o32.got: New test. * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests. commit 04879304dea94c02f19fa5c219d2cbee6269f9af Author: Franz Sirl Date: Wed Jan 24 13:39:11 2018 +0000 Fix printing the size of GOLD's memory areana on Cygwin based systems. I just stumbled over this with 2.29.1 while building a cross-toolchain, on Cygwin64, but it's still the same for 2.30. m.arena has size_t on Cygwin64 and thus errors out due to -Werror=format. gold * main.cc: Print m.arena as long long. commit 12863263d6f610ec161aead53df89586787b2ce4 Author: Alan Hayward Date: Wed Jul 11 08:34:50 2018 +0100 Rename tdesc_register_size to tdesc_register_bitsize tdesc_register_size returns number of bits, not bytes. Rename to make it clearer. Also, fixed bug in aarch64_get_tdesc_vq which assumed bytes. gdb/ * target-descriptions.c (tdesc_register_bitsize): Rename. * target-descriptions.h (tdesc_register_bitsize): Likewise. * rs6000-tdep.c (rs6000_gdbarch_init): Use new name. * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size. commit a79eaed6a5075ca062d6d8ff3d7a5ccce5d1908f Author: Jan Beulich Date: Wed Jul 11 10:30:00 2018 +0200 x86: adjust monitor/mwait templates Architecturally, MONITOR's and MONITORX'es memory operand is a 16- or 32-bit register outside of 64-bit mode, and a 64- or 32-bit register inside 64-bit mode. The other register operands, including all of them for MWAIT and MWAITX, are uniformly 32-bit, irrespective of mode. Retain the original 64-bit MONITOR{,X} templates for compatibility only, and fold the MWAIT{,X} ones. commit 2fb5be8dac9db623ef6e2a61b1f5b09fd246872b Author: Jan Beulich Date: Wed Jul 11 10:28:56 2018 +0200 x86: drop {,reg16_}inoutportreg variables The checking against reg16_inoutportreg can be had with a simple test of a bit, and the value setting from inoutportreg can be replaced by using the actual register's reg_type field. Note that the so far redundant 2nd instance of OPERAND_TYPE_INOUTPORTREG is left in place, for its use in type_names[]. commit bd59a6313dbbf349dff197975f1b6a78be51b7d6 Author: Jan Beulich Date: Wed Jul 11 10:28:16 2018 +0200 x86: simplify legacy prefix emission The check_prefix label was bogus from the beginning: The special checking is supposed to happen for PadLock insns only; no 3-opcode-byte insn should go this path. commit 7f5cad304773ecbfe8b390e0b5d79fe11edb2a6b Author: Jan Beulich Date: Wed Jul 11 10:25:40 2018 +0200 x86/Intel: accept memory operand size specifiers for CET insns commit f0a85b07061964d6c608e6280ce61aa3fed1eabf Author: Jan Beulich Date: Wed Jul 11 10:24:44 2018 +0200 x86: replace off-by-one OTMax With its name it should equal to the largest prior enumerator, which is not very helpful as that will change every once in a while. Rename it to OTNum instead to make name and value match, and correct use sites to no longer use one too large a value. commit 76d3a78a498e814fa1fea713091849cba7896f7a Author: Jan Beulich Date: Wed Jul 11 10:23:48 2018 +0200 x86: fix "REP RET" with -madd-bnd-prefix Just like any other branches, RET should gain a BND prefix also when already prefixed in source by REP. commit c7df3df443db7b1840735c86a38e00243a2902f7 Author: Alan Modra Date: Wed Jul 11 13:53:20 2018 +0930 Revise "ld testsuite use of notarget" git commit 624940689a wrongly changed fill.d and fill16.d notarget entries to xfail, so revert that change and instead replace notarget with skip. The two tests are complementary. This patch also modifies the pr20022 test to use .data, avoiding xfails on targets that complain about dynamic relocations in .text. This shows a bug in metag which discards section _foo in pr2022.so. * testsuite/ld-elf/hash.d: Comment on mips xfail. * testsuite/ld-gc/pr20022b.s: Use .data not .text. * testsuite/ld-gc/pr20022.d: Remove xfails. * testsuite/ld-scripts/fill.d: Revert most of last patch, but use skip rather than notarget. * testsuite/ld-scripts/fill16.d: Likewise. commit 1123588c0bf1d777a3eb9c01f2370473a14a1ca5 Author: Tom Tromey Date: Tue Jun 5 10:35:38 2018 -0600 Use std::vector for moribund_locations This changes moribund_locations to use a std::vector rather than VEC. I also noticed that moribund_locations is only used in breakpoint.c, so now it is static as well. It might be possible to make this code a bit simpler by using a ref_ptr in moribund_locations; however, I have not done this. Tested by the buildbot. gdb/ChangeLog 2018-07-10 Tom Tromey * breakpoint.c (moribund_locations): Now static and a std::vector. (breakpoint_init_inferior, moribund_breakpoint_here_p) (build_bpstat_chain, update_global_location_list) (breakpoint_retire_moribund): Update. * breakpoint.h (bp_location_p): Remove typedef. Don't declare VEC. commit 71feec82131fd692711dc773b1f9ae9365b51432 Author: GDB Administrator Date: Wed Jul 11 00:00:50 2018 +0000 Automatic date update in version.in commit 500c05ddbe989926d6b1298bfc88e6788426e0ef Author: Maciej W. Rozycki Date: Tue Jul 10 16:56:46 2018 -0700 MIPS/ld/testsuite: Limit export class call reloc tests to DSO targets Only run MIPS/LD export class call relocation tests with shared library targets, avoiding: .../ld/ld-new: -shared not supported linker errors and removing: FAIL: MIPS export class call relocation test (o32) regressions with `mipsel-ps2-elf' and `mips64el-ps2-elf' targets. ld/ * testsuite/ld-mips-elf/mips-elf.exp: Limit export class call relocation tests to shared library targets. commit 5270eddc6ed6b5d8e4e2817491bb44b784fa6f81 Author: Maciej W. Rozycki Date: Wed Jul 11 00:42:43 2018 +0100 BFD/ELF: Correct a `remove' global shadowing error for pre-4.8 GCC Remove `-Wshadow' compilation errors: cc1: warnings being treated as errors .../bfd/elflink.c: In function 'bfd_elf_final_link': .../bfd/elflink.c:11722: error: declaration of 'remove' shadows a global declaration /usr/include/stdio.h:154: error: shadowed declaration is here which for versions of GCC before 4.8 prevent support for ELF targets from being built. See also GCC PR c/53066. bfd/ * elflink.c (bfd_elf_final_link): Rename `remove' local variable to `remove_section'. commit be570f06848d262853de218e0b24245c93cb402b Author: Alan Modra Date: Tue Jul 10 12:09:28 2018 +0930 xgate testsuite fixes binutils/ * testsuite/lib/binutils-common.exp (supports_gnu_unique): Return zero for xgate. ld/ * testsuite/lib/ld-lib.exp (check_gc_sections_available): Return 0 for xgate. * testsuite/ld-elf/elf.exp: Add xgate to pr21703 xfails. * testsuite/ld-elf/shared.exp: Add xgate to pr21703 xfails. * testsuite/ld-discard/extern.d: xfail xgate. * testsuite/ld-discard/start.d: Likewise. * testsuite/ld-discard/static.d: Likewise. * testsuite/ld-elf/attributes.d: Likewise. * testsuite/ld-elf/compressed1d.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/merge.d: Likewise. * testsuite/ld-elf/merge2.d: Likewise. * testsuite/ld-elf/merge3.d: Likewise. * 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/pr12851.d: Likewise. * testsuite/ld-elf/pr12975.d: Likewise. * testsuite/ld-elf/pr13177.d: Likewise. * testsuite/ld-elf/pr13195.d: Likewise. * testsuite/ld-elf/pr14156b.d: Likewise. * testsuite/ld-elf/pr17550c.d: Likewise. * testsuite/ld-elf/pr17550d.d: Likewise. * testsuite/ld-elf/pr17615.d: Likewise. * testsuite/ld-elf/pr20528a.d: Likewise. * testsuite/ld-elf/pr20528b.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/pr349.d: Likewise. * testsuite/ld-elf/warn1.d: Likewise. * testsuite/ld-elf/warn2.d: Likewise. * testsuite/ld-elf/warn3.d: Likewise. commit 1594e052d4fec8690b6bfabd369bc030135eb91a Author: Alan Modra Date: Sat Jul 7 21:23:53 2018 +0930 xgate cleanup elf32-xgate.c contains many functions that are only stubs and elf32-xgate.h contains unused declarations. While this might be reasonable for the initial commit of a port with subsequent work fleshing out the stubs, xgate has only had two minor target specific patches since the initial commit over six years ago. The rest of the changes have been general maintenance work applied to all ELF targets, and some of this work could have been avoided if the stubs hadn't been there. So this patch removes all the stubs. I've kept the functionality of the old elf32_xgate_add_symbol_hook, implemented in elf32_xgate_backend_symbol_processing. Presumably, that's to set the symbol st_target_internal flag for use in elf32-m68hc1x.c:elf32_m68hc11_relocate_section. The empty elf32_xgate_relocate_section meant that xgate had no linker. Or at least, no linker relocation processing. Deleting the elf_backend_relocate_section define means the target will now use the generic linker reloc processing. How good that is will depend on the accuracy of the reloc howtos.. I haven't updated the ld testsuite to xfail tests expected to fail for generic elf targets. bfd/ * elf32-xgate.h: Delete. * elf32-xgate.c: Delete unnecessary forward declarations, add two that are now needed. (xgate_elf_bfd_link_hash_table_create) (xgate_elf_bfd_link_hash_table_free) (xgate_elf_set_mach_from_flags, struct xgate_scan_param) (stub_hash_newfunc, elf32_xgate_add_symbol_hook) (elf32_xgate_setup_section_lists, elf32_xgate_size_stubs) (elf32_xgate_build_stubs, elf32_xgate_check_relocs) (elf32_xgate_relocate_section, _bfd_xgate_elf_set_private_flags) (elf32_xgate_post_process_headers): Delete. (elf32_xgate_backend_symbol_processing): New function. (xgate_elf_ignore_reloc, xgate_elf_special_reloc) (_bfd_xgate_elf_print_private_bfd_data): Make static. (ELF_TARGET_ID, elf_info_to_howto, elf_backend_check_relocs) (elf_backend_relocate_section, elf_backend_object_p) (elf_backend_final_write_processing, elf_backend_can_gc_sections) (elf_backend_post_process_headers, elf_backend_add_symbol_hook) (bfd_elf32_bfd_link_hash_table_create) (bfd_elf32_bfd_set_private_flags) (xgate_stub_hash_lookup): Don't define. (elf_backend_symbol_processing): Define. * elf-bfd.h (elf_target_id): Delete XGATE_ELF_DATA. ld/ * emulparams/xgateelf.sh (TEMPLATE_NAME) Set to generic. (EXTRA_EM_FILE): Set to genelf. commit 624940689a97573ed1e24ae054dcb2fd6906f557 Author: Alan Modra Date: Tue Jul 10 23:13:10 2018 +0930 ld testsuite use of notarget Much of the time it is better to use xfail rather than notarget to hide a testsuite failure no one is planning on fixing. 1) When a target is fixed, an inappropriate xfail results in XPASS whereas notarget is silent. Leaving in an inappropriate notarget entry risks the bug reappearing later, silently. 2) Tests might be used as a template for a new test, carrying over notarget and/or xfail. Inappropriate notarget entries are silent. 3) An xfailed test that mysteriously XPASSes might actually indicate a bug. * testsuite/ld-elf/attributes.d: Use xfail rather than notarget. * testsuite/ld-elf/hash.d: Likewise. * testsuite/ld-elf/orphan-10.d: Likewise. * testsuite/ld-elf/overlay.d: Likewise. * testsuite/ld-elf/pr14926.d: Likewise. * testsuite/ld-elf/pr17550d.d: Likewise. * testsuite/ld-elf/pr19539.d: Likewise. * testsuite/ld-elf/pr22319.d: Likewise. * testsuite/ld-misc/defsym1.d: Likewise. * testsuite/ld-pe/pr19803.d: Likewise. * testsuite/ld-scripts/assign-loc.d: Likewise. * testsuite/ld-scripts/defined4.d: Likewise. * testsuite/ld-scripts/empty-address-1.d: Likewise. * testsuite/ld-scripts/empty-address-2a.d: Likewise. * testsuite/ld-scripts/empty-address-2b.d: Likewise. * testsuite/ld-scripts/fill.d: Likewise. * testsuite/ld-scripts/fill16.d: Likewise. * testsuite/ld-scripts/pr14962.d: Likewise. * testsuite/ld-scripts/pr14962-2.d: Likewise. * testsuite/ld-unique/pr21529.d: Likewise. * testsuite/ld-elf/compress1a.d: Likewise, and adjust targets. * testsuite/ld-elf/compressed1a.d: Likewise. * testsuite/ld-elf/compressed1d.d: Likewise. * testsuite/ld-elf/compressed1e.d: Likewise. * testsuite/ld-elf/eh5.d: Likewise. * testsuite/ld-elf/group8a.d: Likewise. * testsuite/ld-elf/linkonce2.d: Likewise. * testsuite/ld-elf/orphan-9.d: Likewise. * testsuite/ld-elf/pr17550a.d: Likewise. * testsuite/ld-elf/pr17550b.d: Likewise. * testsuite/ld-elf/pr17550c.d: Likewise. * testsuite/ld-elf/pr19162.d: Likewise. * testsuite/ld-elf/pr21884.d: Likewise. * testsuite/ld-gc/pr19167.d: Likewise. * testsuite/ld-gc/pr20022.d: Likewise. * testsuite/ld-gc/start.d: Likewise. * testsuite/ld-elf/orphan-11.d: Delete notarget. * testsuite/ld-elf/orphan-12.d: Likewise. * testsuite/ld-gc/stop.d: Likewise. * testsuite/ld-scripts/empty-address-3a.d: Likewise. * testsuite/ld-scripts/empty-address-3b.d: Likewise. * testsuite/ld-ifunc/pr17154-x86-64-now.d: Delete duplicate notarget. * testsuite/ld-scripts/section-match-1.d: Comment fix. commit 3541979fff2861c9537f299e31ac17a436bf1228 Author: Andrew Burgess Date: Tue Apr 10 20:21:58 2018 +0100 gdb/testsuite: Run test with software and hardware watchpoints Expand the gdb.base/watchpoint-reuse-slot.exp test to be run twice, once with hardware watchpoints disabled (this is new) and then with hardware watchpoints enabled (the old way). Running with hardware watchpoints enabled is skipped if the board file says that hardware watchpoints are not supported on this target. gdb/testsuite/ChangeLog: * gdb.base/watchpoint-reuse-slot.exp: Test with hardware watchpoints enabled and disabled. commit 8c49aa89abb92516dfc3507b540f736ca6339c0c Author: Andrew Burgess Date: Sun Apr 8 11:08:32 2018 +0100 gdb/riscv: Fix assertion in inferior call code An assertion when setting up arguments for an inferior call checks the size of the argument against xlen. However, if xlen and flen are different sizes, and the argument is being placed into a floating pointer register then we should be comparing against flen not xlen. This issue shows up as an assertion failure when running on an rv32g target with a binary compiled using the rv32f abi and making an inferior call involving large floating point arguments, for example the test gdb.base/infcall-nested-structs.exp. gdb/ChangeLog: * riscv-tdep.c (riscv_is_fp_regno_p): New function. (riscv_register_reggroup_p): Use new function, remove unneeded parenthesis. (riscv_push_dummy_call): Extend assert to compare against xlen or flen based on register type. commit 42ecac1732194293568ab6093c742ca74c1dbdf6 Author: Andrew Burgess Date: Sun Apr 8 11:07:56 2018 +0100 gdb/riscv: Use TYPE_SAFE_NAME In debug printing, use TYPE_SAFE_NAME instead of replicating the functionality using TYPE_NAME and a null check. gdb/ChangeLog: * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME. commit 7153abac62fd8d7f20a307c85e3aa77a020ffc42 Author: Maciej W. Rozycki Date: Tue Jul 10 01:28:46 2018 +0100 MIPS/LD/testsuite: Make Linux dumps for n64 GOT relocation tests the default The current default dumps for n64 GOT relocation tests only work for IRIX targets really, while the Linux dumps are suitable for non-Linux targets as well. Make the Linux dumps the default then and handle the IRIX ones as a special case. Define an `irix' variable as a shorthand for `[istarget *-*-irix*]' and use it for these n64 GOT relocation tests as well as export class call relocation tests. ld/ * testsuite/ld-mips-elf/elf-rel-got-n64.d: Rename to... * testsuite/ld-mips-elf/elf-rel-got-n64-irix.d: ... this. * testsuite/ld-mips-elf/elf-rel-got-n64-linux.d: Rename to... * testsuite/ld-mips-elf/elf-rel-got-n64.d: ... this. * testsuite/ld-mips-elf/elf-rel-xgot-n64.d: Rename to... * testsuite/ld-mips-elf/elf-rel-xgot-n64-irix.d: ... this. * testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.dd: Rename to... * testsuite/ld-mips-elf/elf-rel-xgot-n64.d: ... this. * testsuite/ld-mips-elf/mips-elf.exp: Update accordingly. Define `irix' as a shorthand for `[istarget *-*-irix*]' and use it throughout. commit aa4bd7e6aef39f3d9264901fbb31473bd639bdd5 Author: GDB Administrator Date: Tue Jul 10 00:00:35 2018 +0000 Automatic date update in version.in commit c3c5e486808bc473d1642bb4ba84d80689c8fca2 Author: Cary Coutant Date: Mon Jul 9 16:12:27 2018 -0700 Fix test for availability of emplace_back. Testing for the GCC version 5 or later isn't right, since C++ 11 support wasn't enabled by default until later. This patch tests the C++ standard support directly instead of inferring it from the GCC version. gold/ * incremental.cc (Sized_incremental_binary::setup_readers): Use emplace_back for C++ 11 or later. commit 8d4c0995eb0996fdbc0ee490317e3765a94723d7 Author: Maciej W. Rozycki Date: Mon Jul 9 23:43:27 2018 +0100 MIPS/LD/testsuite: Fix IRIX dumps for n64 GOT relocation tests Factor in the presence of a `.gnu.attributes' section at the end of the respective dumps: Disassembly of section .gnu.attributes: 0000000000000000 <.gnu.attributes>: 0: 41000000 bc0f 4 <__dso_displacement+0x4> 4: 0f676e75 jal d9db9d4 <__dso_displacement+0xd9db9d4> 8: 00010000 sll zero,at,0x0 c: 00070401 0x70401 and also ignore any trailing output with the IRIX variant of n64 GOT relocation tests, like already done with the Linux and the embedded ones, removing: FAIL: MIPS ELF got reloc n64 FAIL: MIPS ELF xgot reloc n64 LD testsuite regressions with the `mips-sgi-irix6' target. ld/ * testsuite/ld-mips-elf/elf-rel-got-n64.d: Add `#pass' at the end. * testsuite/ld-mips-elf/elf-rel-xgot-n64.d: Likewise. commit 4b8377e7dbd9e53149268685ba4810a7b09fb0cb Author: Maciej W. Rozycki Date: Mon Jul 9 21:30:44 2018 +0100 MIPS/BFD: Do not redirect to discarded lazy binding stubs Correct a MIPS/BFD linker issue with dynamic symbol and corresponding GOT entry values being redirected to lazy binding stubs where the stubs section has been discarded by assigning to the `/DISCARD/' output section in the linker script used. The issue manifests itself by the values entered being relative to the absolute section, which is what any discarded sections are internally assigned in the linker. For the `stub-dynsym-2.s' piece of code included as a test case with this change this issue results in the dynamic symbol table and the GOT looking like: Symbol table '.dynsym' contains 3 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000010 0 FUNC GLOBAL DEFAULT UND bar 2: 00000000 0 FUNC GLOBAL DEFAULT UND foo Primary GOT: Canonical gp value: 00097ff0 Reserved entries: Address Access Initial Purpose 00090000 -32752(gp) 00000000 Lazy resolver 00090004 -32748(gp) 80000000 Module pointer (GNU extension) Global entries: Address Access Initial Sym.Val. Type Ndx Name 00090008 -32744(gp) 00000010 00000010 FUNC UND bar 0009000c -32740(gp) 00000000 00000000 FUNC UND foo if assembled to regular MIPS code, or: Symbol table '.dynsym' contains 3 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000d 0 FUNC GLOBAL DEFAULT UND bar 2: 00000001 0 FUNC GLOBAL DEFAULT UND foo Primary GOT: Canonical gp value: 00097ff0 Reserved entries: Address Access Initial Purpose 00090000 -32752(gp) 00000000 Lazy resolver 00090004 -32748(gp) 80000000 Module pointer (GNU extension) Global entries: Address Access Initial Sym.Val. Type Ndx Name 00090008 -32744(gp) 0000000d 0000000d FUNC UND bar 0009000c -32740(gp) 00000001 00000001 FUNC UND foo if assembled to microMIPS code. Symbol values and GOT entries record the offset into the inexistent stubs section and the ISA bit rather than zero, which would be the case if a lazy binding stub was not used for other reasons, such as the value of the symbol being taken for a purpose other than making a function call (e.g. an R_MIPS_GOT16 relocation). Correct the issue by refraining from redirecting symbols to lazy binding stubs if the stubs section is going to be discarded. bfd/ * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Don't set `->needs_lazy_stub' if the stubs output section is the absolute section. ld/ * testsuite/ld-mips-elf/stub-dynsym-2.dd: New test. * testsuite/ld-mips-elf/stub-dynsym-2.gd: New test. * testsuite/ld-mips-elf/stub-dynsym-2.sd: New test. * testsuite/ld-mips-elf/stub-dynsym-discard-2.gd: New test. * testsuite/ld-mips-elf/stub-dynsym-discard-2.sd: New test. * testsuite/ld-mips-elf/stub-dynsym-micromips-2.dd: New test. * testsuite/ld-mips-elf/stub-dynsym-micromips-2.gd: New test. * testsuite/ld-mips-elf/stub-dynsym-micromips-2.sd: New test. * testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-2.dd: New test. * testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-2.gd: New test. * testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-2.sd: New test. * testsuite/ld-mips-elf/stub-dynsym-2.ld: New test linker script. * testsuite/ld-mips-elf/stub-dynsym-discard-2.ld: New test linker script. * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests. commit 055303e28f70880f7b2c3e44df0ba7646fc85cf8 Author: Andrew Burgess Date: Mon Jul 2 22:28:22 2018 +0100 gdb: Use add_setshow_zuinteger_unlimited_cmd in remote.c Switch to use add_setshow_zuinteger_unlimited_cmd for some of the control variables in remote.c. The variables hardware-watchpoint-limit, hardware-breakpoint-limit, and hardware-watchpoint-length-limit are all changed. For example, a user will now see this: (gdb) show remote hardware-breakpoint-limit The maximum number of target hardware breakpoints is unlimited. Instead of this: (gdb) show remote hardware-breakpoint-limit The maximum number of target hardware breakpoints is -1. And can do this: (gdb) set remote hardware-breakpoint-limit unlimited However, previously any negative value implied "unlimited", now only -1, or the text "unlimited" can be used for unlimited. Any other negative value will give an error about invalid input. This is a small change in the user interface, but, hopefully, this will not cause too many problems. I've also added show functions for these three variables to allow for internationalisation. gdb/ChangeLog: * remote.c (show_hardware_watchpoint_limit): New function. (show_hardware_watchpoint_length_limit): New function. (show_hardware_breakpoint_limit): New function. (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd where appropriate, update help text. gdb/doc/ChangeLog: * gdb.texinfo (Remote Configuration): Update descriptions for set/show of hardware-watchpoint-limit, hardware-breakpoint-limit, and hardware-watchpoint-length-limit variables. commit 2af4d0d938d76e96ccb862a23d05862154262de9 Author: Jeff Law Date: Mon Jul 9 10:35:12 2018 -0600 * testsuite/nds32/ji-jr.d: Fix name tag. commit 8a8c916960b0e1b00a5d323fc478f4b4ef1072f5 Author: Maciej W. Rozycki Date: Mon Jul 9 15:50:57 2018 +0100 LD/testsuite: run_dump_test: Report UNSUPPORTED for excluded targets Bring the LD implementation of `run_dump_test' in line with its binutils and GAS counterparts and report the UNSUPPORTED status for tests the run of which has been prevented by means of one or more of `target', `alltargets' and `notarget' tags. Define `skip', `anyskip' and `noskip' tags, which do not report anything for tests that are not run. The rationale behind this is that we want to have unsupported tests reported to ensure that they have actually been attempted and have not been accidentally suppressed. Then tests which have target-specific variants that cannot be expressed with a single .d file can make use of the newly added tags to silently suppress the uninteresting variants. ld/ * testsuite/lib/ld-lib.exp (run_dump_test): Call `unsupported' if the target being tested has been excluded by means of one or more of `target', `alltargets' and `notarget' tags. Add support for `skip', `anyskip' and `noskip' tags. commit 8f7fc65182f74dfa8e2aa9f81a1cdf786a3bdbe6 Author: Maciej W. Rozycki Date: Mon Jul 9 15:50:57 2018 +0100 LD/testsuite: run_dump_test: Use the intended test name ASAP Bring the LD implementation of `run_dump_test' in line with its binutils and GAS counterparts and use the intended test name, from the `name' tag if set, for test status reporting as soon as it is available. ld/ * testsuite/lib/ld-lib.exp (run_dump_test): Move the setting of `testname' earlier on and use it for test status reporting. commit 9dcb0ba4457b8845fb704635e824471bf1faf092 Author: Maciej W. Rozycki Date: Mon Jul 9 15:50:57 2018 +0100 S12Z/opcodes: Correct a `reg' global shadowing error for pre-4.8 GCC Remove `-Wshadow' compilation errors: cc1: warnings being treated as errors .../opcodes/s12z-dis.c: In function 'lea_reg_xys_opr': .../opcodes/s12z-dis.c:814: error: declaration of 'reg' shadows a global declaration .../opcodes/s12z-dis.c:783: error: shadowed declaration is here .../opcodes/s12z-dis.c: In function 'lea_reg_xys': .../opcodes/s12z-dis.c:843: error: declaration of 'reg' shadows a global declaration .../opcodes/s12z-dis.c:783: error: shadowed declaration is here .../opcodes/s12z-dis.c: In function 'print_insn_loop_primitive': .../opcodes/s12z-dis.c:2206: error: declaration of 'reg' shadows a global declaration .../opcodes/s12z-dis.c:783: error: shadowed declaration is here which for versions of GCC before 4.8 prevent support for S12Z targets from being built. See also GCC PR c/53066. opcodes/ * s12z-dis.c (lea_reg_xys_opr): Rename `reg' local variable to `reg_xys'. (lea_reg_xys): Likewise. (print_insn_loop_primitive): Rename `reg' local variable to `reg_dxy'. commit c8ad9b9a31aa3e6039567fc1f152dd454c946d5f Author: Andrew Burgess Date: Fri Feb 2 15:51:31 2018 +0000 gdb/testsuite: Allow for failure to read some memory addresses In the gdb.base/examine-backward.exp test script, we check to see if address zero is readable, and then read memory first forward from address zero, and then backward from address zero. The problem is, being able to read address zero does not guarantee that you'll be able to read from the other end of the address space, and the test probably shouldn't assume that is the case. This patch updates the test script so that even if address zero is known non-readable, we still run the tests, the tests in question are mostly about, can GDB calculate the correct address to read from, we can confirm this even if the final read ultimately fails. We also no longer assume that if address zero is readable, then the other end of the address space will be readable. One further change is that, when we examined the memory at address zero, the regexp used to match the address expected that the zero address would have two '0' digits as the least significant digits. As GDB strips leading zeros from addresses this was causing the test to fail. I've reduced the zero address to a single 0 digit. gdb/testsuite/ChangeLog: * gdb.base/examine-backward.exp: Still run tests around address 0x0, even if address 0x0 is not readable. Update the pattern for matching address 0x0 in expected output. commit 8fd32c1ce66c66b02b2eb506a038cfc615aad1cb Author: Tom Tromey Date: Mon Jul 2 07:36:04 2018 -0600 Don't mention XM_CDEPS or NAT_CLIBS Neither XM_CDEPS nor NAT_CLIBS are defined anywhere, so remove the uses. gdb/ChangeLog 2018-07-09 Tom Tromey * Makefile.in (CDEPS): Don't mention XM_CDEPS. (CLIBS): Don't mention NAT_CLIBS. commit 31278b5193ea6025c09110aef2d67d81a952ebcc Author: Tom Tromey Date: Mon Jul 2 07:32:10 2018 -0600 Remove ADD_FILES and ADD_DEPS from Makefile.in Nothing defines XM_ADD_FILES, TM_ADD_FILES, or NAT_ADD_FILES any more, so consequently ADD_FILES and ADD_DEPS are no longer needed. So, this removes them. gdb/ChangeLog 2018-07-09 Tom Tromey * Makefile.in (ADD_FILES, ADD_DEPS): Remove. (LIBGDB_OBS, clean mostlyclean): Update. (gdb$(EXEEXT), insight$(EXEEXT)): Update. commit e5fd1493fd9c2d8d55fd15b9bd6539781ee56209 Author: Tom Tromey Date: Mon Jul 2 07:29:03 2018 -0600 Minimize yacc and lex output This minimizes the "make" output from the yacc and lex rules, following the same technique as the rest of the Makefile. The lex rule had a special case to deal with the situation where flex is not available. I don't think this is needed, so I removed it. If flex is truly unavailable, the person building gdb can simply "touch" the output file. gdb/ChangeLog 2018-07-09 Tom Tromey * Makefile.in (%.c: %.y): Use ECHO_YACC. (%.c: %.l): Use ECHO_LEX. Just fail if flex not available. * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables. commit 981e0c0c1aabcd78409184c79e8f88b5de918e38 Author: Tom Tromey Date: Mon Jul 2 07:09:37 2018 -0600 Fix exec.c handling in Makefile exec.c ws handled specially in COMMON_OBS, but there doesn't seem to be a reason for this. This changes the Makefile to treat exec.c as an ordinary source file. gdb/ChangeLog 2018-07-09 Tom Tromey * Makefile.in (ALLDEPFILES): Remove exec.c. (COMMON_OBS): Remove exec.o. (COMMON_SFILES): Add exec.c. commit 14ccceb2e24df7defd5264ec3d078f79ecfa1b76 Author: Tom Tromey Date: Mon Jul 2 07:07:35 2018 -0600 Remove lint support I don't think anyone uses lint any more, so this removes the support for it from the Makefile. gdb/ChangeLog 2018-07-09 Tom Tromey * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove. commit 5d3c3a68c3ffe37c06a7a8dad30c19241bd39f7a Author: Tom Tromey Date: Mon Jul 2 07:06:27 2018 -0600 Use a stamp file for version.c This introduces a stamp file for version.c, preventing unnecessary version.o rebuilds. gdb/ChangeLog 2018-07-09 Tom Tromey * Makefile.in (clean mostlyclean): Remove stamp-version. (version.c): Depend on stamp-version. (stamp-version): New rule, from version.c rule. commit 1998086d5436499e8eaf16772e300459662c3d7c Author: Tom Tromey Date: Mon Jul 2 07:03:13 2018 -0600 Use a stamp file for init.c This introduces a stamp file for init.c. This prevents constant rebuilds of init.o, by arranging for init.c to only be modified when its contents change. (FWIW this is a standard idiom in use by Automake and by gdb itself for many years.) gdb/ChangeLog 2018-07-09 Tom Tromey * Makefile.in (init.c): Depend on stamp-init. (stamp-init): New rule, from init.c rule. (clean mostlyclean): Remove stamp-init. commit 4c7549492b301d7d118379c3e98afc0b364d1935 Author: Tom Tromey Date: Sun Jul 1 18:31:08 2018 -0600 Simplify INIT_FILES This simplifies the INIT_FILES variable. COMMON_OBS includes CONFIG_OBS and SUBDIR_GCC_COMPILE_OBS, so there's no need to reference CONFIG_OBS or SUBDIR_GCC_COMPILE_SRCS there. Once this is done, it it clear that duplicates can't occur, so remove the duplicate-removing code as well. gdb/ChangeLog 2018-07-09 Tom Tromey * Makefile.in (INIT_FILES): Remove CONFIG_SRCS, SUBDIR_GCC_COMPILE_SRCS. commit 6497f1dd035530c483fdae22aaa6fcc715775f58 Author: Tom Tromey Date: Sun Jul 1 18:29:42 2018 -0600 Remove some unused code from init.c build rule The init.c build rule has a few sed expressions that aren't necessary any more. This removes them. gdb/ChangeLog 2018-07-09 Tom Tromey * Makefile.in (init.c): Remove some unused sed rules. commit 97a34db94284f42829e5e5c9c4fa65b216739bcb Author: Tom Tromey Date: Sun Jul 1 17:34:51 2018 -0600 Remove TSOBS from gdb/Makefile.in The TSOBS variable doesn't seem to serve a useful purpose in gdb/Makefile.in, so remove it. gdb/ChangeLog 2018-07-09 Tom Tromey * Makefile.in (TSOBS): Remove. (INIT_FILES): Update. (LIBGDB_OBS): Update. (COMMON_SFILES): Add inflow.c. (SFILES): Remove inflow.c. commit 872899f1efeda1e93ed569d322c6b2ee85ce885c Author: H.J. Lu Date: Mon Jul 9 06:51:17 2018 -0700 bfd: Use changequote for "i[3-7]86-*-linux-*" Use changequote to match "i[3-7]86-*-linux-*", instead of "i3-786-*-linux-*". PR ld/23388 * configure.ac: Use changequote for "i[3-7]86-*-linux-*". * configure: Regenerated. commit 61658d78f08920e6afe7b43bcaa287521da196aa Author: Alan Modra Date: Mon Jul 9 12:09:59 2018 +0930 m68hc1* fixes With config.sub now properly returning m68hc12-unknown-elf rather than m68hc12-unknown-none, more ELF tests run. This patch enables STB_GNU_UNIQUE processing fixing some testsuite failures that probably no m68hc12 user cares about, and removes some XPASSes. bfd/ * elf32-m68hc1x.c (elf32_m68hc11_post_process_headers): Call _bfd_elf_post_process_headers. ld/ * testsuite/ld-discard/extern.d: Remove m68hc12 xfail. * testsuite/ld-discard/start.d: Likewise. * testsuite/ld-discard/static.d: Likewise. commit f5a1cdde80a5cc5f1b86be7e94fb062d3fd4aca9 Author: Christophe Lyon Date: Mon Jul 9 07:45:46 2018 +0000 [ARM] Fix warning cannot find thumb start symbol In case params.thumb_entry_symbol has its default NULL value, using it to print a warning in gld${EMULATION_NAME}_finish results in a crash. Use h->root.string instead which either points to params.thumb_entry_symbol name or to entry_symbol name. 2018-07-09 Christophe Lyon * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Use the right symbol name in case of warning. Change-Id: Iec61a833c0ad538b1440bf326ba67834c314dd63 commit dc7fc9ab5dc4afe62af8703a26968acf08b4437e Author: GDB Administrator Date: Mon Jul 9 00:00:48 2018 +0000 Automatic date update in version.in commit a47a3dc8fb3512865a0115e86fc901758a62e0eb Author: GDB Administrator Date: Sun Jul 8 00:01:00 2018 +0000 Automatic date update in version.in commit 25289ac1670fb164770b0753116b1e909beed4cb Author: Jan Kratochvil Date: Sat Jul 7 23:02:36 2018 +0200 contrib/gdb-add-index.sh -dwarf-5 ------------------------------------------------------------------------------ (gdb) help save gdb-index Save a gdb-index file. Usage: save gdb-index [-dwarf-5] DIRECTORY No options create one file with .gdb-index extension for pre-DWARF-5 compatible .gdb_index section. With -dwarf-5 creates two files with extension .debug_names and .debug_str for DWARF-5 .debug_names section. ------------------------------------------------------------------------------ But gdb-add-index command provided no way how to pass the -dwarf-5 option. gdb/ChangeLog 2018-07-07 Jan Kratochvil * contrib/gdb-add-index.sh ($dwarf5): New, use it. commit e83f4d97504515f8c5f290eeb25eac87cca6892f Author: Simon Marchi Date: Sat Jul 7 11:13:14 2018 -0400 ia64-tdep.c: Fix -Wwrite-strings errors Simply add const where necessary to get rid of errors like: /home/simark/src/binutils-gdb/gdb/ia64-libunwind-tdep.c:114:1: error: ISO C++ forbids converting a string constant to ‘char*’ [-Werror=write-strings] static char *get_reg_name = STRINGIFY(UNW_OBJ(get_reg)); ^~~~~~~~~~~~~~ /home/simark/src/binutils-gdb/gdb/common/preprocessor.h:28:25: note: in definition of macro ‘STRINGIFY_1’ #define STRINGIFY_1(x) #x ^ /home/simark/src/binutils-gdb/gdb/ia64-libunwind-tdep.c:114:29: note: in expansion of macro ‘STRINGIFY’ static char *get_reg_name = STRINGIFY(UNW_OBJ(get_reg)); ^~~~~~~~~ gdb/ChangeLog: * ia64-tdep.c (get_reg_name, get_fpreg_name, get_saveloc_name, is_signal_frame_name, step_name, init_remote_name, create_addr_space_name, destroy_addr_space_name, search_unwind_table_name, find_dyn_list_name): Constify. commit 674e55f7b11e4d3ac6d321cdb0b70c68f24fe564 Author: GDB Administrator Date: Sat Jul 7 00:00:46 2018 +0000 Automatic date update in version.in commit c451bb34ae8bd2d0669bd563366883cfbcf0de9b Author: Max Filippov Date: Mon Jul 2 11:12:44 2018 -0700 xtensa: don't emit dynamic relocation for weak undefined symbol Resolved reference to a weak undefined symbol in PIE must not have a dynamic relative relocation against itself, otherwise the value of a reference will be changed from 0 to the base of executable, breaking code like the following: void weak_function (void); if (weak_function) weak_function (); This fixes tests for PR ld/22269 and a number of PIE tests in xtensa gcc testsuite. bfd/ 2018-07-06 Max Filippov * elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Don't allocate space for dynamic relocation for undefined weak symbol. (elf_xtensa_relocate_section): Don't emit R_XTENSA_RELATIVE relocation for undefined weak symbols. (shrink_dynamic_reloc_sections): Don't shrink dynamic relocation section for relocations against undefined weak symbols. commit ad1cc4e492e51ff334df81b5e8610f91b50e373a Author: Alan Hayward Date: Fri Jul 6 16:25:21 2018 +0100 Add checks for the NT_ARM_SVE section in a core file. The NT_ARM_SVE section is documented here: https://github.com/torvalds/linux/blob/master/Documentation/arm64/sve.txt * A NT_ARM_SVE note will be added to each coredump for each thread of the dumped process. The contents will be equivalent to the data that would have been read if a PTRACE_GETREGSET of NT_ARM_SVE were executed for each thread when the coredump was generated. * elf.c (elfcore_grok_aarch_sve): New function. (elfcore_grok_note): Check for Aarch64 SVE. (elfcore_write_aarch_sve): New function. (elfcore_write_register_note): Check for Aarch64 SVE. * elf-bfd.h(elfcore_grok_aarch_sve): New declaration. commit f311ba7ed84d66ae2cd77bd969747d7ab959d866 Author: Tamar Christina Date: Fri Jul 6 16:18:19 2018 +0100 Fix SBO bit in disassembly mask for ldrah on AArch64. The disassembly mask for ldarh incorrectly didn't mask out bit 20 which is part of the SBO part of the instruction and shouldn't be considered input. This fixes the wrong bit fixing the disassembly of instructions to ldarh and makes the behavior consistent. opcodes/ PR binutils/23242 * aarch64-tbl.h (ldarh): Fix disassembly mask. commit cba05feb51cb97f75f9a7814b081ce45245ac7b2 Author: Tamar Christina Date: Fri Jul 6 16:15:41 2018 +0100 Fix the read/write flag for these registers on AArch64 The previous constraints were based on information already in opcodes and it seems that a few of them were wrong. I have now hand verified the ones changed by the previous patch and corrected where needed. This prevents a warning to be issued when one shouldn't be. opcodes/ PR binutils/23369 * aarch64-opc.c (aarch64_sys_regs): Make read/write csselr_el1, vsesr_el2, osdtrrx_el1, osdtrtx_el1, pmsidr_el1. gas/testsuite/ PR binutils/23369 * gas/aarch64/msr.d (csselr_el1, vsesr_el2, osdtrrx_el1, osdtrtx_el1, pmsidr_el1): New. * gas/aarch64/msr.s: Likewise. commit e0e5e971ae89da1ded13013bb7378dc5f09363af Author: Andrew Burgess Date: Tue Apr 10 20:18:53 2018 +0100 gdb/testsuite: Ensure test links in malloc and free The test associated with the source file gdb.base/share-env-with-gdbserver.c relies on calling malloc and free within the inferior from GDB. However, as the test source itself makes no use of these functions, there's no requirement that they be linked into the test executable. This commit adds a dummy call to malloc and free to ensure they are linked into the test executable. gdb/testsuite/ChangeLog: * gdb.base/share-env-with-gdbserver.c (main): Add call to malloc/free. commit d20e98ab59ea49d3f90bf05ac7b16c0d3588ce41 Author: Nick Clifton Date: Fri Jul 6 13:52:59 2018 +0100 Stop readelf from reporting gaps in the gnu build notes if the gap crosses a section boundary. * readelf.c (same_section): New function. (print_gnu_build_attribute_description): Do not complain about gaps that cross a section boundary. commit 2e48456f0236d39b6de98feb7168f56cef155912 Author: Nick Clifton Date: Fri Jul 6 11:46:14 2018 +0100 Fix the relocs created to adjust notes created by the assembler. * write.c (maybe_generate_build_notes): Bias reloc offsets by the number of notes already generated. commit 269965964e8a6586a07912a60e08eeb0053bfb2a Author: Sebastian Huber Date: Fri Jul 6 08:23:40 2018 +0200 Update config.sub * config.sub: Sync with upstream version 2018-07-03. commit fe75810f8e0cc33384f22d0479506711d4014c60 Author: Alan Modra Date: Fri Jul 6 15:07:08 2018 +0930 Fix diagnostic errors Fixes a number of build errors like the following .../elf32-arm.c: In function 'elf32_arm_nabi_write_core_note': .../elf32-arm.c:2177: error: #pragma GCC diagnostic not allowed inside functions .../elf32-arm.c:2186: error: #pragma GCC diagnostic not allowed inside functions See the comment in diagnostics.h. include/ * diagnostics.h: Comment on macro usage. bfd/ * elf32-arm.c (elf32_arm_nabi_write_core_note): Don't use DIAGNOTIC_PUSH and DIAGNOSTIC_POP unconditionally. * elf32-ppc.c (ppc_elf_write_core_note): Likewise. * elf32-s390.c (elf_s390_write_core_note): Likewise. * elf64-ppc.c (ppc64_elf_write_core_note): Likewise. * elf64-s390.c (elf_s390_write_core_note): Likewise. * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise. commit 724436fccb68156ff53b7b03cb7f41547a65c30c Author: Alan Modra Date: Fri Jul 6 01:08:16 2018 +0930 [GOLD] PowerPC .gnu.attributes support elfcpp/ * powerpc.h (Tag_GNU_Power_ABI_FP): Define. (Tag_GNU_Power_ABI_Vector, Tag_GNU_Power_ABI_Struct_Return): Define. gold/ * powerpc.cc: Include attributes.h. (Powerpc_relobj::attributes_section_data_): New variable, with accessor and associated constructor and destructor support. (Powerpc_dynobj::attributes_section_data_): Likewise. (Powerpc_relobj::do_read_symbols): Stash SHT_GNU_ATTRIBUTES section contents in attributes_section_data_. (Powerpc_dynobj::do_read_symbols): Likewise. (Target_powerpc): Add attributes_section_data_, last_fp_, last_ld_, last_vec_, and last_struct_ vars. (Target_powerpc::merge_object_attributes): New function. (Target_powerpc::do_finalize_sections): Iterate over input objects merging attributes. Create output attributes section. commit 6821842f15efaec045d9e38f115af01ddffdaede Author: Simon Marchi Date: Thu Jul 5 21:50:12 2018 -0400 darwin: Silence syscall deprecated declaration warning This patch silences this warning: /Users/simark/src/binutils-gdb/gdb/darwin-nat.c:839:10: error: 'syscall' is deprecated: first deprecated in macOS 10.12 - syscall(2) is unsupported; please switch to a supported interface. For SYS_kdebug_trace use kdebug_signpost(). [-Werror,-Wdeprecated-declarations] res = syscall (SYS___pthread_kill, thread->gdb_port, nsignal); ^ /usr/include/unistd.h:745:6: note: 'syscall' has been explicitly marked deprecated here int syscall(int, ...); ^ The comment of the new pthread_kill function explains why we use the syscall function directly. include/ChangeLog: * diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS): Define for clang. gdb/ChangeLog: * darwin-nat.c (darwin_pthread_kill): New function. (darwin_resume_thread): Use darwin_pthread_kill. commit bb11866d6a635fadb9285d18e2fb819d2de2c28c Author: Jim Wilson Date: Thu Jul 5 17:49:11 2018 -0700 RISC-V: Add riscv-*-* configure support, and minor cleanup. bfd/ * config.bfd (riscv32*-*-*): Renamed from riscv32-*-*. (riscv64*-*-*): Likewise. (riscv-*-*): Add as an alias for riscv32*-*-*. ld/ * configure.tgt (riscv-*-*): Add as an alias for riscv32*-*-*. commit 01b5d12f284e1ce5a1441ce6ac383a59f3e4b05a Author: GDB Administrator Date: Fri Jul 6 00:00:41 2018 +0000 Automatic date update in version.in commit a5628fa8443f2182fcd799e03de31d1f8759df83 Author: Maciej W. Rozycki Date: Thu Jul 5 19:44:02 2018 +0100 MIPS/LD/testsuite: Use $linux_gnu consistently across `mips-elf.exp' Replace two remaining spelled-out calls to `[istarget mips*-*-linux*]' in `mips-elf.exp' with $linux_gnu, which is equivalent. ld/ * testsuite/ld-mips-elf/mips-elf.exp: Replace remaining calls to `[istarget mips*-*-linux*]' with $linux_gnu. commit 56ad703d56ffe5dc55d5e719a6ec41fd6cf9bfbe Author: H.J. Lu Date: Thu Jul 5 09:24:07 2018 -0700 x86: Remove x86 ISA properties with empty bits There is no need to generate x86 ISA properties with empty bits in linker output. bfd/ PR ld/23372 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove x86 ISA properties with empty bits. ld/ PR ld/23372 * testsuite/ld-i386/i386.exp: Run pr23372a and pr23372b. * testsuite/ld-i386/pr23372a.d: New file. * testsuite/ld-i386/pr23372a.s: Likewise. * testsuite/ld-i386/pr23372b.d: Likewise. * testsuite/ld-i386/pr23372b.s: Likewise. * testsuite/ld-i386/pr23372c.s: Likewise. * testsuite/ld-x86-64/pr23372a-x32.d: Likewise. * testsuite/ld-x86-64/pr23372a.d: Likewise. * testsuite/ld-x86-64/pr23372a.s: Likewise. * testsuite/ld-x86-64/pr23372b-x32.d: Likewise. * testsuite/ld-x86-64/pr23372b.d: Likewise. * testsuite/ld-x86-64/pr23372b.s: Likewise. * testsuite/ld-x86-64/pr23372c.s: Likewise. * testsuite/ld-x86-64/x86-64.exp: Run pr23372a, pr23372a-x32, pr23372b and pr23372b-x32. commit c524414837791938eb5aed58a3334c4f8e04fe4b Author: Sebastian Huber Date: Fri Jun 29 13:06:40 2018 +0200 Update config.guess and config.sub * config.guess: Sync with upstream version 2018-06-26. * config.sub: Sync with upstream version 2018-07-02. commit d8dab05495df17d8c961be8913e7a1e152670382 Author: Nick Clifton Date: Thu Jul 5 12:16:56 2018 +0100 Updated Russian, Bulgarian, and Brazilian Portuguese translations for various components of the binutuls. ld * po/bg.po: Updated Bulgarian translation. * po/pt_BR.po: Updated Brazilian Portuguese translation. binutils* po/bg.po: Updated Bulgarian translation. bfd,gas * po/ru.po: Updated Russian translation. commit c530603c59efb5630ce67446be64d42c0522fee2 Author: Tom de Vries Date: Sat Jun 16 18:39:30 2018 +0200 [gdb] Fix build error in macroexp.c When doing a combined build with the gcc and binutils-gdb repos, I run into this build error in gdb: ... gdb/macroexp.c: \ In function ‘void get_next_token_for_substitution(macro_buffer*, \ macro_buffer*, char**, macro_buffer*, char**, int*, bool*)’: gdb/macroexp.c:925:17: error: \ implicitly-declared ‘constexpr macro_buffer& \ macro_buffer::operator=(const macro_buffer&)’ is deprecated \ [-Werror=deprecated-copy] *token = *lookahead; ... Wdeprecated-copy is a new gcc warning added after gcc 8. This patch fixes the build error by adding an explicit copy operator to the macro_buffer class. I've added asserts to ensure that both the dest and src of the copy are shared, in other words, neither is owner of the text pointer. I've run the gdb testsuite on x86_64-linux and the asserts did not trigger. 2018-07-05 Tom de Vries * macroexp.c (macro_buffer) : New member function. commit 4a91d0ba307eb24eb87ad27f4ea8fcde823c3e61 Author: Alan Modra Date: Wed Jul 4 10:41:31 2018 +0930 Error for mismatched powerpc ABI tags And report the two input files that are incompatible rather than reporting that an input file is incompatible with the output. bfd/ * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Update prototype. * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Return error on mismatch. Remove "warning: " from messages. Track last bfd used to set tags. (ppc_elf_merge_obj_attributes): Likewise. Handle status from _bfd_elf_ppc_merge_fp_attributes. * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Handle status from _bfd_elf_ppc_merge_fp_attributes. ld/ * testsuite/ld-powerpc/attr-gnu-4-12.d: Update expected output. * testsuite/ld-powerpc/attr-gnu-4-13.d: Likewise. * testsuite/ld-powerpc/attr-gnu-4-21.d: Likewise. * testsuite/ld-powerpc/attr-gnu-4-23.d: Likewise. * testsuite/ld-powerpc/attr-gnu-4-31.d: Likewise. * testsuite/ld-powerpc/attr-gnu-4-32.d: Likewise. * testsuite/ld-powerpc/attr-gnu-8-23.d: Likewise. * testsuite/ld-powerpc/attr-gnu-12-21.d: Likewise. commit 4423fa967210f4132b81d5fe80a1f6f3ec0ab1c8 Author: GDB Administrator Date: Thu Jul 5 00:00:45 2018 +0000 Automatic date update in version.in commit a7d0f0f000b39269c25509a22a12549c6ef26b1f Author: Tom Tromey Date: Wed Jul 4 11:32:50 2018 -0600 Use exit_inferior in darwin_attach_pid Commit a50c11c666 was intended to use exit_inferior in darwin_attach_pid, but I accidentally pushed the wrong version of the patch. This fixes the problem. gdb/ChangeLog 2018-07-04 Tom Tromey * darwin-nat.c (darwin_attach_pid): Use exit_inferior. commit 6242c6a690ce8e18aad711103902bfff00cc2757 Author: Simon Marchi Date: Wed Jul 4 12:40:25 2018 -0400 darwin: Don't use sbrk This patch gets rid of this warning on macOS: CXX main.o /Users/simark/src/binutils-gdb/gdb/main.c:492:27: error: 'sbrk' is deprecated [-Werror,-Wdeprecated-declarations] lim_at_start = (char *) sbrk (0); ^ /usr/include/unistd.h:585:1: note: 'sbrk' has been explicitly marked deprecated here __deprecated __WATCHOS_PROHIBITED __TVOS_PROHIBITED ^ /usr/include/sys/cdefs.h:176:37: note: expanded from macro '__deprecated' #define __deprecated __attribute__((deprecated)) ^ sbrk on macOS is not useful for our purposes, since sbrk(0) always returns the same value. From what I read, brk/sbrk on macOS is just an emulation, it always returns a pointer in a 4MB section reserved for that. So instead of letting users use "maint set per-command space on" and print silly results, I think we should just disable that feature for this platform (as we do for platforms that don't have sbrk). I defined a HAVE_USEFUL_SBRK macro and used that instead of HAVE_SBRK. gdb/ChangeLog: * common/common-defs.h (HAVE_USEFUL_SBRK): Define. * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK. * maint.c: Likewise. * top.c: Likewise. commit 4e5b2f8961a385056922f45a5cbb02bbbad4a737 Author: Joel Brobecker Date: Wed Jul 4 08:48:05 2018 -0700 Update NEWS post GDB 8.2 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 538ccc4a222e8da14236fb5639ffe6b5ed1931a0 Author: Joel Brobecker Date: Wed Jul 4 08:42:44 2018 -0700 Bump version to 8.2.50.DATE-git. Now that the GDB 8.2 branch has been created, we can bump the version number. gdb/ChangeLog: GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e): * version.in: Bump version to 8.2.50.DATE-git. commit 1b919490e8ba30bf1d6941df0ed112b0e557017e Author: Vyacheslav Barinov Date: Wed Jul 4 16:13:29 2018 +0100 Warn if /proc is not accessible There's a buildroot where I want to debug a binary, and I tried to connect to it from outside, but got very weird errors like architecture mismatch or protocol errors. At last, after switching on '--debug' for gdbserver I found a message 'Can't open /proc/pid/' message and suddenly found that I forgot to mount procfs in my buildroot. Make discovering the problem easier by making GDB / GDBserver warn (even without --debug) if /proc can not be accessed. Native debugging: (gdb) start Temporary breakpoint 1 at 0x400835: file test.c, line 10. Starting program: /tmp/test warning: /proc is not accessible. GDBserver/remote debugging: $ ./gdbserver :9999 ./gdbserver gdbserver: /proc is not accessible. gdb/ChangeLog: 2018-07-04 Vyacheslav Barinov Pedro Alves * linux-nat.c (linux_init_ptrace): Rename to ... (linux_init_ptrace_procfs): ... this. Call linux_proc_init_warnings. (linux_nat_target::post_attach) (linux_nat_target::post_startup_inferior): Adjust. * nat/linux-procfs.c (linux_proc_init_warnings): Define function. * nat/linux-procfs.h (linux_proc_init_warnings): Declare function. gdb/gdbserver/ChangeLog: 2018-07-04 Vyacheslav Barinov Pedro Alves * linux-low.c (initialize_low): Call linux_proc_init_warnings. commit 94d401b8b88a76b1372ce44e805516756a4f737b Author: H.J. Lu Date: Wed Jul 4 06:27:58 2018 -0700 ld: Set non_ir_ref_regular for --undefined SYMBOL Set non_ir_ref_regular to TRUE for symbols forced into the output file so that they won't be removed by garbage collection with LTO. PR ld/23309 * ldlang.c (insert_undefined): Set non_ir_ref_regular to TRUE. * plugin.c (is_visible_from_outside): Don't scan entry_symbol. * testsuite/ld-plugin/pr23309.c: New file. * testsuite/ld-plugin/pr23309.d: Likewise. commit b14b7ff14ffe911ec562004304841cf7d2775a19 Author: H.J. Lu Date: Wed Jul 4 06:22:40 2018 -0700 ld: Properly display default for -z separate-code Check DEFAULT_LD_Z_SEPARATE_CODE to display default for -z separate-code. PR ld/23358 * lexsup.c (elf_shlib_list_options): Properly display default for -z separate-code. commit db40acb0bed088872837f916029d8800c33f9f94 Author: H.J. Lu Date: Wed Jul 4 06:18:22 2018 -0700 Also install diagnostics.h Since bfd.h is an installed header, also install diagnostics.h. * Makefile.am (bfdinclude_HEADERS): Add $(INCDIR)/diagnostics.h. * Makefile.in: Regenerated. commit 1ea5da02629b4bf9c4cea50aee189f94fa7d1a3b Author: Tom de Vries Date: Wed Jul 4 00:07:30 2018 +0200 [gdb/symtab] Fix version check in dwarf compilation unit header The version check of the dwarf compilation unit header in error_check_comp_unit_head is done too late, and consequently dwarf code with an unsupported version in the compilation unit header is interpreted as dwarf5 code in read_comp_unit_head. Fixed by moving the check earlier. Build and reg-tested on x86_64-linux. 2018-07-04 Tom de Vries * dwarf2read.c (error_check_comp_unit_head): Move dwarf version check ... (read_comp_unit_head): ... here. * gdb.dwarf2/dw2-error.exp: Update expected error message. commit f51e0e20bd303a9b366084ac719db10978402713 Author: Tom Tromey Date: Tue Jun 5 10:22:01 2018 -0600 Remove VEC from breakpoint This removes a use of VEC from breakpoint.h, also removing the now-unnecessary breakpoint_p typedef. This patch fixes a latent memory leak in find_matching_tracepoint_location, which neglected to free the vector returned by all_tracepoints. Tested by the buildbot. gdb/ChangeLog 2018-07-03 Tom Tromey * tracepoint.c (process_tracepoint_on_disconnect, start_tracing) (stop_tracing, tstatus_command) (find_matching_tracepoint_location, merge_uploaded_tracepoints) (print_one_static_tracepoint_marker): Update. * breakpoint.c (static_tracepoints_here, all_tracepoints): Return std::vector. * breakpoint.h (breakpoint_p): Remove typedef. Don't declare VEC. (all_tracepoints, static_tracepoints_here): Return std::vector. commit 9b960ba18c83e3f9aad16fe8bf845f5c469712bd Author: GDB Administrator Date: Wed Jul 4 00:01:24 2018 +0000 Automatic date update in version.in commit d7e15655a40e9133a1cbf53ea071f82cd6745ac8 Author: Tom Tromey Date: Mon Jun 11 14:45:22 2018 -0600 Remove ptid_equal Remove ptid_equal in favor of using "==". gdb/ChangeLog 2018-07-03 Tom Tromey * common/ptid.c (ptid_equal): Remove. * common/ptid.h (ptid_equal): Don't declare. * ada-tasks.c: Update. * breakpoint.c: Update. * common/agent.c: Update. * corelow.c: Update. * darwin-nat-info.c: Update. * darwin-nat.c: Update. * dcache.c: Update. * dtrace-probe.c: Update. * dummy-frame.c: Update. * fbsd-nat.c: Update. * frame.c: Update. * gdbthread.h: Update. * gnu-nat.c: Update. * go32-nat.c: Update. * inf-loop.c: Update. * inf-ptrace.c: Update. * infcall.c: Update. * infcmd.c: Update. * inflow.c: Update. * infrun.c: Update. * linux-fork.c: Update. * linux-nat.c: Update. * linux-thread-db.c: Update. * mi/mi-cmd-var.c: Update. * mi/mi-interp.c: Update. * mi/mi-main.c: Update. * nto-procfs.c: Update. * ppc-linux-tdep.c: Update. * procfs.c: Update. * python/py-inferior.c: Update. * python/py-record-btrace.c: Update. * python/py-record.c: Update. * ravenscar-thread.c: Update. * regcache.c: Update. * remote-sim.c: Update. * remote.c: Update. * sol-thread.c: Update. * solib.c: Update. * target.c: Update. * tui/tui-stack.c: Update. * varobj.c: Update. * windows-nat.c: Update. * windows-tdep.c: Update. gdb/gdbserver/ChangeLog 2018-07-03 Tom Tromey * linux-low.c: Update. * lynx-low.c: Update. * mem-break.c: Update. * nto-low.c: Update. * remote-utils.c: Update. * server.c: Update. * spu-low.c: Update. * target.c: Update. * win32-low.c: Update. commit 26a57c9256d7ec2b4da2f1d85a9fba830948dbd9 Author: Tom Tromey Date: Mon Jun 11 14:35:00 2018 -0600 Remove ptid_match This removes ptid_match in favor of the ptid_t::matches method. gdb/ChangeLog 2018-07-03 Tom Tromey * common/ptid.c (ptid_match): Remove. * common/ptid.h (ptid_match): Don't declare. * fbsd-nat.c: Update. * infcmd.c: Update. * infrun.c: Update. * linux-nat.c: Update. * record-btrace.c: Update. * regcache.c: Update. * remote.c: Update. gdb/gdbserver/ChangeLog 2018-07-03 Tom Tromey * server.c: Update. commit d2a107e3f9e84808ae0860693f1c488b1e3f5559 Author: Tom Tromey Date: Mon Jun 11 12:22:04 2018 -0600 Remove ptid_tid_p This removes ptid_tid_p in favor of the ptid_t::tid_p method. gdb/ChangeLog 2018-07-03 Tom Tromey * common/ptid.c (ptid_tid_p): Remove. * common/ptid.h (ptid_tid_p): Don't declare. * sol-thread.c: Update. commit 15a9e13e521ec3acb4bd3616f349b9d19780cd48 Author: Tom Tromey Date: Mon Jun 11 12:20:11 2018 -0600 Remove ptid_lwp_p This removes ptid_lwp_p in favor of the ptid_t::lwp_p method. gdb/ChangeLog 2018-07-03 Tom Tromey * common/ptid.c (ptid_lwp_p): Remove. * common/ptid.h (ptid_lwp_p): Don't declare. * fbsd-nat.c: Update. * linux-nat.c: Update. * nat/linux-procfs.c: Update. * nat/x86-linux-dregs.c: Update. * sol-thread.c: Update. commit 0e998d966be13e548721109a4e44b2887fc5cb24 Author: Tom Tromey Date: Mon Jun 11 12:18:15 2018 -0600 Remove ptid_is_pid This removes ptid_is_pid in favor of the ptid_t::is_pid method. gdb/ChangeLog 2018-07-03 Tom Tromey * common/ptid.c (ptid_is_pid): Remove. * common/ptid.h (ptid_is_pid): Don't declare. * infrun.c: Update. * linux-nat.c: Update. * mi/mi-interp.c: Update. * remote.c: Update. * thread.c: Update. gdb/gdbserver/ChangeLog 2018-07-03 Tom Tromey * linux-low.c: Update. commit cc6bcb548d67a5a0a7223d81bd43c299312320c8 Author: Tom Tromey Date: Mon Jun 11 12:14:34 2018 -0600 Remove ptid_get_tid This removes ptid_get_tid in favor of calling the ptid_t::tid method. gdb/ChangeLog 2018-07-03 Tom Tromey * common/ptid.c (ptid_get_tid): Remove. * common/ptid.h (ptid_get_tid): Don't declare. * ada-tasks.c: Update. * aix-thread.c: Update. * bsd-uthread.c: Update. * darwin-nat.c: Update. * fbsd-nat.c: Update. * i386-darwin-nat.c: Update. * infrun.c: Update. * linux-tdep.c: Update. * nto-procfs.c: Update. * ppc-ravenscar-thread.c: Update. * python/py-infthread.c: Update. * ravenscar-thread.c: Update. * sol-thread.c: Update. * sparc-ravenscar-thread.c: Update. * windows-nat.c: Update. gdb/gdbserver/ChangeLog 2018-07-03 Tom Tromey * target.c: Update. commit e38504b39279fa86cbb2c4a45ab8ec34e3aef90b Author: Tom Tromey Date: Mon Jun 11 12:10:09 2018 -0600 Remove ptid_get_lwp This removes ptid_get_lwp in favor of calling the ptid_t::lwp method. gdb/ChangeLog 2018-07-03 Tom Tromey * common/ptid.c (ptid_get_lwp): Remove. * common/ptid.h (ptid_get_lwp): Don't declare. * aarch64-linux-nat.c: Update. * ada-tasks.c: Update. * aix-thread.c: Update. * amd64-linux-nat.c: Update. * arm-linux-nat.c: Update. * corelow.c: Update. * fbsd-nat.c: Update. * fbsd-tdep.c: Update. * gnu-nat.c: Update. * i386-cygwin-tdep.c: Update. * i386-gnu-nat.c: Update. * i386-linux-nat.c: Update. * ia64-linux-nat.c: Update. * inf-ptrace.c: Update. * infrun.c: Update. * linux-fork.c: Update. * linux-nat.c: Update. * linux-tdep.c: Update. * linux-thread-db.c: Update. * mips-linux-nat.c: Update. * nat/aarch64-linux-hw-point.c: Update. * nat/aarch64-linux.c: Update. * nat/linux-btrace.c: Update. * nat/linux-osdata.c: Update. * nat/linux-procfs.c: Update. * nat/x86-linux-dregs.c: Update. * obsd-nat.c: Update. * ppc-fbsd-nat.c: Update. * ppc-linux-nat.c: Update. * procfs.c: Update. * python/py-infthread.c: Update. * ravenscar-thread.c: Update. * remote.c: Update. * s390-linux-nat.c: Update. * sol-thread.c: Update. * sol2-tdep.c: Update. * spu-linux-nat.c: Update. * x86-linux-nat.c: Update. * xtensa-linux-nat.c: Update. gdb/gdbserver/ChangeLog 2018-07-03 Tom Tromey * linux-low.c: Update. * linux-mips-low.c: Update. * lynx-low.c: Update. * nto-low.c: Update. * remote-utils.c: Update. * server.c: Update. * spu-low.c: Update. * target.c: Update. * thread-db.c: Update. commit e99b03dcf42606425eab8bd12eadb8aa4007f35a Author: Tom Tromey Date: Mon Jun 11 12:05:27 2018 -0600 Remove ptid_get_pid This removes ptid_get_pid in favor of calling the ptid_t::pid method. gdb/ChangeLog 2018-07-03 Tom Tromey * common/ptid.c (ptid_get_pid): Remove. * common/ptid.h (ptid_get_pid): Don't declare. * aarch64-linux-nat.c: Update. * ada-lang.c: Update. * aix-thread.c: Update. * alpha-bsd-nat.c: Update. * amd64-fbsd-nat.c: Update. * amd64-linux-nat.c: Update. * arm-linux-nat.c: Update. * arm-nbsd-nat.c: Update. * auxv.c: Update. * break-catch-syscall.c: Update. * breakpoint.c: Update. * bsd-uthread.c: Update. * corelow.c: Update. * ctf.c: Update. * darwin-nat.c: Update. * fbsd-nat.c: Update. * fbsd-tdep.c: Update. * gcore.c: Update. * gnu-nat.c: Update. * hppa-nbsd-nat.c: Update. * hppa-obsd-nat.c: Update. * i386-fbsd-nat.c: Update. * ia64-linux-nat.c: Update. * inf-ptrace.c: Update. * infcmd.c: Update. * inferior.c: Update. * inferior.h: Update. * inflow.c: Update. * infrun.c: Update. * linux-fork.c: Update. * linux-nat.c: Update. * linux-tdep.c: Update. * linux-thread-db.c: Update. * m68k-bsd-nat.c: Update. * mi/mi-interp.c: Update. * mi/mi-main.c: Update. * mips-linux-nat.c: Update. * mips-nbsd-nat.c: Update. * mips64-obsd-nat.c: Update. * nat/aarch64-linux-hw-point.c: Update. * nat/aarch64-linux.c: Update. * nat/linux-btrace.c: Update. * nat/linux-osdata.c: Update. * nat/linux-procfs.c: Update. * nat/x86-linux-dregs.c: Update. * nto-procfs.c: Update. * obsd-nat.c: Update. * ppc-linux-nat.c: Update. * ppc-nbsd-nat.c: Update. * ppc-obsd-nat.c: Update. * proc-service.c: Update. * procfs.c: Update. * python/py-inferior.c: Update. * python/py-infthread.c: Update. * ravenscar-thread.c: Update. * record.c: Update. * remote-sim.c: Update. * remote.c: Update. * rs6000-nat.c: Update. * s390-linux-nat.c: Update. * sh-nbsd-nat.c: Update. * sol-thread.c: Update. * sparc-nat.c: Update. * sparc64-tdep.c: Update. * spu-linux-nat.c: Update. * spu-tdep.c: Update. * target-debug.h: Update. * target.c: Update. * thread.c: Update. * tid-parse.c: Update. * tracefile-tfile.c: Update. * vax-bsd-nat.c: Update. * windows-nat.c: Update. * x86-linux-nat.c: Update. * x86-nat.c: Update. gdb/gdbserver/ChangeLog 2018-07-03 Tom Tromey * linux-low.c: Update. * linux-mips-low.c: Update. * lynx-low.c: Update. * mem-break.c: Update. * nto-low.c: Update. * remote-utils.c: Update. * server.c: Update. * spu-low.c: Update. * target.c: Update. * tracepoint.c: Update. commit f2907e49910853edf3c1aec995b3c44b3bba8999 Author: Tom Tromey Date: Mon Jun 11 11:25:49 2018 -0600 Remove pid_to_ptid This removes pid_to_ptid in favor of calling the ptid_t constructor directly. gdb/ChangeLog 2018-07-03 Tom Tromey * common/ptid.c (pid_to_ptid): Remove. * common/ptid.h (pid_to_ptid): Don't declare. * aix-thread.c: Update. * arm-linux-nat.c: Update. * common/ptid.c: Update. * common/ptid.h: Update. * corelow.c: Update. * ctf.c: Update. * darwin-nat.c: Update. * fbsd-nat.c: Update. * fork-child.c: Update. * gnu-nat.c: Update. * go32-nat.c: Update. * inf-ptrace.c: Update. * infcmd.c: Update. * inferior.c: Update. * infrun.c: Update. * linux-fork.c: Update. * linux-nat.c: Update. * nat/aarch64-linux-hw-point.c: Update. * nat/fork-inferior.c: Update. * nat/x86-linux-dregs.c: Update. * nto-procfs.c: Update. * obsd-nat.c: Update. * procfs.c: Update. * progspace.c: Update. * remote.c: Update. * rs6000-nat.c: Update. * s390-linux-nat.c: Update. * sol-thread.c: Update. * spu-linux-nat.c: Update. * target.c: Update. * top.c: Update. * tracefile-tfile.c: Update. * windows-nat.c: Update. gdb/gdbserver/ChangeLog 2018-07-03 Tom Tromey * linux-low.c: Update. * linux-ppc-low.c: Update. * linux-x86-low.c: Update. * proc-service.c: Update. * server.c: Update. * spu-low.c: Update. * thread-db.c: Update. * win32-low.c: Update. commit fd79271bd9dd6bb1626fb6f5ec3a415dc24950b1 Author: Tom Tromey Date: Mon Jun 11 11:18:51 2018 -0600 Remove ptid_build This removes ptid_build in favor of simply calling the ptid_t constructor directly. gdb/ChangeLog 2018-07-03 Tom Tromey * common/ptid.h (ptid_build): Don't declare. * common/ptid.c (ptid_build): Remove. * aix-thread.c: Update. * bsd-kvm.c: Update. * bsd-uthread.c: Update. * common/agent.c: Update. * common/ptid.c: Update. * common/ptid.h: Update. * corelow.c: Update. * darwin-nat.c: Update. * fbsd-nat.c: Update. * gnu-nat.c: Update. * linux-fork.c: Update. * linux-nat.c: Update. * linux-thread-db.c: Update. * nat/linux-osdata.c: Update. * nat/linux-procfs.c: Update. * nto-procfs.c: Update. * obsd-nat.c: Update. * proc-service.c: Update. * procfs.c: Update. * ravenscar-thread.c: Update. * remote-sim.c: Update. * remote.c: Update. * sol-thread.c: Update. * target.c: Update. * windows-nat.c: Update. gdb/gdbserver/ChangeLog 2018-07-03 Tom Tromey * linux-low.c: Update. * lynx-low.c: Update. * nto-low.c: Update. * remote-utils.c: Update. * spu-low.c: Update. * thread-db.c: Update. * win32-low.c: Update. commit 057302ceb3b1c171afe9bfa24642af208a60b6e9 Author: Tom Tromey Date: Mon Jul 2 09:20:40 2018 -0600 Remove exit_inferior_num_silent The sole caller of exit_inferior_num_silent was getting the inferior's number to then use the number to look up the inferior again. I think it's better to simply not have exit_inferior_num_silent; any potential callers that only have the inferior's number should probably be converted to pass the inferior itself around instead. Tested by the buildbot. gdb/ChangeLog 2018-07-03 Tom Tromey * infrun.c (follow_exec): Use exit_inferior_silent. * inferior.c (exit_inferior_num_silent): Remove. * inferior.h (exit_inferior_num_silent): Don't declare. commit a50c11c666e07b922d64aa5bb2747f180ce17c03 Author: Tom Tromey Date: Thu Jun 28 11:57:39 2018 -0600 Fix crash in "run" on macOS when gdb is not signed On macOS, when gdb is not code-signed, it will throw an exception from darwin_attach_pid. However, gdb also then crashes: thread.c:93: internal-error: struct thread_info *inferior_thread(): Assertion `tp' failed. I think the problem here is that darwin_attach_pid does not clean up inferior_ptid and inf->pid on failure. This leads to a situation where gdb tries to find a thread, but cannot. In other cases, gdb would mourn the inferior at this point; but here this is not possible because the target has not been pushed. Instead this patch works by simply updating the inferior and inferior_ptid on failure. Tested by building an unsigned gdb on macOS and trying to run an inferior. gdb/ChangeLog 2018-07-03 Tom Tromey PR cli/23340: * darwin-nat.c (darwin_attach_pid): Reset inferior and inferior_ptid on error. commit b8a6ced79668ec8af3180e50b76f7517ebbab0d9 Author: Alan Modra Date: Tue Jul 3 17:57:36 2018 +0930 Correct removal of .gnu.attributes Setting SEC_EXCLUDE for empty .gnu.attributes is too late in the link process for the linker to remove the section. That must be done in bfd_elf_final_link, as we do for removed group sections. * elflink.c (bfd_elf_final_link): Remove zero size .gnu.attributes sections. commit 8d2c8c3d17926826864f4b739362f66af547428f Author: Alan Modra Date: Tue Jul 3 14:50:38 2018 +0930 GNU attribute output on errors .gnu.attributes entries from linker input files are merged to the output file, the output having the union of compatible input attributes. Incompatible attributes generally cause a linker error and no output. However in some cases only a warning is emitted, and one of the incompatible input attributes is passed on to the output. PowerPC tends to emit warnings rather than errors, and the output takes the first input attribute. For example, if we have two input files with Tag_GNU_Power_ABI_FP, the first with a value signifying "double-precision hard float, IBM long double", the second with a value signifying "double-precision hard float, IEEE long double", we'll get a warning about incompatible long double types and the output will say "double-precision hard float, IBM long double". The output attribute of course isn't correct. It would be correct to specify "IBM and IEEE long double", but we don't have a way to represent that currently. While it would be possible to extend the encoding, there isn't much gain in doing so. A shared library providing support for both long double types should link against objects using either long double type without warning or error. That is what you'd get if such a shared library had no Tag_GNU_Power_ABI_FP attribute. So this patch provides a way for the backend to omit .gnu.attributes tags from the output. * elf-bfd.h (ATTR_TYPE_FLAG_ERROR, ATTR_TYPE_HAS_ERROR): Define. * elf-attrs.c (is_default_attr): Handle ATTR_TYPE_HAS_ERROR. * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Use ATTR_TYPE_FLAG_INT_VAL. Set ATTR_TYPE_HAS_ERROR on finding incompatible attribute. (ppc_elf_merge_obj_attributes): Likewise. Return _bfd_elf_merge_object_attributes result. * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Return _bfd_elf_merge_object_attributes result. commit af0bfb9c4283ce80fe37ad6360d12cae8ec38696 Author: Alan Modra Date: Tue Jul 3 12:18:10 2018 +0930 Hide dynamic symbols in discarded sections This is a followup to git commit 97196564c7 "Strip global symbol defined in discarded section". If a symbol defined in a discarded section was dynamic, that patch left .dynsym with holes (ie. all zero entries). For example, the following from libstdc++.so: Symbol table '.dynsym' contains 6090 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000000000a74e0 0 SECTION LOCAL DEFAULT 10 2: 0000000000264180 0 SECTION LOCAL DEFAULT 17 3: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_addUserCommitAction 4: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_memcpyRtWn 5: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND readelf: Warning: local symbol 5 found at index >= .dynsym's sh_info value of 3 6: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND readelf: Warning: local symbol 6 found at index >= .dynsym's sh_info value of 3 [snip] This patch removes the symbols from .dynsym too. PR 17550 * elflink.c (_bfd_elf_fix_symbol_flags): Hide dynamic symbols in discarded sections. commit 1825c89e221b1bf80e73e858f1f2afcfe51272dd Author: GDB Administrator Date: Tue Jul 3 00:00:55 2018 +0000 Automatic date update in version.in commit 12f09816cecc4e4ee7574a86846b3a17adbf7904 Author: Maciej W. Rozycki Date: Mon Jul 2 23:57:22 2018 +0100 MIPS/BFD: Make section GC work with `ict_irix5' targets Prevent runtime procedure table symbols, produced with `ict_irix5' MIPS targets, from being swept in section GC, fixing linker errors like: ./ld-new: tmpdir/dump: protected symbol `_procedure_table_size' isn't defined ./ld-new: final link failed: bad value triggered whenever section GC is enabled with those targets and consequently removing the following test suite failures: FAIL: Build pr22649-2a.so FAIL: Build pr22649-2c.so FAIL: PR ld/20828 dynamic symbols with section GC (auxiliary shared library) 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 shared library) FAIL: PR ld/20828 dynamic symbols with section GC (versioned) FAIL: --gc-sections with .text._init FAIL: pr20022 observed with `mips-elf', `tx39-elf', `mipsisa32-elf', `mipsisa64-elf', `mipsel-elf', `mipsisa32el-elf', `mipsisa64el-elf', `mips64vr-elf', `mips64vrel-elf', `mips64vr4300-elf', `mips64vr4300el-elf', `mips-sgi-irix5' and `mips-rtems' targets, among others. This fix makes section GC usable with the affected targets. bfd/ * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Set `mark' for symbols created from `mips_elf_dynsym_rtproc_names' list. commit 14c80123c05ad7cbb52fbb5d35c08b46a0e72d7f Author: Maciej W. Rozycki Date: Mon Jul 2 23:57:22 2018 +0100 microMIPS/GAS: Handle several percent-ops with macros In the microMIPS mode also accept %half, %got, %call, %got_hi, %got_lo, %call_hi, %call_lo, %neg, %got_page, %highest, %got_disp, %tlsgd, %tlsldm, %dtprel_hi, %dtprel_lo, %gottprel, %tprel_hi and %tprel_lo percent-ops with macros, so that they can be used with instructions that expand into sequences if relocation is required due to their limited offset span, such as LL, LWL, etc., fixing GAS assertions: .../gas/testsuite/gas/mips/elf-rel28.s: Assembler messages: .../gas/testsuite/gas/mips/elf-rel28.s:17: Internal error in macro_build at .../gas/config/tc-mips.c:8854. Please report this bug. observed if an attempt is made to assemble the `elf-rel28.s' test case modified to use one of the affected instructions to microMIPS code. gas/ * config/tc-mips.c (macro_build) <'i', 'j'>: Also accept BFD_RELOC_16, BFD_RELOC_MIPS_GOT16, BFD_RELOC_MIPS_CALL16, BFD_RELOC_MIPS_GOT_HI16, BFD_RELOC_MIPS_GOT_LO16, BFD_RELOC_MIPS_CALL_HI16, BFD_RELOC_MIPS_CALL_LO16, BFD_RELOC_MIPS_SUB, BFD_RELOC_MIPS_GOT_PAGE, BFD_RELOC_MIPS_HIGHEST, BFD_RELOC_MIPS_GOT_DISP, BFD_RELOC_MIPS_TLS_GD, BFD_RELOC_MIPS_TLS_LDM, BFD_RELOC_MIPS_TLS_DTPREL_HI16, BFD_RELOC_MIPS_TLS_DTPREL_LO16, BFD_RELOC_MIPS_TLS_GOTTPREL, BFD_RELOC_MIPS_TLS_TPREL_HI16 and BFD_RELOC_MIPS_TLS_TPREL_LO16 relocations if in the microMIPS mode. * testsuite/gas/mips/elf-rel28-lldscd-n32.d: New test. * testsuite/gas/mips/elf-rel28-lldscd-micromips-n32.d: New test. * testsuite/gas/mips/elf-rel28-lldscd-n64.d: New test. * testsuite/gas/mips/elf-rel28-lldscd-micromips-n64.d: New test. * testsuite/gas/mips/elf-rel28.s: Add instruction selection. * testsuite/gas/mips/mips.exp: Run the new tests. commit 156f2c001e22dfeee69c92bdb380d5eb28a3de78 Author: Maciej W. Rozycki Date: Mon Jul 2 23:57:22 2018 +0100 microMIPS/BFD: Add missing NewABI TLS and miscellaneous relocations Complement commit df58fc944dbc ("MIPS: microMIPS ASE support"), , and add TLS and a few miscellaneous relocations to NewABI microMIPS support, fixing GAS assertion failures: .../gas/testsuite/gas/mips/elf-rel28.s: Assembler messages: .../gas/testsuite/gas/mips/elf-rel28.s:19: Internal error in append_insn at .../gas/config/tc-mips.c:7660. Please report this bug. observed if an attempt is made to assemble the `elf-rel28.s' test case to microMIPS code. The relocations are the same as with o32 support, except for `partial_inplace' and `src_mask' updates for the respective RELA variants. bfd/ * elf64-mips.c (micromips_elf64_howto_table_rel): Add R_MICROMIPS_HI0_LO16, R_MICROMIPS_TLS_GD, R_MICROMIPS_TLS_LDM, R_MICROMIPS_TLS_DTPREL_HI16, R_MICROMIPS_TLS_DTPREL_LO16, R_MICROMIPS_TLS_GOTTPREL, R_MICROMIPS_TLS_TPREL_HI16, R_MICROMIPS_TLS_TPREL_LO16, R_MICROMIPS_GPREL7_S2 and R_MICROMIPS_PC23_S2 relocation entries. (micromips_elf64_howto_table_rela): Likewise. (micromips_reloc_map): Likewise. * elfn32-mips.c (elf_micromips_howto_table_rel): Likewise. (elf_micromips_howto_table_rela): Likewise. (micromips_reloc_map): Likewise. gas/ * testsuite/gas/mips/elf-rel28-micromips-n32.d: New test. * testsuite/gas/mips/elf-rel28-micromips-n64.d: New test. * testsuite/gas/mips/mips.exp: Run the new tests. commit 30e5322741b7cb8fe90bec43ab93eecceaaec0e7 Author: Maciej W. Rozycki Date: Mon Jul 2 23:57:21 2018 +0100 MIPS/LD/testsuite: Fix a typo in PR ld/21334 test name ld/ * testsuite/ld-mips-elf/mips-elf.exp: Fix a typo in PR ld/21334 test name. commit 471b9d15076fffb738f1bc6fcea41d0dcb59c947 Author: Maciej W. Rozycki Date: Mon Jul 2 23:57:21 2018 +0100 GDB PR tdep/8282: MIPS: Wire in `set disassembler-options' Implement MIPS target support for passing options to the disassembler, complementing commit 65b48a81404c ("GDB: Add support for the new set/show disassembler-options commands."). This includes options that expect an argument, so adjust the generic code and data structures used so as to handle such options. So as to give backends syntax flexibility no specific delimiter has been defined to separate options from their respective arguments, so it has to be included as the last character of the option name. Completion code however has not been adjusted and consequently option arguments cannot be completed at this time. Also the MIPS target has non-empty defaults for the options, so that ABI names for the general-purpose registers respect our `set mips abi ...' setting rather than always being determined from the ELF headers of the binary file selected. Handle these defaults as implicit options, never shown to the user and always prepended to the user-specified options, so that the latters can override the defaults. The resulting output for the MIPS target is as follows: (gdb) show disassembler-options The current disassembler options are '' The following disassembler options are supported for use with the 'set disassembler-options