The branch, jankratochvil/gdbserverbuildid has been updated discards b5f21a557fe7556e005e1668c25b60817fa8c5ab (commit) discards f7ca538f516871db3c25f72341250b36c0761537 (commit) discards 3348967bdcf0f9d0007ee8b39122f5beca796612 (commit) discards 074475a91fbac2ce95078efe33c9adea34b8b846 (commit) discards b35540c6d57608d9bec3039aa4efbe567e8d0ff3 (commit) discards 88eedb227c9ccdef185463cb3bed0fb86bbadc1a (commit) discards 48f7a38bdfd5ebc740f46d54e0fa6d782738f7c5 (commit) discards efeae1f1529f916b6b21e3e48502d9a48c6f6813 (commit) discards ddaf6724c0b5eb205f5ce6039e75b213bdb2bac2 (commit) discards babd16ee72e5bcace88b4add0a9c938ce6382ba9 (commit) discards 7e867dd78fd647a013f47496967439b19fa9b944 (commit) via d7ed10238fce3b84771db9fced8d94579e2e0184 (commit) via 7942c500647ab683d19fbbe47c39c6cbe113faa1 (commit) via a46739aaffc3020ce5bc690b96a4e6777dd99213 (commit) via e9e5076df987055e70a5806927bd4fb9f3ee91e8 (commit) via 5521f4d26ee994ba331e405de5bf9d82db8b2ae4 (commit) via fe7e8e94ff9705e27edd57bcfb9419123f874e9f (commit) via 0a91f542274d925f145c6f56beef94725eec3300 (commit) via ab9b0dbce5abeed06ce043c06ad62b30ed78616c (commit) via a876648a04b0da7545a2bb654db049a2b8d49acf (commit) via 37e8497a1e23d969c53f8f245293bee6ee7c1aaf (commit) via 4f3909baa11e41d4b9f63b747d8d2160928b1111 (commit) via c01a2b5d2ac97f8310247065080c6a87c049028b (commit) via ff46be9062f65422462792ffda6bf1f896a71541 (commit) via d7761c2cba7af75af2feba4a0a6a0e20afaacca1 (commit) via 0dbe70ceba9641d585de92136e20cc6f5e252647 (commit) via 8d551b0239b795065ecd2cb2bd3cae2e9ee2a7df (commit) via 18848e288ca9d1ca242cce667419bbb6728442fc (commit) via 5febff9be8a87afc40679faedfd78cfff8b1cf95 (commit) via 6e6e7cfc78e3ae1f4b670fc42d3b4e113d57a62b (commit) via 856ea05ccf051d4d86f422552f5cdfa83659dd6b (commit) via 73eb770959c8d8d927dbeafbf6038a651e0cb1ae (commit) via 3fae92fc2aed37c78df4610f3c52e2fc242846b0 (commit) via 95c64f92be44781ab0f9472e88296fbf971c79fa (commit) via 19679ecafced89bcaea535d8129f6ecbc8199e9e (commit) via cac395eae4d97d9f59c5e588e4e662f2ae6cdfeb (commit) via 791849751dd82722d4cfaae844e1fdbed445af5a (commit) via c2b2ccc5eddd4c0f592576c983135c0f18b90bf8 (commit) via 83655187cbef02404645abcc98d607e22eeda573 (commit) via 8c217a4b684386aa5ce6a078dffbe63265a524e6 (commit) via 3deb39c62d3cdb80ac3bdd4d418e05737433e7a6 (commit) via 5fe7ffdc98b769de3ea67e6f38bc5de57be7b265 (commit) via 57b287416bcd3dd29202dff55d89dc7a68196cc8 (commit) via d9e042ac0bc08b6c3890cc53cbd43c73c522e720 (commit) via dd7566892070fbccb91c536c46584c20ef29961b (commit) via 71a79f8c9cf2a66f4e4cb9b5c6cb44f8723724eb (commit) via f23fcd46a7ca34bf466de9164780a78d38729ff7 (commit) via 75ddda778c7fcdffea72615bc5b89d17bd107927 (commit) via 5a9b37037831a93767513b080a0e4eeb4080ff7a (commit) via b0f16a3eaf0226b21a2a9032d9fac069009b96d3 (commit) via a82bef932ec11cc16f205427f8a056c3c0ea517d (commit) via 033c337911594898b44678fa10b47ee19dd234b5 (commit) via 1642b4b33783d70979dca379d57a0ce02559daec (commit) via 9b44a3a57d17ea2d35823780007a38daeeaec6a4 (commit) via bad1aba328293fc62831ac451edc55adc37ead36 (commit) via 51e719b4e118f69862775772053059700a331097 (commit) via a7da346e5c9dd33f4fdc9b053d1991131a911926 (commit) via 17b609c3fc8f78852655096a1be04fdd2ba3809c (commit) via 14f8b115e4395b76bfa792d7e9a7d0e26a4c4691 (commit) via 303a33faef8fca9b26b18a02550541c5f61ace9e (commit) via 196100a019964c09588686553f3b6687f6e3fe15 (commit) via 35a1657d261fa214c45c4c5beeb992def5f63bad (commit) via fae663595d6a49c5e4de58e17fe93525bec65ae9 (commit) via e5898c282777ea27093bdc694b25cd8eaf795f0a (commit) via e20bd8f437879624de168bb2fe39383b045565a5 (commit) via eae25ec5773e12af107e65fcf0c94a54bc5180ae (commit) via b1f02b89ed9e9c68eab6f645e19634315a6525c4 (commit) via df18fdba5dc9243d657c6e26a3a4e2c65e62b8bd (commit) via 0c263177a5123186a05b44d3d76b7a3f811e70b9 (commit) via 53c6660516a1720dd0d143bf829c6a35302fc003 (commit) via 0ae19f059afedc024e707a99d767257574758046 (commit) via 0b35dfeec64597fe12495295f6d5e9b12131a390 (commit) via 91662bad25e6367e37b15c17ed1bca2a72b9c090 (commit) via 3f48575af8379567edcc1d6f7fb25c14237cbf30 (commit) via c3c3c691f2d56953d81a2a7da214623d8aef857c (commit) via 81ad11e32c40b9d53e578054e2885087f347c337 (commit) via 201f096fea34784b34e9084bd18e30097c273c9b (commit) via 730af8ee0203fc0061f0adbb501f8e773f738aab (commit) via a2d010462ce99a4fc79fb19c31915f86fafeea43 (commit) via 10fe779dd24e3809070b5b634214a9c7d8b11814 (commit) via abca8d871a6f8f4d7f9762133e1af637869da1bb (commit) via 68d122bb0e4b298ce302c15e0cd1b574727c4f86 (commit) via 8458514f6aa55ed139c0d28c6822ef98bc9f3497 (commit) via a18138132bd35df3ebbcc6d39091c6e713892b53 (commit) via f989a1c8ec5d25586c937cc39948b032e07cf1c0 (commit) via 263b257428741e10dc4a127cc46c57379307f421 (commit) via 68e0f6b16d6ce24c912affec6b049a5452c7df3e (commit) via 8969934d3180d80b4cb5da225e25379a880b5476 (commit) via 999b995ddc4a8a2f146ebf9a46c9924c6a7c65a6 (commit) via efefdd63628d540f3ad513b2bb2036dfc53f00a8 (commit) via 52f4ea798a490e414112e3caf1e0f93abfe2e48c (commit) via 1058c7532d0b012ac329219264ddad59049fb6e6 (commit) via e59bc75b6546db04b0f3e1d760567f83ffc801f3 (commit) via 9404b58f46328b3b171b0d5eeb0691bd685bc4f5 (commit) via ae52f4830604b4b82bcbe6ad52208d5efcea2f82 (commit) via f7730599d8876775726866275d5ce392c2669e9e (commit) via 5e45f04cf3408e662c460a23a3722fedfb03391a (commit) via 1144861e0849fb67a8233d5a180f8ddae5e3f8a0 (commit) via 57b2284c6318841612acef23c60fe7298a1ac91a (commit) via 757a636fb585824699b1cc4f8f23dbc3a6a6d914 (commit) via 5e824b358f831b0cc4352ed6a3079c6f540fc107 (commit) via 6b97515d17b48e92f61d53fd5f2e8b092660ba52 (commit) via 5e49ba5736ccaabaa3f11e9db491ca3554bf2a5b (commit) via 285ca99246160d12a3173076a661b6c524338baf (commit) via c888a17da5c7b06eec4b1ed21e4afe84f9a41347 (commit) via 290a839c9ab3d33d2a1b42431154b65624a81b0a (commit) via 91256dc2fb82e6f68dce9b577e26cd89695b6c21 (commit) via b5262cd094e73112fb86297df9052ff0560f68a4 (commit) via 74183dabc3e3c253f171e6765a8753709005b44b (commit) via 5c1a8bf5167c14550a3699243283a010a0651123 (commit) via 6ddd353ce073cb5ed6baedfb809bfb427342e7cd (commit) via 07284463de87545ab155200c83cbeb05db575b2b (commit) via 19a170752bec78784b737789c1bdab8e7ab82a71 (commit) via d1bddd3c4b9c17736bf6c59aa336670a589ca844 (commit) via 30a1e6cc7750ce016ea70afa795c0764d07d21ae (commit) via f33da99a5410692ddf1302435e27b1bfc21d0b11 (commit) via 54cb4522e7555fdf766201c3c74bfc8510c83424 (commit) via 8df14d78dc753a5286bb6461a14d8baa1e13e3cd (commit) via 2f67d686330300d4d27ff99ec47a970d744df8bb (commit) via 6d00b590316c0b08de21a264893b0fd627c54686 (commit) via 4e60800159eab4b73ff263595986d5ae4eaf7413 (commit) via 5b80f00d51b4eb40cb142a633bd657b84aca33eb (commit) via b46fa76826669b1496cac329d132485ede779d85 (commit) via 1218d67db11b6a1aceeb477855047f70d4856854 (commit) via 39d1b2aef3c1dbbf31d82e555624afcbda9d58e7 (commit) via 3efe9ec51e506c4428906a18e88e664576fb715e (commit) via 95cf3b38cd2fae4a53c8ff12bef21b2ae3fdd0cb (commit) via 86a80a50f2cb244e6b9ec18b93675972baa50d78 (commit) via f8c2a73c881913a25c1cb5be766516a75588c7ab (commit) via be6e8ac7441c51348adfcfe495c6dff59a38ed19 (commit) via 65bab56b9b708e0af46d3beeff6276dafd78c993 (commit) via a4526a9a95f4885aa52d5fdc4b3e21490cc6a8f7 (commit) via a953eec996f2f93914cc78d68d4478a2660432b6 (commit) via 1cfdf5340af6f07bb44b97c278f7036ef8db5c43 (commit) via 5087d529319fc6d5985032183c138dd715d707b3 (commit) via 264bddaff16ce11038fa8e40068ec7535a3a7f3c (commit) via 230977a4a571a15fe81b689b1706129d4c4e0daf (commit) via ca4f7f8bebc069b8beec58754dc721e9be0798c7 (commit) via 11903c4c65d3bf0391362ac389b96ffdd9f58212 (commit) via cac0dc8f4b0688771a4ab8a4012fceb1323167f1 (commit) via 11c1ba785203f7f121324fa9727c2adbbc2119c2 (commit) via 8739bc53cd91cc38287432b1fb880be327c9435c (commit) via 6f8a3220a931ac052fedd75539058bd8aa97b3a8 (commit) via 4d072ce478ebb605b2f0ca326c7c3168d4ee5989 (commit) via 528653254b46ccd95d7ffbef73acbcc1242eaee6 (commit) via f01c1a090e6629be280efb3c596d818f1f74ae2a (commit) via 2b577b92f0a6dc2ab894b604415cfe272f273e11 (commit) via 40af4a3636504a0e7e0223b34ed1e7b15c4fa5da (commit) via e3e163dbb0c50aa94af5416aca86d9ef9c225205 (commit) via 433e77fad1fda55408db072de18dcd4f9116289e (commit) via 7b667436a52c584267cc78d1fbc05c84856192ee (commit) via b51a69ee0944b8ad1b020bcab85f88acdae8b10f (commit) via a9e18c6a3c4a90c0edcfdfdda5c181cdee43421f (commit) via 9730e6ccc4307a03ae2a0dd5c8a17a30fcf9b1f2 (commit) via cec9d598f54503baaead6c8009a7998a0cd731fa (commit) via 94611da2409673314d7caaf38c66baa52d6f5adc (commit) via 7ae1a6a6ccda41aa8bbe9adb0f7fcde8bf8d5cb3 (commit) via 4082afcc3d1af9d8063d1c8e02deb34a8b97a489 (commit) via 88667baf24e71481f0002c0452b94a1d53116725 (commit) via bdb52a22a7672fa716997bce67ac9c1fcbd7c338 (commit) via e9475ead987ab329928324c3b7a38d17300580ae (commit) via 2abc3f8d59e0130e5340a5489b53556f12c9d0ce (commit) via bfd39632142cba581a430e41ed38c5153d1fc07a (commit) via 22842ff63e28b86e0cd40a87186757b2525578f4 (commit) via c2e827ad5340fcf1735df6c77cb0311e56b985ef (commit) via 4c2d33e7a2309f4cec2a1a850c53e8f6e147e5fd (commit) via d7e6f612d6ace85eb52cc1265c519c0d44f07b47 (commit) via b2bcb4bdeb27d3184f4886c372f19207530a5233 (commit) via 56083b99d7c76b89ebf3da6aa60ebb4ca80f3683 (commit) via 82eacd52ba9130cf0126fa513775b5d4415f7da3 (commit) via 25d4e99db83ba758e3c888d321b9f2f7845701a0 (commit) via 08937d8023b1bd8d0b1c4d8b2f4a5951478c6ec3 (commit) via 01f9f808e2e86187c95e7cff4aeb014a421a53ce (commit) via 93ee1e3683a12f4774b8beb4f821910982e21ce2 (commit) via aaca88efb450bff71523d7d6f23a67f47a4d5fb3 (commit) via 3714081cb37fc60f3262b4c64e81539eb4f3592f (commit) via 2a87f7b84f1a3d101a19d7008802172ff50596e5 (commit) via bf2cc635e2d45a0c59b1edd0c53d75ba495790bd (commit) via 7849f6d8dc37fc3da2fec06ac1d47afbe4b81059 (commit) via 4b48d43901e9864f9fc1c135ec75c80bde226cb8 (commit) via 51aa91f97976e0b4d6103d5c6e6a60bbd09be2fb (commit) via a4165e94f452b3137a1071a5034853a93a9de1a2 (commit) via b8acf843690988fa96123b3c54bc3850d874eb35 (commit) via 08351840eabb44799e3d01026610420758f4fa40 (commit) via 076855f9e36ecfe8af325b197e9ecd46deb9fe6c (commit) via 8a52f0d9837ae191eb6d85ded55d3a04da3b7f12 (commit) via 4862acf1cf6f1e65bf38cd0f594e80e2ad8b5b28 (commit) via 47fc6e36e3863545a6225034d97f64760fffae05 (commit) via 7d64c587c15f290d228ca550bb288d53f0eb2ac4 (commit) via cd0449ab05e9045682a81bf521bd0c8732c98feb (commit) via 1547d98f5a774617b38f2bdd9be3b5c21c2b9312 (commit) via e883b50c50feca944164a57138c9924f39509764 (commit) via a35d5e823fdfe8a6e7e05ca8e3fb8bb5697335b1 (commit) via 483805cf9ea5a6dace41415d8830e93fccc49c43 (commit) via 06d9754365774595eae45a8548d5f24d7093006c (commit) via fad16e308cc96f460d74cf240b76b414c331d7fa (commit) via 43c001c7d638bde9f310fdc3a199e02036f7b205 (commit) via d5f59c10fc37e325d3fbad4ae7970c7cf0857b46 (commit) via 73589c9dbddc7906fa6a150f2a2a0ff6b746e8ba (commit) via a75fef0e5bc3bfeb4eac434c1c68831f55ab597d (commit) via 285fc9d8f8ed30b8a9d680fbf37e8f1843b95bc0 (commit) via 5d3b02f0036dbf39863fd24414e28f28a53ea1fd (commit) via b4429ea262cfbeb9a6ebd9308654b0883b19d1a5 (commit) via 48b6e87ef297136a6409c2c993c4626f28bbb4d1 (commit) via f159927f4d15d820a6eb615e33d68780db035c8d (commit) via d1c109de72f880ea2a761fccb41f330672674fd9 (commit) via cc75d373fdb9668f367959f99f0b67e056a6c18a (commit) via a7bdd4ed3f8396e707231cbb7ee989d2e8ba9d46 (commit) via 8b5c7890e8bfa3360339c303599fe5b0c9faa848 (commit) via 17617f2d366ca969ccbc784be4f75931a1afd20f (commit) via 5723a6fd0636bed6d278ab19f6ead31d748a7a78 (commit) via 614d5099da07f5899dfac9720f49b9f6f350c1bd (commit) via dac3e7103f2822b42ecbb58e40f70f7ccb802d42 (commit) via 2bca57bacc88e4d81fd92c72f1d4eb42c1372ac8 (commit) via 13cfc86c8705188e003035775a017f36c56f75bd (commit) via c9ffd2eaf8efea61f083a5c226df8aab0aea6e23 (commit) via 967b2c539ac8232a7922ed303106d1e5fde120d7 (commit) via 4525c51ab02e6fdd29017d353e5decaceaeb1000 (commit) via 51d481464ec03be1f5479ed648cc38fb944d7fc0 (commit) via 1bdad2e0421a56e16c0f4623e6320e1225cbe5ee (commit) via 4384b28422294779be111ac24fb34fb6bfe57b32 (commit) via 452216ab0978a5684aacc76a422efd910d7c15df (commit) via 8575cf7345408b513264484ccc72b6b14452be0c (commit) via bd1dce5fe56e4454e2c5ec17a1ebe685aeb9aea8 (commit) via cb22ccf4110d82441b8d56875419d871f10f3f8f (commit) via 7ce16bd4c4d5e6f6a48ca7fcf532720fec0406bf (commit) via 2ed3c037cf8aac5f6dbee5b6c2a1239550a04202 (commit) via 40d1a503c43cda6c04a637972e5635d803f46cde (commit) via 4c34aff883e4fcc958a2d2c98874a035efc07651 (commit) via 389b98f7d880c8551bec64f9e7fb0b05fa941de6 (commit) via 71e50e8314af251f153207192194eaffdf638f5e (commit) via 1568481a553b0071c397e6d5d79a8cae4133485b (commit) via 7a23c5494be60600d34527f5adeaa2a34b85fdb6 (commit) via 8000c58e455259951daa4370631aa616b367d1a7 (commit) via 22869d73e127511e177a6bd855f9b5dbe22b9eca (commit) via c4f87ca6dbe041e2a331e5054a76c9134f29d545 (commit) via fe28be73c7c22cc6eb1c3573f1be65c75e37d9b7 (commit) via 8056826a68e7cb370425c56703a52af98fa159fe (commit) via 751e54c92eb7846e3edcd9b8179051ab8174e5b5 (commit) via ab19de874b887743e0862e6680e561f6fc4f02fa (commit) via fc98a809db2b6792a47919d30c9bd3446f5a83ca (commit) via 8e63ef2f2539b7fd3f81f11d930b8bdf8daa9da1 (commit) via e89d3dee76bc7f2d4b967ce9238f7f22e0a7c147 (commit) via 47f8a1070c0619bf7698e6584f7196f06e529da0 (commit) via 12241a34d72fe9be70e8c7001b05764bb7e9738e (commit) via 40fd06d18832d52c9ab08914d8d5428ca68e5726 (commit) via 7d9ac5f946c94de300fb22962b53701d2b73c52d (commit) via 87fd9e6ed8fdac0661026b7d2a66a9b364fe4bc2 (commit) via bfb1f6c31687a01e2763a30c8ca92e0426afb725 (commit) via 099fc3ea4c68d257cc52c21844173d75873313b1 (commit) via 99fd8cfff7a9da67efc2e6c627176f5c767c6e7d (commit) via 91f43acd5d692518f95a901e92dec7dbb6347564 (commit) via 5da151d470a6c99ae6cbd5efa01f2a3b97261e59 (commit) via fa85fb9a1bf35209a149d07ebefb2a8970e4a27a (commit) via 35e5d2f0f81d97f9bd41586b1979345072b7989d (commit) via eb4c17106b7303565b8d0ce8b572fa64945d1e7d (commit) via 2d1baf521e08bc390d604aaf1326347cc130ce1f (commit) via 7dd6df0171796757f404a549c76f0d9b9192c849 (commit) via 170015c5a013f0036073ebc3d455c379371edc27 (commit) via b50c861487bb7d71185777193a9246bac81e4f26 (commit) via 3d567982aca11c85a7fa31f13046de3271d3afc8 (commit) via c848d64244912f9f411bec7b1c045bf14c72b61b (commit) via 0626fc76d1b95c1c5b158a9b0be17791aa9078f8 (commit) via dca325b370730f8cfd3b63ac848569bf58d8746c (commit) via 5854b38a00f8f5021e6d9b075e882aafcf2e91ed (commit) via 463bb9571be732fdbd3101bd6edd104c99ea4883 (commit) via 3dd170be2528487b4c200b531d7abda38d64634f (commit) via 5ecaaa66e0d056412ca95b3ac2e385b3e470a95c (commit) via 1612e0c0f973f3defdfb2e74b09ec93f3d819c79 (commit) via c451ebe5dd0c38617c74e0b6f0d5ef3188c25d56 (commit) via 1d42e4c4d85cb12ce07a5349b1b2e11dce2d077d (commit) via 9f1f738adae6b28c4f7db7e3607b4c224f1f7612 (commit) via 3c8452d46ac23d455c30438d0885a738e02b56e1 (commit) via 4ad88275f81a586e32e86351cc415a97d58ef448 (commit) via 80180f796d366d230822c07a15aa68971abf9d77 (commit) via 41f1ada5d2d4cff7a235644661ec30de156fd038 (commit) via a155684382884a471075e02b265b4dfbdbc79332 (commit) via da3a208854095a3e11d592aed2efdabe7c73ae11 (commit) via f87121158599eb6f6463092ecad0a988d3e3cd75 (commit) via 3c4630ee7e281aadf6ff24cb3b94919a84ab5f31 (commit) via 0be03e84176ab0077462b84ef236c56a7a0376fd (commit) via f180a1fb463a6a9ab4a883374120d16770486914 (commit) via d616f26a0480204b401470af5759ea2c60775644 (commit) via 191a8a90463a21431432b36bd33ac2197ea6e3af (commit) via 6b662e19e420d2ef28f14b985390977080bcd341 (commit) via 245a5f0b7429b03566eb3f57a92544218f33393c (commit) via 32ae0d80cd430150ad9536aa160f34f504e129bc (commit) via 58a84dcf29b735ee776536b4c51ba90b51612b71 (commit) via c8655f75e2f0fada311be193e3090087a77ec802 (commit) via 024e13b46f9c33d151ae82fd9d64c53092fd9313 (commit) via 1a237e0ee53bbdee97d72d794b5b42e774cc81c0 (commit) via 504f34326e5ae7c78ebfcdd6ed03c7403b42048b (commit) via 3bce82377f683870cc89925ff43aefb7dcce4a77 (commit) via 92b09522dc5a93ba4bda3c1c0b3c58264e357c8a (commit) via e1969afbd454c09c3aad1990305715f70bc47c3c (commit) via b86138fb0484f42db6cb83abed1e3d0ad2ec4eac (commit) via bcd629a44fff61527430f353cf77e20fe3afc395 (commit) via 04b19544ef6a97b62b2cc4a3170b900e046ab185 (commit) via 26cb189f8b46dbe7b2d485525329a8919005ca8a (commit) via 37c1ab67a35025d37d42c449deab5f254f9f59da (commit) via 729efb13174d6522fba4aa7ab273e7f25a253c47 (commit) via 0c9c3474029f5250b428274eaf63f7a349c6fc5f (commit) via 85cf705b9d4c2082e5c4a41126bf773ff435d3d2 (commit) via 322f9c2100806387b8ace4df7a2b940b03b3d703 (commit) via 1511baeca965fcf4cf36379c6b3f8a0b85263544 (commit) via 0a1478f501e2470165d469618ddd069e2c7e4f27 (commit) via d708bcd102465e520c56e8be3ca4c9097dd389cc (commit) via e4ef1b6c3fee295ab41138bf77a82dff16f1d7c3 (commit) via 9d497a19eabe25b3af1cdd50a957592ed22658e5 (commit) via bbaa46c0f3f297bf776d9a171a7442e8a6f7a024 (commit) via 7af20180c0c537c78aabf4cfa0e9ab2880a52877 (commit) via edf84efc4eae005d0e543e13cc51a751296e6aad (commit) via 2eec7d5ba1928301955f4da013072c3e2f69f4a0 (commit) via 00c06fdc57ab89d14789b5207763410a79c39a11 (commit) via 15a9128a964499b78bd70ef3d2dc73edce56d825 (commit) via 19e1c431f72007f8a7a6a8e8b2511c74f3e8a000 (commit) via bf7279d5358c47b90b89c4b6b5f8be9960120be2 (commit) via 62ebcb5cbedf0fdc0b5faaa05e46aa43ced2aa68 (commit) via e30d16e9ecd56cd2557b30ae1116946d772944b3 (commit) via 81b1ec4ff645501f0ea7fc32af34e96e1972b5c1 (commit) via 3f7df22100cfb9b0cd3d8aca02aef4d33355bb17 (commit) via b4ab4364239efcf0cec74e89a85d844d628138c0 (commit) via 9c97a0704e03c662b6afd92032c171fe6714b42d (commit) via 6c1799adabb2391ac088828501135cd0dd11b2da (commit) via 61e2488cd8497d158303a78563ad40f51f5c3f8e (commit) via ae1d276159c3cfb29caacdf567aea01f433f78b0 (commit) via ebb8ed8e946c7e48f64a3c2577403594c3971230 (commit) via 7af389b892404edc76e1a60c59b354b785378fa5 (commit) via 5e703181143d5eb3724115e5cbb59a6b294e6222 (commit) via 17c34b8f3d79369cfb3a3f9d37109a7051bd8ea4 (commit) via 86ad98c392e804eae299eb6226e16732a521a9b4 (commit) via 5063a42103f83b921b0b6899acdd5d4d920fdc36 (commit) via 27f0d6b4fe4888e3bb0bdc8e64af51c521fa9f1d (commit) via 8520f58492b37c82881e10db2e45a0932928c064 (commit) via 115c6d5c37ee70477adc3d8c45ec7d77c2278951 (commit) via 2cafe348f61bae1037dac338ba434ebf86c0d670 (commit) via 50f800063da5cfe4e7fc5f7056530d1802af398c (commit) via abc9061b5c4d684da66945a9928d54a424cb6e4e (commit) via 2cf200a4c8a850e6f696e572ea03f340eae97c8a (commit) via 26954155a64f1a6a24b96213a8ee2f5390e649c6 (commit) via ca148c5ad5baae432b763cc40d01333303ceb9db (commit) via 47c509326557dcef05608226b8d6428476289886 (commit) via 4ef27e045fbd5b9ec41685ea3843f65fc15827af (commit) via ffe54b3798db9112505e7f6b9d5e0d0b13823a29 (commit) via 4554c4528a3548320c020f9baf97485302624300 (commit) via c54a1dd8a203d6f161366a251b269a0ac9fad37a (commit) via b0aeadb398e0cea7a7f0ff3e6fb20c9aea98453c (commit) via b69c87280595b7ce4e956cb2a62278412f0722f7 (commit) via 1b6aeedbb8e8f6c65d228f0dab3dab522d2517bb (commit) via 92b1b67865c719e83d12578e584ca5e20d172eac (commit) via 965b60c9460bb63c3c6fbb749b6a2deb541f422f (commit) via 707e555b846bf0f529aaffcae9aac375ab3d6b3d (commit) via 9810b41048d4fc230ec5e124ecdead4a3a9598ec (commit) via 048ea17465ce5effe702895cd644fa3d9dd94680 (commit) via 2493504aa84aceffcdb5f3febddca03e7c3d8176 (commit) via c3fcb7757e59bc743db8dd71f9a66767b2167c29 (commit) via f0a5d95aae21532529061054fa13816d7adf81d8 (commit) via c4eb27e1db8ebff3c498871a715ffdd66e20880b (commit) via 31c981bc36b1b62cf8952f3eb9125f500f5bd7a8 (commit) via 4bfe997046bf63c6f3c3cf110aa78c2489c64244 (commit) via ae447ddd12cf05bc5bef90c4a3f53239b5bcf2f9 (commit) via 0a899fd5acf97c0c9af7c6548e2c0e132148cf78 (commit) via cad0da33dc43a207a7c4baf32223831b2d0ac60c (commit) via 7a79c51466c30188d49d03d3e3593c87e5a3345e (commit) via 5979d6b69b20a8355ea94b75fad97415fce4788c (commit) via cf2a3e990524cb794c75e0493169736dee6a660c (commit) via 0d60c28836dbad4a48e1e0e8702f7fd56fca9e53 (commit) via 23d72939765598839d20dfb70c986206bf7751ca (commit) via c275b681a57c50a6ed5d7cb5192be588fd451427 (commit) via a41f2563d040d86954ccda7faa4a8ad7bdbcae88 (commit) via 98d1b8dcd84bb39ba5d0731162f241890d4ce5f5 (commit) via 3114cea14b326c1d429388559f020103108b3019 (commit) via 62f7182c14492421b8d59ba5c6640d6c27ad6ea2 (commit) via 11a865c84fcf530d8d96d01566f4bde378f629a1 (commit) via 4658f0eaf5036d9e4e9b968d9f31366746029c10 (commit) via 770e7fc78c3c94195cacf2d7698a252d410886a1 (commit) via 76f0cad6f4e0fdfc4cfeee135b44b6a090919c60 (commit) via 72c56015dda568cdcce75dc0316aa768f922c2d7 (commit) via 46e2bafa7a77fb852862a89bca861ba39d9cdb8e (commit) via ddb223fe95bc5ab8a74b21b7390021ea8865ccb5 (commit) via c32c64b7a18f8b1337ed58b285d42763180aee05 (commit) via 7c0bc051fcae47b9f8620de156ddd744ec85309d (commit) via 97d8f0ee776d6bbeef9c529f2880dedbb659492e (commit) via 79771829be161fac84f4f5e84bab9212ade70d3f (commit) via 8547a0f90373aaba055bf179961f5225501e7079 (commit) via af910977fbd500214e93d0a9b3d61e707df6d93c (commit) via ed0251d24b7573e58fe22bea44c04887daedaa32 (commit) via d24e46e3e247e46eb2f5e7ebb5efd0f9fcc5fcdd (commit) via 9f75a539d8c84d25465cb6af1a24890bc67121ba (commit) via 8776cfe971c3917e924c669140746735f94439f4 (commit) via acd6540d35178e9fd1a98110798eeb8f878656e4 (commit) via 410a0ff2df3fa8d260c1c6d76172c65285968cea (commit) via 342587c49476ad7472419a3028267f2ddb03f4d8 (commit) via 33e80786374aa4de613e8c2a9d3002d9704fb037 (commit) via 1dbab08b0e074effc30661c9b894f7a75dd51c94 (commit) via 5d1ef36157a045cf9dd3356ed35ac24447e9cbd6 (commit) via 4c6d802e592b3762a149c343bc5722e065e57841 (commit) via 6a631e86cfc2ddd979f9dc4b4da01133d9d3610f (commit) via a6305403d4e1f5304f247b33b0f8473c7eed0d66 (commit) via 10be66a4910d39b508002eea2056783e3430af40 (commit) via cb580a265c0344b2acfc3059b53689863378f5ed (commit) via 3cc27770cfa2080f70d44659de9d62adc80489fc (commit) via b5bee914261ea82683b7da4245790465b9373131 (commit) via 595330b7cedfac2b073e9ffc6a815221b7121f0c (commit) via 467637ade646c54bac41721df4f3509cc98103e4 (commit) via 76dfed02aaee5074dc79c28c0224fd0a2bf0dd30 (commit) via b3fe4307a625457c6953fce27bbbfc4c90e38e9d (commit) via 55bfc9ac025c1c9cd1ad5422829b3dc70f357a79 (commit) via 318d3177f7d67dac94baa07aab04192fc7bcba49 (commit) via d80285301a6a55f4f3bb4fbf4df1d20d91b0ee24 (commit) via f6c7c3e8b742de0a5926e6a2c268f5803062b556 (commit) via 0d4d0e772ac36d169d21951c46b0778ae7fa8d53 (commit) via 29361eee1499fa208baf06df5c6aa1ef4c1b2516 (commit) via 1e54db15c3ce69a7b3d6542066abdea36e7f8a79 (commit) via f688ea36dfd8e3cdd359a040f231792d90e49c65 (commit) via 3c6256d29e2c528880a3cf8df43adf32c7780de5 (commit) via bc9a55253ed7122cfeee90cd23d964f44c8b0e6a (commit) via d3839ede057ef077667978dbd065e7b5702c9176 (commit) via c955de363b91edba8a92877f97b1be68357d9582 (commit) via 3e60bf4df86f323dde4281886a355589488149aa (commit) via 01672a570af3899a85d12293bc7da38b0715e4a5 (commit) via cea2f54dd97c7772b38827dd6c9c78d599ce9f07 (commit) via 88bbeca9d5e9429dbd2a11d754f24d649b8e5488 (commit) from b5f21a557fe7556e005e1668c25b60817fa8c5ab (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit d7ed10238fce3b84771db9fced8d94579e2e0184 Author: Jan Kratochvil Date: Sat May 17 07:19:06 2014 +0200 Locate solib files via build-id Hi, this is a new functionality that the file itself (*) it found via build-id, if the regular name-located file does not match inferior build-id or if the named-located file even does not exist. I am not completely sure with the SO->SO_NAME initialization. It cannot be a regression but not sure how it should behave for the build-id-located files. Currently the original target filename is kept but the comment there says is may confuse MI frontends. OTOH putting there the build-id located file will show its build-id name in SO_NAME which is also wrong. (*) /usr/lib/libxxx.so, not /usr/lib/debug/usr/lib/libxxx.so.debug. Although GDB uses only symbols from that file so in fact the *.debug file would be sufficient. But for example .symtab is sometimes only in the .so file and not the .so.debug file so GDB looks up .so as the associated .so.debug file gets loaded automatically on top of .so anyway. Thanks, Jan gdb/ 2014-03-24 Jan Kratochvil Locate solib files via build-id. * build-id.c (build_id_to_debug_bfd): Rename to ... (build_id_to_bfd): ... here. Add parameter suffix. (build_id_to_debug_bfd): New wrapper of build_id_to_bfd. (build_id_so_validate): Remove const from the parameter, return void. Handle also NULL SO->ABFD. Call also build_id_to_bfd. * build-id.h (build_id_so_validate): Update declaration. * solib.c (solib_map_sections): Call VALIDATE even for NULL SO->ABFD. No longer free SO->ABFD on failed VALIDATE. (default_solib_validate): Update its const and return value. * solib.h (default_solib_validate): Update declaration. * solist.h (struct target_so_ops): Update definition of field validate. gdb/testsuite/ 2014-03-24 Jan Kratochvil Locate solib files via build-id. * gdb.base/solib-mismatch.exp (nocrlf, expected_header): Make solib_matching_test variables global. (solib_locate_test): New proc. (locate non-matching shared library) (locate non-existing shared library): New tests. commit 7942c500647ab683d19fbbe47c39c6cbe113faa1 Author: Jan Kratochvil Date: Sat May 17 07:19:05 2014 +0200 Code cleanup: solib_map_sections abfd var Hi, just remove a local variable holding so->abfd copy as so->abfd may change in the next patch. Jan gdb/ 2014-03-24 Jan Kratochvil * solib.c (solib_map_sections): Remove variable abfd. commit a46739aaffc3020ce5bc690b96a4e6777dd99213 Author: Jan Kratochvil Date: Sat May 17 07:19:05 2014 +0200 Tests for validate symbol file using build-id Hi, new testcase. Jan gdb/testsuite/ 2014-02-26 Aleksandar Ristovski Date: Sat May 17 07:19:05 2014 +0200 Validate symbol file using build-id Hi, consumer part of the "build-id" attribute. Jan gdb/ 2014-02-26 Aleksandar Ristovski Validate symbol file using build-id. * NEWS (Changes since GDB 7.7): Add build-id attribute. * build-id.c: Include solist.h. (build_id_so_validate): New. * build-id.h (build_id_so_validate): New declaration. * solib-darwin.c (_initialize_darwin_solib): Assign validate value. * solib-dsbt.c (_initialize_dsbt_solib): Ditto. * solib-frv.c (_initialize_frv_solib): Ditto. * solib-ia64-hpux.c (ia64_hpux_target_so_ops): Ditto. * solib-irix.c (_initialize_irix_solib): Ditto. * solib-osf.c (_initialize_osf_solib): Ditto. * solib-pa64.c (_initialize_pa64_solib): Ditto. * solib-som.c (_initialize_som_solib): Ditto. * solib-spu.c (set_spu_solib_ops): Ditto. * solib-svr4.c: Include build-id.h and rsp-low.h. (svr4_copy_library_list): Deeply copy also BUILD_ID. (library_list_start_library): Parse 'build-id' attribute. (svr4_library_attributes): Add 'build-id' attribute. (_initialize_svr4_solib): Assign validate value. * solib-target.c (solib.h): Include. (_initialize_solib_target): Assign validate value. * solib.c (solib_map_sections): Use ops->validate. (free_so): Free build_id. (default_solib_validate): New function. * solib.h (default_solib_validate): New declaration. * solist.h (struct so_list): New fields 'build_idsz' and 'build_id'. (target_so_ops): New field 'validate'. commit 5521f4d26ee994ba331e405de5bf9d82db8b2ae4 Author: Jan Kratochvil Date: Sat May 17 07:19:05 2014 +0200 New set build-id-force Hi, as the build-id verification is now integrated with existing build-id.[ch] I find logical to generalize former 'set solib-build-id-force' to 'set build-id-force' applicable even to existing .debug-vs-primary and common .dwz file verifications. I am not completely sure it is right to make a common setting for both inferior-vs-local-file build-id verification and local-file-vs-local-file verification. But I guess using this setting should be very very rare so that should not matter. Jan gdb/ 2014-03-24 Jan Kratochvil Aleksandar Ristovski * gdb.texinfo (Files): Add 'set build-id-force' and 'show build-id-force'. commit fe7e8e94ff9705e27edd57bcfb9419123f874e9f Author: Jan Kratochvil Date: Sat May 17 07:19:04 2014 +0200 gdbserver build-id attribute generator Hi, producer part of the new "build-id" XML attribute. Jan gdb/ 2014-02-26 Aleksandar Ristovski Date: Sat May 17 07:19:03 2014 +0200 Move linux_find_memory_regions_full & co. Hi, this should be just a move with no changes. Jan gdb/ 2014-02-26 Aleksandar Ristovski Date: Sat May 17 07:19:03 2014 +0200 Prepare linux_find_memory_regions_full & co. for move Hi, prepare code for move into gdb/common/. Jan gdb/ 2014-02-26 Aleksandar Ristovski Date: Sat May 17 07:19:03 2014 +0200 Create empty common/linux-maps.[ch] and common/target-utils.[ch] Hi, prepare new files for later move. Jan gdb/ 2014-02-26 Aleksandar Ristovski Date: Sat May 17 07:19:03 2014 +0200 Merge multiple hex conversions Hi, here most of the patch has been reimplemented in the meantime and this is only a small remaint. Jan gdb/ 2014-02-26 Aleksandar Ristovski Date: Sat May 17 07:19:02 2014 +0200 Move utility functions to common/ Hi, some parts of the former patch have been reimplemented in the meantime by other patches so this is only a part of the former cleanup. Jan gdb/ 2014-02-26 Aleksandar Ristovski Date: Sat May 17 07:19:02 2014 +0200 +README.archer commit ff46be9062f65422462792ffda6bf1f896a71541 Author: Alan Modra Date: Sat May 17 09:30:39 2014 +0930 daily update commit d7761c2cba7af75af2feba4a0a6a0e20afaacca1 Author: Doug Evans Date: Fri May 16 12:46:24 2014 -0700 * gdb.base/completion.exp: Check that all expected files exist before doing file completion. commit 0dbe70ceba9641d585de92136e20cc6f5e252647 Author: Doug Evans Date: Fri May 16 12:34:05 2014 -0700 * gdb.base/Makefile.in (EXECUTABLES): Add completion. commit 8d551b0239b795065ecd2cb2bd3cae2e9ee2a7df Author: Doug Evans Date: Fri May 16 12:15:10 2014 -0700 New command line option -D. * NEWS: Mention it. * main.c (set_gdb_data_directory): New function. (captured_main): Recognize -D. Flag error for --data-directory "". Call set_gdb_data_directory. (print_gdb_help): Print --data-directory, -D. * main.h (set_gdb_data_directory): Declare. * top.c (staged_gdb_datadir): New static global. (set_gdb_datadir): Call set_gdb_data_directory (show_gdb_datadir): New function. (init_main): Update init of data-directory parameter. testsuite/ * gdb.base/catch-syscall.exp (test_catch_syscall_fail_nodatadir): Update. (do_syscall_tests_without_xml): Update. doc/ * gdb.texinfo (Mode Options): Add -D. commit 18848e288ca9d1ca242cce667419bbb6728442fc Author: Gregory Fong Date: Fri May 16 12:26:33 2014 -0600 Import the "dirfd" gnulib module. 2014-05-16 Gregory Fong Import the "dirfd" gnulib module. * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add dirfd. * gnulib/aclocal.m4: Update. * gnulib/config.in: Update. * gnulib/configure: Update. * gnulib/import/Makefile.am: Update. * gnulib/import/Makefile.in: Update. * gnulib/import/dirfd.c: New. * gnulib/import/m4/dirfd.m4: New. * gnulib/import/m4/gnulib-cache.m4: Update. * gnulib/import/m4/gnulib-comp.m4: Update. commit 5febff9be8a87afc40679faedfd78cfff8b1cf95 Author: John Marino Date: Fri May 16 15:39:47 2014 +0100 * configure.tgt: Add /lib to dragonfly NATIVE_LIB_DIRS. commit 6e6e7cfc78e3ae1f4b670fc42d3b4e113d57a62b Author: Jon Turney Date: Fri May 16 15:34:13 2014 +0100 This fixes a few issues with pe/coff build-ids that were discovered since the original patches were posted: pe/coff: Display GUID build-id in the conventional way pe/coff: Don't interpret debug directory in section with no contents pe/coff: Keep .build-id with --only-keep-debug pe/coff: Don't break .build-id with objcopy/strip * peXXigen.c (pe_print_debugdata): Don't interpret debug directory in a section with no contents. (is_vma_in_section, find_section_by_vma): New functions. (_bfd_XX_bfd_copy_private_bfd_data_common): Recalculate file offsets in the debug directory. (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record): Byte-swap GUID from little-endian to big-endian order for consistent and conventional display. * objcopy.c (is_nondebug_keep_contents_section): New function. (setup_section): Use it. commit 856ea05ccf051d4d86f422552f5cdfa83659dd6b Author: Kaushik Phata Date: Fri May 16 14:57:10 2014 +0100 This adds support for marking RL78 binaries as either supporting 32-bit or 64-bit doubles. It also makes the linker complain if the user attempts to link together binaries with different sized doubles. * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if 64-bit doubles objects mix with 32-bit doubles objects. (rl78_elf_print_private_bfd_data): Describe 64-bit doubles flag. * readelf.c (get_machine_flags): Handle RL78 64-bit doubles flag. * config/tc-rl78.c (enum options): Add OPTION_32BIT_DOUBLES and OPTION_64BIT_DOUBLES. (md_longopts): Add -m32bit-doubles and -m64bit-doubles. (md_parse_option): Parse -m32bit-doubles and -m64bit-doubles. (md_show_usage): Show all of the RL78 options. (rl78_float_cons): New static functions. (md_pseudo_table): Update handler for "double". commit 73eb770959c8d8d927dbeafbf6038a651e0cb1ae Author: Pedro Alves Date: Fri May 16 14:43:47 2014 +0100 mi-support.exp: Fix some pastos. gdb/testsuite/ 2014-05-16 Pedro Alves * lib/mi-support.exp (mi_expect_stop): On timeout, say "timeout" instead of "unknown output after running". commit 3fae92fc2aed37c78df4610f3c52e2fc242846b0 Author: Yao Qi Date: Tue May 13 11:41:03 2014 +0800 Copy file1.txt to remote host in dw2-filename.exp and dw2-anonymous-func.exp Some gdb.dwarf2/*.exp tests copy file1.txt to host via gdb_remote_download but dw2-filename.exp and dw2-anonymous-func.exp don't do that. Looks like an oversight in this patch https://sourceware.org/ml/gdb-patches/2013-08/msg00365.html There are some fails in remote host testing. FAIL: gdb.dwarf2/dw2-anonymous-func.exp: list file1.txt FAIL: gdb.dwarf2/dw2-filename.exp: interpreter-exec mi -file-list-exec-source-files FAIL: gdb.dwarf2/dw2-filename.exp: info sources This patch is to invoke gdb_remote_download to copy file1.txt to host and remote it at the end. This patch fixes these fails above. gdb/testsuite: 2014-05-16 Yao Qi * gdb.dwarf2/dw2-filename.exp: Copy file1.txt to host. Remove file1.txt from host at the end. * gdb.dwarf2/dw2-anonymous-func.exp: Likewise. commit 95c64f92be44781ab0f9472e88296fbf971c79fa Author: Yao Qi Date: Tue Apr 22 12:56:08 2014 +0800 Fix display of tabulation character for mingw hosts. Pierre proposed this patch https://sourceware.org/ml/gdb-patches/2013-10/msg00011.html and Tom gave a suggestion that it's better to do check \t in print_wchar However, I don't see the follow-up to this discussion. We encounter two fails in printcmds.exp on mingw host, and Pierre's patch fixes them. I pick it up, update a little per Tom's comments, and post it here for review. This patch fixes these fails below on mingw32 host. FAIL: gdb.base/charset.exp: print string in ASCII FAIL: gdb.base/charset.exp: try printing '\t' in ASCII FAIL: gdb.base/charset.exp: print string in ISO-8859-1 FAIL: gdb.base/charset.exp: try printing '\t' in ISO-8859-1 FAIL: gdb.base/charset.exp: print string in UTF-32 FAIL: gdb.base/charset.exp: try printing '\t' in UTF-32 FAIL: gdb.base/printcmds.exp: p ctable1[9] FAIL: gdb.base/printcmds.exp: p &ctable1[1*8] Also regression tested on x86_64-linux. Is it OK? gdb: 2014-05-16 Pierre Muller Yao Qi * valprint.c (print_wchar): Move the code on checking whether W is a printable wide char to the default branch of switch statement below. Call wchar_printable instead of gdb_iswprint. commit 19679ecafced89bcaea535d8129f6ecbc8199e9e Author: Yao Qi Date: Fri May 16 20:10:38 2014 +0800 Fix changelong entry. Each changelog entry should be tab-prefixed. commit cac395eae4d97d9f59c5e588e4e662f2ae6cdfeb Author: Taimoor Mirza Date: Fri May 16 11:39:05 2014 +0500 Fix prologue analysis for ldr.w and ldrd instruction Prologue analysis for ldr.w and ldrd instruction obtains offset from first two bytes that contains opcode of instruction. It should obtain offset from next two bytes that actually contain operands. * arm-tdep.c (thumb_analyze_prologue): Fix offset calculation for ldr.w and ldrd instructions. Signed-off-by: Taimoor Mirza commit 791849751dd82722d4cfaae844e1fdbed445af5a Author: Alan Modra Date: Fri May 16 09:30:36 2014 +0930 daily update commit c2b2ccc5eddd4c0f592576c983135c0f18b90bf8 Author: Doug Evans Date: Thu May 15 15:50:34 2014 -0700 Make more robust when run in parallel mode. Since we're not compiling with gcc, we don't know where the DWO file will ultimately be built. It could be built in testsuite/gdb.dwarf2/foo (non-parallel mode) or testsuite/outputs/gdb.dwarf2/foo (parallel mode). * gdb.dwarf2/fission-reread.S: Remove directory from .dwo file path. * gdb.dwarf2/fission-reread.exp: Set debug-file-directory before loading file. Add test for TU lookup. commit 83655187cbef02404645abcc98d607e22eeda573 Author: Doug Evans Date: Thu May 15 15:45:05 2014 -0700 * dwarf2read.c (read_structure_type): Delete outdated comments. commit 8c217a4b684386aa5ce6a078dffbe63265a524e6 Author: Simon Marchi Date: Tue May 13 17:37:44 2014 -0400 Fix argument passing in mi_run_cmd_full Passing arguments did not work when use_mi_command was set. gdb/testsuite/ChangeLog: 2014-05-13 Simon Marchi * lib/mi-support.exp (mi_run_cmd_full): Set arguments by calling "-exec-arguments" or "set args" before running the inferior. commit 3deb39c62d3cdb80ac3bdd4d418e05737433e7a6 Author: Simon Marchi Date: Tue May 13 17:07:33 2014 -0400 Fix mi_expect_stop for non-zero exit codes The message displayed by gdb is different when the inferior exits with zero and non-zero values, this fix takes that into account. gdb/testsuite/ChangeLog: 2014-05-13 Simon Marchi * lib/mi-support.exp (mi_expect_stop): Expect message for inferiors that exit with non-zero exit code. commit 5fe7ffdc98b769de3ea67e6f38bc5de57be7b265 Author: Alan Modra Date: Thu May 15 18:37:43 2014 +0930 Fix "overflow in PLT unwind data" warning When linking statically, it's possible to hit this warning with IFUNC or very large executables, due to .glink being unused. * powerpc.cc (do_plt_fde_location): Handle zero length .glink. Compare FDE contents with DW_CFA_nop rather than 0. commit 57b287416bcd3dd29202dff55d89dc7a68196cc8 Author: Alan Modra Date: Thu May 15 09:30:45 2014 +0930 daily update commit d9e042ac0bc08b6c3890cc53cbd43c73c522e720 Author: Sandra Loosemore Date: Wed May 14 16:27:14 2014 -0700 Sync nios2 configure changes from GCC mainline. 2014-05-14 Sandra Loosemore * configure.ac (target_makefile_frag): Set for nios2-*-elf*. * configure: Regenerated. config/ * mt-nios2-elf: New file. commit dd7566892070fbccb91c536c46584c20ef29961b Author: Tom Tromey Date: Wed May 14 13:31:10 2014 -0600 reindent print_macro_definition I happened to notice that print_macro_definition is indented improperly. All the lines were a few extra spaces to the right. This patch fixes the indentation. Tested by rebuilding, committed. 2014-05-14 Tom Tromey * macrocmd.c (print_macro_definition): Reindent. commit 71a79f8c9cf2a66f4e4cb9b5c6cb44f8723724eb Author: Yao Qi Date: Tue May 13 14:40:22 2014 +0800 Fix mi-file.exp fails on remote host This patch fixes mi-file.exp fails on remote host. First, we can't assume ${srcdir}/${subdir}/${srcfile} directory exists on remote host, so this patch changes it to match ${srcfile} only on remote host. Second, regexp pattern ".*/${srcfile}" isn't friendly to Windows path. The file name is "basics.c" in my test env and can't match the pattern due to "/" in it. Remove "/" from the pattern. gdb/testsuite: 2014-05-14 Yao Qi * gdb.mi/mi-file.exp (test_file_list_exec_source_file): Don't match absolute path on remote host. (test_file_list_exec_source_files): Remove "/" from the pattern. commit f23fcd46a7ca34bf466de9164780a78d38729ff7 Author: Yao Qi Date: Tue May 13 09:37:54 2014 +0800 Overwrite ${board}_file in local-remote-host After I run test like this, $ make check RUNTESTFLAGS='--host_board=local-remote-host dw2-basic.exp' gdb.dwarf2/file1.txt in source tree was removed. In some gdb.dwarf2/*.exp, file1.txt is copied to host and then removed at the end. However, in local-remote-host-notty.exp, ${board}_download doesn't copy the file but return the absolute path of the src file. 'remote_file host delete' at the end will remove the file in source tree. This patch is to overwrite ${board}_file, and specially make "delete" option do nothing. This approach is used in gdbserver-base.exp and remote-stdio-gdbserver.exp too. gdb/testsuite: 2014-05-14 Yao Qi * boards/local-remote-host-notty.exp (${board}_file): New proc. commit 75ddda778c7fcdffea72615bc5b89d17bd107927 Author: Doug Evans Date: Tue May 13 19:44:51 2014 -0700 * python/py-cmd.c (cmdpy_completer): Add comment. (completers): Make const. commit 5a9b37037831a93767513b080a0e4eeb4080ff7a Author: Alan Modra Date: Wed May 14 09:30:38 2014 +0930 daily update commit b0f16a3eaf0226b21a2a9032d9fac069009b96d3 Author: Simon Marchi Date: Mon Apr 21 11:49:59 2014 -0400 Remove unused variable should_resume is set to 1 at the beginning and never changed. gdb/ChangeLog: 2014-05-13 Simon Marchi * infrun.c (resume): Remove should_resume (unused). Move up declaration of resume_ptid. commit a82bef932ec11cc16f205427f8a056c3c0ea517d Author: Sriraman Tallam Date: Tue May 13 10:51:48 2014 -0700 With -pie and x86, the linker complains if it sees a PC-relative relocation to access a global as it expects a GOTPCREL relocation. This is really not necessary as the linker could use a copy relocation to get around it. This patch enables copy relocations with pie. Context: This is useful because currently the GCC compiler with option -fpie makes every extern global access go through the GOT. That is because the compiler cannot tell if a global will end up being defined in the executable or not and is conservative. This ends up hurting performance when the binary is linked as mostly static where most of the globals do end up being defined in the executable. By allowing copy relocs with fPIE, the compiler need not generate a GOTPCREL(GOT access) for any global access. It can safely assume that all globals will be defined in the executable and generate a PC-relative access instead. Gold can then create a copy reloc for only the undefined globals. gold/ * symtab.h (may_need_copy_reloc): Remove check for position independent code. * x86_64.cc (Target_x86_64::Scan::global): Add check for no position independence before pc absolute may_need_copy_reloc call. Add check for executable output befor pc relative may_need_copy_reloc call. * i386.cc: Ditto. * arm.cc: Ditto. * sparc.cc: Ditto. * tilegx.cc: Ditto. * powerpc.cc: Add check for no position independence before may_need_copy_reloc calls. * testsuite/pie_copyrelocs_test.cc: New file. * testsuite/pie_copyrelocs_shared_test.cc: New file. * Makefile.am (pie_copyrelocs_test): New test. * Makefile.in: Regenerate. commit 033c337911594898b44678fa10b47ee19dd234b5 Author: Tom Tromey Date: Tue May 13 11:35:18 2014 -0600 remove an unused macro and an unused declaration This patch removes an unused macro from language.h. It also removes the declaration of a function which is not defined. I'm checking this in as obvious. Tested by rebuilding. 2014-05-13 Tom Tromey * language.h (unop_type_check): Remove. (binop_type_check): Don't declare. commit 1642b4b33783d70979dca379d57a0ce02559daec Author: Sriraman Tallam Date: Tue May 13 10:33:59 2014 -0700 Optimizing accesses to Globals with -fpie -pie: With -pie and x86, the linker complains if it sees a PC-relative relocation to access a global as it expects a GOTPCREL relocation. This is really not necessary as the linker could use a copy relocation to get around it. This patch enables copy relocations with pie. Context: This is useful because currently the GCC compiler with option -fpie makes every extern global access go through the GOT. That is because the compiler cannot tell if a global will end up being defined in the executable or not and is conservative. This ends up hurting performance when the binary is linked as mostly static where most of the globals do end up being defined in the executable. By allowing copy relocs with fPIE, the compiler need not generate a GOTPCREL(GOT access) for any global access. It can safely assume that all globals will be defined in the executable and generate a PC-relative access instead. Gold can then create a copy reloc for only the undefined globals. commit 9b44a3a57d17ea2d35823780007a38daeeaec6a4 Author: Andreas Arnez Date: Tue May 13 14:55:53 2014 +0200 S390: Fix erroneous offset in fill_gregset. This fixes a bug that leads to various failures when debugging a 31-bit inferior with a 64-bit gdb on s390x. commit bad1aba328293fc62831ac451edc55adc37ead36 Author: mfortune Date: Tue May 13 11:55:08 2014 +0100 Re-work register size macros for MIPS. gas/ * config/tc-mips.c (mips_set_options): Rename gp32 to gp throughout. (HAVE_32BIT_GPRS, HAVE_64BIT_GPRS): Remove. Re-implement via GPR_SIZE. (HAVE_32BIT_FPRS, HAVE_64BIT_FPRS): Remove. Re-implement via FPR_SIZE. (GPR_SIZE, FPR_SIZE): New macros. Use throughout. commit 51e719b4e118f69862775772053059700a331097 Author: Alan Modra Date: Tue May 13 09:30:39 2014 +0930 daily update commit a7da346e5c9dd33f4fdc9b053d1991131a911926 Author: DJ Delorie Date: Mon May 12 19:05:19 2014 -0400 Support 32->64 sign extension in msp430's sign_ext * msp43-sim.c (sign_ext): Change to "long long" to support sign-extending 32-bit values. commit 17b609c3fc8f78852655096a1be04fdd2ba3809c Author: Doug Evans Date: Mon May 12 15:16:13 2014 -0700 Add link to older changes in ChangeLog-1993-2013. commit 14f8b115e4395b76bfa792d7e9a7d0e26a4c4691 Author: Doug Evans Date: Mon May 12 15:13:49 2014 -0700 Split out older testsuite/ChangeLog entries (prior to 2014) into separate file: ChangeLog-1993-2013. commit 303a33faef8fca9b26b18a02550541c5f61ace9e Author: Simon Marchi Date: Sat Apr 26 18:10:40 2014 -0400 mi: Use the value in mi_console_file->quote as the quoting character In mi_interpreter_init, multiple MI consoles/channels are created and a quoting character is given. In mi_console_raw_packet, we check if the value is not 0 to decide if we should quote the string, but we don't use the value. It is hardcoded to ". We might never use another quoting character than an actual quote, but I suggest we change it, for correctness. There is not visible behavior change. I changed the latest fputs_unfiltered changed to fputc_unfiltered just to stay consistent. gdb/ChangeLog: 2014-05-12 Simon Marchi * mi/mi-console.c (mi_console_raw_packet): Use the value from mi_console->quote as the quoting character. commit 196100a019964c09588686553f3b6687f6e3fe15 Author: Simon Marchi Date: Mon May 12 13:06:11 2014 -0400 Add myself as write after approval maintainer 2014-05-12 Simon Marchi * MAINTAINERS (Write After Approval): Add "Simon Marchi". commit 35a1657d261fa214c45c4c5beeb992def5f63bad Author: Alan Modra Date: Mon May 12 09:30:37 2014 +0930 daily update commit fae663595d6a49c5e4de58e17fe93525bec65ae9 Author: Chung-Lin Tang Date: Sun May 11 10:04:45 2014 -0700 2014-05-11 Chung-Lin Tang * emulparams/nios2linux.sh (OTHER_GOT_SYMBOLS): Wrap _gp in HIDDEN(), and gp in PROVIDE_HIDDEN. commit e5898c282777ea27093bdc694b25cd8eaf795f0a Author: Alan Modra Date: Sun May 11 09:30:38 2014 +0930 daily update commit e20bd8f437879624de168bb2fe39383b045565a5 Author: Samuel Bronson Date: Fri May 9 21:07:43 2014 -0400 Add obviously forgotten "PACKAGE = @PACKAGE@" to gdb/doc/Makefile.in * gdb/doc/Makefile.in (PACKAGE): Copy from ../Makefile.in in case of "make -C". commit eae25ec5773e12af107e65fcf0c94a54bc5180ae Author: Hans-Peter Nilsson Date: Sat May 10 02:50:01 2014 +0200 Fix freeing of link_info.hash ld: * ldlang.c (lang_finish): Don't call bfd_link_hash_table_free here. (output_bfd_hash_table_free_fn): New variable. (open_output): Save the _bfd_link_hash_table_free function for the output_bfd into output_bfd_hash_table_free_fn. * ldmain.c (ld_cleanup): If set, call output_bfd_hash_table_free_fn on link_info.hash. * ldlang.h (output_bfd_hash_table_free_fn): Declare. ld/testsuite: * ld-mmix/wrap1.d, ld-mmix/wrap1a.s, ld-mmix/wrap1b.s, ld-mmix/wrap1c.s, ld-mmix/wrap2.d, ld-mmix/wrap3.d, ld-mmix/wrap3a.s, ld-mmix/wrap3b.s, ld-mmix/wrap4.d: New tests. commit b1f02b89ed9e9c68eab6f645e19634315a6525c4 Author: Alan Modra Date: Sat May 10 09:30:37 2014 +0930 daily update commit df18fdba5dc9243d657c6e26a3a4e2c65e62b8bd Author: H.J. Lu Date: Fri May 9 10:58:00 2014 -0700 Properly display extra data/address size prefixes X86 disassembler checks data and address size prefixes when displaying instruction mnemonic and operands. For the extra data and address size prefixes, their names depend only on the address mode, not the data and address size prefixes. This patch changes x86 disassembler not to check the data and address size prefix when printing extra data and address size prefixes. gas/testsuite/ * gas/i386/nops-1-core2.d: Replace data32 with data16. * gas/i386/nops-4a-i686.d: Likewise. * gas/i386/nops-5-i686.d: Likewise. * gas/i386/nops-5.d: Likewise. * gas/i386/x86-64-cbw-intel.d: Likewise. * gas/i386/x86-64-cbw.d: Likewise. * gas/i386/x86-64-io-intel.d: Likewise. * gas/i386/x86-64-io-suffix.d: Likewise. * gas/i386/x86-64-io.d: Likewise. * gas/i386/x86-64-nops-1-core2.d: Likewise. * gas/i386/x86-64-nops-1-g64.d: Likewise. * gas/i386/x86-64-nops-1-nocona.d: Likewise. * gas/i386/x86-64-nops-1.d: Likewise. * gas/i386/x86-64-nops-2.d: Likewise. * gas/i386/x86-64-nops-3.d: Likewise. * gas/i386/x86-64-nops-4-core2.d: Likewise. * gas/i386/x86-64-nops-4.d: Likewise. * gas/i386/x86-64-nops-5-k8.d: Likewise. * gas/i386/x86-64-nops-5.d: Likewise. * gas/i386/x86-64-stack-intel.d: Likewise. * gas/i386/x86-64-stack-suffix.d: Likewise. * gas/i386/x86-64-stack.d: Likewise. * gas/i386/ilp32/x86-64-cbw-intel.d: Likewise. * gas/i386/ilp32/x86-64-cbw.d: Likewise. * gas/i386/ilp32/x86-64-io-intel.d: Likewise. * gas/i386/ilp32/x86-64-io-suffix.d: Likewise. * gas/i386/ilp32/x86-64-io.d: Likewise. * gas/i386/ilp32/x86-64-nops-1-core2.d: * gas/i386/ilp32/x86-64-nops-1-nocona.d: Likewise. * gas/i386/ilp32/x86-64-nops-1.d: Likewise. * gas/i386/ilp32/x86-64-nops-2.d: Likewise. * gas/i386/ilp32/x86-64-nops-3.d: Likewise. * gas/i386/ilp32/x86-64-nops-4-core2.d: Likewise. * gas/i386/ilp32/x86-64-nops-4.d: Likewise. * gas/i386/ilp32/x86-64-nops-5-k8.d: Likewise. * gas/i386/ilp32/x86-64-nops-5.: Likewise. * gas/i386/ilp32/x86-64-stack-intel.d: Likewise. * gas/i386/ilp32/x86-64-stack-suffix.: Likewise. * gas/i386/ilp32/x86-64-stack.d: Likewise. ld/testsuite/ * ld-x86-64/tlsbin.dd: Replace data32 with data16. * ld-x86-64/tlsdesc-nacl.pd: Likewise. * ld-x86-64/tlsgdesc.dd: Likewise. * ld-x86-64/tlsld1.dd: Likewise. * ld-x86-64/tlsld3.dd: Likewise. * ld-x86-64/tlspic.dd: Likewise. opcodes/ 2014-05-09 H.J. Lu * i386-dis.c (ADDR16_PREFIX): Removed. (ADDR32_PREFIX): Likewise. (DATA16_PREFIX): Likewise. (DATA32_PREFIX): Likewise. (prefix_name): Updated. (print_insn): Simplify data and address size prefixes processing. commit 0c263177a5123186a05b44d3d76b7a3f811e70b9 Author: Alan Modra Date: Fri May 9 09:30:38 2014 +0930 daily update commit 53c6660516a1720dd0d143bf829c6a35302fc003 Author: Martin Liška Date: Thu May 8 15:23:53 2014 -0700 2014-05-08 Martin Liška gold/ * output.cc (Sized_relobj_file::do_layout): Fix typo in info message. commit 0ae19f059afedc024e707a99d767257574758046 Author: mfortune Date: Thu May 8 22:07:49 2014 +0100 Fix references to file_mips_isa missed in previous patch. gas/ * config/tc-mips.c (md_parse_option): Update missed file_mips_isa references. commit 0b35dfeec64597fe12495295f6d5e9b12131a390 Author: mfortune Date: Wed May 7 23:33:47 2014 +0100 Consolidate file_mips_xxx variables. gas/ * config/tc-mips.c (mips_set_options): Rename fp32 field to fp. Update fp32 == 0 to fp == 64 and fp32 == 1 to fp != 64 throughout. (file_mips_gp32, file_mips_fp32, file_mips_soft_float, file_mips_single_float, file_mips_isa, file_mips_arch): Merge into one struct... (file_mips_opts): Here. New static global. Update throughout. (mips_opts): Update defaults for gp32 and fp. commit 91662bad25e6367e37b15c17ed1bca2a72b9c090 Author: gary Date: Thu May 8 09:13:44 2014 +0000 libiberty/ 2014-05-08 Gary Benson * cp-demangle.c (struct d_component_stack): New structure. (struct d_print_info): New field component_stack. (d_print_init): Initialize the above. (d_print_comp_inner): Renamed from d_print_comp. Do not restore template stack if it would cause a loop. (d_print_comp): New function. * testsuite/demangle-expected: New test cases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210205 138bc75d-0d04-0410-961f-82ee72b054a4 commit 3f48575af8379567edcc1d6f7fb25c14237cbf30 Author: jakub Date: Thu Apr 17 12:25:25 2014 +0000 PR sanitizer/56781 lto-plugin/ * Makefile.am (CFLAGS, LDFLAGS): Filter out -fsanitize=address. (liblto_plugin_la_LIBADD, liblto_plugin_la_LDFLAGS, liblto_plugin_la_DEPENDENCIES): Prefer ../libiberty/noasan/libiberty.a over ../libiberty/pic/libiberty.a if the former exists. * Makefile.in: Regenerated. libiberty/ * maint-tool: Also emit rule for noasan/ subdirectory. * configure.ac (NOASANFLAG): Set and substitute. * Makefile.in: Regenerated. (NOASANFLAG): Set. (all, $(TARGETLIB), mostlyclean): Handle noasan subdir like pic subdir. (stamp-noasandir): New goal. * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209476 138bc75d-0d04-0410-961f-82ee72b054a4 commit c3c3c691f2d56953d81a2a7da214623d8aef857c Author: rguenth Date: Tue Apr 1 07:45:48 2014 +0000 2014-04-01 Richard Biener libiberty/ * simple-object.c (simple_object_internal_write): Handle EINTR and short writes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208972 138bc75d-0d04-0410-961f-82ee72b054a4 commit 81ad11e32c40b9d53e578054e2885087f347c337 Author: rguenth Date: Fri Mar 28 14:05:49 2014 +0000 2014-03-28 Richard Biener libiberty/ * simple-object.c (simple_object_internal_read): Handle EINTR and short reads. lto-plugin/ * lto-plugin.c (process_symtab): Handle EINTR and short reads. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208898 138bc75d-0d04-0410-961f-82ee72b054a4 commit 201f096fea34784b34e9084bd18e30097c273c9b Author: jakub Date: Wed Mar 26 09:19:44 2014 +0000 PR sanitizer/56781 * Makefile.def: Set bootstrap=true; for host fixincludes. * configure.ac: Don't bootstrap host fixincludes unless --with-build-config=bootstrap-{a,ub}san. * Makefile.in: Regenerated. * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208842 138bc75d-0d04-0410-961f-82ee72b054a4 commit 730af8ee0203fc0061f0adbb501f8e773f738aab Author: jakub Date: Fri Mar 21 07:16:06 2014 +0000 * configure.ac: Move BUILD_CONFIG set up earlier. Add --enable-vtable-verify option parsing. Don't add target-libsanitizer to bootstrap_target_libs unless --with-build-config=bootstrap-asan or --with-build-config=bootstrap-ubsan. Don't add target-libvtv to bootstrap_target_libs unless --enable-vtable-verify. * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208745 138bc75d-0d04-0410-961f-82ee72b054a4 commit a2d010462ce99a4fc79fb19c31915f86fafeea43 Author: uros Date: Thu Mar 13 22:04:07 2014 +0000 * regex.c (bzero) [!_LIBC]: Cast the call to memcpy to (void). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208558 138bc75d-0d04-0410-961f-82ee72b054a4 commit 10fe779dd24e3809070b5b634214a9c7d8b11814 Author: uros Date: Thu Mar 13 18:34:47 2014 +0000 * regex.c (bzero) [!_LIBC]: Define without coma expression. (regerror): Cast the call to memcpy to (void) to avoid unused value warnings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208553 138bc75d-0d04-0410-961f-82ee72b054a4 commit abca8d871a6f8f4d7f9762133e1af637869da1bb Author: jakub Date: Fri Mar 7 12:58:27 2014 +0000 PR bootstrap/58572 * Makefile.tpl (POSTSTAGE1_CXX_EXPORT): Use -isystem instead of -I for libstdc++-v3 includes if $(LEAN). * Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208400 138bc75d-0d04-0410-961f-82ee72b054a4 commit 68d122bb0e4b298ce302c15e0cd1b574727c4f86 Author: walt Date: Mon Feb 24 15:08:00 2014 +0000 TILE-Gx big endian support. /: * configure.ac (tilepro-*-*) Change to tilepro*-*-*. (tilegx-*-*): Change to tilegx*-*-*. * configure: Regenerate. contrib/: * config-list.mk (LIST): Add tilegxbe-linux-gnu. libcpp/: * configure.ac: Change "tilepro" triplet to "tilepro*". * configure: Regenerate. libgcc/: * config.host: Support "tilegx*" and "tilepro*" triplets. * config/tilegx/sfp-machine32.h (__BYTE_ORDER): Handle big endian. * config/tilegx/sfp-machine64.h (__BYTE_ORDER): Handle big endian. gcc/: * config.gcc (tilepro-*-*): Change to tilepro*-*-*. (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe triplet. * common/config/tilegx/tilegx-common.c (TARGET_DEFAULT_TARGET_FLAGS): Define. * config/tilegx/linux.h (ASM_SPEC): Add endian_spec. (LINK_SPEC): Ditto. * config/tilegx/sync.md (atomic_test_and_set): Handle big endian. * config/tilegx/tilegx.c (tilegx_return_in_msb): New. (tilegx_gimplify_va_arg_expr): Handle big endian. (tilegx_expand_unaligned_load): Ditto. (tilegx_expand_unaligned_store): Ditto. (TARGET_RETURN_IN_MSB): New. * config/tilegx/tilegx.h (TARGET_DEFAULT): New. (TARGET_ENDIAN_DEFAULT): New. (TARGET_BIG_ENDIAN): Handle big endian. (BYTES_BIG_ENDIAN): Ditto. (WORDS_BIG_ENDIAN): Ditto. (FLOAT_WORDS_BIG_ENDIAN): Ditto. (ENDIAN_SPEC): New. (EXTRA_SPECS): New. * config/tilegx/tilegx.md (extv): Handle big endian. (extzv): Ditto. (insn_st): Ditto. (insn_st_add): Ditto. (insn_stnt): Ditto. (insn_stnt_add):Ditto. (vec_interleave_highv8qi): Handle big endian. (vec_interleave_highv8qi_be): New. (vec_interleave_highv8qi_le): New. (insn_v1int_h): Handle big endian. (vec_interleave_lowv8qi): Handle big endian. (vec_interleave_lowv8qi_be): New. (vec_interleave_lowv8qi_le): New. (insn_v1int_l): Handle big endian. (vec_interleave_highv4hi): Handle big endian. (vec_interleave_highv4hi_be): New. (vec_interleave_highv4hi_le): New. (insn_v2int_h): Handle big endian. (vec_interleave_lowv4hi): Handle big endian. (vec_interleave_lowv4hi_be): New. (vec_interleave_lowv4hi_le): New. (insn_v2int_l): Handle big endian. (vec_interleave_highv2si): Handle big endian. (vec_interleave_highv2si_be): New. (vec_interleave_highv2si_le): New. (insn_v4int_h): Handle big endian. (vec_interleave_lowv2si): Handle big endian. (vec_interleave_lowv2si_be): New. (vec_interleave_lowv2si_le): New. (insn_v4int_l): Handle big endian. * config/tilegx/tilegx.opt (mbig-endian): New option. (mlittle-endian): New option. * doc/install.texi: Document tilegxbe-linux. * doc/invoke.texi: Document -mbig-endian and -mlittle-endian. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208069 138bc75d-0d04-0410-961f-82ee72b054a4 commit 8458514f6aa55ed139c0d28c6822ef98bc9f3497 Author: tschwinge Date: Tue Jan 28 19:06:44 2014 +0000 Avoid "'dc' may be uninitialized" warning. libiberty/ * cp-demangle.c (d_demangle_callback): Put an abort call in place, to help the compiler. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207200 138bc75d-0d04-0410-961f-82ee72b054a4 commit a18138132bd35df3ebbcc6d39091c6e713892b53 Author: mpolacek Date: Thu Jan 23 19:04:29 2014 +0000 PR c/59871 c/ * c-typeck.c (build_compound_expr): Warn even for right-hand operand of a comma expression. (emit_side_effect_warnings): Likewise. libdecnumber/ * decNumberLocal.h (UBFROMUS, UBFROMUI): Remove last argument. testsuite/ * gcc.dg/20020220-2.c: Adjust dg-warning message. * gcc.dg/pr59871.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207002 138bc75d-0d04-0410-961f-82ee72b054a4 commit f989a1c8ec5d25586c937cc39948b032e07cf1c0 Author: Tom Tromey Date: Tue Apr 29 08:27:31 2014 -0600 rename "set debugvarobj" to "set debug varobj" I think "set debugvarobj" has the wrong name. It ought to be "set debug varobj", like gdb's other debug settings. This patch makes the change. I chose not to install deprecated aliases, since this is only a debug setting; but if someone feels strongly about it I will add them. Built and regtested on x86-64 Fedora 20. 2014-04-29 Tom Tromey * varobj.c (_initialize_varobj): Rename to "set debug varobj" and "show debug varobj". 2014-04-29 Tom Tromey * gdb.texinfo (Debugging Output): Rename to "set debug varobj" and "show debug varobj". commit 263b257428741e10dc4a127cc46c57379307f421 Author: mfortune Date: Wed May 7 22:37:00 2014 +0100 Implement CONVERT_SYMBOLIC_ATTRIBUTE for MIPS. gas/ * config/tc-mips.c (streq): Define. (mips_convert_symbolic_attribute): New function. * config/tc-mips.h (CONVERT_SYMBOLIC_ATTRIBUTE): Define. (mips_convert_symbolic_attribute): New prototype gas/testsuite/ * gas/mips/attr-gnu-abi-fp-1.s: New. * gas/mips/attr-gnu-abi-fp-1.d: New. * gas/mips/attr-gnu-abi-msa-1.s: New. * gas/mips/attr-gnu-abi-msa-1.d: New. * gas/mips/mips.exp: Add new tests. commit 68e0f6b16d6ce24c912affec6b049a5452c7df3e Author: Hans-Peter Nilsson Date: Thu May 8 12:47:52 2014 +0200 Add bfd/ChangeLog entry missing in commit. * mmo.c: Update URLs in documentation comments. commit 8969934d3180d80b4cb5da225e25379a880b5476 Author: Nick Clifton Date: Thu May 8 08:53:16 2014 +0100 Add support for emulating the MSP430 hardware multiply feature. * msp430-sim.c (sim_open): Do not allocate memory over the hardware multiply registers. (get_op): Add support for reads from the hardware multiply registers. (put_op): Add support for writes to the hardware multiply registers. (msp430_step_once): Add support for the RETI instruction used by the CPUX architecture. commit 999b995ddc4a8a2f146ebf9a46c9924c6a7c65a6 Author: Stefan Kristiansson Date: Thu May 8 08:53:09 2014 +0300 or1k: add support for l.swa/l.lwa atomic instructions This adds support for the load-link/store-conditional l.lwa/l.swa atomic instructions. The support is added in such way, that the cpu description not only describes the mnemonics, but also the functionality. A couple of fixes to typos in nearby/related code are also snuck into this. cpu/ * or1korbis.cpu (h-atomic-reserve): New hardware. (h-atomic-address): Likewise. (insn-opcode): Add opcodes for LWA and SWA. (atomic-reserve): New operand. (atomic-address): Likewise. (l-lwa, l-swa): New instructions. (l-lbs): Fix typo in comment. (store-insn): Clear atomic reserve on store to atomic-address. Fix register names in fmt field. opcodes/ * or1k-desc.c: Regenerated. * or1k-desc.h: Likewise. * or1k-opc.c: Likewise. * or1k-opc.h: Likewise. * or1k-opinst.c: Likewise. commit efefdd63628d540f3ad513b2bb2036dfc53f00a8 Author: Alan Modra Date: Thu May 8 09:30:41 2014 +0930 daily update commit 52f4ea798a490e414112e3caf1e0f93abfe2e48c Author: Hans-Peter Nilsson Date: Thu May 8 00:48:19 2014 +0200 mmo.c: Update URLs in documentation comments. commit 1058c7532d0b012ac329219264ddad59049fb6e6 Author: Volodymyr Arbatov Date: Mon May 6 09:43:21 2013 -0800 Use signed data type for R_XTENSA_DIFF* relocation offsets. R_XTENSA_DIFF relocation offsets are in fact signed. Treat them as such. Add testcase that examines ld behaviour on R_XTENSA_DIFF relocation changing sign during relaxation. 2014-05-02 Volodymyr Arbatov David Weatherford Max Filippov bfd/ * elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as signed. gas/ * config/tc-xtensa.c (md_apply_fix): mark BFD_RELOC_XTENSA_DIFF* fixups as signed. ld/testsuite/ * ld-xtensa/diff_overflow.exp, * ld-xtensa/diff_overflow1.s, * ld-xtensa/diff_overflow2.s: Add test for DIFF* relocation signedness and overflow checking. commit e59bc75b6546db04b0f3e1d760567f83ffc801f3 Author: Andreas Tobler Date: Wed May 7 22:52:51 2014 +0200 Add proper arm config for *-*-freebsd*. commit 9404b58f46328b3b171b0d5eeb0691bd685bc4f5 Author: Kyle McMartin Date: Wed Apr 30 12:04:50 2014 -0400 aarch64: detect atomic sequences like other ll/sc architectures gdb/Changelog: * aarch64-tdep.c (aarch64_software_single_step): New function. (aarch64_gdbarch_init): Handle single stepping of atomic sequences with aarch64_software_single_step. gdb/testsuite/ChangeLog: * gdb.arch/aarch64-atomic-inst.c: New file. * gdb.arch/aarch64-atomic-inst.exp: New file. commit ae52f4830604b4b82bcbe6ad52208d5efcea2f82 Author: Andrew Bennett Date: Fri May 2 14:12:48 2014 +0100 Add MIPS r3 and r5 support. This patch firstly adds support for mips32r3 mips32r5, mips64r3 and mips64r5. Secondly it adds support for the eretnc instruction. ChangeLog: bfd/ * aoutx.h (NAME (aout, machine_type)): Add mips32r3, mips64r3, mips32r5 and mips64r5. * archures.c (bfd_architecture): Likewise. * bfd-in2.h (bfd_architecture): Likewise. * cpu-mips.c (arch_info_struct): Likewise. * elfxx-mips.c (mips_set_isa_flags): Likewise. gas/ * tc-mips.c (ISA_SUPPORTS_MIPS16E): Add mips32r3, mips32r5, mips64r3 and mips64r5. (ISA_HAS_64BIT_FPRS): Likewise. (ISA_HAS_ROR): Likewise. (ISA_HAS_ODD_SINGLE_FPR): Likewise. (ISA_HAS_MXHC1): Likewise. (hilo_interlocks): Likewise. (md_longopts): Likewise. (ISA_HAS_64BIT_REGS): Add mips64r3 and mips64r5. (ISA_HAS_DROR): Likewise. (options): Add OPTION_MIPS32R3, OPTION_MIPS32R5, OPTION_MIPS64R3, and OPTION_MIPS64R5. (mips_isa_rev): Add support for mips32r3, mips32r5, mips64r3 and mips64r5. (md_parse_option): Likewise. (s_mipsset): Likewise. (mips_cpu_info_table): Add entries for mips32r3, mips32r5, mips64r3 and mips64r5. Also change p5600 entry to be mips32r5. * configure.in: Add support for mips32r3, mips32r5, mips64r3 and mips64r5. * configure: Regenerate. * doc/c-mips.texi: Document the -mips32r3, -mips32r5, -mips64r3 and -mips64r5 command line options. * doc/as.texinfo: Likewise. gas/testsuite/ * gas/mips/mips.exp: Add MIPS32r5 tests. Also add the mips32r3, mips32r5, mips64r3 and mips64r5 isas to the testsuite. * gas/mips/r5.s: New test. * gas/mips/r5.d: Likewise. include/opcode/ * mips.h (INSN_ISA_MASK): Updated. (INSN_ISA32R3): New define. (INSN_ISA32R5): New define. (INSN_ISA64R3): New define. (INSN_ISA64R5): New define. (INSN_ISA64, INSN_ISA64R2, INSN_ISA3_32, INSN_ISA3_32R2, INSN_ISA4_32 INSN_ISA4_32R2, INSN_ISA5_32R2): Renumbered. (mips_isa_table): Add entries for mips32r3, mips32r5, mips64r3 and mips64r5. (INSN_UPTO32R3): New define. (INSN_UPTO32R5): New define. (INSN_UPTO64R3): New define. (INSN_UPTO64R5): New define. (ISA_MIPS32R3): New define. (ISA_MIPS32R5): New define. (ISA_MIPS64R3): New define. (ISA_MIPS64R5): New define. (CPU_MIPS32R3): New define. (CPU_MIPS32R5): New define. (CPU_MIPS64R3): New define. (CPU_MIPS64R5): New define. opcodes/ * mips-opc.c (mips_builtin_opcodes): Add MIPS32r5 eretnc instruction. (I34): New define. (I36): New define. (I66): New define. (I68): New define. * mips-dis.c (mips_arch_choices): Add mips32r3, mips32r5, mips64r3 and mips64r5. (parse_mips_dis_option): Update MSA and virtualization support to allow mips64r3 and mips64r5. commit f7730599d8876775726866275d5ce392c2669e9e Author: Andrew Bennett Date: Tue May 6 15:43:13 2014 +0100 Fix an issue with "Rearrange MIPS INSN* masks" patch. This fixes an issue with Mark Shinwell's "Rearrange MIPS INSN* masks" patch (https://sourceware.org/ml/binutils/2007-11/msg00231.html). In the patch the pref instruction had its membership flags changed from I4|I32|G3 to I4_32|G3. Unfortunately G3 was defined as being I4, which made the actual expanded flags as: I4|I32|I4 and therefore the membership flags should have been I4_32. Since the patch was committed G3 was redefined to be I4|EE. This fix just removes I4 from G3 making the expanded membership flags for pref as I4_32|EE. ChangeLog: opcodes/ * mips-opc.c (G3): Remove I4. commit 5e45f04cf3408e662c460a23a3722fedfb03391a Author: Yao Qi Date: Tue May 6 21:47:36 2014 +0800 Relax the pattern in dwzbuildid.exp Hi, I recently see the fail in dwzbuildid.exp below on some targets, (gdb) print the_int No symbol "the_int" in current context. (gdb) FAIL: gdb.dwarf2/dwzbuildid.exp: mismatch: print the_int Looks the pattern expects to see "No symbol table is loaded", which is emitted in c-exp.y, variable: name_not_typename .... if (msymbol.minsym != NULL) write_exp_msymbol (pstate, msymbol); else if (!have_full_symbols () && !have_partial_symbols ()) error (_("No symbol table is loaded. Use the \"file\" command.")); else error (_("No symbol \"%s\" in current context."), copy_name ($1.stoken)); it is expected to have no full symbols nor partial symbols, but something brings full symbols or partial symbols in. I added "maint info symtabs" and "maint info psymtabs" in dwzbuildid.exp, and it shows symbols are from ld.so, which has debug information. Then, I reproduce the fail like this, $ make check RUNTESTFLAGS="CFLAGS_FOR_TARGET='-Wl,-rpath=${glibc_build}:${glibc_build}/math -Wl,--dynamic-linker=${glibc_build}/elf/ld.so' dwzbuildid.exp" ${glibc_build} is the glibc build tree. Debug information is not striped, so the test fail. However, if I strip debug information from libc.so, libm.so and ld.so. The test passes. This patch is to relax the pattern to match the both cases that glibc build has and has not debug information. gdb/testsuite: 2014-05-07 Yao Qi * gdb.dwarf2/dwzbuildid.exp: Match output "No symbol "the_int" in current context" too. commit 1144861e0849fb67a8233d5a180f8ddae5e3f8a0 Author: Alan Modra Date: Wed May 7 09:30:55 2014 +0930 daily update commit 57b2284c6318841612acef23c60fe7298a1ac91a Author: Cary Coutant Date: Tue May 6 11:40:04 2014 -0700 Fix issue where first reserved word of GOT is not initialized if there is no PLT. gold/ PR gold/16900 * i386.cc (Output_data_got_plt_i386): New class. (Output_data_plt_i386::Output_data_plt_i386): Change type of got_plt parameter. Change all callers. (Output_data_plt_i386::layout_): Remove. (Output_data_plt_i386::got_plt_): Change type. (Target_i386::got_plt_): Change type. Change all references. (Target_i386::got_section): Create instance of new class. (Output_data_got_plt_i386::do_write): New function. * x86_64.cc (Output_data_got_plt_x86_64): New class. (Output_data_plt_x86_64::Output_data_plt_x86_64): Change type of got_plt parameter. Change all callers. (Output_data_plt_x86_64::layout_): Remove. (Output_data_plt_x86_64::got_plt_): Change type. (Target_x86_64::got_plt_): Change type. Change all references. (Target_x86_64::got_section): Create instance of new class. (Output_data_got_plt_x86_64::do_write): New function. (Output_data_plt_x86_64::do_write): Don't write reserved words in GOT. (Target_x86_64::init_got_plt_for_update): Create instance of new class. commit 757a636fb585824699b1cc4f8f23dbc3a6a6d914 Author: Richard Sandiford Date: Tue May 6 20:13:03 2014 +0100 bfd/ * elfxx-mips.h (elfxx-mips.h): Declare. * elfxx-mips.c (mips_elf_merge_obj_attributes): Use it to report Tag_GNU_MIPS_ABI_FP mismatches. (_bfd_mips_fp_abi_string): New function. commit 5e824b358f831b0cc4352ed6a3079c6f540fc107 Author: Alan Modra Date: Tue May 6 09:30:39 2014 +0930 daily update commit 6b97515d17b48e92f61d53fd5f2e8b092660ba52 Author: Cary Coutant Date: Fri May 2 13:37:32 2014 -0700 Don't complain about the source language when we have pubnames/pubtypes info. gold/ * gdb-index.cc (Gdb_index_info_reader): Don't complain about language if we have pubnames/pubtypes. commit 5e49ba5736ccaabaa3f11e9db491ca3554bf2a5b Author: Joel Brobecker Date: Mon May 5 15:03:06 2014 -0700 Document the GDB 7.7.1 release in gdb/ChangeLog gdb/ChangeLog: GDB 7.7.1 released. commit 285ca99246160d12a3173076a661b6c524338baf Author: H.J. Lu Date: Fri May 2 11:22:04 2014 -0700 Properly handle multiple opcode prefixes This patch updates multiple opcode prefix processing: 1. Always print prefix together with bad opcode. 2. Since the last seen segment register prefix is active, we only print the active segment register in the memory operand. 3. The 0xf2 and 0xf3 prefixes take precedence over the 0x66 prefix as the opcode prefix. Also the last of the 0xf2 and 0xf3 prefixes wins. 4. Ignore invalid 0xf2/0xf3 prefixes if they aren't mandatory. gas/testsuite/ PR binutils/16893 * gas/i386/katmai.d: Expect "gs" as prefix. * gas/i386/long-1.s: Replace movapd with movss. * gas/i386/x86-64-long-1.s: Likewise. * gas/i386/long-1-intel.d: Updated. * gas/i386/long-1.d: Likewise. * gas/i386/x86-64-long-1-intel.d: Likewise. * gas/i386/x86-64-long-1.d: Likewise. * gas/i386/prefix.s: Add tests for multiple 0x66, 0x67, 0xf0, 0xf2 and 0xf3 prefixes. * gas/i386/prefix.d: Updated. opcodes/ PR binutils/16893 * i386-dis.c (twobyte_has_mandatory_prefix): New variable. (end_codep): Likewise. (mandatory_prefix): Likewise. (active_seg_prefix): Likewise. (ckprefix): Set active_seg_prefix to the active segment register prefix. (seg_prefix): Removed. (get_valid_dis386): Use the last of PREFIX_REPNZ and PREFIX_REPZ for prefix index. Ignore the index if it is invalid and the mandatory prefix isn't required. (print_insn): Set mandatory_prefix if the PREFIX_XXX prefix is mandatory. Don't set PREFIX_REPZ/PREFIX_REPNZ/PREFIX_LOCK bits in used_prefixes here. Don't print unused prefixes. Check active_seg_prefix for the active segment register prefix. Restore the DFLAG bit in sizeflag if the data size prefix is unused. Check the unused mandatory PREFIX_XXX prefixes (append_seg): Only print the segment register which gets used. (OP_E_memory): Check active_seg_prefix for the segment register prefix. (OP_OFF): Likewise. (OP_OFF64): Likewise. (OP_DSreg): Set active_seg_prefix to PREFIX_DS if it is unset. commit c888a17da5c7b06eec4b1ed21e4afe84f9a41347 Author: Keith Seitz Date: Mon May 5 13:43:31 2014 -0700 Fix a dangling cleanup in linspec_parse_basic. 2014-05-05 Keith Seitz * linespec.c (linespec_parse_basic): Run cleanups if a convenience variable or history value is successfully parsed. 2014-05-05 Keith Seitz * gdb.linespec/ls-dollar.exp: Add test for linespec file:convenience_variable. commit 290a839c9ab3d33d2a1b42431154b65624a81b0a Author: Yao Qi Date: Sat Apr 26 10:14:52 2014 +0800 Partially available/unavailable data in requested range In gdb.trace/unavailable.exp, an action is defined to collect struct_b.struct_a.array[2] and struct_b.struct_a.array[100], struct StructB { int d, ef; StructA struct_a; int s:1; static StructA static_struct_a; const char *string; }; and the other files are not collected. When GDB examine traceframe collected by the action, "struct_b" is unavailable completely, which is wrong. (gdb) p struct_b $1 = When GDB reads 'struct_b', it will request to read memory at struct_b's address of length LEN. Since struct_b.d is not collected, no 'M' block includes the first part of the desired range, so tfile_xfer_partial returns TARGET_XFER_UNAVAILABLE and GDB thinks the whole requested range is unavailable. In order to fix this problem, in the iteration to 'M' blocks, we record the lowest address of blocks within the request range. If it has, the requested range isn't unavailable completely. This applies to ctf too. With this patch applied, the result looks good and fails in unavailable.exp is fixed. (gdb) p struct_b $1 = {d = , ef = , struct_a = {a = , b = , array = {, , -1431655766, , -1431655766, }, ptr = , bitfield = }, s = , static static_struct_a = {a = , b = , array = { }, ptr = , bitfield = }, string = } gdb: 2014-05-05 Yao Qi Pedro Alves * tracefile-tfile.c (tfile_xfer_partial): Record the lowest address of blocks that intersects the requested range. Trim LEN up to LOW_ADDR_AVAILABLE if read from executable read-only sections. * ctf.c (ctf_xfer_partial): Likewise. gdb/testsuite: 2014-05-05 Yao Qi * gdb.trace/unavailable.exp (gdb_collect_args_test): Save traceframes into tfile and ctf trace files. Read data from trace file and test collected data. (gdb_collect_locals_test): Likewise. (gdb_unavailable_registers_test): Likewise. (gdb_unavailable_floats): Likewise. (gdb_collect_globals_test): Likewise. (top-level): Append "ctf" to trace_file_targets if GDB supports. commit 91256dc2fb82e6f68dce9b577e26cd89695b6c21 Author: Yao Qi Date: Sat Apr 26 08:47:33 2014 +0800 Show new created display When I run refactored unavailable.exp, I find command display behaves a little different on live inferior and on examining traceframes. In live inferior, when command "display argc" is typed, the value of "argc" is shown. (gdb) display argc 1: argc = 1 '\001' however, on tfile target, when command "display argc" is typed, the value of "argc" is not shown. (gdb) tfind Found trace frame 0, tracepoint 1 at ../../../../git/gdb/testsuite/gdb.trace/unavailable.cc:198 198 i = (int) argc + argi + argf + argd + argstruct.memberi + argarray[1]; (gdb) display argc I also notice that on "core" target, the value of "argc" isn't shown either. This difference is caused by the code below in printcmd.c:display_command, if (from_tty && target_has_execution) do_one_display (new); Looks the value of each display is shown if the target has execution. Source code archaeology doesn't tell much about this requirement. However, if we type command "display" then on "core" or "tfile" target, the value of "argc" is still displayed, for "core" target, (gdb) display argc (gdb) display 1: argc = 1 '\001' for "tfile" target, (gdb) display argc (gdb) display 1: argc = I feel that it is not necessary to have such "target has execution" requirement to show the value of new created display. Auto-display is a feature to show the value of expression frequently, has nothing to do with whether target has execution or not. On the other hand, GDB has the requirement for new created display, but command "display" can still show them, this is an inconsistency, which should be fixed. This patch is to remove the checking to target_has_execution from the condition. gdb: 2014-05-05 Yao Qi * printcmd.c (display_command): Remove the check to target_has_execution. commit b5262cd094e73112fb86297df9052ff0560f68a4 Author: Yao Qi Date: Fri Apr 25 16:18:52 2014 +0800 Move traceframe checking out of traceframe generation This patch moves traceframe checking code out of traceframe generation, so that we can generation traceframe once, and do the checking in multiple times (with target remote, tfile and ctf respectively). This is a pure refactor, not functional changes in unavailable.exp. gdb/testsuite: 2014-05-05 Yao Qi * gdb.trace/unavailable.exp (gdb_collect_args_test): Move some code to ... (gdb_collect_args_test_1): ... it. New proc. (gdb_collect_locals_test): Move some code to ... (gdb_collect_locals_test_1): ... it. New proc. (gdb_unavailable_registers_test): Move some code to ... (gdb_unavailable_registers_test_1): ... it. New proc. (gdb_unavailable_floats): Move some code to ... (gdb_unavailable_floats_1): ... it. New proc. commit 74183dabc3e3c253f171e6765a8753709005b44b Author: Alan Modra Date: Mon May 5 09:30:36 2014 +0930 daily update commit 5c1a8bf5167c14550a3699243283a010a0651123 Author: Alan Modra Date: Sun May 4 09:30:37 2014 +0930 daily update commit 6ddd353ce073cb5ed6baedfb809bfb427342e7cd Author: Mark Kettenis Date: Sat May 3 22:43:16 2014 +0200 Git sucks! commit 07284463de87545ab155200c83cbeb05db575b2b Author: Mark Kettenis Date: Sat May 3 22:36:44 2014 +0200 Enable rthreads support on OpenBSD/powerpc. gdb/ChangeLog: * ppcobsd-nat.c: Include "obsd-nat.h". (_initialize_ppcobsd_nat): Call obsd_add_target instead of add_target. * config/powerpc/obsd.mh (NATDEPFILES): Add obsd-nat.o. commit 19a170752bec78784b737789c1bdab8e7ab82a71 Author: Alan Modra Date: Sat May 3 09:30:42 2014 +0930 daily update commit d1bddd3c4b9c17736bf6c59aa336670a589ca844 Author: Cary Coutant Date: Wed Apr 2 14:21:14 2014 -0700 Fix handling of __ehdr_start when it cannot be defined. 2014-05-02 Cary Coutant * defstd.cc (in_segment): Define __ehdr_start here... * layout.cc (Layout::finalize): ...Instead of here. Set the output segment when known. * resolve.cc (Symbol::override_base_with_special): Remember the original binding. * symtab.cc (Symbol::set_output_segment): New function. (Symbol::set_undefined): New function. * symtab.h (Symbol::is_weak_undefined): Check original undef binding. (Symbol::is_strong_undefined): New function. (Symbol::set_output_segment): New function. (Symbol::set_undefined): New function. * target-reloc.h (is_strong_undefined): Remove. (issue_undefined_symbol_error): Call Symbol::is_weak_undefined. Check for hidden undefs. (relocate_section): Call Symbol::is_strong_undefined. * testsuite/Makefile.am (ehdr_start_test_1) (ehdr_start_test_2, ehdr_start_test_3) (ehdr_start_test_4, ehdr_start_test_5): New test cases. * testsuite/Makefile.in: Regenerate. * testsuite/ehdr_start_def.cc: New source file. * testsuite/ehdr_start_test.cc: New source file. * testsuite/ehdr_start_test.t: New linker script. * testsuite/ehdr_start_test_4.sh: New shell script. commit 30a1e6cc7750ce016ea70afa795c0764d07d21ae Author: Sergio Durigan Junior Date: Fri May 2 17:50:45 2014 -0300 Extend recognized types of SDT probe's arguments This commit is actually an update to make the parser in gdb/stap-probe.c be aware of all the possible prefixes that a probe argument can have. According to the section "Argument Format" in: The bitness of the arguments can be 8, 16, 32 or 64 bits, signed or unsigned. Currently GDB recognizes only 32 and 64-bit arguments. This commit extends this. It also provides a testcase, only for x86_64 systems. gdb/ 2014-05-02 Sergio Durigan Junior * stap-probe.c (enum stap_arg_bitness): New enums to represent 8 and 16-bit signed and unsigned arguments. Update comment. (stap_parse_probe_arguments): Extend code to handle such arguments. Use warning instead of complaint to notify about unrecognized bitness. gdb/testsuite/ 2014-05-02 Sergio Durigan Junior * gdb.arch/amd64-stap-optional-prefix.S (main): Add several probes to test for bitness recognition. * gdb.arch/amd64-stap-optional-prefix.exp (test_probe_value_without_reg): New procedure. Add code to test for different kinds of bitness. commit f33da99a5410692ddf1302435e27b1bfc21d0b11 Author: Sergio Durigan Junior Date: Fri May 2 17:45:35 2014 -0300 Fix PR breakpoints/16889: gdb segfaults when printing ASM SDT arguments This commit fixes PR breakpoints/16889, which is about a bug that triggers when GDB tries to parse probes whose arguments do not contain the initial (and optional) "N@" part. For reference sake, the de facto format is described here: Anyway, this PR actually uncovered two bugs (related) that were happening while parsing the arguments. The first one was that the parser *was* catching *some* arguments that were missing the "N@" part, but it wasn't correctly setting the argument's type. This was causing a NULL pointer being dereferenced, ouch... The second bug uncovered was that the parser was not catching all of the cases for a probe which did not provide the "N@" part. The fix for that was to simplify the check that the code was making to identify non-prefixed probes. The code is simpler and easier to read now. I am also providing a testcase for this bug, only for x86_64 architectures. gdb/ 2014-05-02 Sergio Durigan Junior PR breakpoints/16889 * stap-probe.c (stap_parse_probe_arguments): Simplify check for non-prefixed probes (i.e., probes whose arguments do not start with "N@"). Always set the argument type to a sane value. gdb/testsuite/ 2014-05-02 Sergio Durigan Junior PR breakpoints/16889 * gdb.arch/amd64-stap-optional-prefix.S: New file. * gdb.arch/amd64-stap-optional-prefix.exp: Likewise. commit 54cb4522e7555fdf766201c3c74bfc8510c83424 Author: H.J. Lu Date: Fri May 2 08:39:09 2014 -0700 Move fwait test with prefix to prefix.s * gas/i386/opcode-intel.d: Undo the last change. * gas/i386/opcode-suffix.d: Likewise. * gas/i386/opcode.d: Likewise. * gas/i386/opcode.s: Likewise. * gas/i386/prefix.s: Add test for fwait with prefix. * gas/i386/prefix.d: Updated. commit 8df14d78dc753a5286bb6461a14d8baa1e13e3cd Author: H.J. Lu Date: Fri May 2 08:27:16 2014 -0700 Use sigsetjmp/siglongjmp in opcodes sigsetjmp/siglongjmp without saving the signal mask is faster than setjmp/longjmp on systems where the signal mask is saved. This patch uses sigsetjmp/siglongjmp without saving the signal mask if possible. PR binutils/16886 * config.in: Regenerated. * configure: Likewise. * configure.in: Check if sigsetjmp is available. * h8500-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF. (fetch_data): Replace longjmp with OPCODES_SIGLONGJMP. (print_insn_h8500): Replace setjmp with OPCODES_SIGSETJMP. * i386-dis.c (dis_private): Replace jmp_buf with OPCODES_SIGJMP_BUF. (fetch_data): Replace longjmp with OPCODES_SIGLONGJMP. (print_insn): Replace setjmp with OPCODES_SIGSETJMP. * ns32k-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF. (fetch_data): Replace longjmp with OPCODES_SIGLONGJMP. (print_insn_ns32k): Replace setjmp with OPCODES_SIGSETJMP. * sysdep.h (OPCODES_SIGJMP_BUF): New macro. (OPCODES_SIGSETJMP): Likewise. (OPCODES_SIGLONGJMP): Likewise. * vax-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF. (fetch_data): Replace longjmp with OPCODES_SIGLONGJMP. (print_insn_vax): Replace setjmp with OPCODES_SIGSETJMP. * xtensa-dis.c (dis_private): Replace jmp_buf with OPCODES_SIGJMP_BUF. (fetch_data): Replace longjmp with OPCODES_SIGLONGJMP. (print_insn_xtensa): Replace setjmp with OPCODES_SIGSETJMP. * z8k-dis.c(instr_data_s): Replace jmp_buf with OPCODES_SIGJMP_BUF. (fetch_data): Replace longjmp with OPCODES_SIGLONGJMP. (print_insn_z8k): Replace setjmp with OPCODES_SIGSETJMP. commit 2f67d686330300d4d27ff99ec47a970d744df8bb Author: Alan Modra Date: Fri May 2 20:11:49 2014 +0930 Sort target vectors to suit renaming * targets.c: Sort bfd_target vectors somewhat alphabetically. * configure.in: Likewise. * configure: Regenerate. commit 6d00b590316c0b08de21a264893b0fd627c54686 Author: Alan Modra Date: Fri May 2 20:09:40 2014 +0930 bfd target vector rationalisation This renames the bfd targets to ____vec. So for example, bfd_elf32_ntradlittlemips_vec becomes mips_elf32_ntrad_le_vec and hp300bsd_vec becomes m68k_aout_hp300bsd_vec. bfd/ * aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c, * aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c, * cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c, * coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c, * coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c, * coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c, * coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c, * coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c, * coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c, * coff64-rs6000.c, * config.bfd, * configure.com, * configure.in, * demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c, * elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c, * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c, * elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c, * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c, * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c, * elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c, * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c, * elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c, * elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c, * elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c, * elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, * epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c, * hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c, * i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c, * i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c, * irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c, * m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c, * makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c, * nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c, * ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c, * pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c, * pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c, * pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c, * pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c, * sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c, * sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c, * vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c, * vms-alpha.c, * vms-lib.c: Rename bfd targets to ____vec. Adjust associated MY macros on aout targets. * configure: Regenerate. binutils/ * emul_aix.c: Update bfd target vector naming. * testsuite/binutils-all/objcopy.exp: Likewise. ld/ * emultempl/metagelf.em: Update bfd target vector naming. * emultempl/nios2elf.em: Likewise. * emultempl/spuelf.em: Likewise. * emultempl/tic6xdsbt.em: Likewise. commit 4e60800159eab4b73ff263595986d5ae4eaf7413 Author: Alan Modra Date: Fri May 2 09:30:38 2014 +0930 daily update commit 5b80f00d51b4eb40cb142a633bd657b84aca33eb Author: Pedro Alves Date: Fri May 2 00:59:31 2014 +0100 gdb_load: Fix latent bugs In a test I was writting, I needed a procedure that would connect to the target, and do "load", or equivalent. Years ago, boards would override gdb_load to implement that. Then gdb_reload was added, and gdb_load was relaxed to allow boards avoid the spawing and connecting to the target. This sped up gdbserver testing. See https://www.sourceware.org/ml/gdb-patches/2007-02/msg00318.html. To actually spawn the target and load the executable on the target side, gdb_reload was born: # gdb_reload -- load a file into the target. Called before "running", # either the first time or after already starting the program once, # for remote targets. Most files that override gdb_load should now # override this instead. proc gdb_reload { } { # For the benefit of existing configurations, default to gdb_load. # Specifying no file defaults to the executable currently being # debugged. return [gdb_load ""] } Note the comment about specifying no file. Indeed looking at config/sid.exp, or config/monitor.exp, we see examples of that. However, the default gdb_load itself doesn't handle the case of no file specified. When passed no file, it just calls gdb_file_cmd with no file either, which ends up invocing the "file" command with no argument, which means unloading the file and its symbols... That means calling gdb_reload when testing against native targets is broken. We don't see that today because the only call to gdb_reload that exists today is guarded by target_info exists gdb,do_reload_on_run. The native-extended-gdbserver.exp board is likewise broken here. When [gdb_load ""] is called, the board sets the remote exec-file to "" ... Tested on x86_64 Fedora 17, native, remote gdbserver and extended-remote gdbserver. testsuite/ 2014-05-01 Pedro Alves * lib/gdb.exp (gdb_load): Extend comment. Skip calling gdb_file_cmd if no file is specified. * boards/native-extended-gdbserver.exp (gdb_load): Use the last_loaded_file to set the remote exec-file. commit b46fa76826669b1496cac329d132485ede779d85 Author: Hans-Peter Nilsson Date: Fri May 2 00:31:58 2014 +0200 ld/testsuite: * ld-mmix/sec-11.d, ld-mmix/sec-11.ld, ld-mmix/sec-10.s, ld-mmix/sec-10.d, ld-mmix/b-offlocmis.s, ld-mmix/sec-12.d: New tests. * ld-mmix/b-offloc.s: Correct address in comment. commit 1218d67db11b6a1aceeb477855047f70d4856854 Author: Hans-Peter Nilsson Date: Fri May 2 00:30:42 2014 +0200 * mmo.c (mmo File layout documentation): Add note about low bits of address. (mmo_write_chunk): When handling data remainder, assert that previous remaining data is flushed. (mmo_write_loc_chunk): Only look for trailing and leading zeros when dealing with an aligned VMA and for aligned lengths. Don't skip the last 32-bit-word of zeros. (mmo_write_loc_chunk): Emit an error if the VMA is not aligned. (mmo_scan) : Move re-alignment of vma before emitting data, not after updating it. : Call mmo_decide_section with aligned vma. commit 39d1b2aef3c1dbbf31d82e555624afcbda9d58e7 Author: Richard Sandiford Date: Thu May 1 21:49:01 2014 +0100 * config.sub, config.guess: Import from upstream. commit 3efe9ec51e506c4428906a18e88e664576fb715e Author: Richard Sandiford Date: Thu May 1 21:39:48 2014 +0100 include/opcode/ * mips.h (mips_isa_table): Avoid hard-coding INSN_ISA* values. commit 95cf3b38cd2fae4a53c8ff12bef21b2ae3fdd0cb Author: David Taylor Date: Thu May 1 18:09:43 2014 +0100 compare-sections: New -r option. When connecting to a remote system, we use the compare-sections command to verify that the box is running the code that we think it is running. Since the system is up and running and *NOT* 'freshly downloaded without yet executing anything', read-write sections, of course, differ from what they were in the executable file. Comparing read-write sections takes time and more importantly the MIS-MATCHED output is confusing to some users. The compare-sections command compares all loadable sections including read-write sections. This patch gives the user the option to compare just the loadable read-only sections. gdb/ 2014-05-01 David Taylor * remote.c (compare_sections_command): Add -r option to compare all loadable read-only sections. gdb/doc/ 2014-05-01 David Taylor * gdb.texinfo (compare-sections): Document the new -r (read-only) option. commit 86a80a50f2cb244e6b9ec18b93675972baa50d78 Author: H.J. Lu Date: Thu May 1 09:39:51 2014 -0700 Handle prefixes before fwait 0x9b (fwait) is both an instruction and an opcode prefix. When 0x9b is treated as an instruction, we need to handle any prefixes before it. This patch handles it properly. gas/testsuite/ PR binutils/16891 * gas/i386/opcode.s: Add test for fwait with prefix. * gas/i386/opcode-intel.d: Updated. * gas/i386/opcode-suffix.d: Likewise. * gas/i386/opcode.d: Likewise. opcodes/ PR binutils/16891 * i386-dis.c (print_insn): Handle prefixes before fwait. commit f8c2a73c881913a25c1cb5be766516a75588c7ab Author: Pedro Alves Date: Thu May 1 17:25:52 2014 +0100 New testsuite/boards/local-remote-host.exp board, now with editing on This adds a variant of local-remote-host-notty.exp that forces pseudo-tty allocation, so that readline/editing is enabled. $ ssh localhost gdb -q (gdb) show editing Editing of command lines as they are typed is off. (gdb) vs: $ ssh -t localhost gdb -q (gdb) show editing Editing of command lines as they are typed is on. We now get, e.g.: Running ../../../src/gdb/testsuite/gdb.base/filesym.exp ... PASS: gdb.base/filesym.exp: complete on "filesy" PASS: gdb.base/filesym.exp: completion list for "filesym" PASS: gdb.base/filesym.exp: set breakpoint at filesym gdb/testsuite/ 2014-05-01 Pedro Alves * boards/local-remote-host.exp: New file. commit be6e8ac7441c51348adfcfe495c6dff59a38ed19 Author: Pedro Alves Date: Thu May 1 17:25:51 2014 +0100 Rename testsuite/boards/local-remote-host.exp -> testsuite/boards/local-remote-host-notty.exp When testing with this board, stdin is not a tty, and so readline/editing is disabled: $ ssh localhost gdb -q (gdb) show editing Editing of command lines as they are typed is off. (gdb) Rename the file, to make room for a version of this board that forces a pseudo-tty. gdb/testsuite/ 2014-05-01 Pedro Alves * boards/local-remote-host.exp: Rename to ... * boards/local-remote-host-notty.exp: ... this. commit 65bab56b9b708e0af46d3beeff6276dafd78c993 Author: Steve Ellcey Date: Thu May 1 09:09:33 2014 -0700 2014-05-01 Steve Ellcey * include/longlong.h: Import latest version from GCC tree. commit a4526a9a95f4885aa52d5fdc4b3e21490cc6a8f7 Author: Alan Modra Date: Thu May 1 09:30:38 2014 +0930 daily update commit a953eec996f2f93914cc78d68d4478a2660432b6 Author: Nick Clifton Date: Wed Apr 30 17:04:04 2014 +0100 Fixes a problem with the BFD library running out of memory because it mistakenly thought that an uncompressed .debug_str section was compressed. * compress.c (bfd_is_section_compressed): When checking the .debug_str section, also check the fifth byte in the section is not part of a string. * binutils-all/debug_str.s: New test. * binutils-all/debug_str.d: New test control file. * binutils-all/compress.exp: Run debug_str test. commit 1cfdf5340af6f07bb44b97c278f7036ef8db5c43 Author: Siva Chandra Date: Tue Apr 29 05:27:14 2014 -0700 Remove unused arguments to few functions in dwarf2loc.c and gdbtypes.c. gdb/ChangeLog: * dwarf2loc.c (dwarf2_locexpr_baton_eval, dwarf2_evaluate_property): Remove unused CORE_ADDR argument. Update all callers. * dwarf2loc.h (dwarf2_evaluate_property): Update signature. * gdbtypes.c (resolve_dynamic_range, resolve_dynamic_array): Remove unused CORE_ADDR argument. Update all callers. commit 5087d529319fc6d5985032183c138dd715d707b3 Author: Alan Modra Date: Wed Apr 30 10:11:56 2014 +0930 Don't use vma to identify eh_frame personality function This is all we should need to be able to run the eh_frame parts of bfd_elf_discard_info before bfd_elf_size_dynamic_sections * elf-eh-frame.c (struct cie.personality): Replace val with sym. (find_merged_cie): Identify personality functions by (bfd_id,index) pair when a local sym is used. commit 264bddaff16ce11038fa8e40068ec7535a3a7f3c Author: Alan Modra Date: Wed Apr 30 09:30:37 2014 +0930 daily update commit 230977a4a571a15fe81b689b1706129d4c4e0daf Author: Christian Svensson Date: Tue Apr 29 00:34:59 2014 +0200 or1k: Do not override section for non-TLS symbols. Outgoing section for relocations was computed by setting a shared pointer to which section should be used. For TLS this was overriden to use .rela.got since they use GOT entries but since the pointer is per section that whole section was relocated to .rela.got, even non-TLS relocations. * elf32-or1k.c: Fix a bug where non-TLS relocations would be forced into .rela.got if it contained TLS relocations as well. commit ca4f7f8bebc069b8beec58754dc721e9be0798c7 Author: Pedro Alves Date: Tue Apr 29 14:01:27 2014 +0100 Fix remote connection to targets that don't support the QNonStop packet. ... and others. The recent patch that fixed several "set remote foo-packet on/off" commands introduced a regression, observable when connecting GDB to QEMU. For instance: (gdb) set debug remote 1 (gdb) tar rem :4444 Remote debugging using :4444 Sending packet: $qSupported:multiprocess+;qRelocInsn+#2a...Ack Packet received: PacketSize=1000;qXfer:features:read+ Packet qSupported (supported-packets) is supported Sending packet: $Hgp0.0#ad...Ack Packet received: OK Sending packet: $qXfer:features:read:target.xml:0,ffb#79...Ack Packet received: [...] Sending packet: $qXfer:features:read:arm-core.xml:0,ffb#08...Ack Packet received: [...] !!! -> Sending packet: $QNonStop:0#8c...Ack Packet received: Remote refused setting all-stop mode with: The "QNonStop" feature is associated with the PACKET_QNonStop packet, with a default of PACKET_DISABLE, so GDB should not be sending the packet at all. The patch that introduced the regression decoupled packet_config's 'detect' and 'support' fields, making the former (an auto_boolean) purely the associated "set remote foo-packet" command's variable. In the example above, the packet config's 'supported' field does end up correctly set to PACKET_DISABLE. However, nothing is presently initializing packet configs that don't actually have a command associated. Those configs's 'detect' field then ends up set to AUTO_BOOLEAN_TRUE, simply because that happens to be 0. This forces GDB to assume the packet is supported, irrespective of what the target claims it supports, just like if the user had done "set remote foo-packet on" (this being the associated command, if there was one). Ideally, all packet configs would have a command associated. While that isn't true, make sure all packet configs are initialized, even if no command is associated, and add an assertion that prevents adding more packets/features without an associated command. Tested on x86_64 Fedora 17, against pristine gdbserver, and against a gdbserver with the QNonStop packet/feature disabled with a local hack. gdb/ 2014-04-29 Pedro Alves * remote.c (struct packet_config) : Extend comment. (add_packet_config_cmd): Don't set the config's detect or support fields here. (init_all_packet_configs): Also initialize the config's 'detect' field. (reset_all_packet_configs_support): New function. (remote_open_1): Call reset_all_packet_configs_support instead of init_all_packet_configs. (_initialize_remote): Initialize all packet configs. Assert that all packets have an associated command, except a few known outliers. commit 11903c4c65d3bf0391362ac389b96ffdd9f58212 Author: Alan Modra Date: Tue Apr 29 09:30:42 2014 +0930 daily update commit cac0dc8f4b0688771a4ab8a4012fceb1323167f1 Author: Joel Brobecker Date: Sat Apr 19 22:19:02 2014 -0700 Add gdb.ada/dyn_arrayidx testcase. This add a testcases that verifies correct handling of dynamicity for lower bounds of arrays. gdb/testsuite/ChangeLog: * gdb.ada/dyn_arrayidx: New testcase. commit 11c1ba785203f7f121324fa9727c2adbbc2119c2 Author: Joel Brobecker Date: Sat Apr 19 20:41:56 2014 -0700 dwarf2read.c::read_subrange_type: Handle dynamic lower bounds Currently, read_subrange_type handles dynamicity only in the case of the upper bound, and assumes that the lower bound is always static. That's rooted in the fact that dynamicity was added to support C99 variable-length arrays, where the lower bound is always zero, and therefore never dynamic. But the lower bound can, in fact, be dynamic in other languages such as Ada. Consider for instance the following declaration in Ada... type Array_Type is array (L .. U) of Natural; ... where L and U are parameters of the function where the declaration above was made, and whose value are 5 and 10. Currently, the debugger is able to print the value of the upper bound correctly, but not the lower bound: (gdb) ptype array_type type = array (1 .. 10) of natural After this patch, the debugger now prints: (gdb) ptype array_type type = array (5 .. 10) of natural gdb/ChangeLog: * dwarf2read.c (read_subrange_type): Handle dynamic DW_AT_lower_bound attributes. commit 8739bc53cd91cc38287432b1fb880be327c9435c Author: Joel Brobecker Date: Sat Apr 19 09:55:14 2014 -0700 Improve Ada dynamic range type handling. Consider the following declaration in Ada... type Array_Type is array (L .. U) of Natural; ... where L and U are parameters of the function where the declaration above was made. At the moment, GDB relies on descriptive types in order to properly decode the array bounds. For instance, if L was 5, and U was 10, we would see the following: (gdb) ptype array_type type = array (5 .. 10) of natural (gdb) maintenance set ada ignore-descriptive-types (gdb) ptype array_type type = array (1 .. 28544912) of natural This patch enhances ada_discrete_type_{high,low}_bound to resolve any dynamicity. This is sufficient to fix the case of the upper bound. For the lower bound, the dwarf2read module does not handle dynamic lower bounds yet, but once it does, the lower bound should be correctly handled as well [1]. gdb/ChangeLog: * ada-lang.c (ada_discrete_type_high_bound): Resolve the type's dynamic bounds before computing its upper bound. (ada_discrete_type_low_bound): Same as above with the lower bound. [1]: The reason why we do not enhance dwarf2read to handle dynamic lower bounds ahead of this patch is because it unveils some latent issues such as this one. commit 6f8a3220a931ac052fedd75539058bd8aa97b3a8 Author: Joel Brobecker Date: Sat Apr 19 09:40:53 2014 -0700 Enhance dwarfread.c::resolve_dynamic_type to resolve dynamic ranges This change breaks down the resolve_dynamic_bounds function which works only on arrays and its index range types into two functions, one that resolves range types, and one that resolves arrays (using the new routine to resolve the array's index range type). The is_dynamic_type and resolve_dynamic_type function are then re-organized to handle range types as well. One small change worth mentioning is the fact that, now that range types are resolved on their own (rather than in the limited context of array index types), the resolved range types are created from a copy of the dynamic range type, rather than from scratch (first parameter of create_range_type). This allows us to preserve as many original properties in the resolved type as possible (Eg. the type's name). This is preparation work that will help better support dynamic range types for languages that allow the declaration of such types (Eg. Ada). gdb/ChangeLog: * dwarf2read.c (is_dynamic_type): Return true for dynamic range types. Adjust the array handling implementation to take advantage of this change. (resolve_dynamic_range): New function, mostly extracted from resolve_dynamic_bounds. (resolve_dynamic_array): New function, mostly extracted from resolve_dynamic_bounds. (resolve_dynamic_bounds): Delete. (resolve_dynamic_type): Reimplement. Add handling of TYPE_CODE_RANGE types. commit 4d072ce478ebb605b2f0ca326c7c3168d4ee5989 Author: Joel Brobecker Date: Thu Apr 24 12:09:11 2014 -0400 Unnecessary XA type handling in ada_varobj_describe_simple_array_child ada-varobj.c::ada_varobj_describe_simple_array_child only ever gets called after all GNAT encodings have been applied to (parent_value, parent_type). So there is no point in redoing it partially by checking for parallel XA types again. gdb/ChangeLog: * ada-varobj.c (ada_varobj_describe_simple_array_child): Remove handling of parallel ___XA types. commit 528653254b46ccd95d7ffbef73acbcc1242eaee6 Author: Joel Brobecker Date: Tue Mar 18 10:52:08 2014 -0700 remove unnecessary second call to static_unwrap_type in ada_evaluate_subexp In ada-lang.c::ada_evaluate_subexp, case OP_VAR_VALUE, when noside is EVAL_AVOID_SIDE_EFFECTS, the first thing we do is set type as follow: type = static_unwrap_type (SYMBOL_TYPE (exp->elts[pc + 2].symbol)); Later on in the same block, we make the same call: return value_zero (to_static_fixed_type (static_unwrap_type (SYMBOL_TYPE (exp->elts[pc + 2].symbol))), not_lval); This patch removes the second call, since it should result in the same type being returned, so no point in making that call again. gdb/ChangeLog: * ada-lang.c (ada_evaluate_subexp) : Remove unnecessary second call to static_unwrap_type. commit f01c1a090e6629be280efb3c596d818f1f74ae2a Author: Nick Clifton Date: Mon Apr 28 14:32:59 2014 +0100 This fixes a bootstrapping problem with gcc 4.9 in an x86 PE environment. The problem was that references to weak function symbols were being incorrectly biased by definition's offset. PR gas/16858 * config/tc-i386.c (md_apply_fix): Do not adjust value of pc-relative fixes against weak symbols. commit 2b577b92f0a6dc2ab894b604415cfe272f273e11 Author: Yao Qi Date: Mon Apr 28 18:56:06 2014 +0800 [gdbserver] Correctly generate i386-avx512.c The makefile rule i386-avx512.c is to generate i386-avx512.c, but it is written to i386-avx.c by mistake. This patch is to fix this typo. gdb/gdbserver: 2014-04-28 Yao Qi * Makefile.in (i386-avx512.c): Fix the typo of generated file name. commit 40af4a3636504a0e7e0223b34ed1e7b15c4fa5da Author: Nick Clifton Date: Mon Apr 28 09:34:02 2014 +0100 This patch reworks the fix to avoid a compile time warning so that it will work with later versions of gcc. PR ld/16821 * peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile time warning. commit e3e163dbb0c50aa94af5416aca86d9ef9c225205 Author: Alan Modra Date: Mon Apr 28 09:30:57 2014 +0930 daily update commit 433e77fad1fda55408db072de18dcd4f9116289e Author: Hui Zhu Date: Sun Apr 27 22:23:43 2014 +0800 Make "set disassemble-next-line on" can work with DUMMY_FRAME, SIGTRAMP_FRAME and ARCH_FRAME When GDB debug DUMMY_FRAME, SIGTRAMP_FRAME and ARCH_FRAME, even if "set disassemble-next-line on", it will not output the asm code: (gdb) set disassemble-next-line on (gdb) si (gdb) (gdb) So make this patch make they can work together, it will become: (gdb) si => 0xffffffff816bfb09 : 65 48 8b 0c 25 c8 c7 00 00 mov %gs:0xc7c8,%rcx (gdb) => 0xffffffff816bfb12 : 48 81 e9 d8 1f 00 00 sub $0x1fd8,%rcx (gdb) => 0xffffffff816bfb19 : 8b 51 10 mov 0x10(%rcx),%edx 2014-04-27 Hui Zhu * stack.c (print_frame_info): Call do_gdb_disassembly with DUMMY_FRAME, SIGTRAMP_FRAME and ARCH_FRAME. commit 7b667436a52c584267cc78d1fbc05c84856192ee Author: Alan Modra Date: Sun Apr 27 09:30:59 2014 +0930 daily update commit b51a69ee0944b8ad1b020bcab85f88acdae8b10f Author: Doug Evans Date: Sat Apr 26 13:13:13 2014 -0700 * guile/scm-safe-call.c (scscm_eval_scheme_string): Fix comment. commit a9e18c6a3c4a90c0edcfdfdda5c181cdee43421f Author: Alan Modra Date: Sat Apr 26 23:00:09 2014 +0930 Regenerate files for openrisk -> or1k change bfd/ * po/SRC-POTFILES.in: Regenerate. * configure: Regenerate. gas/ * po/POTFILES.in: Regenerate. opcodes/ * po/POTFILES.in: Regenerate. commit 9730e6ccc4307a03ae2a0dd5c8a17a30fcf9b1f2 Author: Yao Qi Date: Thu Apr 24 16:51:33 2014 +0800 Compute the function length instead of hard coding it In Dwarf::assemble in dwz.exp, 10 is hard-coded in it, subprogram { {name main} {low_pc main addr} {high_pc "main + 10" addr} } however, the length of main function varies on architectures. The hard-coded 10 here causes dwz.exp fails on some targets, such as nios2. This patch is to add some code to compute the length of function main, which is similar to what we are doing in entry-values.exp. gdb/testsuite: 2014-04-26 Yao Qi * gdb.dwarf2/dwz.exp: Compile main.c to object. Restart GDB and compute the length of function main. Save it in $main_length. (Dwarf::assemble): Use $main_length instead of hard-coded 10. (top-level): Use gdb_compile to compile objects into executable and restart GDB. Remove invocation to prepare_for_testing. commit cec9d598f54503baaead6c8009a7998a0cd731fa Author: Alan Modra Date: Sat Apr 26 09:30:55 2014 +0930 daily update commit 94611da2409673314d7caaf38c66baa52d6f5adc Author: Pedro Alves Date: Fri Apr 25 19:22:27 2014 +0100 Add missing gdbserver/ChangeLog entry for previous commit. 2014-04-25 Pedro Alves PR server/16255 * linux-low.c (linux_attach_fail_reason_string): New function. (linux_attach_lwp): Delete. (linux_attach_lwp_1): Rename to ... (linux_attach_lwp): ... this. Take a ptid instead of a pid as argument. Remove "initial" parameter. Return int instead of void. Don't error or warn here. (linux_attach): Adjust to call linux_attach_lwp. Call error on failure to attach to the tgid. Call warning when failing to attach to an lwp. * linux-low.h (linux_attach_lwp): Take a ptid instead of a pid as argument. Remove "initial" parameter. Return int instead of void. Don't error or warn here. (linux_attach_fail_reason_string): New declaration. * thread-db.c (attach_thread): Adjust to linux_attach_lwp's interface change. Use linux_attach_fail_reason_string. commit 7ae1a6a6ccda41aa8bbe9adb0f7fcde8bf8d5cb3 Author: Pedro Alves Date: Fri Apr 25 19:07:33 2014 +0100 PR server/16255: gdbserver cannot attach to a second inferior that is multi-threaded. On Linux, we need to explicitly ptrace attach to all lwps of a process. Because GDB might not be connected yet when an attach is requested, and thus it may not be possible to activate thread_db, as that requires access to symbols (IOW, gdbserver --attach), a while ago we make linux_attach loop over the lwps as listed by /proc/PID/task to find the lwps to attach to. linux_attach_lwp_1 has: ... if (initial) /* If lwp is the tgid, we handle adding existing threads later. Otherwise we just add lwp without bothering about any other threads. */ ptid = ptid_build (lwpid, lwpid, 0); else { /* Note that extracting the pid from the current inferior is safe, since we're always called in the context of the same process as this new thread. */ int pid = pid_of (current_inferior); ptid = ptid_build (pid, lwpid, 0); } That "safe" comment referred to linux_attach_lwp being called by thread-db.c. But this was clearly missed when a new call to linux_attach_lwp_1 was added to linux_attach. As a result, current_inferior will be set to some random process, and non-initial lwps of the second inferior get assigned the pid of the wrong inferior. E.g., in the case of attaching to two inferiors, for the second inferior (and so on), non-initial lwps of the second inferior get assigned the pid of the first inferior. This doesn't trigger on the first inferior, when current_inferior is NULL, add_thread switches the current inferior to the newly added thread. Rather than making linux_attach switch current_inferior temporarily (thus avoiding further reliance on global state), or making linux_attach_lwp_1 get the tgid from /proc, which add extra syscalls, and will be wrong in case of the user having originally attached directly to a non-tgid lwp, and then that lwp spawning new clones (the ptid.pid field of further new clones should be the same as the original lwp's pid, which is not the tgid), we note that callers of linux_attach_lwp/linux_attach_lwp_1 always have the right pid handy already, so they can pass it down along with the lwpid. The only other reason for the "initial" parameter is to error out instead of warn in case of attach failure, when we're first attaching to a process. There are only three callers of linux_attach_lwp/linux_attach_lwp_1, and each wants to print a different warn/error string, so we can just move the error/warn out of linux_attach_lwp_1 to the callers, thus getting rid of the "initial" parameter. There really nothing gdbserver-specific about attaching to two threaded processes, so this adds a new test under gdb.multi/. The test passes cleanly against the native GNU/Linux target, but fails/triggers the bug against GDBserver (before the patch), with the native-extended-remote board (as plain remote doesn't support multi-process). Tested on x86_64 Fedora 17, with the native-extended-gdbserver board. gdb/gdbserver/ 2014-04-25 Pedro Alves PR server/16255 * linux-low.c (linux_attach_fail_reason_string): New function. (linux_attach_lwp): Delete. (linux_attach_lwp_1): Rename to ... (linux_attach_lwp): ... this. Take a ptid instead of a pid as argument. Remove "initial" parameter. Return int instead of void. Don't error or warn here. (linux_attach): Adjust to call linux_attach_lwp. Call error on failure to attach to the tgid. Call warning when failing to attach to an lwp. * linux-low.h (linux_attach_lwp): Take a ptid instead of a pid as argument. Remove "initial" parameter. Return int instead of void. Don't error or warn here. (linux_attach_fail_reason_string): New declaration. * thread-db.c (attach_thread): Adjust to linux_attach_lwp's interface change. Use linux_attach_fail_reason_string. gdb/ 2014-04-25 Pedro Alves PR server/16255 * common/linux-ptrace.c (linux_ptrace_attach_warnings): Rename to ... (linux_ptrace_attach_fail_reason): ... this. Remove "warning: " and newline from built string. * common/linux-ptrace.h (linux_ptrace_attach_warnings): Rename to ... (linux_ptrace_attach_fail_reason): ... this. * linux-nat.c (linux_nat_attach): Adjust to use linux_ptrace_attach_fail_reason. gdb/testsuite/ 2014-04-25 Simon Marchi Pedro Alves PR server/16255 * gdb.multi/multi-attach.c: New file. * gdb.multi/multi-attach.exp: New file. commit 4082afcc3d1af9d8063d1c8e02deb34a8b97a489 Author: Pedro Alves Date: Fri Apr 25 18:07:02 2014 +0100 Fix several "set remote foo-packet on/off" commands. For several RSP packets, there's a corresponding "set remote foo-packet on/off/auto" command that one can use do bypass auto-detection of support for the packet or feature. However, I noticed that setting several of these commands to 'on' or 'off' doesn't actually have any effect. These are, at least: set remote breakpoint-commands-packet set remote conditional-breakpoints-packet set remote fast-tracepoints-packet set remote static-tracepoints-packet set remote install-in-trace-packet These are commands that control a remote protocol feature that doesn't have a corresponding regular packet, and because of that we cache the knowledge of the remote side support as returned by the qSupported packet in the remote_state object. E.g., in the case of the 'set remote breakpoint-commands-packet' command, whether the feature is supported is recorded in the 'breakpoint_commands' field of the remote_state object. Whether to bypass packet support auto-detection or not is controlled by the 'detect' field of the corresponding packet's packet_config structure. That field is the variable associated directly with the "set remote foo-packet" command. Actual remote stub support for the packet (or feature) is recorded in the 'support' field of the same structure. However, when the user toggles the command, the 'support' field is also correspondingly updated to PACKET_ENABLE/DISABLE/SUPPORT_UNKNOWN, discarding the knowledge of whether the target actually supports the feature. If one toggles back to 'auto', it's no big issue for real packets, as they'll just end up re-probed the next time they might be necessary. But features whose support is only reported through qSupported don't get their corresponding (manually added/maintained) fields in remote_state objected updated. As we lost the actual status of the target support for the feature, GDB would need to probe the qSupported features again, which GDB doesn't do. But we can avoid that extra traffic, and clean things up, IMO. Instead of going in that direction, this patch completely decouples struct packet_config's 'detect' and 'support' fields. E.g., when the user does "set remote foo-packet off", instead of setting the packet config's 'support' field to PACKET_DISABLE, the 'support' field is not touched at all anymore. That is, we end up respecting this simple table: | packet_config->detect | packet_config->support | should use packet/feature? | |-----------------------+------------------------+----------------------------| | auto | PACKET_ENABLE | PACKET_ENABLE | | auto | PACKET_DISABLE | PACKET_DISABLE | | auto | PACKET_UNKNOWN | PACKET_UNKNOWN | | yes | don't care | PACKET_ENABLE | | no | don't care | PACKET_DISABLE | This is implemented by the new packet_support function. With that, we need to update this pattern throughout: if (remote_protocol_packets[PACKET_foo].support == PACKET_DISABLE) to do this instead: if (packet_support (PACKET_qAttached) == PACKET_DISABLE) where as mentioned, the packet_support function takes struct packet_config's 'detect' field into account, like in the table above. As when the packet is force-disabled or force-enabled, the 'support' field is just ignored, if the command is set back to auto, we'll resume respecting whatever the target said it supports. IOW, the end result is that the 'support' field always represents whether the target actually supports the packet or not. After all that, the manually maintained breakpoint_commands and equivalent fields of struct remote_state can then be eliminated, with references replaced by checking the result of calling the packet_support function on the corresponding packet or feature. This required adding new PACKET_foo enum values for several features that didn't have it yet. (The patch does not add corresponding "set remote foo-packet" style commands though, focusing only on bug fixing and laying the groundwork). Tested on x86_64 Fedora 17, native GDBserver. The new tests all fail without this patch. gdb/ 2014-04-25 Pedro Alves * remote.c (struct remote_state): Remove multi_process_aware, non_stop_aware, cond_tracepoints, cond_breakpoints, breakpoint_commands, fast_tracepoints, static_tracepoints, install_in_trace, disconnected_tracing, enable_disable_tracepoints, string_tracing, and augmented_libraries_svr4_read fields. (remote_multi_process_p): Move further below in the file. (struct packet_config): Add comments. (update_packet_config): Delete function. (show_packet_config_cmd): Use packet_config_support. (add_packet_config_cmd): Use NULL as set callback. (packet_ok): "set remote foo-packet"-style commands no longer change config->supported -- adjust. (PACKET_ConditionalTracepoints, PACKET_ConditionalBreakpoints) (PACKET_BreakpointCommands, PACKET_FastTracepoints) (PACKET_StaticTracepoints, PACKET_InstallInTrace): Add comments. (PACKET_QNonStop, PACKET_multiprocess_feature) (PACKET_EnableDisableTracepoints_feature, PACKET_tracenz_feature) (PACKET_DisconnectedTracing_feature) (PACKET_augmented_libraries_svr4_read_feature): New enum values. (set_remote_protocol_packet_cmd): Delete function. (packet_config_support, packet_support): New functions. (set_remote_protocol_Z_packet_cmd): Don't call update_packet_config. (remote_query_attached, remote_pass_signals) (remote_program_signals, remote_threads_info) (remote_threads_extra_info, remote_start_remote): Use packet_support. (remote_start_remote): Use packet_config_support and packet_support. (init_all_packet_configs): Set all packets to unknown support, instead of calling update_packet_config. (remote_check_symbols): Use packet_support. (remote_supported_packet): Unconditionally set the packet config's support status. (remote_multi_process_feature, remote_non_stop_feature) (remote_cond_tracepoint_feature, remote_cond_breakpoint_feature) (remote_breakpoint_commands_feature) (remote_fast_tracepoint_feature, remote_static_tracepoint_feature) (remote_install_in_trace_feature) (remote_disconnected_tracing_feature) (remote_enable_disable_tracepoint_feature) (remote_string_tracing_feature) (remote_augmented_libraries_svr4_read_feature): Delete functions. (remote_protocol_features): Adjust to use remote_supported_packet for "augmented-libraries-svr4-read", "multiprocess", "QNonStop", "ConditionalTracepoints", "ConditionalBreakpoints", "BreakpointCommands", "FastTracepoints", "StaticTracepoints", "InstallInTrace", "DisconnectedTracing", "DisconnectedTracing", "EnableDisableTracepoints", and "tracenz". (remote_query_supported): Use packet_support. (remote_open_1): Adjust. (extended_remote_attach_1): Use packet_support. Switch on the result of packet_ok instead of checking whether the packet ended up disabled. (remote_vcont_resume): Use packet_support. (remote_resume, remote_stop_ns, fetch_register_using_p) (remote_prepare_to_store, store_register_using_P) (check_binary_download, remote_write_bytes): Use packet_support. (remote_vkill): Use packet_support. Switch on the result of packet_ok instead of checking whether the packet ended up disabled. (extended_remote_supports_disable_randomization): Use packet_support. (extended_remote_run): Switch on the result of packet_ok instead of checking whether the packet ended up disabled. (remote_insert_breakpoint, remote_remove_breakpoint) (remote_insert_watchpoint, remote_remove_watchpoint) (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint): Use packet_support. (remote_search_memory): Use packet_config_support. (remote_get_thread_local_address, remote_get_tib_address) (remote_hostio_send_command, remote_can_execute_reverse): Use packet_support. (remote_supports_cond_tracepoints) (remote_supports_cond_breakpoints) (remote_supports_fast_tracepoints) (remote_supports_static_tracepoints) (remote_supports_install_in_trace) (remote_supports_enable_disable_tracepoint) (remote_supports_string_tracing) (remote_can_run_breakpoint_commands): Rewrite, checking whether the packet config says the feature is enabled or disabled. (remote_download_tracepoint, remote_trace_set_readonly_regions) (remote_get_trace_status): Use packet_support. (remote_set_disconnected_tracing): Adjust to check whether the feature is enabled with packet_support. (remote_set_trace_buffer_size, remote_use_agent) (remote_can_use_agent, remote_supports_btrace): Use packet_support. (remote_enable_btrace, remote_disable_btrace, remote_read_btrace): Use packet_config_support. (remote_augmented_libraries_svr4_read): Rewrite, checking whether the packet config says the feature is enabled or disabled. (set_range_stepping): Use packet_support. gdb/testsuite/ 2014-04-25 Pedro Alves * gdb.base/cond-eval-mode.exp (warning): Move trailing \r\n to user. (top level): Test that "set remote conditional-breakpoints-packet off" works as intended. * gdb.base/dprintf.exp: Test that "set remote breakpoint-commands-packet off" works as intended. * gdb.trace/change-loc.exp (tracepoint_install_in_trace_disabled): New function. (top level): Call it. * gdb.trace/ftrace.exp (test_fast_tracepoints): Test that "set remote fast-tracepoints-packet off" works as intended. * gdb.trace/qtro.exp (gdb_is_target_remote): Moved ... * lib/gdb.exp (gdb_is_target_remote): ... here. commit 88667baf24e71481f0002c0452b94a1d53116725 Author: Nick Clifton Date: Fri Apr 25 17:00:20 2014 +0100 This fixes a compile time warning which is being treated as an error. Older versions of gcc complain about part of a conditional expression always evaluating to false because of the size of the operands involved, even when the entire expression is already known to be false. * peXXigen.c (_bfd_XXi_swap_sym_out): Another fix for building on a 342-bit host. This time for older versions of gcc. commit bdb52a22a7672fa716997bce67ac9c1fcbd7c338 Author: Tom Tromey Date: Fri Apr 25 09:43:47 2014 -0600 document "quit" command's argument 2014-04-25 Tom Tromey * cli/cli-cmds.c (_initialize_cli_cmds): Document "quit" command's argument. commit e9475ead987ab329928324c3b7a38d17300580ae Author: Sanimir Agovic Date: Tue Apr 22 15:26:33 2014 +0100 news: mention support for C99 variable length arrays * NEWS: Mention support for C99 variable length arrays. commit 2abc3f8d59e0130e5340a5489b53556f12c9d0ce Author: David Blaikie Date: Thu Apr 10 23:45:28 2014 -0700 Ensure unreferenced static symbols aren't omitted by clang (either marking them __attribute__((used)) or making them non-static) gdb/testsuite/ * gdb.base/catch-syscall.c: Make unreferenced statics non-static to ensure clang would not discard them. * gdb.base/gdbvars.c: Ditto. * gdb.base/memattr.c: Ditto. * gdb.base/whatis.c: Ditto. * gdb.python/py-prettyprint.c: Ditto. * gdb.trace/actions.c: Ditto. * gdb.cp/ptype-cv-cp.cc: Mark unused global const int as used to ensure clang would not discard it. commit bfd39632142cba581a430e41ed38c5153d1fc07a Author: David Blaikie Date: Thu Apr 24 22:16:29 2014 -0700 Cause clang to emit the definition of a type used only by pointer gdb/testsuite/ * gdb.stabs/gdb11479.c (tag_dummy_enum): introduce a variable to cause clang to emit the full definition of type required by the test * gdb.stabs/gdb11479.exp (do_test): correct a typo in a test message commit 22842ff63e28b86e0cd40a87186757b2525578f4 Author: David Blaikie Date: Sun Apr 13 00:48:45 2014 -0700 Return by value to coax Clang into emitting the full definition of a test type. gdb/testsuite/ * gdb.cp/pr10728-x.cc: Return by value instead of pointer to coax Clang into emitting the definition of the type. * gdb.cp/pr10728-x.h: Ditto. * gdb.cp/pr10728-y.cc: Ditto. commit c2e827ad5340fcf1735df6c77cb0311e56b985ef Author: David Blaikie Date: Sun Apr 13 11:42:02 2014 -0700 XFAIL under Clang tests using labels gdb/testsuite/ * gdb.base/label.exp: XFAIL label related tests under Clang. * gdb.cp/cplabel.exp: Ditto. * gdb.linespec/ls-errs.exp: Refactor tests to execute directly and XFAIL under Clang those using labels. commit 4c2d33e7a2309f4cec2a1a850c53e8f6e147e5fd Author: Yao Qi Date: Thu Apr 24 18:46:22 2014 +0800 Remove unused labels in dwarf assembler I happen to see that 'double_label' isn't used in dwz.exp dwarf assembler. Similarly, partial_label and double_label aren't used in dwzbuildid.exp. This patch is to remove them. gdb/testsuite: 2014-04-25 Yao Qi * gdb.dwarf2/dwz.exp (Dwarf::assemble): Remove unused double_label. * gdb.dwarf2/dwzbuildid.exp (Dwarf::assemble): Remove partial_label and double_label. commit d7e6f612d6ace85eb52cc1265c519c0d44f07b47 Author: Alan Modra Date: Fri Apr 25 09:30:56 2014 +0930 daily update commit b2bcb4bdeb27d3184f4886c372f19207530a5233 Author: Christian Svensson Date: Fri Apr 25 00:40:41 2014 +0200 Add maintainers for OR1K. * MAINTAINERS: Add myself and Stefan as OR1K maintainers. commit 56083b99d7c76b89ebf3da6aa60ebb4ca80f3683 Author: David Blaikie Date: Sun Apr 13 00:38:47 2014 -0700 Fix and XFAIL test due to GCC PR55641, passes with clang gdb/testsuite/ * gdb.python/lib-types.exp: Fix test and xfail under gcc due to gcc/55641. commit 82eacd52ba9130cf0126fa513775b5d4415f7da3 Author: Joel Brobecker Date: Thu Apr 24 13:16:38 2014 -0700 ada-lang.c: Expand standard_exc's introductory comment. This patch expands standard_exc's introductory comment to explain why this table does not include Numeric_Error. gdb/ChangeLog: * ada-lang.c (standard_exc): Expand introductory comment. commit 25d4e99db83ba758e3c888d321b9f2f7845701a0 Author: David Blaikie Date: Sun Apr 13 17:37:56 2014 -0700 Adjust start-of-function braces to be compatible with Clang gdb/testsuite/ * gdb.cp/cpexprs.cc: Move braces to the same line as the start of the function to work across GCC and Clang. * gdb.cp/cpexprs.exp: Account for GCC/Clang difference in vtable pointer types (const void ** const V void **). commit 08937d8023b1bd8d0b1c4d8b2f4a5951478c6ec3 Author: Nick Clifton Date: Thu Apr 24 15:49:37 2014 +0100 * peXXigen.c (rsrc_print_section): Fix compile time warning for 32-bit hosts. commit 01f9f808e2e86187c95e7cff4aeb014a421a53ce Author: Michael Sturm Date: Mon Dec 16 16:43:05 2013 +0100 Add AVX512 registers support to GDB and GDBserver. This patch adds support for the Intel(R) Advanced Vector Extensions 512 (Intel(R) AVX-512) registers. Native and remote debugging are covered by this patch. Intel(R) AVX-512 is an extension to AVX to support 512-bit wide SIMD registers in 64-bit mode (XMM0-XMM31, YMM0-YMM31, ZMM0-ZMM31). The number of available registers in 32-bit mode is still 8 (XMM0-7, YMM0-7, ZMM0-7). The lower 256-bits of the ZMM registers are aliased to the respective 256-bit YMM registers. The lower 128-bits are aliased to the respective 128-bit XMM registers. There are also 8 new, dedicated mask registers (K0-K7) in both 32-bit mode and 64-bit mode. For more information please see Intel(R) Developer Zone: Intel(R) AVX http://software.intel.com/en-us/intel-isa-extensions#pid-16007-1495 Intel(R) Architecture Instruction Set Extensions Programming Reference: http://software.intel.com/en-us/file/319433-017pdf 2014-04-24 Michael Sturm Walfred Tedeschi * amd64-linux-nat.c (amd64_linux_gregset32_reg_offset): Add AVX512 registers. (amd64_linux_read_description): Add code to handle AVX512 xstate mask and return respective tdesc. * amd64-linux-tdep.c: Include features/i386/amd64-avx512-linux.c and features/i386/x32-avx512-linux.c. (amd64_linux_gregset_reg_offset): Add AVX512 registers. (amd64_linux_core_read_description): Add code to handle AVX512 xstate mask and return respective tdesc. (_initialize_amd64_linux_tdep): Initialize AVX512 tdesc. * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM): Adjust regnum calculation. (AMD64_LINUX_NUM_REGS): Adjust to new number of registers. (tdesc_amd64_avx512_linux): New prototype. (tdesc_x32_avx512_linux): Likewise. * amd64-tdep.c: Include features/i386/amd64-avx512.c and features/i386/x32-avx512.c. (amd64_ymm_avx512_names): New register names for pseudo registers YMM16-31. (amd64_ymmh_avx512_names): New register names for raw registers YMMH16-31. (amd64_k_names): New register names for K registers. (amd64_zmmh_names): New register names for ZMM raw registers. (amd64_zmm_names): New registers names for ZMM pseudo registers. (amd64_xmm_avx512_names): New register names for XMM16-31 registers. (amd64_pseudo_register_name): Add code to return AVX512 pseudo registers. (amd64_init_abi): Add code to intitialize AVX512 tdep variables if feature is present. (_initialize_amd64_tdep): Call AVX512 tdesc initializers. * amd64-tdep.h (enum amd64_regnum): Add AVX512 registers. (AMD64_NUM_REGS): Adjust to new number of registers. * i386-linux-nat.c (GETXSTATEREGS_SUPPLIES): Extend range of registers supplied via XSTATE by AVX512 registers. (i386_linux_read_description): Add case for AVX512. * i386-linux-tdep.c: Include i386-avx512-linux.c. (i386_linux_gregset_reg_offset): Add AVX512 registers. (i386_linux_core_read_description): Add case for AVX512. (i386_linux_init_abi): Install supported register note section for AVX512. (_initialize_i386_linux_tdep): Add call to tdesc init function for AVX512. * i386-linux-tdep.h (I386_LINUX_NUM_REGS): Set number of registers to be number of zmm7h + 1. (tdesc_i386_avx512_linux): Add tdesc for AVX512 registers. * i386-tdep.c: Include features/i386/i386-avx512.c. (i386_zmm_names): Add ZMM pseudo register names array. (i386_zmmh_names): Add ZMM raw register names array. (i386_k_names): Add K raw register names array. (num_lower_zmm_regs): Add constant for the number of lower ZMM registers. AVX512 has 16 more ZMM registers than there are YMM registers. (i386_zmmh_regnum_p): Add function to look up register number of ZMM raw registers. (i386_zmm_regnum_p): Likewise for ZMM pseudo registers. (i386_k_regnum_p): Likewise for K raw registers. (i386_ymmh_avx512_regnum_p): Likewise for additional YMM raw registers added by AVX512. (i386_ymm_avx512_regnum_p): Likewise for additional YMM pseudo registers added by AVX512. (i386_xmm_avx512_regnum_p): Likewise for additional XMM registers added by AVX512. (i386_register_name): Add code to hide YMMH16-31 and ZMMH0-31. (i386_pseudo_register_name): Add ZMM pseudo registers. (i386_zmm_type): Construct and return vector registers type for ZMM registers. (i386_pseudo_register_type): Return appropriate type for YMM16-31, ZMM0-31 pseudo registers and K registers. (i386_pseudo_register_read_into_value): Add code to read K, ZMM and YMM16-31 registers from register cache. (i386_pseudo_register_write): Add code to write K, ZMM and YMM16-31 registers. (i386_register_reggroup_p): Add code to include/exclude AVX512 registers in/from respective register groups. (i386_validate_tdesc_p): Handle AVX512 feature, add AVX512 registers if feature is present in xcr0. (i386_gdbarch_init): Add code to initialize AVX512 feature variables in tdep structure, wire in pseudo registers and call initialize_tdesc_i386_avx512. * i386-tdep.h (struct gdbarch_tdep): Add AVX512 related variables. (i386_regnum): Add AVX512 registers. (I386_SSE_NUM_REGS): New define for number of SSE registers. (I386_AVX_NUM_REGS): Likewise for AVX registers. (I386_AVX512_NUM_REGS): Likewise for AVX512 registers. (I386_MAX_REGISTER_SIZE): Change to 64 bytes, ZMM registers are 512 bits wide. (i386_xmm_avx512_regnum_p): New prototype for register look up. (i386_ymm_avx512_regnum_p): Likewise. (i386_k_regnum_p): Likewise. (i386_zmm_regnum_p): Likewise. (i386_zmmh_regnum_p): Likewise. * i387-tdep.c : Update year in copyright notice. (xsave_ymm_avx512_offset): New table for YMM16-31 offsets in XSAVE buffer. (XSAVE_YMM_AVX512_ADDR): New macro. (xsave_xmm_avx512_offset): New table for XMM16-31 offsets in XSAVE buffer. (XSAVE_XMM_AVX512_ADDR): New macro. (xsave_avx512_k_offset): New table for K register offsets in XSAVE buffer. (XSAVE_AVX512_K_ADDR): New macro. (xsave_avx512_zmm_h_offset): New table for ZMM register offsets in XSAVE buffer. (XSAVE_AVX512_ZMM_H_ADDR): New macro. (i387_supply_xsave): Add code to supply AVX512 registers to XSAVE buffer. (i387_collect_xsave): Add code to collect AVX512 registers from XSAVE buffer. * i387-tdep.h (I387_NUM_XMM_AVX512_REGS): New define for number of XMM16-31 registers. (I387_NUM_K_REGS): New define for number of K registers. (I387_K0_REGNUM): New define for K0 register number. (I387_NUM_ZMMH_REGS): New define for number of ZMMH registers. (I387_ZMM0H_REGNUM): New define for ZMM0H register number. (I387_NUM_YMM_AVX512_REGS): New define for number of YMM16-31 registers. (I387_YMM16H_REGNUM): New define for YMM16H register number. (I387_XMM16_REGNUM): New define for XMM16 register number. (I387_YMM0_REGNUM): New define for YMM0 register number. (I387_KEND_REGNUM): New define for last K register number. (I387_ZMMENDH_REGNUM): New define for last ZMMH register number. (I387_YMMH_AVX512_END_REGNUM): New define for YMM31 register number. (I387_XMM_AVX512_END_REGNUM): New define for XMM31 register number. * common/i386-xstate.h: Add AVX 3.1 feature bits, mask and XSTATE size. * features/Makefile: Add AVX512 related files. * features/i386/32bit-avx512.xml: New file. * features/i386/64bit-avx512.xml: Likewise. * features/i386/amd64-avx512-linux.c: Likewise. * features/i386/amd64-avx512-linux.xml: Likewise. * features/i386/amd64-avx512.c: Likewise. * features/i386/amd64-avx512.xml: Likewise. * features/i386/i386-avx512-linux.c: Likewise. * features/i386/i386-avx512-linux.xml: Likewise. * features/i386/i386-avx512.c: Likewise. * features/i386/i386-avx512.xml: Likewise. * features/i386/x32-avx512-linux.c: Likewise. * features/i386/x32-avx512-linux.xml: Likewise. * features/i386/x32-avx512.c: Likewise. * features/i386/x32-avx512.xml: Likewise. * regformats/i386/amd64-avx512-linux.dat: New file. * regformats/i386/amd64-avx512.dat: Likewise. * regformats/i386/i386-avx512-linux.dat: Likewise. * regformats/i386/i386-avx512.dat: Likewise. * regformats/i386/x32-avx512-linux.dat: Likewise. * regformats/i386/x32-avx512.dat: Likewise. * NEWS: Add note about new support for AVX512. testsuite/ * Makefile.in (EXECUTABLES): Added i386-avx512. * gdb.arch/i386-avx512.c: New file. * gdb.arch/i386-avx512.exp: Likewise. gdbserver/ * Makefile.in: Added rules to handle new files i386-avx512.c i386-avx512-linux.c amd64-avx512.c amd64-avx512-linux.c x32-avx512.c x32-avx512-linux.c. * configure.srv (srv_i386_regobj): Add i386-avx512.o. (srv_i386_linux_regobj): Add i386-avx512-linux.o. (srv_amd64_regobj): Add amd64-avx512.o and x32-avx512.o. (srv_amd64_linux_regobj): Add amd64-avx512-linux.o and x32-avx512-linux.o. (srv_i386_32bit_xmlfiles): Add i386/32bit-avx512.xml. (srv_i386_64bit_xmlfiles): Add i386/64bit-avx512.xml. (srv_amd64_xmlfiles): Add i386/amd64-avx512.xml and i386/x32-avx512.xml. (srv_i386_linux_xmlfiles): Add i386/i386-avx512-linux.xml. (srv_amd64_linux_xmlfiles): Add i386/amd64-avx512-linux.xml and i386/x32-avx512-linux.xml. * i387-fp.c (num_avx512_k_registers): New constant for number of K registers. (num_avx512_zmmh_low_registers): New constant for number of lower ZMM registers (0-15). (num_avx512_zmmh_high_registers): New constant for number of higher ZMM registers (16-31). (num_avx512_ymmh_registers): New contant for number of higher YMM registers (ymm16-31 added by avx521 on x86_64). (num_avx512_xmm_registers): New constant for number of higher XMM registers (xmm16-31 added by AVX512 on x86_64). (struct i387_xsave): Add space for AVX512 registers. (i387_cache_to_xsave): Change raw buffer size to 64 characters. Add code to handle AVX512 registers. (i387_xsave_to_cache): Add code to handle AVX512 registers. * linux-x86-low.c (init_registers_amd64_avx512_linux): New prototypei from generated file. (tdesc_amd64_avx512_linux): Likewise. (init_registers_x32_avx512_linux): Likewise. (tdesc_x32_avx512_linux): Likewise. (init_registers_i386_avx512_linux): Likewise. (tdesc_i386_avx512_linux): Likewise. (x86_64_regmap): Add AVX512 registers. (x86_linux_read_description): Add code to handle AVX512 XSTATE mask. (initialize_low_arch): Add code to initialize AVX512 registers. doc/ * gdb.texinfo (i386 Features): Add description of AVX512 registers. Change-Id: Ifc4c08c76b85dbec18d02efdbe6182e851584438 Signed-off-by: Michael Sturm commit 93ee1e3683a12f4774b8beb4f821910982e21ce2 Author: Alan Modra Date: Thu Apr 24 21:59:56 2014 +0930 PR16867, linking object with separate debug file This teaches the DWARF2 find_line functions how to deal with separate debug relocatable object files. Also fixes a major bug: When _bfd_dwarf2_slurp_debug_info was split out, place_sections ran after .debug_info was relocated. This defeated the whole purpose of place_sections. See the comment I added before place_sections. Fixes some minor bugs too: - place_sections didn't set VMA for alloc but non-load sections (bss). - zero size sections can have symbols, so they need their VMA set too. - last_vma was incorrectly adjusted. - my last change to place_sections left VMA unchanged for .debug_info when the linker has mapped input to output sections, but this is wrong since bfd_simple_get_relocated_section_contents unmaps debug sections. PR 16867 * dwarf2.c: Formatting. (struct dwarf2_debug): Make adjusted_section_count signed. (unset_sections): Make i signed. (set_debug_vma): New function. (place_sections): Handle separate debug object file. Set VMA on debug sections, even if they have an output section. Also set VMA on zero size sections, and non-load but alloc sections. Set adjusted_section_count to -1 when no section adjustment. Malloc adjusted_sections. Don't double last_vma. Transfer alloc section VMAs to separate debug file. (_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections. (_bfd_dwarf2_slurp_debug_info): Add do_place parameter. Drop test on symbols being the same before using old stash. Read and use separate debug file symbols. Call place_sections. (find_line): Don't call place_sections here. * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto. * libbfd.h: Regenerate. * mach-o.c (bfd_mach_o_find_nearest_line): Adjust _bfd_dwarf2_slurp_debug_info call. * simple.c (simple_save_output_info): Clarify comment. commit aaca88efb450bff71523d7d6f23a67f47a4d5fb3 Author: Nick Clifton Date: Thu Apr 24 11:35:51 2014 +0100 Fix a problem building the ARM assembler for non-ELF based toolchains. * config/tc-arm.c (s_ltorg): Only create a mapping symbol for ELF based targets. commit 3714081cb37fc60f3262b4c64e81539eb4f3592f Author: Nick Clifton Date: Thu Apr 24 11:15:43 2014 +0100 Fix PE/COFF resource merging problems. There were two issues: 1. Strings (and then resource data) must follow immediately after the end of the tables. 2. Units of resource data must be 8-byte aligned. PR ld/16807 * peXXigen.c (struct rsrc_regions): New structure. (rsrc_print_resource_directory): Use new structure. Include offset of directory in listing. (rsrc_print_resource_entry): Likewise. (rsrc_print_section): Likewise. (rsrc_count_entries): Do not increment sizeof_strings or sizeof_leaves. (rsrc_count_directory): Do not increment sizeof_tables. (rsrc_compute_region_sizes): New function. (rsrc_write_leaf): Maintain 8-byte alignment for resource data. (rsrc_process_section): Compute size of regions after merging entries. commit 2a87f7b84f1a3d101a19d7008802172ff50596e5 Author: Alan Modra Date: Thu Apr 24 09:30:44 2014 +0930 daily update commit bf2cc635e2d45a0c59b1edd0c53d75ba495790bd Author: Cary Coutant Date: Wed Apr 23 15:20:56 2014 -0700 Add missing PR ref to ChangeLog entry. commit 7849f6d8dc37fc3da2fec06ac1d47afbe4b81059 Author: Cary Coutant Date: Wed Apr 23 15:17:16 2014 -0700 Add missing break statement for case elfcpp::R_X86_64_PLTOFF64. gold/ * x86_64.cc (Target_x86_64::Relocate::relocate): Add missing break. commit 4b48d43901e9864f9fc1c135ec75c80bde226cb8 Author: Keith Seitz Date: Wed Apr 23 12:17:31 2014 -0700 Introduce some new MI test suite cleanups for breakpoint and breakpoint table handling. This is a patch in five parts (all committed here in one commit). ----- 1/5: parse_args parse_args is a very useful utility function which allows you to do getopt-y kinds of things in Tcl. Example: proc myproc {foo args} { parse_args {{bar} {baz "abc"} {qux}} # ... } myproc ABC -bar -baz DEF peanut butter will define the following variables in myproc: foo (=ABC), bar (=1), baz (=DEF), and qux (=0) args will be the list {peanut butter} ----- 2/5: mi_build_kv_pairs build_kv_pairs simply does what it says: given the input list and an option join string, it combines list elements into kv-pairs for MI handling. It knows how to handle tuples and other special MI types. Example: mi_build_kv_pairs {a b c d e f g \[.*\]} returns a=\"b\",c=\"d\",e=\"f\",g=\[.*\] ----- 3/5: mi_make_breakpoint This function builds breakpoint regexps, such as "bkpt={number=\".*\", [snip]}". Note that ONLY the options given to mi_make_breakpoint/mi_create_breakpoint will actually be tested. So if -number is omitted, the regexp will allow anything [number=\".*\"] Examples: mi_make_breakpoint -number 3 mi_create_breakpoint "myfile.c:21" -file myfile.c -line 21 ----- 4/5: mi_make_breakpoint_table This function builds MI breakpoint table regexps. Example: set bps {} lappend bps [mi_make_breakpoint -number 1 -func "main" \ -file ".*/myfile.c" -line 42 lappend bps [mi_make_breakpoint -number 2 -func "marker" \ -file ".*myfile.c" -line 21 gdb_test "-break-info" "\\^done,[mi_make_breakpoint_table $bps]" \ "breakpoint list" ----- 5/5: Update all callers Self-explanatory testsuite/ChangeLog 2014-04-23 Keith Seitz * lib/mi-support.exp (mi_list_breakpoints): Delete. (mi_make_breakpoint_table): New procedure. (mi_create_breakpoint): Use mi_make_breakpoint and return the result. (mi_make_breakpoint): New procedure. (mi_build_kv_pairs): New procedure. * gdb.mi/mi-break.exp: Remove unused globals, update mi_create_breakpoint usage, and use mi_make_breakpoint_table. All callers updated. * gdb.mi/mi-dprintf.exp: Use variable to track command number. Update all callers of mi_create_breakpoint and use mi_make_breakpoint_table. Remove any unused global variables. * gdb.mi/mi-nonstop.exp: Likewise. * gdb.mi/mi-nsintrall.exp: Likewise. * gdb.mi/mi-nsmoribund.exp: Likewise. * gdb.mi/mi-nsthrexec.exp: Likewise. * gdb.mi/mi-reverse.exp: Likewise. * gdb.mi/mi-simplerun.exp: Likewise. * gdb.mi/mi-stepn.exp: Likewise. * gdb.mi/mi-syn-frame.exp: Likewise. * gdb.mi/mi-until.exp: Likewise. * gdb.mi/mi-var-cp.exp: Likewise. * gdb.mi/mi-var-display.exp: Likewise. * gdb.mi/mi2-amd64-entry-value.exp: Likewise. * gdb.mi/mi2-var-child.exp: Likewise. * gdb.mi/mi-vla-c99.exp: Likewise. * lib/mi-support.exp: Likewise. From Ian Lance Taylor : * lib/gdb.exp (parse_args): New procedure. commit 51aa91f97976e0b4d6103d5c6e6a60bbd09be2fb Author: Pedro Alves Date: Tue Apr 22 19:47:06 2014 +0100 [gdbserver] mem-break.c:find_gdb_breakpoint_at: Make static. Nothing calls this outside mem-break.c. gdb/gdbserver/ 2014-04-23 Pedro Alves * mem-break.c (find_gdb_breakpoint_at): Make static. * mem-break.h (find_gdb_breakpoint_at): Delete declaration. commit a4165e94f452b3137a1071a5034853a93a9de1a2 Author: Pedro Alves Date: Tue Apr 22 19:47:04 2014 +0100 gdbserver: decouple x86 watchpoint / hw breakpoint routines from Z packet numbers. My main motivation here is moving in the direction of decoupling insert_point/remove_point from packet numbers, though this bit alone should make it a little bit easier to merge gdb/gdbserver/i386-low.c and gdb/i386-nat.c (which are largely the same). Tested on x86_64 Fedora 17, and cross built for i686-mingw32 too. gdb/gdbserver/ 2014-04-23 Pedro Alves * i386-low.c: Don't include break-common.h here. (i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change prototype to take target_hw_bp_type as argument instead of a Z packet char. * i386-low.h: Include break-common.h here. (Z_packet_to_hw_type): Declare. (i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change prototypes. * linux-x86-low.c (x86_insert_point): Convert the packet number to a target_hw_bp_type before calling i386_low_insert_watchpoint. (x86_remove_point): Convert the packet number to a target_hw_bp_type before calling i386_low_remove_watchpoint. * win32-i386-low.c (i386_insert_point): Convert the packet number to a target_hw_bp_type before calling i386_low_insert_watchpoint. (i386_remove_point): Convert the packet number to a target_hw_bp_type before calling i386_low_remove_watchpoint. commit b8acf843690988fa96123b3c54bc3850d874eb35 Author: Pedro Alves Date: Tue Apr 22 19:47:03 2014 +0100 gdbserver: perror_with_name: Add ATTRIBUTE_NORETURN. perror_with_name doesn't return, but unlike gdb's version, it wasn't marked that way. gdb/gdbserver/ 2014-04-23 Pedro Alves * utils.h (perror_with_name): Add ATTRIBUTE_NORETURN. commit 08351840eabb44799e3d01026610420758f4fa40 Author: Pedro Alves Date: Tue Apr 22 23:19:19 2014 +0100 Stale breakpoint instructions, spurious SIGTRAPS. Without the code portion of the patch, we get these failures: FAIL: gdb.base/break-unload-file.exp: always-inserted on: break: continue FAIL: gdb.base/break-unload-file.exp: always-inserted on: hbreak: continue FAIL: gdb.base/sym-file.exp: stale bkpts: continue to breakpoint: end here They all looks like random SIGTRAPs: continue Continuing. Program received signal SIGTRAP, Trace/breakpoint trap. 0x0000000000400541 in foo () at ../../../src/gdb/testsuite/gdb.base/break-unload-file.c:21 21 } (gdb) FAIL: gdb.base/break-unload-file.exp: always-inserted on: break: continue (This is a regression caused by the remove-symbol-file command series.) break-unload-file.exp is about having breakpoints inserted, and then doing "file". I caught this while writing a test that does "file PROGRAM", while PROGRAM was already loaded, which internally does "file" first, because I wanted to force a breakpoint_re_set, but the test is more explicit in case GDB ever optimizes out that re-set. The problem is that unloading the file with "file" ends up in disable_breakpoints_in_freed_objfile, which marks all breakpoint locations of the objfile as both shlib_disabled, _and_ clears the inserted flag, without actually removing the breakpoints from the inferior. Now, usually, in all-stop, breakpoints will already be removed from the inferior before the user can issue the "file" command, but, with non-stop, or breakpoints always-inserted on mode, breakpoints stay inserted even while the user has the prompt. In the latter case, then, if we let the program continue, and it executes the address where we had previously set the breakpoint, it'll actually execute the breakpoint instruction that we left behind... Now, one issue is that the intent of disable_breakpoints_in_freed_objfile is really to handle the unloading of OBJF_USERLOADED objfiles. These are objfiles that were added with add-symbol-file and that are removed with remove-symbol-file. "add-symbol-file"'s docs in the manual clearly say these commands are used to let GDB know about dynamically loaded code: You would use this command when @var{filename} has been dynamically loaded (by some other means) into the program that is running. Similarly, the online help says: (gdb) help add-symbol-file Load symbols from FILE, assuming FILE has been dynamically loaded. So it makes sense to, like when shared libraries are unloaded through the generic solib machinery, mark the breakpoint locations as shlib_disabled. But, the "file" command is not about dynamically loaded code, it's about the main program. So the patch makes disable_breakpoints_in_freed_objfile skip all objfiles but OBJF_USERLOADED ones, thus skipping the main objfile. Then, the reason that disable_breakpoints_in_freed_objfile was clearing the inserted flag isn't clear, but likely to avoid breakpoint removal errors, assuming remove-symbol-file was called after the dynamic object was already unmapped from the inferior. In that case, it'd okay to simply clear the inserted flag, but not so if the user for example does remove-symbol-file to remove the library because he made a mistake in the library's address, and wants to re-do add-symbol-file with the correct address. To address all that, I propose an alternative implementation, that handles both cases. The patch includes changes to sym-file.exp to cover them. This implementation leaves the inserted flag alone, and handles breakpoint insertion/removal failure gracefully when the locations are in OBJF_USERLOADED objfiles, just like we handle insertion/removal failure gracefully for locations in shared libraries. To try to make sure we aren't patching back stale shadow memory contents into the inferior, in case the program mapped a different library at the same address where we had the breakpoint, without the user having had a chance of remove-symbol-file'ing before, this adds a new memory_validate_breakpoint function that checks if the breakpoint instruction is still in memory. ppc_linux_memory_remove_breakpoint does this unconditionally for all memory breakpoints, and questions whether memory_remove_breakpoint should be changed to do this for all breakpoints. Possibly yes, though I'm not certain, hence this baby-steps patch. Tested on x86_64 Fedora 17, native and gdbserver. gdb/ 2014-04-23 Pedro Alves * breakpoint.c (insert_bp_location): Tolerate errors if the breakpoint is set in a user-loaded objfile. (remove_breakpoint_1): Likewise. Also tolerate errors if the location is marked shlib_disabled. If the breakpoint is set in a user-loaded objfile is a GDB-side memory breakpoint, validate it before uninsertion. (disable_breakpoints_in_freed_objfile): Skip non-OBJF_USERLOADED objfiles. Don't clear the location's inserted flag. * mem-break.c (memory_validate_breakpoint): New function. * objfiles.c (userloaded_objfile_contains_address_p): New function. * objfiles.h (userloaded_objfile_contains_address_p): Declare. * target.h (memory_validate_breakpoint): New declaration. gdb/testsuite/ 2014-04-23 Pedro Alves * gdb.base/break-unload-file.c: New file. * gdb.base/break-unload-file.exp: New file. * gdb.base/sym-file-lib.c (baz): New function. * gdb.base/sym-file-loader.c (struct segment) : New field. (load): Store the segment's mapped size. (unload): New function. (unload_shlib): New function. * gdb.base/sym-file-loader.h (unload_shlib): New declaration. * gdb.base/sym-file-main.c (main): Unload, and reload the library, set a breakpoint at baz, and call it. * gdb.base/sym-file.exp: New tests for stale breakpoint instructions. commit 076855f9e36ecfe8af325b197e9ecd46deb9fe6c Author: Pedro Alves Date: Wed Apr 23 15:06:47 2014 +0100 Don't suppress errors inserting/removing hardware breakpoints in shared libraries. As explained in https://sourceware.org/ml/gdb-patches/2008-08/msg00361.html, after a shared library was unloaded, we can no longer insert or remove breakpoints into/from its (no longer present) code segment. That'll fail with memory errors. However, that concern does not apply to hardware breakpoints. By definition, hardware breakpoints are implemented using a mechanism that is not dependent on being able to modify the target's memory. Usually, by setting up CPU debug registers. IOW, we should be able to set hw breakpoints in an unmapped address. We don't seem to have a test that exercises that, so this patch adds one. I noticed the error supression because of a related issue -- the target_insert_hw_breakpoint/target_remove_hw_breakpoint interfaces don't really distinguish "not supported" from "error" return, and so remote.c returns -1 in both cases. This results in hardware breakpoints set in shared libraries silently ending up pending forever even though the target doesn't actually support hw breakpoints. (gdb) set breakpoint always-inserted on (gdb) set remote Z-packet off (gdb) info breakpoints No breakpoints or watchpoints. (gdb) hbreak shrfunc Hardware assisted breakpoint 3 at 0x7ffff7dfb657: file ../../../src/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported-shr.c, line 21. (gdb) info break Num Type Disp Enb Address What 3 hw breakpoint keep y shrfunc After the patch we get the expected: (gdb) hbreak shrfunc Hardware assisted breakpoint 3 at 0x7ffff7dfb657: file ../../../src/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported-shr.c, line 21. Warning: Cannot insert hardware breakpoint 3. Could not insert hardware breakpoints: You may have requested too many hardware breakpoints/watchpoints. (gdb) info break Num Type Disp Enb Address What 3 hw breakpoint keep y 0x00007ffff7dfb657 in shrfunc at ../../../src/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported-shr.c:21 (HW breakpoints set in the main executable, when the target doesn't support HW breakpoints always resulted in the latter output.) We probably should improve the insert/remove interface to return a different error code for unsupported. But I chose to fix the error supression first, as it's a deeper and wider issue. Tested on x86_64 Fedora 17, native and gdbserver. gdb/ 2014-04-23 Pedro Alves * breakpoint.c (insert_bp_location, remove_breakpoint_1): If the breakpoint is set in a shared library, only suppress errors for software breakpoints, not hardware breakpoints. gdb/testsuite/ 2014-04-23 Pedro Alves * gdb.base/hbreak-in-shr-unsupported-shr.c: New file. * gdb.base/hbreak-in-shr-unsupported.c: New file. * gdb.base/hbreak-in-shr-unsupported.exp: New file. * gdb.base/hbreak-unmapped.c: New file. * gdb.base/hbreak-unmapped.exp: New file. * gdb.trace/qtro.exp (gdb_is_target_remote): Move ... * lib/gdb.exp (gdb_is_target_remote): ... here. commit 8a52f0d9837ae191eb6d85ded55d3a04da3b7f12 Author: Will Newton Date: Fri Apr 4 15:08:50 2014 +0100 ld/arm: Fix testsuite failures for armeb-linux-eabi Fix all the cases where endianness needs to be taken into account in the ARM ld dump tests. ld/testsuite/ChangeLog: 2014-04-23 Will Newton * ld-arm/arm-no-rel-plt.ld: Remove OUTPUT_FORMAT and SEARCH_DIR commands. * ld-arm/arm-rel32.d: Update regexps to allow test to pass on armeb-linux-eabi configuration. * ld-arm/data-only-map.d: Likewise. * ld-arm/fix-arm1176-off.d: Likewise. * ld-arm/fix-arm1176-on.d: Likewise. * ld-arm/ifunc-1.gd: Likewise. * ld-arm/ifunc-10.gd: Likewise. * ld-arm/ifunc-11.gd: Likewise. * ld-arm/ifunc-12.gd: Likewise. * ld-arm/ifunc-13.gd: Likewise. * ld-arm/ifunc-14.gd: Likewise. * ld-arm/ifunc-15.gd: Likewise. * ld-arm/ifunc-16.gd: Likewise. * ld-arm/ifunc-17.gd: Likewise. * ld-arm/ifunc-2.gd: Likewise. * ld-arm/ifunc-3.gd: Likewise. * ld-arm/ifunc-4.gd: Likewise. * ld-arm/ifunc-5.gd: Likewise. * ld-arm/ifunc-6.gd: Likewise. * ld-arm/ifunc-7.gd: Likewise. * ld-arm/ifunc-8.gd: Likewise. * ld-arm/ifunc-9.gd: Likewise. * ld-arm/jump-reloc-veneers-long.d: Likewise. * ld-arm/reloc-boundaries.d: Likewise. commit 4862acf1cf6f1e65bf38cd0f594e80e2ad8b5b28 Author: Will Newton Date: Fri Apr 4 11:52:59 2014 +0100 gas/arm: Fix gas tests to run on armeb-linux-eabi Fix various places where endianness needed to be taken into account in the gas testsuite for ARM. gas/testsuite/ChangeLog: 2014-04-23 Will Newton * gas/arm/backslash-at.d: Fix dump output regexps for armeb-linux-eabi configuration. * gas/arm/got_prel.d: Likewise. * gas/arm/inst-po.d: Likewise. * gas/arm/unwind.d: Likewise. commit 47fc6e36e3863545a6225034d97f64760fffae05 Author: Will Newton Date: Fri Apr 4 10:07:06 2014 +0100 gas/arm: Force output of a data mapping symbol for literal pools If there is a a trailing align statement in a code section we may output data padding with a data mapping followed by a code alignment with a code mapping. The literal pool may then be output with a code mapping symbol which will cause it to be endian swapped in a big-endian configuration. When outputting a literal pool make sure that a data mapping symbol is output in all cases. gas/ChangeLog: 2014-04-23 Will Newton * config/tc-arm.c (s_ltorg): Call make_mapping_symbol directly instead of mapping_state. gas/testsuite/ChangeLog: 2014-04-23 Will Newton * gas/arm/mapmisc.d: Check literal pool mapping with a trailing .align statement. * gas/arm/mapmisc.s: Likewise. commit 7d64c587c15f290d228ca550bb288d53f0eb2ac4 Author: Andrew Bennett Date: Wed Apr 23 11:24:30 2014 +0100 Add support for the MIPS eXtended Physical Address (XPA) ASE. ChangeLog: binutils/ * doc/binutils.texi: Document the disassemble MIPS XPA instructions command line option. gas/ * config/tc-mips.c (options): Add OPTION_XPA and OPTION_NO_XPA. (md_longopts): Add xpa and no-xpa command line options. (mips_ases): Add MIPS XPA ASE. (mips_cpu_info_table): Update p5600 entry to allow the XPA ASE. * doc/as.texinfo: Document the MIPS XPA command line options. * doc/c-mips.texi: Document the MIPS XPA command line options, and assembler directives. gas/testsuite/ * gas/mips/mips.exp: Add xpa tests. * gas/mips/xpa.s: New test. * gas/mips/xpa.d: Likewise. include/ * opcode/mips.h (ASE_XPA): New define. opcodes/ * mips-dis.c (mips_arch_choices): Update mips32r2 and mips64r2 to allow the MIPS XPA ASE. (parse_mips_dis_option): Process the -Mxpa option. * mips-opc.c (XPA): New define. (mips_builtin_opcodes): Add MIPS XPA instructions and move the locations of the ctc0 and cfc0 instructions. commit cd0449ab05e9045682a81bf521bd0c8732c98feb Author: Alan Modra Date: Wed Apr 23 14:26:19 2014 +0930 PR ld/16787, stale dwarf2 stash Throw away the dwarf2 stash if it becomes invalid due to section VMAs changing. It would be nice to reclaim all the bfd_alloc memory here when we throw away the stash, perhaps by putting everything we alloc on a private dwarf2 objalloc, but I haven't done that with this patch. I've also fixed a problem with bfd_perform_relocation losing reloc addends, which meant a second or subsequent look at debug info sections did not properly relocate the sections. I can't see why bfd_perform_relocation should need to change addends except for ld -r, and the history (985fca12, e98e6ec1) doesn't help much. Finally, the patch tweaks place_sections to avoid unnecessary work. If we've mapped input to output sections, then input section VMA isn't used so there's not much point in adjusting it. Incidentally, this also means place_sections isn't effective in all cases. PR ld/16787 * dwarf2.c (struct dwarf2_debug): Add sec_vma field. (place_sections): Do not modify VMA of sections when called from linker after sections have been placed in output sections. Short circuit single section case. (save_section_vma, section_vma_same): New functions. (_bfd_dwarf2_slurp_debug_info): Throw away stash if section VMAs change. * reloc.c (bfd_perform_relocation): Do not modify reloc addend when non-relocatable. commit 1547d98f5a774617b38f2bdd9be3b5c21c2b9312 Author: Sandra Loosemore Date: Tue Apr 22 19:41:14 2014 -0700 Add missing ChangeLog entries for nios2 gas selftest patch. commit e883b50c50feca944164a57138c9924f39509764 Author: Alan Modra Date: Wed Apr 23 09:30:59 2014 +0930 daily update commit a35d5e823fdfe8a6e7e05ca8e3fb8bb5697335b1 Author: Max Filippov Date: Tue Apr 15 19:12:46 2014 +0400 Fix alignment for the first section frag on xtensa Linking object files produced by partial linking with link-time relaxation enabled sometimes fails with the following error message: dangerous relocation: call8: misaligned call target: (.text.unlikely+0x63) This happens because no basic block with an XTENSA_PROP_ALIGN flag in the property table is generated for the first basic block, even if the .align directive is present. It was believed that the first frag alignment could be derived from the section alignment, but this was not implemented for the partial linking case: after partial linking first frag of a section may become not first, but no additional alignment frag is inserted before it. Basic block for such frag may be merged with previous basic block into extended basic block during relaxation pass losing its alignment restrictions. Fix this by always recording alignment for the first section frag. 2014-04-22 Max Filippov gas/ * config/tc-xtensa.c (xtensa_handle_align): record alignment for the first section frag. gas/testsuite/ * gas/xtensa/all.exp: Add test for the first section frag alignment. * gas/xtensa/first_frag_align.d: First section frag alignment expected dump. * gas/xtensa/first_frag_align.s: First section frag alignment test source. commit 483805cf9ea5a6dace41415d8830e93fccc49c43 Author: Pedro Alves Date: Tue Apr 22 15:00:56 2014 +0100 Consecutive step-overs trigger internal error. If a thread trips on a breakpoint that needs stepping over just after finishing a step over, GDB currently fails an assertion. This is a regression caused by the "Handle multiple step-overs." patch (99619beac6252113fed212fdb9e1ab97bface423) at https://sourceware.org/ml/gdb-patches/2014-02/msg00765.html. (gdb) x /4i $pc => 0x400540 : movl $0x0,0x2003da(%rip) # 0x600924 0x40054a : movl $0x1,0x2003d0(%rip) # 0x600924 0x400554 : movl $0x2,0x2003c6(%rip) # 0x600924 0x40055e : movl $0x3,0x2003bc(%rip) # 0x600924 (gdb) PASS: gdb.base/consecutive-step-over.exp: get breakpoint addresses break *0x40054a Breakpoint 2 at 0x40054a: file ../../../src/gdb/testsuite/gdb.base/consecutive-step-over.c, line 23. (gdb) PASS: gdb.base/consecutive-step-over.exp: insn 1: set breakpoint condition $bpnum condition (gdb) PASS: gdb.base/consecutive-step-over.exp: insn 1: set condition break *0x400554 Breakpoint 3 at 0x400554: file ../../../src/gdb/testsuite/gdb.base/consecutive-step-over.c, line 24. (gdb) PASS: gdb.base/consecutive-step-over.exp: insn 2: set breakpoint condition $bpnum condition (gdb) PASS: gdb.base/consecutive-step-over.exp: insn 2: set condition break *0x40055e Breakpoint 4 at 0x40055e: file ../../../src/gdb/testsuite/gdb.base/consecutive-step-over.c, line 25. (gdb) PASS: gdb.base/consecutive-step-over.exp: insn 3: set breakpoint condition $bpnum condition (gdb) PASS: gdb.base/consecutive-step-over.exp: insn 3: set condition break 27 Breakpoint 5 at 0x400568: file ../../../src/gdb/testsuite/gdb.base/consecutive-step-over.c, line 27. (gdb) continue Continuing. ../../src/gdb/infrun.c:5200: internal-error: switch_back_to_stepped_thread: Assertion `!tp->control.trap_expected' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. FAIL: gdb.base/consecutive-step-over.exp: continue to breakpoint: break here (GDB internal error) The assertion fails, because the code is not expecting that the event thread itself might need another step over. IOW, not expecting that TP in: tp = find_thread_needs_step_over (stepping_thread != NULL, stepping_thread); could be the event thread. A small fix for this would be to clear the event thread's trap_expected earlier, before asserting. But looking deeper, although currently_stepping_or_nexting_callback's intention is finding the thread that is doing a step/next, it also returns the thread that is doing a step-over dance, with trap_expected set. If there ever was a reason for that (it was I who added currently_stepping_or_nexting_callback , but I can't recall why I put trap_expected there in the first place), the only remaining reason nowadays is to aid in implementing switch_back_to_stepped_thread's assertion that is now triggering, by piggybacking on the walk over all threads, thus avoiding a separate walk. This is quite obscure, and I think we can do even better, by merging the walks that look for the stepping thread, and the walk that looks for some thread that might need a step over. Tested on x86_64 Fedora 17, native and gdbserver, and also native on top of my "software single-step on x86_64" series. gdb/ 2014-04-22 Pedro Alves * infrun.c (schedlock_applies): New function, factored out from find_thread_needs_step_over. (find_thread_needs_step_over): Use it. (switch_back_to_stepped_thread): Always clear trap_expected if the step over is finished. Return early if scheduler locking applies. Look for the stepping thread and a potential step-over thread with a single loop. (currently_stepping_or_nexting_callback): Delete. 2014-04-22 Pedro Alves * gdb.base/consecutive-step-over.c: New file. * gdb.base/consecutive-step-over.exp: New file. commit 06d9754365774595eae45a8548d5f24d7093006c Author: Pedro Alves Date: Tue Apr 22 19:15:48 2014 +0100 Make gdb_continue_to_breakpoint fail quickly on internal errors. This switches the gdb_continue_to_breakpoint routine to use gdb_test_multiple instead of send_gdb/gdb_expect, so that an internal error is detected immediately, instead of failing on timeout. gdb/testsuite/ 2014-04-22 Pedro Alves * lib/gdb.exp (gdb_continue_to_breakpoint): Use gdb_test_multiple instead of send_gdb/gdb_expect. commit fad16e308cc96f460d74cf240b76b414c331d7fa Author: Sandra Loosemore Date: Tue Apr 22 10:56:02 2014 -0700 Fix Nios II assembler self-test mode. 2014-04-22 Sandra Loosemore gas/ * config/tc-nios2.c (nios2_consume_arg): Add case for 'E' to unbreak self-test mode. gas/testsuite/ * gas/nios2/selftest.s: New. * gas/nios2/selftest.d: New. commit 43c001c7d638bde9f310fdc3a199e02036f7b205 Author: H.J. Lu Date: Tue Apr 22 10:22:39 2014 -0700 Add tests for PR ld/16846 PR ld/16846 * ld-plugin/lto.exp (lto_link_tests): Add tests for PR ld/16846. * ld-plugin/pr16846a.c: New file. * ld-plugin/pr16846b.c: Likewise. * ld-plugin/pr16846c.c: Likewise. commit d5f59c10fc37e325d3fbad4ae7970c7cf0857b46 Author: Nick Clifton Date: Tue Apr 22 16:57:34 2014 +0100 Another fix for building on a 32-bit host. PR ld/16821 * peXXigen.c (_bfd_XXi_swap_sym_out): Fix for 32-bit hosts. commit 73589c9dbddc7906fa6a150f2a2a0ff6b746e8ba Author: Christian Svensson Date: Tue Apr 22 15:57:47 2014 +0100 Remove support for the (deprecated) openrisc and or32 configurations and replace with support for the new or1k configuration. commit a75fef0e5bc3bfeb4eac434c1c68831f55ab597d Author: Nick Clifton Date: Tue Apr 22 11:23:05 2014 +0100 Add a note to the GDB/NEWS file mentioning that the ARM simulator now supports instruction tracing with or without disassembly alongside. * NEWS: Mention that ARM sim now supports tracing. commit 285fc9d8f8ed30b8a9d680fbf37e8f1843b95bc0 Author: Yuanhui Zhang Date: Tue Apr 22 11:00:39 2014 +0100 Fix build problem on 32-bit hosts with the recent patch for PR 16821. PR ld/16821 * peXXigen.c (abs_finder): Fix for 32-bit host builds. commit 5d3b02f0036dbf39863fd24414e28f28a53ea1fd Author: Will Newton Date: Mon Apr 14 13:37:51 2014 +0100 bfd/elfnn-aarch64.c: Remove elfNN_aarch64_section_flags This function seems to be a left over from some previous functionality that no longer exists - the comment above seems to make no sense with the current code. Remove the function as it breaks handling of SystemTap static probe note sections. bfd/ChangeLog: 2014-04-22 Will Newton * elfnn-aarch64.c (elfNN_aarch64_section_flags): Remove function. (elf_backend_section_flags): Remove define. commit b4429ea262cfbeb9a6ebd9308654b0883b19d1a5 Author: Yao Qi Date: Fri Mar 21 12:52:24 2014 +0800 Check tracefile is generated by binary execution In gdb.trace/tfile.exp, we execute binary to generate tracefile, remote_exec target "$binfile" however, this fails on bare metal target. This patch is to handle binary execution failure by running binary in GDB. The binary will do some io operation to generate tracefile, so we need a check 'target_info exists gdb,nofileio'. This patch is to check whether tracefile is generated. tfile.exp can be skipped if generation is failed, while test_tfind_tfile in mi-traceframe-changed.exp is skipped if generated failed. The rest of the mi-traceframe-changed.exp can still be executed, because on some bare metal targets, the remote stub supports tracepoint but doesn't support fileio. gdb/testsuite: 2014-04-22 Yao Qi * lib/trace-support.exp (generate_tracefile): New procedure. * gdb.trace/tfile.exp: Skip the test if generate_tracefile return 0. * gdb.trace/mi-traceframe-changed.exp: Invoke test_tfind_tfile if generate_tracefile returns 1. commit 48b6e87ef297136a6409c2c993c4626f28bbb4d1 Author: Yao Qi Date: Fri Apr 18 19:32:01 2014 +0800 Unify ctf_fetch_registers and tfile_fetch_registers Functions ctf_fetch_registers and tfile_fetch_registers have some duplicated code about guessing the PC in regcache. Sometimes, we may change one function and forget to update the other one, like this https://www.sourceware.org/ml/gdb-patches/2014-01/msg00292.html This patch is to move the duplicated code into a new function tracefile_fetch_registers, and let both ctf_fetch_registers and tfile_fetch_registers call it. gdb: 2014-04-22 Yao Qi * tracefile-tfile.c (tfile_fetch_registers): Move the bottom to ... * tracefile.c (tracefile_fetch_registers): ... it. New function. * tracefile.h (tracefile_fetch_registers): Declare. * ctf.c (ctf_fetch_registers): Remove the bottom. Call tracefile_fetch_registers. commit f159927f4d15d820a6eb615e33d68780db035c8d Author: Alan Modra Date: Tue Apr 22 09:30:39 2014 +0930 daily update commit d1c109de72f880ea2a761fccb41f330672674fd9 Author: Richard Henderson Date: Mon Apr 21 08:14:18 2014 -0700 Fix alpha-elf relaxation ld/ * emultempl/alphaelf.em (alpha_after_parse): Enable 2 relax passes. bfd/ * elf64-alpha.c (elf64_alpha_size_got_sections): New may_merge parameter; honor it and disable got merging when false. (elf64_alpha_relax_got_load): Do not relax to GPREL relocs during the first pass of relaxation. (elf64_alpha_relax_with_lituse): Likewise. Move relaxed relocs to the end of the LITERAL+LITUSE chain. (elf64_alpha_relax_section): Only process LITERAL relocs during the second pass of relaxation. commit cc75d373fdb9668f367959f99f0b67e056a6c18a Author: Richard Henderson Date: Mon Apr 21 08:05:49 2014 -0700 Enable secureplt by default for alpha-linux * configure.ac (use_secureplt): Enable by default. * configure: Rebuild. commit a7bdd4ed3f8396e707231cbb7ee989d2e8ba9d46 Author: Alan Modra Date: Mon Apr 21 09:30:38 2014 +0930 daily update commit 8b5c7890e8bfa3360339c303599fe5b0c9faa848 Author: Alan Modra Date: Sun Apr 20 09:30:38 2014 +0930 daily update commit 17617f2d366ca969ccbc784be4f75931a1afd20f Author: Eli Zaretskii Date: Sat Apr 19 11:12:19 2014 +0300 PR gdb/14018 -- avoid "PC register not available" errors. gdb/windows-nat.c (thread_rec): Don't display a warning when SuspendThread fails with ERROR_ACCESS_DENIED. If SuspendThread fails for any reason, set th->suspended to -1, so that we don't try to resume such a thread. Also, don't return NULL in these cases, to avoid completely ruin the session due to "PC register is not available" error. (do_windows_fetch_inferior_registers): Check errors in GetThreadContext call. (windows_continue): Accept an additional argument KILLED; if not zero, ignore errors in the SetThreadContext call, since the inferior was killed and is shutting down. (windows_resume, get_windows_debug_event) (windows_create_inferior, windows_mourn_inferior) (windows_kill_inferior): All callers of windows_continue changed to adjust to its new calling sequence. commit 5723a6fd0636bed6d278ab19f6ead31d748a7a78 Author: Yao Qi Date: Fri Apr 18 19:19:22 2014 +0800 Call post_create_inferior in ctf_open. We don't call post_create_inferior at the end of ctf_open. It is an oversight in patch [PATCH 2/2] Create inferior for ctf target. https://sourceware.org/ml/gdb-patches/2014-01/msg01056.html This patch is to call post_create_inferior at the end of ctf_open, like the end of tfile_open. gdb: 2014-04-19 Yao Qi * ctf.c (ctf_open): Call post_create_inferior. commit 614d5099da07f5899dfac9720f49b9f6f350c1bd Author: Yao Qi Date: Sat Apr 19 10:14:58 2014 +0800 Get trace_regblock_size from metadata instead of event In ctf trace, for each 'R' block, we save it as a "register" event, as defined below in metadata. event { name = "register"; id = 0; fields := struct { ascii contents[440]; }; } Nowadays, we initialize trace_regblock_size by getting the length of "contents" from a "register" event. However, 'R' block may not exist in traceframe, as a result, "register" event doesn't exist in trace file and trace_regblock_size isn't set. This patch changes to get trace_regblock_size from metadata (or declaration) which always exists. gdb: 2014-04-19 Yao Qi * ctf.c (handle_id): New static variable. (ctf_open_dir): Get handle_id from bt_context_add_trace return value. Get the declaration of event "register" and get length of field "contents". commit dac3e7103f2822b42ecbb58e40f70f7ccb802d42 Author: Yao Qi Date: Fri Apr 18 19:22:23 2014 +0800 Add null pointer check in ctf_xfer_partial I find a gdb crash when gdb reads ctf trace. The crash is caused by passing NULL to strcmp. This patch is to add null pointer check, as what we did somewhere else in ctf.c. gdb: 2014-04-19 Yao Qi * ctf.c (ctf_xfer_partial): Check 'name' is NULL before strcmp. commit 2bca57bacc88e4d81fd92c72f1d4eb42c1372ac8 Author: Siva Chandra Date: Mon Mar 3 05:08:47 2014 -0800 Remove unnecessary argument METHOD to valops.c:oload_method_static. * valops.c (oload_method_static): Remove unnecessary argument METHOD. Update all callers. commit 13cfc86c8705188e003035775a017f36c56f75bd Author: Alan Modra Date: Sat Apr 19 09:30:59 2014 +0930 daily update commit c9ffd2eaf8efea61f083a5c226df8aab0aea6e23 Author: Tristan Gingold Date: Thu Apr 3 14:45:31 2014 +0200 mach-o: layout executables bfd/ * mach-o.h (bfd_mach_o_dyld_info_command): Add rebase_content, bind_content, weak_bind_content, lazy_bind_content, export_content. (bfd_mach_o_load_command): Add comments, add next field. (mach_o_data_struct): Replace commands field by first_command and last_command. * mach-o.c (bfd_mach_o_append_command): New function. (bfd_mach_o_bfd_copy_private_symbol_data): Add blank lines. (bfd_mach_o_bfd_copy_private_section_data): Check flavour, copy fields. (bfd_mach_o_bfd_copy_private_header_data): Copy load commands. (bfd_mach_o_pad4, bfd_mach_o_pad_command): New functions. (bfd_mach_o_write_thread): Use macro instead of literal. (bfd_mach_o_write_dylinker, bfd_mach_o_write_dylib) (bfd_mach_o_write_main, bfd_mach_o_write_dyld_info): New functions. (bfd_mach_o_write_symtab_content): New function (extracted from bfd_mach_o_write_symtab). (bfd_mach_o_write_symtab): Split. (bfd_mach_o_count_indirect_symbols): Move (bfd_mach_o_build_dysymtab): Remove layout code. (bfd_mach_o_write_contents): Rewritten to build commands in order. (bfd_mach_o_count_sections_for_seg): Remove. (bfd_mach_o_build_obj_seg_command): New function (extracted from bfd_mach_o_build_seg_command). (bfd_mach_o_build_exec_seg_command): New function. (bfd_mach_o_build_dysymtab_command): Remove. (bfd_mach_o_layout_commands): New function. (bfd_mach_o_init_segment): New function. (bfd_mach_o_build_commands): Major rework to handle non-object files. (bfd_mach_o_alloc_and_read, bfd_mach_o_read_dyld_content): New function. (bfd_mach_o_read_dyld_info): Clear content fields. (bfd_mach_o_read_segment): Adjust call. (bfd_mach_o_flatten_sections): Adjust as now load commands are chained. (bfd_mach_o_scan_start_address, bfd_mach_o_scan) (bfd_mach_o_mkobject_init, bfd_mach_o_get_base_address) (bfd_mach_o_lookup_command, bfd_mach_o_core_fetch_environment): Likewise. binutils/ * od-macho.c (dump_section_map): Adjust as load commands are now chained. (dump_load_command, dump_section_content): Likewise. commit 967b2c539ac8232a7922ed303106d1e5fde120d7 Author: Tristan Gingold Date: Wed Apr 9 10:16:39 2014 +0200 mach-o: Define copy_private_header instead of copy_private_bfd. bfd/ * mach-o-target.c (bfd_mach_o_bfd_copy_private_header_data): Define instead of bfd_mach_o_bfd_copy_private_bfd_data. * mach-o.c (bfd_mach_o_bfd_copy_private_bfd_data): Rename. * mach-o.h (bfd_mach_o_bfd_copy_private_bfd_data): Likewise. commit 4525c51ab02e6fdd29017d353e5decaceaeb1000 Author: Tristan Gingold Date: Wed Apr 9 10:15:50 2014 +0200 mach-o: remove name_len field. bfd/ * mach-o.h (bfd_mach_o_dylinker_command) (bfd_mach_o_dylib_command, bfd_mach_o_fvmlib_command): Remove name_len field. * mach-o.c (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib) (bfd_mach_o_read_fvmlib): Adjust after name_len removal. commit 51d481464ec03be1f5479ed648cc38fb944d7fc0 Author: Pedro Alves Date: Fri Apr 18 10:15:21 2014 +0100 Fix PR backtrace/15558 This PR is about an assertion failure in GDB that can be triggered by setting "backtrace limit" to a value that causes GDB to stop unwinding after an inline frame. In this case, an assertion in inline_frame_this_id will trigger: /* We need a valid frame ID, so we need to be based on a valid frame. (...). */ gdb_assert (frame_id_p (*this_id)); Looking at the function: static void inline_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id) { struct symbol *func; /* In order to have a stable frame ID for a given inline function, we must get the stack / special addresses from the underlying real frame's this_id method. So we must call get_prev_frame. Because we are inlined into some function, there must be previous frames, so this is safe - as long as we're careful not to create any cycles. */ *this_id = get_frame_id (get_prev_frame (this_frame)); we see we're computing the frame id for the inline frame. If this is an inline frame, which is a virtual frame constructed based on debug info, on top of a real stack frame, we should _always_ be able to find where the frame was inlined into, as that ultimately just means peeling off the virtual frames on top of the real stack frame. If there ultimately was no prev (real) stack frame, then we wouldn't have been able to construct the inline frame either, by design. That's what the assertion catches. So we have an inline frame, we should _always_ be able to compute its ID, even if that means bypassing the user backtrace limits to get at the real stack frame's info. The problem is that inline_frame_id calls get_prev_frame, and that takes user backtrace limits into account. Code that wants to bypass the limits calls get_prev_frame_1 instead. Note how get_prev_frame_1 already skips all checks for inline frames: /* If we are unwinding from an inline frame, all of the below tests were already performed when we unwound from the next non-inline frame. We must skip them, since we can not get THIS_FRAME's ID until we have unwound all the way down to the previous non-inline frame. */ if (get_frame_type (this_frame) == INLINE_FRAME) return get_prev_frame_if_no_cycle (this_frame); And note how the related frame_unwind_caller_id function also uses get_prev_frame_1: struct frame_id frame_unwind_caller_id (struct frame_info *next_frame) { struct frame_info *this_frame; /* Use get_prev_frame_1, and not get_prev_frame. The latter will truncate the frame chain, leading to this function unintentionally returning a null_frame_id (e.g., when a caller requests the frame ID of "main()"s caller. */ next_frame = skip_artificial_frames (next_frame); this_frame = get_prev_frame_1 (next_frame); if (this_frame) return get_frame_id (skip_artificial_frames (this_frame)); else return null_frame_id; } get_prev_frame_1 is currently static in frame.c. As a _1 suffix is not a good name for an extern function, I've renamed it. Tested on x86-64 Fedora 17. gdb/ 2014-04-18 Pedro alves Tom Tromey PR backtrace/15558 * frame.c (get_prev_frame_1): Rename to ... (get_prev_frame_always): ... this, and make extern. Adjust. (skip_artificial_frames): Use get_prev_frame_always. (frame_unwind_caller_id, frame_pop, get_prev_frame) (get_frame_unwind_stop_reason): Adjust to rename. * frame.h (get_prev_frame_always): Declare. * inline-frame.c: Include frame.h. (inline_frame_this_id): Use get_prev_frame_always. gdb/testsuite/ 2014-04-18 Tom Tromey Pedro alves PR backtrace/15558 * gdb.opt/inline-bt.exp: Test backtracing from an inline function with a backtrace limit. * gdb.python/py-frame-inline.exp: Test running to an inline function with a backtrace limit, and printing the newest frame. * gdb.python/py-frame-inline.c (main): Call f. commit 1bdad2e0421a56e16c0f4623e6320e1225cbe5ee Author: Tristan Gingold Date: Fri Apr 18 11:03:46 2014 +0200 solib-darwin: simplify code. Use bfd_mach_o_get_base_address to extract load address. gdb/ * solib-darwin.c (darwin_solib_create_inferior_hook): Simplify code by using bfd_mach_o_get_base_address. commit 4384b28422294779be111ac24fb34fb6bfe57b32 Author: Tristan Gingold Date: Wed Apr 9 10:10:44 2014 +0200 mach-o: add page_size to backend data. This is preliminary work to layout executables. bfd/ * mach-o.h (bfd_mach_o_backend_data): Add page_size field. * mach-o-target.c: Check TARGET_PAGESIZE is defined. (TARGET_NAME_BACKEND): Add TARGET_PAGESIZE. * mach-o.c (TARGET_PAGESIZE): Define and undefined for each targets declared. * mach-o-x86-64.c (TARGET_PAGESIZE): Define. * mach-o-i386.c (TARGET_PAGESIZE): Define. commit 452216ab0978a5684aacc76a422efd910d7c15df Author: Tristan Gingold Date: Wed Apr 16 16:01:47 2014 +0200 mach-o.c: use boolean instead of int to return status. bfd/ * mach-o.c (bfd_mach_o_write_thread) (bfd_mach_o_write_section_32, bfd_mach_o_write_section_64) (bfd_mach_o_write_segment_32, bfd_mach_o_write_segment_64) (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib) (bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_prebind_cksum) (bfd_mach_o_read_twolevel_hints, bfd_mach_o_read_fvmlib) (bfd_mach_o_read_thread, bfd_mach_o_read_dysymtab) (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid) (bfd_mach_o_read_linkedit, bfd_mach_o_read_str) (bfd_mach_o_read_dyld_info, bfd_mach_o_read_segment) (bfd_mach_o_read_segment_32, bfd_mach_o_read_segment_64) (bfd_mach_o_read_command): Now return a boolean status. Adjust return statements. (bfd_mach_o_write_contents, bfd_mach_o_scan): Adjust tests. (bfd_mach_o_core_file_failing_command): Remove useless initialization. commit 8575cf7345408b513264484ccc72b6b14452be0c Author: Alan Modra Date: Fri Apr 18 09:30:42 2014 +0930 daily update commit bd1dce5fe56e4454e2c5ec17a1ebe685aeb9aea8 Author: Marcus Shawcroft Date: Thu Apr 17 15:26:37 2014 +0100 Drop srcdir from untested source path. commit cb22ccf4110d82441b8d56875419d871f10f3f8f Author: Kwok Cheung Yeung Date: Thu Apr 17 14:13:44 2014 +0100 This patch causes local GOT entries addressed via a 16-bit index to be placed towards the front of local GOT space, while entries addressed via a 32-bit index are placed towards the rear. Provided that there are fewer than ~16K local GOT entries addressed via a 16-bit index in total, this should eliminate any relocation overflows caused by such GOT entries being allocated beyond the addressable range. bfd/ * elfxx-mips.c (struct mips_got_info): Delete assigned_gotno field. Add assigned_low_gotno and assigned_high_gotno fields. (mips_elf_create_local_got_entry): Update out-of-space condition. Set index of new GOT entry to assigned_low_gotno if required by the current relocation, else set it to assigned_high_gotno. (mips_elf_set_global_gotidx): Replace uses of assigned_gotno with assigned_low_gotno. (mips_elf_multi_got): Initialize assigned_low_gotno and assigned_high_gotno in secondary GOTs. Use assigned_low_gotno in place of assigned_gotno when handling global GOT entries. (mips_elf_lay_out_got): Initialize assigned_low_gotno and assigned_high_gotno. (_bfd_mips_elf_finish_dynamic_sections): Account for a possible gap in the middle of local GOT space. ld/testsuite/ * ld-mips-elf/elf-rel-xgot-n32.d: Update for new GOT layout. * ld-mips-elf/elf-rel-xgot-n32-embed.d: Likewise. * ld-mips-elf/elf-rel-xgot-n64.d: Likewise. * ld-mips-elf/elf-rel-xgot-n64-embed.d: Likewise. * ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise. commit 7ce16bd4c4d5e6f6a48ca7fcf532720fec0406bf Author: Ulrich Weigand Date: Thu Apr 17 14:09:49 2014 +0200 Enable DWARF unwinders for SPU This patch enables use of DWARF unwinders for the SPU target. In addition to appending the DWARF unwinders, we also need to install a spu_dwarf_reg_to_regnum that maps the raw stack pointer register to the cooked version (to avoid mismatches with gdbarch_sp_regnum). This also causes confusion with the AX collect handling, so we also install ax_pseudo_register routines to handle the cooked SP. gdb/ 2014-04-17 Ulrich Weigand  * spu-tdep.c: Include "dwarf2-frame.h" and "ax.h". (spu_ax_pseudo_register_collect): New function. (spu_ax_pseudo_register_push_stack): Likewise. (spu_dwarf_reg_to_regnum): Likewise. (spu_gdbarch_init): Install them. Append DWARF unwinders. commit 2ed3c037cf8aac5f6dbee5b6c2a1239550a04202 Author: Ulrich Weigand Date: Thu Apr 17 14:01:39 2014 +0200 Use address_from_register in dwarf2-frame.c:read_addr_from_reg This patch fixes a problem that prevented use of the Dwarf unwinders on SPU, because dwarf2-frame.c common code did not support the situation where the stack and/or frame pointer is maintained in a *vector* register. This is because read_addr_from_reg is hard-coded to assume that such pointers can be read from registers via a simple get_frame_register / unpack_pointer operation. Now, there *is* a routine address_from_register that calls into the appropriate tdep routines to handle pointer values in "weird" registers like on SPU, but it turns out I cannot simply change dwarf2-frame.c to use address_from_register. This is because address_from_register uses value_from_register to create a (temporary) value, and that routine at some point calls get_frame_id in order to set up that value's VALUE_FRAME_ID entry. However, the dwarf2-frame.c read_addr_from_reg routine will be called during early unwinding (to unwind the frame's CFA), at which point the frame's ID is not actually known yet! This would cause an assert. On the other hand, we may notice that VALUE_FRAME_ID is only needed in the value returned by value_from_register if that value is later used as an lvalue. But this is obviously never done to the temporary value used in address_from_register. So, if we could change address_from_register to not call value_from_register but instead accept constructing a value that doesn't have VALUE_FRAME_ID set, things should be fine. To do that, we can change the value_from_register callback to accept a FRAME_ID instead of a FRAME; the only existing uses of the FRAME argument were either to extract its frame ID, or its gdbarch. (To keep a way of getting at the latter, we also change the callback's type from "f" to "m".) Together with the required follow-on changes in the existing value_from_register implementations (including the default one), this seems to fix the problem. As another minor interface cleanup, I've removed the explicit TYPE argument from address_from_register. This routine really always uses a default pointer type, and in the new implementation it -to some extent- relies on that fact, in that it will now no longer handle types that require gdbarch_convert_register_p handling. gdb: 2014-04-17 Ulrich Weigand  * gdbarch.sh (value_from_register): Make class "m" instead of "f". Replace FRAME argument with FRAME_ID. * gdbarch.c, gdbarch.h: Regenerate. * findvar.c (default_value_from_register): Add GDBARCH argument; replace FRAME by FRAME_ID. No longer call get_frame_id. (value_from_register): Update call to gdbarch_value_from_register. * value.h (default_value_from_register): Update prototype. * s390-linux-tdep.c (s390_value_from_register): Update interface and call to default_value_from_register. * spu-tdep.c (spu_value_from_register): Likewise. * findvar.c (address_from_register): Remove TYPE argument. Do not call value_from_register; use gdbarch_value_from_register with null_frame_id instead. * value.h (address_from_register): Update prototype. * dwarf2-frame.c (read_addr_from_reg): Use address_from_register. * dwarf2loc.c (dwarf_expr_read_addr_from_reg): Update for address_from_register interface change. commit 40d1a503c43cda6c04a637972e5635d803f46cde Author: Marcus Shawcroft Date: Thu Apr 17 10:52:43 2014 +0100 Drop prefix from unsupported source path. commit 4c34aff883e4fcc958a2d2c98874a035efc07651 Author: Alan Modra Date: Thu Apr 17 13:08:32 2014 +0930 Fix LTO mismatched TLS reference PR 16846 * elflink.c (_bfd_elf_merge_symbol): Ignore TLS mismatch when current bfd is a plugin. Don't always set type_change_ok when old bfd is a plugin. commit 389b98f7d880c8551bec64f9e7fb0b05fa941de6 Author: Yao Qi Date: Mon Mar 24 11:26:06 2014 +0800 [testsuite] Set target-charset to ascii Hi, We find gdb.base/printcmds.exp fails a lot on windows host, like this, p ctable1[163] $204 = 163 '£' (gdb) FAIL: gdb.base/printcmds.exp: p ctable1[163] however, on linux host, p ctable1[163] $205 = 163 '\243' (gdb) PASS: gdb.base/printcmds.exp: p ctable1[163] The printing related code is in valprint.c:print_wchar, if (gdb_iswprint (w) && (!need_escape || (!gdb_iswdigit (w) && w != LCST ('8') && w != LCST ('9')))) { gdb_wchar_t wchar = w; if (w == gdb_btowc (quoter) || w == LCST ('\\')) obstack_grow_wstr (output, LCST ("\\")); obstack_grow (output, &wchar, sizeof (gdb_wchar_t)); } else { // print W in hex or octal digits } When I debug gdb on different hosts, I find on windows host, gdb_iswprint (iswprint) returns true if 'w' is 163. However, on linux host, iswprint returns false if 'w' is 163. Looks this difference is caused by the charset. On Linux host, the target-charset is ANSI_X3.4-1968, while on windows host, the target-charset is CP1252. We can see how target-charset affects the output. On linux host, (gdb) set target-charset ASCII (gdb) p ctable1[163] $1 = 163 '\243' (gdb) set target-charset CP1252 (gdb) p ctable1[163] $2 = 163 '£' we can print the pound sign too, and it shows target-charset does affect the output. This patch is to set target-charset temporarily to ASCII for some charset-sensitive tests. Tested on arm-none-eabi and powerpc-linux-gnu on mingw32 host. More than one hundred fails are fixed. gdb/testsuite: 2014-04-17 Yao Qi * lib/gdb.exp (with_target_charset): New proc. * gdb.base/printcmds.exp (test_print_all_chars): Wrap tests with with_target_charset. (test_print_strings): Likewise. (test_repeat_bytes): Likewise. * gdb.base/setvar.exp: Set target-charset to ASCII temporarily for some tests. commit 71e50e8314af251f153207192194eaffdf638f5e Author: Yao Qi Date: Thu Mar 13 14:07:26 2014 +0800 Automatic link generation by doxygen Nowadays, we have one page on "GDB Types" generated by doxygen, but types and macros referenced in doc are not linked to their definitions. This patch tweaks the comments a little to use doxygen syntax so that these types and macros are linked their definitions. Is it OK? gdb: 2014-04-17 Yao Qi * gdbtypes.h: Update comments to link to types and macros' definitions. commit 1568481a553b0071c397e6d5d79a8cae4133485b Author: Alan Modra Date: Thu Apr 17 09:31:10 2014 +0930 daily update commit 7a23c5494be60600d34527f5adeaa2a34b85fdb6 Author: Siva Chandra Date: Wed Apr 16 15:41:35 2014 -0700 Add the ChangeLog entry missed in 8000c58e455259951daa4370631aa616b367d1a7. commit 8000c58e455259951daa4370631aa616b367d1a7 Author: Siva Chandra Date: Mon Apr 14 06:50:24 2014 -0700 Remove unused and incorrect macro TYPE_FN_FIELDS. * gdbtypes.h: Remove definition of the macro TYPE_FN_FIELDS. commit 22869d73e127511e177a6bd855f9b5dbe22b9eca Author: Keith Seitz Date: Wed Apr 16 14:39:10 2014 -0700 PR gdb/15827 Install some sanity checks that sibling DIE offsets are not beyond the defined limits of the DWARF input buffer in read_partial_die and skip_one_die. 2014-03-20 Keith Seitz PR gdb/15827 * dwarf2read.c (skip_one_die): Check that all relative-offset sibling DIEs fall within range of the current reader's buffer. (read_partial_die): Likewise. 2014-03-20 Keith Seitz PR gdb/15827 * gdb.dwarf2/corrupt.c: New file. * gdb.dwarf2/corrupt.exp: New file. commit c4f87ca6dbe041e2a331e5054a76c9134f29d545 Author: Keith Seitz Date: Wed Apr 16 14:20:19 2014 -0700 PR c++/16597 [forgot to commit/push these with previous push] If lookup_symbol_file tries to locate a member variable with NULL name: /* A simple lookup failed. Check if the symbol was defined in a base class. */ cleanup = make_cleanup (null_cleanup, NULL); /* Find the name of the class and the name of the method, variable, etc. */ prefix_len = cp_entire_prefix_len (name); /* If no prefix was found, search "this". */ if (prefix_len == 0) { struct type *type; struct symbol *this; this = lookup_language_this (language_def (language_cplus), block); if (this == NULL) { do_cleanups (cleanup); return NULL; } type = check_typedef (TYPE_TARGET_TYPE (SYMBOL_TYPE (this))); klass = xstrdup (TYPE_NAME (type)); nested = xstrdup (name); } TYPE_NAME (type) is NULL, so xstrdup (NULL) and boom! This can happen, e.g., with clang++. See testsuite/gdb.cp/namelessclass.exp or the bugzilla report. This patch simply adds a fencepost against this case, allowing the caller of lookup_symbol_file to search other blocks for the right symbol. commit fe28be73c7c22cc6eb1c3573f1be65c75e37d9b7 Author: Keith Seitz Date: Wed Apr 16 14:12:22 2014 -0700 PR c++/16597 If lookup_symbol_file tries to locate a member variable with NULL name: /* A simple lookup failed. Check if the symbol was defined in a base class. */ cleanup = make_cleanup (null_cleanup, NULL); /* Find the name of the class and the name of the method, variable, etc. */ prefix_len = cp_entire_prefix_len (name); /* If no prefix was found, search "this". */ if (prefix_len == 0) { struct type *type; struct symbol *this; this = lookup_language_this (language_def (language_cplus), block); if (this == NULL) { do_cleanups (cleanup); return NULL; } type = check_typedef (TYPE_TARGET_TYPE (SYMBOL_TYPE (this))); klass = xstrdup (TYPE_NAME (type)); nested = xstrdup (name); } TYPE_NAME (type) is NULL, so xstrdup (NULL) and boom! This can happen, e.g., with clang++. See testsuite/gdb.cp/namelessclass.exp or the bugzilla report. This patch simply adds a fencepost against this case, allowing the caller of lookup_symbol_file to search other blocks for the right symbol. commit 8056826a68e7cb370425c56703a52af98fa159fe Author: Steve Ellcey Date: Wed Apr 16 10:47:13 2014 -0700 2014-04-16 Steve Ellcey * emultempl/elf32.em: Include safe-ctype.h. commit 751e54c92eb7846e3edcd9b8179051ab8174e5b5 Author: Steve Ellcey Date: Wed Apr 16 10:45:08 2014 -0700 2014-04-16 Steve Ellcey * ldbuildid.c (generate_build_id): Add ATTRIBUTE_UNUSED to size arg. commit ab19de874b887743e0862e6680e561f6fc4f02fa Author: Doug Evans Date: Wed Apr 16 10:40:41 2014 -0700 Fix wrapper.exp testcase with stdio gdbserver. * lib/gdbserver-support.exp (gdbserver_default_get_remote_address): Add comment. (gdbserver_default_get_comm_port): New function. (gdbserver_start): Check if board file provided "gdbserver,get_comm_port" and use it if so. * boards/native-stdio-gdbserver.exp (sockethost): Set to "". (gdb,socketport): Set to "stdio". (gdbserver,get_comm_port): Set to ${board}_get_comm_port. (stdio_gdbserver_template): Delete. (${board}_get_remote_address): Update. (${board}_build_remote_cmd): Delete. (${board}_get_comm_port): New function. (${board}_spawn): Update. * boards/remote-stdio-gdbserver.exp (${board}_build_remote_cmd): Delete. (${board}_get_remote_address): Update. (${board}_get_comm_port): New function. commit fc98a809db2b6792a47919d30c9bd3446f5a83ca Author: Andrew Burgess Date: Wed Apr 16 17:42:29 2014 +0100 gdb.base/memattr.exp regexp improvements. https://sourceware.org/ml/gdb-patches/2014-04/msg00210.html Improve the regexp used in the memattr.exp test so allow for different memory regions (.data / .bss) being laid out in different orders. gdb/testsuite/ChangeLog: * gdb.base/memattr.exp: Improve regexps to handle memory regions appearing in any order. commit 8e63ef2f2539b7fd3f81f11d930b8bdf8daa9da1 Author: Alan Modra Date: Wed Apr 16 22:58:15 2014 +0930 Fix more fallout from TC_CONS_FIX_NEW change * config/tc-tilegx.h (TC_CONS_FIX_NEW): Add RELOC arg. * config/tc-tilepro.h (TC_CONS_FIX_NEW): Likewise. commit e89d3dee76bc7f2d4b967ce9238f7f22e0a7c147 Author: Tristan Gingold Date: Fri Apr 11 17:10:03 2014 +0200 Mach-O: Add objdump -P dyld_info to dump dyld data. include/mach-o/ * loader.h: Add macros for rebase, bind and export constants. binutils/ * od-macho.c (OPT_DYLD_INFO): New macro. (options): Add entry for dyld_info. (mach_o_help): Likewise. (load_and_dump, dump_dyld_info_rebase, dump_dyld_info_bind) (dump_dyld_info_export_1, dump_dyld_info_export): New functions. (bfd_mach_o_dyld_rebase_type_name): New array. (export_info_data): New struct. (dump_dyld_info): Add verbose argument. Dump rebase, bind and exports data. (dump_load_command): Adjust dump_dyld_info call. (mach_o_dump): Handle dyld_info. commit 47f8a1070c0619bf7698e6584f7196f06e529da0 Author: Tristan Gingold Date: Fri Apr 11 15:27:10 2014 +0200 Mach-O: improve objdump -P load output. binutils/ * od-macho.c (dump_header): Display sizeofcmds in decimal too. (dump_segment): Reformat output. (dump_dyld_info): Also display end offsets. (dump_load_command): Add IDX argument, display commands size and offset, reformat display. (dump_load_commands): Adjust for added argument. commit 12241a34d72fe9be70e8c7001b05764bb7e9738e Author: Tristan Gingold Date: Wed Apr 9 10:12:45 2014 +0200 Mach-O: add cpu and cpusubtype caps. include/mach-o/ 2014-04-16 Tristan Gingold * loader.h (BFD_MACH_O_CPU_ARCH_MASK, BFD_MACH_O_CPU_ARCH_ABI64) (BFD_MACH_O_CPU_SUBTYPE_MASK, BFD_MACH_O_CPU_SUBTYPE_LIB64): Define. bfd/ 2014-04-16 Tristan Gingold * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype flag. commit 40fd06d18832d52c9ab08914d8d5428ca68e5726 Author: Alan Modra Date: Wed Apr 16 11:47:13 2014 +0930 fill ppc476 fixup area Stops false positive warnings from scanner. * elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area with "ba 0" rather than zeros. commit 7d9ac5f946c94de300fb22962b53701d2b73c52d Author: Alan Modra Date: Wed Apr 16 09:31:06 2014 +0930 daily update commit 87fd9e6ed8fdac0661026b7d2a66a9b364fe4bc2 Author: Doug Evans Date: Tue Apr 15 16:11:32 2014 -0700 * gdb.gdb/selftest.exp (do_steps_and_nexts): Don't reference uninitialized value of "description". commit bfb1f6c31687a01e2763a30c8ca92e0426afb725 Author: Cary Coutant Date: Tue Apr 15 12:06:29 2014 -0700 2014-04-15 Sasa Stankovic elfcpp/ * mips.h (R _MIPS16_TLS_GD, R_MIPS16_TLS_LDM, R_MIPS16_TLS_DTPREL_HI16, R_MIPS16_TLS_DTPREL_LO16, R_MIPS16_TLS_GOTTPREL, R_MIPS16_TLS_TPREL_HI16, R_MIPS16_TLS_TPREL_LO16, R_MICROMIPS_26_S1, R_MICROMIPS_HI16, R_MICROMIPS_LO16, R_MICROMIPS_GPREL16, R_MICROMIPS_LITERAL, R_MICROMIPS_GOT16, R_MICROMIPS_PC7_S1, R_MICROMIPS_PC10_S1, R_MICROMIPS_PC16_S1, R_MICROMIPS_CALL16, R_MICROMIPS_GOT_DISP, R_MICROMIPS_GOT_PAGE, R_MICROMIPS_GOT_OFST, R_MICROMIPS_GOT_HI16, R_MICROMIPS_GOT_LO16, R_MICROMIPS_SUB, R_MICROMIPS_HIGHER, R_MICROMIPS_HIGHEST, R_MICROMIPS_CALL_HI16, R_MICROMIPS_CALL_LO16, R_MICROMIPS_SCN_DISP, R_MICROMIPS_JALR, 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, R_MICROMIPS_PC23_S20, R_MIPS_EH): New enums for relocations (mips16 and micromips). (STO_MIPS_FLAGS): New enum constant. (elf_st_is_mips16): New function. (elf_st_is_micromips): New function. (is_micromips): New function. (abi_n32): New function. (abi_n64): New function. (ODK_NULL, ODK_REGINFO, ODK_EXCEPTIONS, ODK_PAD, ODK_HWPATCH, ODK_FILL, ODK_TAGS, ODK_HWAND, ODK_HWOR, ODK_GP_GROUP, ODK_IDENT): New enum constants. * elfcpp.h (SHT_MIPS_OPTIONS): New enum constant. commit 099fc3ea4c68d257cc52c21844173d75873313b1 Author: Keith Seitz Date: Tue Apr 15 12:07:33 2014 -0700 Remove unused globals in mi-simplerun.exp. 2014-04-15 Keith Seitz * gdb.mi/mi-simplerun.exp (test_breakpoints_creation_and_listing): Remove unused globals. (test_running_the_program): Likewise. (test_controlled_execution): Likewise. (test_controlling_breakpoints): Likewise. (test_program_termination): Likewise. commit 99fd8cfff7a9da67efc2e6c627176f5c767c6e7d Author: Cary Coutant Date: Tue Apr 15 11:24:30 2014 -0700 Allow target to decide whether to include a section. 2014-04-15 Sasa Stankovic gold/ * layout.cc (Layout::include_section): Allow a target to decide whether to include a section. * target.h (Target::should_include_section): New function. (Target::do_should_include_section): New function. commit 91f43acd5d692518f95a901e92dec7dbb6347564 Author: Cary Coutant Date: Tue Apr 15 11:19:18 2014 -0700 Allow target to derive from Copy_relocs class. 2014-04-15 Sasa Stankovic gold/ * copy-relocs.cc (Copy_relocs::Copy_reloc_entry::emit): Remove and inline into ... (Copy_relocs::emit): ... here. * copy-relocs.h (Copy_reloc_entry): Change from class to struct. (Copy_reloc_entry::make_copy_reloc): Change from private to protected. (Copy_reloc_entry::entries_): Change from private to protected. commit 5da151d470a6c99ae6cbd5efa01f2a3b97261e59 Author: Keith Seitz Date: Tue Apr 15 11:47:57 2014 -0700 Test suite cleanup. 2014-04-15 Keith Seitz * gdb.mi/mi-break.exp (test_tbreak_creation_and_listing): Remove unused globals. (test_rbreak_creation_and_listing): Likewise. (test_ignore_count): Likewise. (test_error): Likewise. commit fa85fb9a1bf35209a149d07ebefb2a8970e4a27a Author: Marcus Shawcroft Date: Tue Apr 15 17:46:07 2014 +0100 [AArch64] Fix off by one error in instruction relaxation mask. The AArch64 TLSDESC to IE relaxation code uses a bit mask intended to ensure that destination register in a relaxed ldr instruction is always X0. The mask has an off by one error resulting in the most significant bit of the destination register being retained in the relaxed instruction. The issue generally appears when the compiler emits TLS accesses code under high register pressure resulting in a broken code sequence. commit 35e5d2f0f81d97f9bd41586b1979345072b7989d Author: Pedro Alves Date: Tue Apr 15 14:02:34 2014 +0100 gdb.base/sym-file.exp, hide guts of the custom loader. This test uses a simple custom elf loader, implemented in gdb.base/sym-file-loader.h|c. This loader doesn't have a dlclose-like function today, but I'll need one. But, I found that the guts of the loader are exposed too much to the client, making the interface more complicated than necessary. It's simpler if the loader just exports a few dlopen/dlsym -style functions. That's what this patch does. Tested on x86_86 Fedora 17, native and gdbserver. gdb/testsuite/ 2014-04-15 Pedro Alves * gdb.base/sym-file-loader.h: Move inclusion of , , and to sym-file-loader.c. (Elf_External_Phdr, Elf_External_Ehdr, Elf_External_Shdr) (Elf_External_Sym, Elf_Addr, GET, GETADDR, struct segment): Move to sym-file-loader.c. (struct library): Forward declare. (load_shlib, lookup_function): Change prototypes. (find_shstrtab, find_strtab, find_shdr, find_symtab) (translate_offset): Remove declarations. (get_text_addr): New declaration. * gdb.base/sym-file-loader.c: Move inclusion of , , and here from sym-file-loader.h. (Elf_External_Phdr, Elf_External_Ehdr, Elf_External_Shdr) (Elf_External_Sym, Elf_Addr, GET, GETADDR, struct segment): Move here from sym-file-loader.h. (struct library): New structure. (load_shlib, lookup_function): Change prototypes and adjust to work with a struct library. (find_shstrtab, find_strtab, find_shdr, find_symtab) (translate_offset): Make static. (get_text_addr): New function. * gdb.base/sym-file-main.c (main): Adjust to new loader interface. commit eb4c17106b7303565b8d0ce8b572fa64945d1e7d Author: Pedro Alves Date: Tue Apr 15 14:13:08 2014 +0100 gdb.base/sym-file-loader.c: Fix typo. SELF_LINK, not SELK_LINK... gdb/testsuite/ 2014-04-15 Pedro Alves * gdb.base/sym-file-loader.c: Fix typo. SELF_LINK, not SELK_LINK. commit 2d1baf521e08bc390d604aaf1326347cc130ce1f Author: Pedro Alves Date: Mon Apr 14 17:23:55 2014 +0100 Make sym-file.exp work with remote targets and hosts. The main issue here is that this test passes the host's absolute path to the library to load to the "dlopen"-like routine, which doesn't work when either the target or the host are remote, unless a shared filesystem has been set up. Tests that dynamically load a library solve this by dlopen'ing by basename, and setting rpath to $ORIGIN. See gdb_compile. This test doesn't use dlopen, but instead uses its own simple elf loader. The fix is to pass this loader the library basename, and teach it to look up the library by basename in the executable's directory as well, i.e., assuming/emulating RPATH=$ORIGIN. Tested on x86_64 Fedora 17, native and gdbserver. I looked around in the web to figure out Linux's /proc/self/exe equivalents in other ELF OSs. I think I covered all relevant, but if not, I think it'll be simple enough to add more. (Note the test is skipped on non-ELF targets.) Tested on x86_64 Fedora 17, native and gdbserver. gdb/testsuite/ 2014-04-15 Pedro Alves * gdb.base/sym-file-loader.c: Include . (SELF_LINK): New define. (get_origin): New function. (load_shlib): Use it. * gdb.base/sym-file.exp: Don't early return if the target is remote. Use runto_main, and issue fail is that fails. Use gdb_load_shlibs. (shlib_name): Delete. (lib_so, lib_syms, lib_dlopen): New globals. Use them throughout. commit 7dd6df0171796757f404a549c76f0d9b9192c849 Author: Pedro Alves Date: Tue Apr 15 12:49:51 2014 +0100 gdb.base/sym-file.exp: clean up test messages a bit. Remove regex characters from test message, and don't refer to breakpoint numbers in test messages (subsequent patches will add more breakpoints, changing these numbers). Result: -PASS: gdb.base/sym-file.exp: add-symbol-file .*sym-file-lib\.so addr +PASS: gdb.base/sym-file.exp: add-symbol-file sym-file-lib.so addr -PASS: gdb.base/sym-file.exp: check if Breakpoint 2 is pending. -PASS: gdb.base/sym-file.exp: check if Breakpoint 3 is pending. +PASS: gdb.base/sym-file.exp: breakpoint at foo is pending +PASS: gdb.base/sym-file.exp: breakpoint at bar is pending gdb/testsuite/ 2014-04-15 Pedro Alves * gdb.base/sym-file.exp: Remove regex characters from test message. Don't refer to breakpoint numbers in test messages. commit 170015c5a013f0036073ebc3d455c379371edc27 Author: Alan Modra Date: Tue Apr 15 09:30:44 2014 +0930 daily update commit b50c861487bb7d71185777193a9246bac81e4f26 Author: Keith Seitz Date: Mon Apr 14 15:47:15 2014 -0700 Remove symbol_matches_domain. This fixes PR c++/16253. symbol_matches_domain was permitting searches for a VAR_DOMAIN symbol to also match STRUCT_DOMAIN symbols for languages like C++ where STRUCT_DOMAIN symbols also define a typedef of the same name, e.g., "struct foo {}" introduces a typedef of the name "foo". Problems occur if there exists both a VAR_DOMAIN and STRUCT_DOMAIN symbol of the same name. Then it is essentially a race between which symbol is found first. The other symbol is obscurred. [This is a relatively common idiom: enum e { ... } e;] This patchset moves this "language defines a typedef" logic to lookup_symbol[_in_language], looking first for a symbol in the given domain and falling back to searching STRUCT_DOMAIN when/if appropriate. 2014-04-14 Keith Seitz PR c++/16253 * ada-lang.c (ada_symbol_matches_domain): Moved here and renamed from symbol_matches_domain in symtab.c. All local callers of symbol_matches_domain updated. (standard_lookup): If DOMAIN is VAR_DOMAIN and no symbol is found, search STRUCT_DOMAIN. (ada_find_any_type_symbol): Do not search STRUCT_DOMAIN independently. standard_lookup will do that automatically. * cp-namespace.c (cp_lookup_symbol_nonlocal): Explain when/why VAR_DOMAIN searches may return a STRUCT_DOMAIN match. (cp_lookup_symbol_in_namespace): Likewise. If no VAR_DOMAIN symbol is found, search STRUCT_DOMAIN. (cp_lookup_symbol_exports): Explain when/why VAR_DOMAIN searches may return a STRUCT_DOMAIN match. (lookup_symbol_file): Search for the class name in STRUCT_DOMAIN. * cp-support.c: Include language.h. (inspect_type): Explicitly search STRUCT_DOMAIN before searching VAR_DOMAIN. * psymtab.c (match_partial_symbol): Compare the requested domain with the symbol's domain directly. (lookup_partial_symbol): Likewise. * symtab.c (lookup_symbol_in_language): Explain when/why VAR_DOMAIN searches may return a STRUCT_DOMAIN match. If no VAR_DOMAIN symbol is found, search STRUCT_DOMAIN for appropriate languages. (symbol_matches_domain): Renamed `ada_symbol_matches_domain' and moved to ada-lang.c (lookup_block_symbol): Explain that this function only returns symbol matching the requested DOMAIN. Compare the requested domain with the symbol's domain directly. (iterate_over_symbols): Compare the requested domain with the symbol's domain directly. * symtab.h (symbol_matches_domain): Remove. 2014-04-14 Keith Seitz PR c++/16253 * gdb.cp/var-tag.cc: New file. * gdb.cp/var-tag.exp: New file. * gdb.dwarf2/dw2-ada-ffffffff.exp: Set the language to C++. * gdb.dwarf2/dw2-anon-mptr.exp: Likewise. * gdb.dwarf2/dw2-double-set-die-type.exp: Likewise. * gdb.dwarf2/dw2-inheritance.exp: Likewise. commit 3d567982aca11c85a7fa31f13046de3271d3afc8 Author: Tom Tromey Date: Thu Mar 27 12:24:27 2014 -0600 implement support for "enum class" This adds support for the C++11 "enum class" feature. This is PR c++/15246. I chose to use the existing TYPE_DECLARED_CLASS rather than introduce a new type code. This seemed both simple and clear to me. I made overloading support for the new enum types strict. This is how it works in C++; and it didn't seem like an undue burden to keep this, particularly because enum constants are printed symbolically by gdb. Built and regtested on x86-64 Fedora 20. 2014-04-14 Tom Tromey PR c++/15246: * c-exp.y (type_aggregate_p): New function. (qualified_name, classify_inner_name): Use it. * c-typeprint.c (c_type_print_base): Handle TYPE_DECLARED_CLASS and TYPE_TARGET_TYPE of an enum type. * dwarf2read.c (read_enumeration_type): Set TYPE_DECLARED_CLASS on an enum type. (determine_prefix) : New case; handle TYPE_DECLARED_CLASS. * gdbtypes.c (rank_one_type): Handle TYPE_DECLARED_CLASS on enum types. * gdbtypes.h (TYPE_DECLARED_CLASS): Update comment. * valops.c (enum_constant_from_type): New function. (value_aggregate_elt): Use it. * cp-namespace.c (cp_lookup_nested_symbol): Handle TYPE_CODE_ENUM. 2014-04-14 Tom Tromey * gdb.cp/classes.exp (test_enums): Handle underlying type. * gdb.dwarf2/enum-type.exp: Add test for enum with underlying type. * gdb.cp/enum-class.exp: New file. * gdb.cp/enum-class.cc: New file. commit c848d64244912f9f411bec7b1c045bf14c72b61b Author: Tom Tromey Date: Thu Mar 27 12:16:38 2014 -0600 constify value_aggregate_elt While working on another patch I realized that value_aggregate_elt's "name" parameter ought to be const. This patch implements this. 2014-04-14 Tom Tromey * valops.c (value_aggregate_elt, value_struct_elt_for_reference) (value_namespace_elt, value_maybe_namespace_elt): Make "name" const. * value.h (value_aggregate_elt): Update. commit 0626fc76d1b95c1c5b158a9b0be17791aa9078f8 Author: Tom Tromey Date: Wed Mar 26 08:54:56 2014 -0600 handle DW_AT_type on an enumeration DWARF allows an enumeration type to have a DW_AT_type. GDB doesn't recognize this, but there is a patch to change GCC to emit it, and a DWARF proposal to further allow an enum type with a DW_AT_type to omit the DW_AT_byte_size. This patch changes gdb to implement this. Built and regtested on x86-64 Fedora 20. 2014-04-14 Tom Tromey * dwarf2read.c (read_enumeration_type): Handle DW_AT_type. 2014-04-14 Tom Tromey * gdb.dwarf2/enum-type.exp: New file. commit dca325b370730f8cfd3b63ac848569bf58d8746c Author: Sanimir Agovic Date: Fri Nov 15 12:48:00 2013 +0000 test: add mi vla test testsuite/ChangeLog: * gdb.mi/mi-vla-c99.exp: New file. * gdb.mi/vla.c: New file. commit 5854b38a00f8f5021e6d9b075e882aafcf2e91ed Author: Sanimir Agovic Date: Fri Nov 15 12:47:47 2013 +0000 test: basic c99 vla tests for C primitives gdb/testsuite/ChangeLog: * gdb.base/vla-datatypes.c: New file. * gdb.base/vla-datatypes.exp: New file. commit 463bb9571be732fdbd3101bd6edd104c99ea4883 Author: Sanimir Agovic Date: Fri Nov 15 12:47:44 2013 +0000 test: evaluate pointers to C99 vla correctly. gdb/testsuite/ChangeLog: * gdb.base/vla-ptr.c: New file. * gdb.base/vla-ptr.exp: New file. commit 3dd170be2528487b4c200b531d7abda38d64634f Author: Sanimir Agovic Date: Tue Nov 26 14:47:16 2013 +0000 test: cover subranges with present DW_AT_count attribute The dwarf attribute DW_AT_count specifies the elements of a subrange. This test covers subranges with present count but absent upper bound attribute, both with static and dynamic attribute values. testsuite/ChangeLog: * gdb.dwarf2/count.exp: New file. commit 5ecaaa66e0d056412ca95b3ac2e385b3e470a95c Author: Sanimir Agovic Date: Wed Feb 5 16:22:08 2014 +0000 vla: evaluate operand of sizeof if its type is a vla The c99 standard in "6.5.3.4 The sizeof operator" states: If the type of the operand is a variable length array type, the operand is evaluated;[...] This patch mirrors the following c99 semantic in gdb: 1| int vla[n][m]; 2| int i = 1; 3| sizeof(vla[i++][0]); // No sideffect 4| assert (i == 1); 5| sizeof(vla[i++]); // With sideffect 6| assert (i == 2); Note: ptype/whatis still do not allow any sideeffects. This patch was motivated by: https://sourceware.org/ml/gdb-patches/2014-01/msg00732.html gdb/ChangeLog: * eval.c (evaluate_subexp_for_sizeof): Add enum noside argument. (evaluate_subexp_standard): Pass noside argument. (evaluate_subexp_for_sizeof) : Handle subscript case if noside equals EVAL_NORMAL. If the subscript yields a vla type re-evaluate subscript operation with EVAL_NORMAL to enable sideffects. * gdbtypes.c (resolve_dynamic_bounds): Mark bound as evaluated. * gdbtypes.h (enum range_flags): Add RANGE_EVALUATED case. testsuite/ChangeLog: * gdb.base/vla-sideeffect.c: New file. * gdb.base/vla-sideeffect.exp: New file. commit 1612e0c0f973f3defdfb2e74b09ec93f3d819c79 Author: Sanimir Agovic Date: Tue Nov 26 14:35:43 2013 +0000 vla: resolve dynamic bounds if value contents is a constant byte-sequence A variable location might be a constant value and therefore no inferior memory access is needed to read the content. In this case try to resolve the type bounds. gdb/ChangeLog: * findvar.c (default_read_var_value): Resolve dynamic bounds if location points to a constant blob. commit c451ebe5dd0c38617c74e0b6f0d5ef3188c25d56 Author: Sanimir Agovic Date: Tue Nov 19 12:54:24 2013 +0000 vla: support for DW_AT_count This patch adds support for DW_AT_count as requested in the code review: https://sourceware.org/ml/gdb-patches/2013-11/msg00200.html gdb/ChangeLog: * dwarf2read.c (read_subrange_type): Convert DW_AT_count to a dynamic property and store it as the high bound and flag the range accordingly. * gdbtypes.c (resolve_dynamic_bounds): If range is flagged as RANGE_UPPER_BOUND_IS_COUNT assign low + high - 1 as the new high bound. * gdbtypes.h (enum range_flags): New enum. (struct range_bounds): Add flags member. commit 1d42e4c4d85cb12ce07a5349b1b2e11dce2d077d Author: Sanimir Agovic Date: Thu Nov 14 09:55:52 2013 +0000 vla: print "variable length" for unresolved dynamic bounds 1| void foo (size_t n) { 2| int vla[n]; 3| } Given the following expression (gdb) ptype &vla Gdb evaluates the expression with EVAL_AVOID_SIDE_EFFECTS and thus does not resolve the bounds information and misinterprets the high bound as a constant. The current output is: type = int (*)[1289346] this patch deals with this case and prints: type = int (*)[variable length] instead. gdb/ChangeLog: * c-typeprint.c (c_type_print_varspec_suffix): Added check for not yet resolved high bound. If unresolved, print "variable length" string to the console instead of random length. commit 9f1f738adae6b28c4f7db7e3607b4c224f1f7612 Author: Sanimir Agovic Date: Mon Oct 14 08:36:13 2013 +0100 vla: update type from newly created value Constructing a value based on a type and address might change the type of the newly constructed value. Thus re-fetch type via value_type to ensure we have the correct type at hand. gdb/ChangeLog * ada-lang.c (ada_value_primitive_packed_val): Re-fetch type from value. (ada_template_to_fixed_record_type_1): Likewise. (ada_to_fixed_type_1): Likewise. * cp-valprint.c (cp_print_value_fields_rtti): Likewise. (cp_print_value): Likewise. * d-valprint.c (dynamic_array_type): Likewise. * findvar.c (address_of_variable): Likewise. * jv-valprint.c (java_value_print): Likewise. * valops.c (value_ind): Likewise. * value.c (coerce_ref): Likewise. commit 3c8452d46ac23d455c30438d0885a738e02b56e1 Author: Sanimir Agovic Date: Sat Oct 12 12:36:16 2013 +0100 vla: enable sizeof operator for indirection This patch enables the sizeof operator for indirections: 1| void foo (size_t n) { 2| int vla[n]; 3| int *vla_ptr = &vla; 4| } (gdb) p sizeof(*vla_ptr) yields sizeof (size_t) * n. gdb/ChangeLog: * eval.c (evaluate_subexp_for_sizeof) : Create an indirect value and retrieve the dynamic type size. commit 4ad88275f81a586e32e86351cc415a97d58ef448 Author: Sanimir Agovic Date: Wed Oct 9 15:28:22 2013 +0100 vla: enable sizeof operator to work with variable length arrays In C99 the sizeof operator computes the size of a variable length array at runtime (6.5.3.4 The sizeof operator). This patch reflects the semantic change in the debugger. We now are able to get the size of a vla: 1| void foo (size_t n) { 2| int vla[n]; 3| } (gdb) p sizeof(vla) yields N * sizeof(int). gdb/ChangeLog: * eval.c (evaluate_subexp_for_sizeof) : If the type passed to sizeof is dynamic evaluate the argument to compute the length. commit 80180f796d366d230822c07a15aa68971abf9d77 Author: Sanimir Agovic Date: Wed Oct 9 15:28:22 2013 +0100 type: add c99 variable length array support The dwarf standard allow certain attributes to be expressed as dwarf expressions rather than constants. For instance upper-/lowerbound attributes. In case of a c99 variable length array the upperbound is a dynamic attribute. With this change c99 vla behave the same as with static arrays. 1| void foo (size_t n) { 2| int ary[n]; 3| memset(ary, 0, sizeof(ary)); 4| } (gdb) print ary $1 = {0 } gdb/ChangeLog: * dwarf2loc.c (dwarf2_locexpr_baton_eval): New function. (dwarf2_evaluate_property): New function. * dwarf2loc.h (dwarf2_evaluate_property): New function prototype. * dwarf2read.c (attr_to_dynamic_prop): New function. (read_subrange_type): Use attr_to_dynamic_prop to read high bound attribute. * gdbtypes.c: Include dwarf2loc.h. (is_dynamic_type): New function. (resolve_dynamic_type): New function. (resolve_dynamic_bounds): New function. (get_type_length): New function. (check_typedef): Use get_type_length to compute type length. * gdbtypes.h (TYPE_HIGH_BOUND_KIND): New macro. (TYPE_LOW_BOUND_KIND): New macro. (is_dynamic_type): New function prototype. * value.c (value_from_contents_and_address): Call resolve_dynamic_type to resolve dynamic properties of the type. Update comment. * valops.c (get_value_at, value_at, value_at_lazy): Update comment. commit 41f1ada5d2d4cff7a235644661ec30de156fd038 Author: David Blaikie Date: Fri Apr 11 17:20:49 2014 -0700 Add return value for non-void function return statements to fix error in clang build. Clang defaults this warning to an error, breaking the build & causing these tests not to run. gdb/testsuite/ * gdb.mi/non-stop.c: Add return value for non-void function return statement. * gdb.threads/staticthreads.c: Ditto. commit a155684382884a471075e02b265b4dfbdbc79332 Author: Richard Henderson Date: Mon Apr 14 08:30:56 2014 -0700 Fix typo in _initialize_alpha_linux_nat prototype * alpha-linux-nat.c (_initialize_alpha_linux_nat): Fix prototype. commit da3a208854095a3e11d592aed2efdabe7c73ae11 Author: Alan Modra Date: Mon Apr 14 11:48:06 2014 +0930 ppc476 plt call stubs Fuss over bctr in call stubs. * elf32-ppc.c (BA): Define (ppc_elf_link_hash_table_create): Correct default_params. (write_glink_stub): Pad small plt call stub with "ba 0" rather than "nop" for ppc476_workaround. (ppc_elf_finish_dynamic_sections): Likewise for branch table and __glink_PLTresolve. Ensure plt call stub at end of page doesn't allow fall-thru prefetch. commit f87121158599eb6f6463092ecad0a988d3e3cd75 Author: Alan Modra Date: Mon Apr 14 09:30:41 2014 +0930 daily update commit 3c4630ee7e281aadf6ff24cb3b94919a84ab5f31 Author: Alan Modra Date: Sun Apr 13 09:30:41 2014 +0930 daily update commit 0be03e84176ab0077462b84ef236c56a7a0376fd Author: Doug Evans Date: Sat Apr 12 09:09:41 2014 -0700 Copy over fix for fetching dynamic type of a reference from python side. * guile/scm-value.c (gdbscm_value_dynamic_type): Use coerce_ref to dereference TYPE_CODE_REF values. testsuite/ * gdb.guile/scm-value.c: Improve test case. * gdb.guile/scm-value.exp: Add new test. commit f180a1fb463a6a9ab4a883374120d16770486914 Author: David Blaikie Date: Fri Apr 11 12:45:37 2014 -0700 Compile inline test with -std=gnu89 explicitly to override Clang's default (-std=c99) gdb/testsuite/ * gdb.opt/inline-break.exp: Explicitly specify -std=gnu89 to override Clang's default. commit d616f26a0480204b401470af5759ea2c60775644 Author: Alan Modra Date: Sat Apr 12 09:30:56 2014 +0930 daily update commit 191a8a90463a21431432b36bd33ac2197ea6e3af Author: Joel Brobecker Date: Fri Apr 11 15:28:08 2014 -0700 gdb/testsuite/ChangeLog: Fix path to a few files in previous entries. commit 6b662e19e420d2ef28f14b985390977080bcd341 Author: Joel Brobecker Date: Fri Apr 11 14:47:15 2014 -0700 Revert the entire VLA series. This reverts the following patch series, as they cause some regresssions. commit 37c1ab67a35025d37d42c449deab5f254f9f59da type: add c99 variable length array support gdb/ * dwarf2loc.c (dwarf2_locexpr_baton_eval): New function. (dwarf2_evaluate_property): New function. * dwarf2loc.h (dwarf2_evaluate_property): New function prototype. * dwarf2read.c (attr_to_dynamic_prop): New function. (read_subrange_type): Use attr_to_dynamic_prop to read high bound attribute. * gdbtypes.c: Include dwarf2loc.h. (is_dynamic_type): New function. (resolve_dynamic_type): New function. (resolve_dynamic_bounds): New function. (get_type_length): New function. (check_typedef): Use get_type_length to compute type length. * gdbtypes.h (TYPE_HIGH_BOUND_KIND): New macro. (TYPE_LOW_BOUND_KIND): New macro. (is_dynamic_type): New function prototype. * value.c (value_from_contents_and_address): Call resolve_dynamic_type to resolve dynamic properties of the type. Update comment. * valops.c (get_value_at, value_at, value_at_lazy): Update comment. commit 26cb189f8b46dbe7b2d485525329a8919005ca8a vla: enable sizeof operator to work with variable length arrays gdb/ * eval.c (evaluate_subexp_for_sizeof) : If the type passed to sizeof is dynamic evaluate the argument to compute the length. commit 04b19544ef6a97b62b2cc4a3170b900e046ab185 vla: enable sizeof operator for indirection gdb/ * eval.c (evaluate_subexp_for_sizeof) : Create an indirect value and retrieve the dynamic type size. commit bcd629a44fff61527430f353cf77e20fe3afc395 vla: update type from newly created value gdb/ * ada-lang.c (ada_value_primitive_packed_val): Re-fetch type from value. (ada_template_to_fixed_record_type_1): Likewise. (ada_to_fixed_type_1): Likewise. * cp-valprint.c (cp_print_value_fields_rtti): Likewise. (cp_print_value): Likewise. * d-valprint.c (dynamic_array_type): Likewise. * eval.c (evaluate_subexp_with_coercion): Likewise. * findvar.c (address_of_variable): Likewise. * jv-valprint.c (java_value_print): Likewise. * valops.c (value_ind): Likewise. * value.c (coerce_ref): Likewise. commit b86138fb0484f42db6cb83abed1e3d0ad2ec4eac vla: print "variable length" for unresolved dynamic bounds gdb/ * c-typeprint.c (c_type_print_varspec_suffix): Added check for not yet resolved high bound. If unresolved, print "variable length" string to the console instead of random length. commit e1969afbd454c09c3aad1990305715f70bc47c3c vla: support for DW_AT_count gdb/ * dwarf2read.c (read_subrange_type): Convert DW_AT_count to a dynamic property and store it as the high bound and flag the range accordingly. * gdbtypes.c (resolve_dynamic_bounds): If range is flagged as RANGE_UPPER_BOUND_IS_COUNT assign low + high - 1 as the new high bound. * gdbtypes.h (enum range_flags): New enum. (struct range_bounds): Add flags member. commit 92b09522dc5a93ba4bda3c1c0b3c58264e357c8a vla: resolve dynamic bounds if value contents is a constant byte-sequence gdb/ * findvar.c (default_read_var_value): Resolve dynamic bounds if location points to a constant blob. commit 3bce82377f683870cc89925ff43aefb7dcce4a77 vla: evaluate operand of sizeof if its type is a vla gdb/ * eval.c (evaluate_subexp_for_sizeof): Add enum noside argument. (evaluate_subexp_standard): Pass noside argument. (evaluate_subexp_for_sizeof) : Handle subscript case if noside equals EVAL_NORMAL. If the subscript yields a vla type re-evaluate subscript operation with EVAL_NORMAL to enable sideffects. * gdbtypes.c (resolve_dynamic_bounds): Mark bound as evaluated. * gdbtypes.h (enum range_flags): Add RANGE_EVALUATED case. gdb/testsuite * gdb.base/vla-sideeffect.c: New file. * gdb.base/vla-sideeffect.exp: New file. commit 504f34326e5ae7c78ebfcdd6ed03c7403b42048b test: cover subranges with present DW_AT_count attribute gdb/testsuite/ * gdb.dwarf2/count.exp: New file. commit 1a237e0ee53bbdee97d72d794b5b42e774cc81c0 test: multi-dimensional c99 vla. gdb/testsuite/ * gdb.base/vla-multi.c: New file. * gdb.base/vla-multi.exp: New file. commit 024e13b46f9c33d151ae82fd9d64c53092fd9313 test: evaluate pointers to C99 vla correctly. gdb/testsuite/ * gdb.base/vla-ptr.c: New file. * gdb.base/vla-ptr.exp: New file. commit c8655f75e2f0fada311be193e3090087a77ec802 test: basic c99 vla tests for C primitives gdb/testsuite/ * gdb.base/vla-datatypes.c: New file. * gdb.base/vla-datatypes.exp: New file. commit 58a84dcf29b735ee776536b4c51ba90b51612b71 test: add mi vla test gdb/testsuite/ * gdb.mi/mi-vla-c99.exp: New file. * gdb.mi/vla.c: New file. commit 245a5f0b7429b03566eb3f57a92544218f33393c Author: Keith Seitz Date: Fri Apr 11 14:17:17 2014 -0700 Fix c++/16675 -- sizeof reference type should give the size of the referent, not the size of the actual reference variable. commit 32ae0d80cd430150ad9536aa160f34f504e129bc Author: Nick Clifton Date: Fri Apr 11 16:02:52 2014 +0100 PE32+ binaries that use addresses > 1^32 have a problem in that the linker converts some address expressions into absolute values, but the PE format only stores absolutes as 32-bits. This is a partial solution which attempts to convert such absolute values back to section relative ones instead. It fails for symbols like __image_base and ImageBase__, but it is unclear as to whether these values are ever actually used by applications. PR ld/16821 * peXXigen.c (abs_finder): New function. (_bfd_XXi_swap_sym_out): For absolute symbols with values larger than 1^32 try to convert them into section relative values instead. commit 58a84dcf29b735ee776536b4c51ba90b51612b71 Author: Sanimir Agovic Date: Fri Nov 15 12:48:00 2013 +0000 test: add mi vla test testsuite/gdb.mi/ * mi-vla-c99.exp: New file. * vla.c: New file. commit c8655f75e2f0fada311be193e3090087a77ec802 Author: Sanimir Agovic Date: Fri Nov 15 12:47:47 2013 +0000 test: basic c99 vla tests for C primitives gdb/testsuite: * gdb.base/vla-datatypes.c: New file. * gdb.base/vla-datatypes.exp: New file. commit 024e13b46f9c33d151ae82fd9d64c53092fd9313 Author: Sanimir Agovic Date: Fri Nov 15 12:47:44 2013 +0000 test: evaluate pointers to C99 vla correctly. gdb/testsuite: * gdb.base/vla-ptr.c: New file. * gdb.base/vla-ptr.exp: New file. commit 1a237e0ee53bbdee97d72d794b5b42e774cc81c0 Author: Sanimir Agovic Date: Fri Nov 15 12:47:32 2013 +0000 test: multi-dimensional c99 vla. gdb/testsuite: * gdb.base/vla-multi.c: New file. * gdb.base/vla-multi.exp: New file. commit 504f34326e5ae7c78ebfcdd6ed03c7403b42048b Author: Sanimir Agovic Date: Tue Nov 26 14:47:16 2013 +0000 test: cover subranges with present DW_AT_count attribute The dwarf attribute DW_AT_count specifies the elements of a subrange. This test covers subranges with present count but absent upper bound attribute, both with static and dynamic attribute values. testsuite: * gdb.dwarf2/count.exp: New file. commit 3bce82377f683870cc89925ff43aefb7dcce4a77 Author: Sanimir Agovic Date: Wed Feb 5 16:22:08 2014 +0000 vla: evaluate operand of sizeof if its type is a vla The c99 standard in "6.5.3.4 The sizeof operator" states: If the type of the operand is a variable length array type, the operand is evaluated;[...] This patch mirrors the following c99 semantic in gdb: 1| int vla[n][m]; 2| int i = 1; 3| sizeof(vla[i++][0]); // No sideffect 4| assert (i == 1); 5| sizeof(vla[i++]); // With sideffect 6| assert (i == 2); Note: ptype/whatsis still do not allow any sideeffects. This patch was motivated by: https://sourceware.org/ml/gdb-patches/2014-01/msg00732.html * eval.c (evaluate_subexp_for_sizeof): Add enum noside argument. (evaluate_subexp_standard): Pass noside argument. (evaluate_subexp_for_sizeof) : Handle subscript case if noside equals EVAL_NORMAL. If the subscript yields a vla type re-evaluate subscript operation with EVAL_NORMAL to enable sideffects. * gdbtypes.c (resolve_dynamic_bounds): Mark bound as evaluated. * gdbtypes.h (enum range_flags): Add RANGE_EVALUATED case. testsuite/gdb.base/ * vla-sideeffect.c: New file. * vla-sideeffect.exp: New file. commit 92b09522dc5a93ba4bda3c1c0b3c58264e357c8a Author: Sanimir Agovic Date: Tue Nov 26 14:35:43 2013 +0000 vla: resolve dynamic bounds if value contents is a constant byte-sequence A variable location might be a constant value and therefore no inferior memory access is needed to read the content. In this case try to resolve the type bounds. * findvar.c (default_read_var_value): Resolve dynamic bounds if location points to a constant blob. commit e1969afbd454c09c3aad1990305715f70bc47c3c Author: Sanimir Agovic Date: Tue Nov 19 12:54:24 2013 +0000 vla: support for DW_AT_count This patch adds support for DW_AT_count as requested in the code review: https://sourceware.org/ml/gdb-patches/2013-11/msg00200.html * dwarf2read.c (read_subrange_type): Convert DW_AT_count to a dynamic property and store it as the high bound and flag the range accordingly. * gdbtypes.c (resolve_dynamic_bounds): If range is flagged as RANGE_UPPER_BOUND_IS_COUNT assign low + high - 1 as the new high bound. * gdbtypes.h (enum range_flags): New enum. (struct range_bounds): Add flags member. commit b86138fb0484f42db6cb83abed1e3d0ad2ec4eac Author: Sanimir Agovic Date: Thu Nov 14 09:55:52 2013 +0000 vla: print "variable length" for unresolved dynamic bounds 1| void foo (size_t n) { 2| int vla[n]; 3| } Given the following expression (gdb) ptype &vla Gdb evaluates the expression with EVAL_AVOID_SIDE_EFFECTS and thus does not resolve the bounds information and misinterprets the high bound as a constant. The current output is: type = int (*)[1289346] this patch deals with this case and prints: type = int (*)[variable length] instead. * c-typeprint.c (c_type_print_varspec_suffix): Added check for not yet resolved high bound. If unresolved, print "variable length" string to the console instead of random length. commit bcd629a44fff61527430f353cf77e20fe3afc395 Author: Sanimir Agovic Date: Mon Oct 14 08:36:13 2013 +0100 vla: update type from newly created value Constructing a value based on a type and address might change the type of the newly constructed value. Thus re-fetch type via value_type to ensure we have the correct type at hand. * ada-lang.c (ada_value_primitive_packed_val): Re-fetch type from value. (ada_template_to_fixed_record_type_1): Likewise. (ada_to_fixed_type_1): Likewise. * cp-valprint.c (cp_print_value_fields_rtti): Likewise. (cp_print_value): Likewise. * d-valprint.c (dynamic_array_type): Likewise. * eval.c (evaluate_subexp_with_coercion): Likewise. * findvar.c (address_of_variable): Likewise. * jv-valprint.c (java_value_print): Likewise. * valops.c (value_ind): Likewise. * value.c (coerce_ref): Likewise. commit 04b19544ef6a97b62b2cc4a3170b900e046ab185 Author: Sanimir Agovic Date: Sat Oct 12 12:36:16 2013 +0100 vla: enable sizeof operator for indirection This patch enables the sizeof operator for indirections: 1| void foo (size_t n) { 2| int vla[n]; 3| int *vla_ptr = &vla; 4| } (gdb) p sizeof(*vla_ptr) yields sizeof (size_t) * n. * eval.c (evaluate_subexp_for_sizeof) : Create an indirect value and retrieve the dynamic type size. commit 26cb189f8b46dbe7b2d485525329a8919005ca8a Author: Sanimir Agovic Date: Wed Oct 9 15:28:22 2013 +0100 vla: enable sizeof operator to work with variable length arrays In C99 the sizeof operator computes the size of a variable length array at runtime (6.5.3.4 The sizeof operator). This patch reflects the semantic change in the debugger. We now are able to get the size of a vla: 1| void foo (size_t n) { 2| int vla[n]; 3| } (gdb) p sizeof(vla) yields N * sizeof(int). * eval.c (evaluate_subexp_for_sizeof) : If the type passed to sizeof is dynamic evaluate the argument to compute the length. commit 37c1ab67a35025d37d42c449deab5f254f9f59da Author: Sanimir Agovic Date: Wed Oct 9 15:28:22 2013 +0100 type: add c99 variable length array support The dwarf standard allow certain attributes to be expressed as dwarf expressions rather than constants. For instance upper-/lowerbound attributes. In case of a c99 variable length array the upperbound is a dynamic attribute. With this change c99 vla behave the same as with static arrays. 1| void foo (size_t n) { 2| int ary[n]; 3| memset(ary, 0, sizeof(ary)); 4| } (gdb) print ary $1 = {0 } * dwarf2loc.c (dwarf2_locexpr_baton_eval): New function. (dwarf2_evaluate_property): New function. * dwarf2loc.h (dwarf2_evaluate_property): New function prototype. * dwarf2read.c (attr_to_dynamic_prop): New function. (read_subrange_type): Use attr_to_dynamic_prop to read high bound attribute. * gdbtypes.c: Include dwarf2loc.h. (is_dynamic_type): New function. (resolve_dynamic_type): New function. (resolve_dynamic_bounds): New function. (get_type_length): New function. (check_typedef): Use get_type_length to compute type length. * gdbtypes.h (TYPE_HIGH_BOUND_KIND): New macro. (TYPE_LOW_BOUND_KIND): New macro. (is_dynamic_type): New function prototype. * value.c (value_from_contents_and_address): Call resolve_dynamic_type to resolve dynamic properties of the type. Update comment. * valops.c (get_value_at, value_at, value_at_lazy): Update comment. commit 729efb13174d6522fba4aa7ab273e7f25a253c47 Author: Sanimir Agovic Date: Tue Oct 8 15:04:49 2013 +0100 vla: introduce new bound type abstraction adapt uses The rational behind this patch is to get started to implement the feature described in dwarf4 standard (2.19) Static and Dynamic Values of Attributes. It adds new BOUND_PROP to store either a constant, exprloc, or reference to describe an upper-/lower bound of a subrange. Other than that no new features are introduced. * dwarf2read.c (read_subrange_type): Use struct bound_prop for declaring high/low bounds and change uses accordingly. Call create_range_type instead of create_static_range_type. * gdbtypes.c (create_range_type): New function. (create_range_type): Convert bounds into struct bound_prop and pass them to create_range_type. * gdbtypes.h (struct bound_prop): New struct. (create_range_type): New function prototype. (struct range_bounds): Use struct bound_prop instead of LONGEST for high/low bounds. Remove low_undefined/high_undefined and adapt all uses. (TYPE_LOW_BOUND,TYPE_HIGH_BOUND): Adapt macros to refer to the static part of the bound. * parse.c (follow_types): Set high bound kind to BOUND_UNDEFINED. commit 0c9c3474029f5250b428274eaf63f7a349c6fc5f Author: Sanimir Agovic Date: Thu Dec 19 08:31:17 2013 +0000 refactoring: rename create_range_type to create_static_range_type * gdbtypes.c (create_static_range_type): Renamed from create_range_type. * gdbtypes.h (create_static_range_type): Renamed from create_range_type. * ada-lang.c: All uses of create_range_type updated. * coffread.c: All uses of create_range_type updated. * dwarf2read.c: All uses of create_range_type updated. * f-exp.y: All uses of create_range_type updated. * m2-valprint.c: All uses of create_range_type updated. * mdebugread.c: All uses of create_range_type updated. * stabsread.c: All uses of create_range_type updated. * valops.c: All uses of create_range_type updated. * valprint.c: All uses of create_range_type updated. commit 85cf705b9d4c2082e5c4a41126bf773ff435d3d2 Author: Nick Clifton Date: Fri Apr 11 12:39:03 2014 +0100 Regenerate header files after this commit: 2014-04-10 Senthil Kumar Selvaraj * reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations commit 322f9c2100806387b8ace4df7a2b940b03b3d703 Author: Yao Qi Date: Wed Apr 2 12:44:22 2014 +0800 Check file exists before completion tests Doug told me that there are some regressions in gdb.base/completion.exp. They are caused by my recent change, and can be reproduced via: $ make check-parallel TESTS=gdb.base/completion.exp FAIL: gdb.base/completion.exp: complete target core ./gdb.base/completion FAIL: gdb.base/completion.exp: complete target tfile ./gdb.base/completion FAIL: gdb.base/completion.exp: complete target exec ./gdb.base/completion Current tests assume that gdb.base/completion exists but that is wrong in a parallel run, because binary file and object files are placed in outputs/gdb.base/completion/. This patch is to check file exists on two candidate directories, "gdb.base" and "outputs/gdb.base/completion/", and run tests with files existed in either of them. gdb/testsuite: 2014-04-11 Yao Qi * gdb.base/completion.exp: Check file exists before running tests on file completion. commit 1511baeca965fcf4cf36379c6b3f8a0b85263544 Author: Sandra Loosemore Date: Thu Apr 10 17:14:18 2014 -0700 Ignore non-stub sections for nios2 stub_bfd processing. 2014-04-10 Cesar Philippidis bfd/ * elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs when building function stubs. commit 0a1478f501e2470165d469618ddd069e2c7e4f27 Author: Alan Modra Date: Fri Apr 11 09:30:57 2014 +0930 daily update commit d708bcd102465e520c56e8be3ca4c9097dd389cc Author: Pedro Alves Date: Thu Apr 10 19:22:23 2014 +0100 Conditional Z1 breakpoint hangs GDBserver. While trying to fix hbreak2.exp against GDBserver I noticed this... (gdb) hbreak main if 1 Sending packet: $m400580,40#2e...Packet received: e8d2ffffff5dc3554889e54883ec10c745fc00000000eb0eb800000000e8c1ffffff8345fc01817dfce70300007ee9b800000000c9c3662e0f1f840000000000 Sending packet: $m40058f,1#31...Packet received: c7 Hardware assisted breakpoint 1 at 0x40058f: file ../../../src/gdb/testsuite/gdb.base/break-idempotent.c, line 46. Sending packet: $Z1,40058f,1;X3,220127#9b... *hangs forever* The issue is that nothing advances the packet pointer if add_breakpoint_condition either fails to parse the agent expression, or fails to find the breakpoint, resulting in an infinite loop in process_point_options. The latter case should really be fixed by GDBserver tracking GDB Z1 breakpoints in its breakpoint structures like Z0 breakpoints are, but the latter case still needs handling. add_breakpoint_commands has the same issue, though at present I don't know any way to trigger it other than sending a manually cooked packet. Unbelievably, it doesn't look like we have any test that tries setting a conditional hardware breakpoint. Looking at cond-eval-mode.exp, it looks like the file was meant to actually test something, but it's mostly empty today. This patch adds tests that tries all sorts of conditional breakpoints and watchpoints. The test hangs/fails without the GDBserver fix. Tested on x86_64 Fedora 17. gdb/gdbserver/ 2014-04-10 Pedro Alves * mem-break.c (add_breakpoint_condition, add_breakpoint_commands): Check if the condition or command is NULL before checking if the breakpoint is known. On success, return true. * mem-break.h (add_breakpoint_condition): Document return. (add_breakpoint_commands): Add describing comment. * server.c (skip_to_semicolon): New function. (process_point_options): Use it. gdb/testsuite/ 2014-04-10 Pedro Alves * gdb.base/cond-eval-mode.c: New file. * gdb.base/cond-eval-mode.exp: Use standard_testfile. Adjust prepare_for_testing to build the new file. Check result of runto_main. (test_break, test_watch): New procedures. (top level): Use them. commit e4ef1b6c3fee295ab41138bf77a82dff16f1d7c3 Author: Denis Chertykov Date: Thu Apr 10 19:50:33 2014 +0400 bfd/ChangeLog * elf32-avr.c: Add DIFF relocations for AVR. (avr_final_link_relocate): Handle the DIFF relocs. (bfd_elf_avr_diff_reloc): New. (elf32_avr_is_diff_reloc): New. (elf32_avr_adjust_diff_reloc_value): Reduce difference value. (elf32_avr_relax_delete_bytes): Recompute difference after deleting bytes. * reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations gas/ChangeLog * config/tc-avr.c: Add new flag mlink-relax. (md_show_usage): Add flag and help text. (md_parse_option): Record whether link relax is turned on. (relaxable_section): New. (avr_validate_fix_sub): New. (avr_force_relocation): New. (md_apply_fix): Generate DIFF reloc. (avr_allow_local_subtract): New. * config/tc-avr.h (TC_LINKRELAX_FIXUP): Define to 0. (TC_FORCE_RELOCATION): Define. (TC_FORCE_RELOCATION_SUB_SAME): Define. (TC_VALIDATE_FIX_SUB): Define. (avr_force_relocation): Declare. (avr_validate_fix_sub): Declare. (md_allow_local_subtract): Define. (avr_allow_local_subtract): Declare. gas/testsuite/ChangeLog * gas/avr/diffreloc_withrelax.d: New testcase. * gas/avr/noreloc_withoutrelax.d: Likewise. * gas/avr/relax.s: Likewise. include/ChangeLog * elf/avr.h: Add new DIFF relocs. ld/testsuite/ChangeLog * ld-avr/norelax_diff.d: New testcase. * ld-avr/relax_diff.d: Likewise. * ld-avr/relax.s: Likewise. commit 9d497a19eabe25b3af1cdd50a957592ed22658e5 Author: Pedro Alves Date: Thu Apr 10 14:19:52 2014 +0100 breakpoint shadowing, take single-step breakpoints into account. Breakpoints are supposed to be transparent to memory accesses. For all kinds of breakpoints breakpoint_xfer_memory hides the breakpoint instructions. However, sss breakpoints aren't tracked like all other breakpoints, and nothing is taking care of hiding them from memory reads. Say, as is, a background step + disassemble will see breakpoints instructions on software step targets. E.g., stepping over this line: while (1); with s& and then "disassemble" would show sss breakpoints. Actually, that's still not be possible to see today, because: - in native Linux, you can't read memory while the program is running. - with Linux gdbserver, you can, but in the all-stop RSP you can't talk to the server while the program is running... - and with non-stop, on software step targets, we presently force the use of displaced-stepping for all single-steps, so no single-step breakpoints are used... I've been working towards making non-stop not force displaced stepping on sss targets, and I noticed the issue then. With that, I indeed see this: (gdb) set remote Z-packet off (gdb) s& (gdb) disassemble main Dump of assembler code for function main: 0x000000000040049c <+0>: push %rbp 0x000000000040049d <+1>: mov %rsp,%rbp 0x00000000004004a0 <+4>: int3 0x00000000004004a1 <+5>: (bad) End of assembler dump. Instead of the correct: (gdb) disassemble main Dump of assembler code for function main: 0x000000000040049c <+0>: push %rbp 0x000000000040049d <+1>: mov %rsp,%rbp 0x00000000004004a0 <+4>: jmp 0x4004a0 This is actually one thing that my v1 of the recent "fix a bunch of run control bugs" series was fixing, because it made sss breakpoints be regular breakpoints in the breakpoint chain. But dropped it in the version that landed in the tree, due to some problems. So instead of making sss breakpoints regular breakpoints, go with a simpler fix (at least for now) -- make breakpoint_xfer_memory take software single-step breakpoints into account. After the patch, I get the correct disassemble output. Tested on x86_64 Fedora 17, and also on top of my "use software single-step on x86" series. Also fixes the issue pointed out by Yao at https://sourceware.org/ml/gdb-patches/2014-04/msg00045.html, where the prologue analysis/frame sniffing manages to see software step breakpoint instructions. gdb/ 2014-04-10 Pedro Alves * breakpoint.c (single_step_breakpoints) (single_step_gdbarch): Move up in the file. (one_breakpoint_xfer_memory): New function, factored out from ... (breakpoint_xfer_memory): ... here. Also process single-step breakpoints. commit bbaa46c0f3f297bf776d9a171a7442e8a6f7a024 Author: Andrew Bennett Date: Tue Apr 8 14:50:42 2014 +0100 Add support for the MIPS P5600 family of CPUs. ChangeLog: 2014-04-10 Andrew Bennett * config/tc-mips.c (mips_cpu_info_table): Add P5600 configuation. * doc/c-mips.texi: Document p5600. commit 7af20180c0c537c78aabf4cfa0e9ab2880a52877 Author: Alan Modra Date: Thu Apr 10 09:30:52 2014 +0930 daily update commit edf84efc4eae005d0e543e13cc51a751296e6aad Author: Nick Clifton Date: Wed Apr 9 17:12:30 2014 +0100 Remove remaining default manifest support. * Makefile.am (default-manifest.o): Remove rule. (EMUL_EXTRA_BINARIES): Delete. (ALL_EMUL_EXTRA_BINARIES): Delete. (ld_new_DEPENDENCIES): Remove EMUL_EXTRA_BINARIES. (install-data-local): Remove EMUL_EXTRA_BINARIES. * Makefile.in: Regenerate. * configure.in (all_emul_extra_binaries): Delete. (EMUL_EXTRA_BINARIES): Remove. * configure: Regenerate. * configure.tgt (target_extra_binaries): Delete. * emultempl/default-manifest.rc: Delete. * ld.texinfo: Remove discussion of default manifest. * emulparams/i386pe.sh (DEFAULT_MANIFEST): Delete. * emulparams/i386pep.sh (DEFAULT_MANIFEST): Delete. commit 2eec7d5ba1928301955f4da013072c3e2f69f4a0 Author: Pedro Alves Date: Wed Apr 9 15:01:33 2014 +0100 [GDBserver] Fix SH/Linux build. sh-linux-gnu-gcc (...) src/gdb/gdbserver/linux-low.c .../src/gdb/gdbserver/linux-low.c: In function 'linux_read_loadmap': .../src/gdb/gdbserver/linux-low.c:5284:13: error: 'struct lwp_info' has no member named 'entry' make[1]: *** [linux-low.o] Error 1 gdb/gdbserver/ 2014-04-09 Pedro Alves * linux-low.c (linux_read_loadmap): Pass current_inferior directly to lwpid_of. commit 00c06fdc57ab89d14789b5207763410a79c39a11 Author: Nick Clifton Date: Wed Apr 9 14:05:58 2014 +0100 Fix a few more targets affected by the change to the TC_CONS_FIX_NEW macro. * config/tc-rl78.h (TC_CONS_FIX_NEW): Add RELOC parameter. * config/tc-z80.h (TC_CONS_FIX_NEW): Discard RELOC parameter. * config/tc-aarch64.h (TC_CONS_FIX_NEW): Discard RELOC parameter. * read.c (emit_expr_fix): Mark the r parameter as potentially unused. commit 15a9128a964499b78bd70ef3d2dc73edce56d825 Author: Tristan Gingold Date: Wed Apr 9 10:23:19 2014 +0200 darwin: fix thinko (free thread port after threads are discovered). Due to a thinko, a message could be not understood and ignored. The result was a dead-lock (gdb is waiting for an event that never happen). The port of the thread was deallocated before new threads are discovered. As a consequence, the origin of the message was unknown (instead of being linked to the newly created thread). gdb/ * darwin-nat.c (darwin_check_new_threads): Fix port leak, add comments. (darwin_decode_exception_message): Free port only after use. commit 19e1c431f72007f8a7a6a8e8b2511c74f3e8a000 Author: Alan Modra Date: Wed Apr 9 13:23:41 2014 +0930 Add a time-stamp for chew One last time-stamp. Now none of the doc rules using move-if-change will run unnecessarily. * Makefile.am ($(MKDOC)): New rule, depend on chew.stamp. Move old rule to.. (chew.stamp): ..here. (DISTCLEANFILES): Move *.stamp.. (MOSTLYCLEANFILES): ..to here. * Makefile.in: Regenerate. commit bf7279d5358c47b90b89c4b6b5f8be9960120be2 Author: Alan Modra Date: Wed Apr 9 07:03:53 2014 +0930 ppc476 gas warn on data in code sections * config/tc-ppc.c (warn_476, last_insn, last_seg, last_subseg): New static vars. (md_longopts, md_parse_option, md_show_usage): Add --ppc476-workaround. (ppc_elf_cons_fix_check): New function. (md_assemble): Set last_insn, last_seg, last_subseg. (ppc_byte, md_apply_fix): Handle warn_476. * config/tc-ppc.h (TC_CONS_FIX_CHECK): Define. (ppc_elf_cons_fix_check): Declare. * read.c (cons_worker): Invoke TC_CONS_FIX_CHECK. commit 62ebcb5cbedf0fdc0b5faaa05e46aa43ced2aa68 Author: Alan Modra Date: Tue Apr 8 14:38:22 2014 +0930 gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEW A number of targets pass extra information from TC_PARSE_CONS_EXPRESSION to TC_CONS_FIX_NEW via static variables. That's OK, but not best practice. tc-ppc.c goes further in implementing its own replacement for cons(), because the generic one doesn't allow relocation modifiers on constants. This patch fixes both of these warts. * gas/config/tc-alpha.h (TC_CONS_FIX_NEW): Add RELOC parameter. * gas/config/tc-arc.c (arc_cons_fix_new): Add reloc parameter. * gas/config/tc-arc.h (arc_cons_fix_new): Update prototype. (TC_CONS_FIX_NEW): Add RELOC parameter. * gas/config/tc-arm.c (cons_fix_new_arm): Similarly * gas/config/tc-arm.h (cons_fix_new_arm, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-cr16.c (cr16_cons_fix_new): Similarly. * gas/config/tc-cr16.h (cr16_cons_fix_new, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-crx.h (TC_CONS_FIX_NEW): Similarly. * gas/config/tc-m32c.c (m32c_cons_fix_new): Similarly. * gas/config/tc-m32c.h (m32c_cons_fix_new, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-mn10300.c (mn10300_cons_fix_new): Similarly. * gas/config/tc-mn10300.h (mn10300_cons_fix_new, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-ns32k.c (cons_fix_new_ns32k): Similarly. * gas/config/tc-ns32k.h (cons_fix_new_ns32k): Similarly. * gas/config/tc-pj.c (pj_cons_fix_new_pj): Similarly. * gas/config/tc-pj.h (pj_cons_fix_new_pj, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-rx.c (rx_cons_fix_new): Similarly. * gas/config/tc-rx.h (rx_cons_fix_new, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-sh.c (sh_cons_fix_new): Similarly. * gas/config/tc-sh.h (sh_cons_fix_new, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-tic54x.c (tic54x_cons_fix_new): Similarly. * gas/config/tc-tic54x.h (tic54x_cons_fix_new, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-tic6x.c (tic6x_cons_fix_new): Similarly. * gas/config/tc-tic6x.h (tic6x_cons_fix_new, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-arc.c (arc_parse_cons_expression): Return reloc. * gas/config/tc-arc.h (arc_parse_cons_expression): Update proto. * gas/config/tc-avr.c (exp_mod_data): Make global. (pexp_mod_data): Delete. (avr_parse_cons_expression): Return exp_mod_data pointer. (avr_cons_fix_new): Add exp_mod_data_t pointer param. (exp_mod_data_t): Move typedef.. * gas/config/tc-avr.h: ..to here. (exp_mod_data): Declare. (TC_PARSE_CONS_RETURN_TYPE, TC_PARSE_CONS_RETURN_NONE): Define. (avr_parse_cons_expression, avr_cons_fix_new): Update prototype. (TC_CONS_FIX_NEW): Update. * gas/config/tc-hppa.c (hppa_field_selector): Delete static var. (cons_fix_new_hppa): Add hppa_field_selector param. (fix_new_hppa): Adjust. (parse_cons_expression_hppa): Return field selector. * gas/config/tc-hppa.h (parse_cons_expression_hppa): Update proto. (cons_fix_new_hppa): Likewise. (TC_PARSE_CONS_RETURN_TYPE, TC_PARSE_CONS_RETURN_NONE): Define. * gas/config/tc-i386.c (got_reloc): Delete static var. (x86_cons_fix_new): Add reloc param. (x86_cons): Return got reloc. * gas/config/tc-i386.h (x86_cons, x86_cons_fix_new): Update proto. (TC_CONS_FIX_NEW): Add RELOC param. * gas/config/tc-ia64.c (ia64_cons_fix_new): Add reloc param. Adjust calls. * gas/config/tc-ia64.h (ia64_cons_fix_new): Update prototype. (TC_CONS_FIX_NEW): Add reloc param. * gas/config/tc-microblaze.c (parse_cons_expression_microblaze): Return reloc. (cons_fix_new_microblaze): Add reloc param. * gas/config/tc-microblaze.h: Formatting. (parse_cons_expression_microblaze): Update proto. (cons_fix_new_microblaze): Likewise. * gas/config/tc-nios2.c (nios2_tls_ldo_reloc): Delete static var. (nios2_cons): Return ldo reloc. (nios2_cons_fix_new): Delete. * gas/config/tc-nios2.h (nios2_cons): Update prototype. (nios2_cons_fix_new, TC_CONS_FIX_NEW): Delete. * gas/config/tc-ppc.c (md_pseudo_table): Remove quad, long, word, short. Make llong use cons. (ppc_elf_suffix): Return BFD_RELOC_NONE rather than BFD_RELOC_UNUSED. (ppc_elf_cons): Delete. (ppc_elf_parse_cons): New function. (ppc_elf_validate_fix): Don't check for BFD_RELOC_UNUSED. (md_assemble): Use BFD_RELOC_NONE rather than BFD_RELOC_UNUSED. * gas/config/tc-ppc.h (TC_PARSE_CONS_EXPRESSION): Define (ppc_elf_parse_cons): Declare. * gas/config/tc-sparc.c (sparc_cons_special_reloc): Delete static var. (sparc_cons): Return reloc specifier. (cons_fix_new_sparc): Add reloc specifier param. (sparc_cfi_emit_pcrel_expr): Use emit_expr_with_reloc. * gas/config/tc-sparc.h (TC_PARSE_CONS_RETURN_TYPE): Define. (TC_PARSE_CONS_RETURN_NONE): Define. (sparc_cons, cons_fix_new_sparc): Update prototype. * gas/config/tc-v850.c (hold_cons_reloc): Delete static var. (v850_reloc_prefix): Use BFD_RELOC_NONE rather than BFD_RELOC_UNUSED. (md_assemble): Likewise. (parse_cons_expression_v850): Return reloc. (cons_fix_new_v850): Add reloc parameter. * gas/config/tc-v850.h (parse_cons_expression_v850): Update proto. (cons_fix_new_v850): Likewise. * gas/config/tc-vax.c (vax_cons_special_reloc): Delete static var. (vax_cons): Return reloc. (vax_cons_fix_new): Add reloc parameter. * gas/config/tc-vax.h (vax_cons, vax_cons_fix_new): Update proto. * gas/config/tc-xstormy16.c (xstormy16_cons_fix_new): Add reloc param. * gas/config/tc-xstormy16.h (xstormy16_cons_fix_new): Update proto. * gas/dwarf2dbg.c (TC_PARSE_CONS_RETURN_NONE): Provide default. (emit_fixed_inc_line_addr): Adjust exmit_expr_fix calls. * gas/read.c (TC_PARSE_CONS_EXPRESSION): Return value. (do_parse_cons_expression): Adjust. (cons_worker): Pass return value from TC_PARSE_CONS_EXPRESSION to emit_expr_with_reloc. (emit_expr_with_reloc): New function handling reloc, mostly extracted from.. (emit_expr): ..here. (emit_expr_fix): Add reloc param. Adjust TC_CONS_FIX_NEW invocation. Handle reloc. (parse_mri_cons): Convert to ISO. * gas/read.h (TC_PARSE_CONS_RETURN_TYPE): Define. (TC_PARSE_CONS_RETURN_NONE): Define. (emit_expr_with_reloc): Declare. (emit_expr_fix): Update prototype. * gas/write.c (write_object_file): Update TC_CONS_FIX_NEW invocation. commit e30d16e9ecd56cd2557b30ae1116946d772944b3 Author: Alan Modra Date: Wed Apr 9 13:25:04 2014 +0930 Fix fallout from splitting ldbuildid.[ch] off elf32.em. bfd/ * libcoff.h: Regenerate. ld/ * emultempl/spuelf.em: Include safe-ctype.h, remove duplicate errno.h. * emultempl/nds32elf.em: Include bfd_stdint.h. * po/POTFILES.in: Regenerate. commit 81b1ec4ff645501f0ea7fc32af34e96e1972b5c1 Author: Alan Modra Date: Tue Apr 8 10:04:18 2014 +0930 bfd doc chew I got tired of watching chew.c being compiled a dozen or more times each time I do a binutils build. * Makefile.am (MKDOC): Use $@ in command. (aoutx.texi): New rule, depend on aoutx.stamp. Move old rule.. (aoutx.stamp): .. to here. Don't depend on chew.c, depend on MKDOC and omit recursive MAKE. Use $< in command. (archive.texi, archures.texi, bfdt.texi, cache.texi, coffcode.texi, core.texi, elf.texi, elfcode.texi, mmo.texi, format.texi, libbfd.texi, bfdio.texi, bfdwin.texi, opncls.texi, reloc.texi, section.texi, syms.texi, targets.texi, init.texi, hash.texi, linker.texi): Similarly. (DISTCLEANFILES): Remove *.stamp. * Makefile.in: Regenerate. commit 3f7df22100cfb9b0cd3d8aca02aef4d33355bb17 Author: Alan Modra Date: Wed Apr 9 09:30:57 2014 +0930 daily update commit b4ab4364239efcf0cec74e89a85d844d628138c0 Author: Alan Modra Date: Sat Apr 5 17:55:13 2014 +1030 ppc476 icache workaround fix for bctr I got the ppc476 workaround wrong. bctr (and bctrl) as the last instruction in a page can hit the icache bug if the preceding mtctr insn is close by, and the destination is in the first few instructions on the next page. This scenario can occur with code generated by gcc to implement switch statements, or in code generated to call by function pointer. To prevent the bctr problem it is also necessary to remove other instructions that otherwise would be safe. bfd/ * elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list of safe ppc476 insns at end of page. Also remove non-branch insns. Expand comments. ld/ * emultempl/ppc32elf.em (no_zero_padding, ppc_finish): New functions. (LDEMUL_FINISH): Define. commit 9c97a0704e03c662b6afd92032c171fe6714b42d Author: Pierre Langlois Date: Fri Apr 4 18:31:36 2014 +0100 Fix erroneous backtrace on avrxmega architectures. * avr-tdep.c (struct gdbarch_tdep): Mention avrxmega in the comment. (avr_gdbarch_init): Add xmega architectures given by bfd_architecture when setting the size of call_length. commit 6c1799adabb2391ac088828501135cd0dd11b2da Author: Nick Clifton Date: Tue Apr 8 17:45:33 2014 +0100 This patch removes the inclusion of the default manifest in final links for the Cygwin and MinGW targets. The manifest is now going to be handled by gcc. * scripttempl/pe.sc (R_RSRC): Remove default manifest. * scripttempl/pep.sc (R_RSRC): Remove default manifest. commit 61e2488cd8497d158303a78563ad40f51f5c3f8e Author: Jon TURNEY Date: Tue Apr 8 10:59:43 2014 +0100 Add support for generating and inserting build IDs into COFF binaries. * peXXigen.c (pe_print_debugdata): New function: Displays the contents of the debug directory and decodes codeview entries. (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out) (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record): Add functions for reading and writing debugdir and codeview records. * libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out) (_bfd_XXi_write_codeview_record): Add prototypes and macros. * libcoff-in.h (pe_tdata): Add build-id data. * libcoff.h: Regenerate. * coffcode.h (coff_write_object_contents): Run build_id after_write_object_contents hook. * pe.h (external_IMAGE_DEBUG_DIRECTORY, _CV_INFO_PDB70) (_CV_INFO_PDB20): Add structures and constants for debug directory and codeview records. * internal.h (internal_IMAGE_DEBUG_DIRECTORY, CODEVIEW_INFO): Add structures and constants for internal representation of debug directory and codeview records. * emultempl/elf32.em (id_note_section_size, read_hex, write_build_id): Move code for parsing build-id option and calculating the build-id to... * ldbuildid.c: New file. * ldbuildid.h: New file. * Makefile.am (CFILES, HFILES, OFILES, ld_new_SOURCES): Add new files. * Makefile.in: Regenerate. * ld.texinfo: Update --build-id description to mention COFF support. * NEWS: Mention support for COFF build ids. * emultempl/pe.em (gld${EMULATION_NAME}_handle_option): (pecoff_checksum_contents, write_build_id, setup_build_id) (gld_${EMULATION_NAME}_after_open): Handle and implement build-id option. * emultempl/pep.em: Likewise. commit ae1d276159c3cfb29caacdf567aea01f433f78b0 Author: Pierre Muller Date: Tue Mar 25 08:37:36 2014 +0800 [testsuite] Disable Ctrl-V use for mingw hosts. On mingw host, we have seen two fails as below, p int1dim[0]^V@2 Invalid character '^V' in expression. (gdb) FAIL: gdb.base/printcmds.exp: p int1dim[0]@2 p int1dim[0]^V@2^V@3 Invalid character '^V' in expression. (gdb) FAIL: gdb.base/printcmds.exp: p int1dim[0]@2@3 In the test, the comment says "# Send \026@ instead of just @ in case the kill character is @". Historically, kill character was @, and Ctrl-V (\026) is to escape the next character. However, we don't have to do so on mingw. This patch is to disable ctrl-v usage on mingw hots. With this patch applied, it becomes: p int1dim[0]@2 $607 = {0, 1} (gdb) PASS: gdb.base/printcmds.exp: p int1dim[0]@2 p int1dim[0]@2@3 $608 = {{0, 1}, {2, 3}, {4, 5}} Note that this patch is picked from Pierre's submission, [RFC 6/6] Fix remaining failures in gdb.base/printcmds.exp for mingw hosts. https://www.sourceware.org/ml/gdb-patches/2013-09/msg00943.html gdb/testsuite: 2014-04-08 Pierre Muller * gdb.base/printcmds.exp (test_artificial_arrays): Disable Ctrl-V use for mingw hosts. commit ebb8ed8e946c7e48f64a3c2577403594c3971230 Author: Alan Modra Date: Tue Apr 8 09:30:58 2014 +0930 daily update commit 7af389b892404edc76e1a60c59b354b785378fa5 Author: Siva Chandra Date: Fri Mar 21 06:42:50 2014 -0700 [python] Fix gdb.Value.dynamic_type for reference values. gdb.Value.dynamic_type is supposed to work for reference and pointer values. However, the value object in the function 'valpy_get_dynamic_type' was being dereferenced using 'value_ind' irrespective of the value type being TYPE_CODE_PTR or TYPE_CODE_REF. This patch fixes that to use 'coerce_ref' for TYPE_CODE_REF values. ChangeLog: * python/py-value.c (valpy_get_dynamic_type): Use coerce_ref to dereference TYPE_CODE_REF values. testsuite/ * gdb.python/py-value.c: Improve test case. * gdb.python/py-value.exp: Add new test. commit 5e703181143d5eb3724115e5cbb59a6b294e6222 Author: Doug Evans Date: Mon Apr 7 14:14:03 2014 -0700 Add support to recognize clang. * lib/compiler.c: Identify the clang compiler. * lib/compiler.cc: Ditto. commit 17c34b8f3d79369cfb3a3f9d37109a7051bd8ea4 Author: Andreas Schwab Date: Sat Apr 5 22:03:44 2014 +0200 Fix spurious failures in ld-plugin/lto.exp * ld-plugin/lto.exp: Make "-Wp," prefix optional when filtering out _FORTIFY_SOURCE. ("Build libdummy.a 9", "PR ld/12696"): Mark as c++. commit 86ad98c392e804eae299eb6226e16732a521a9b4 Author: Joel Brobecker Date: Mon Apr 7 09:43:23 2014 -0700 Fix ARI warning in darwin-nat.c::darwin_decode_message gdb/ChangeLog: * darwin-nat.c (darwin_decode_message): Remove trailing '\n' at end of warning message. commit 5063a42103f83b921b0b6899acdd5d4d920fdc36 Author: Alan Modra Date: Mon Apr 7 13:44:50 2014 +0930 Report an error on objcopy/strip of sectionless binaries All strip operations require section headers to be present, as do most objcopy operations. BFD is seriously confused by objects without section info. The error message added here is similar to the error on attempting to strip/objcopy a zero length object. PR binutils/16811 * objcopy.c (copy_object): Error if no sections. commit 27f0d6b4fe4888e3bb0bdc8e64af51c521fa9f1d Author: Alan Modra Date: Mon Apr 7 09:30:38 2014 +0930 daily update commit 8520f58492b37c82881e10db2e45a0932928c064 Author: Alan Modra Date: Sun Apr 6 09:30:52 2014 +0930 daily update commit 115c6d5c37ee70477adc3d8c45ec7d77c2278951 Author: Alan Modra Date: Sat Apr 5 12:38:47 2014 +1030 Fix map file reference The testcase in pr16417 comment #6 produces a map file showing libpthread.so.0 (write@@GLIBC_2.2.5) ie. missing the file referencing the symbol. * elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when merging non-default sym. commit 2cafe348f61bae1037dac338ba434ebf86c0d670 Author: Alan Modra Date: Sat Apr 5 09:30:58 2014 +1030 daily update commit 50f800063da5cfe4e7fc5f7056530d1802af398c Author: Eric Botcazou Date: Fri Apr 4 22:54:42 2014 +0200 This fixes PR bootstrap/60620: * Makefile.def (dependencies): Make gnattools depend on libstdc++-v3. * Makefile.in: Regenerate. commit abc9061b5c4d684da66945a9928d54a424cb6e4e Author: Cary Coutant Date: Fri Apr 4 09:28:23 2014 -0700 Document optional comma in linker script. The linker script documentation does not mention the optional comma that may follow an output section command or an overlay command. In some cases, where a fill expression is used, and the next output section command begins with an operator (e.g., "/DISCARD/"), the comma may be required to separate the two commands. Currently, GNU ld doesn't require the comma, but gold does. ld/ PR gold/16804 * ld.texinfo: Document optional comma following output section command and overlay command. commit 2cf200a4c8a850e6f696e572ea03f340eae97c8a Author: Ilya Tocar Date: Thu Apr 3 16:40:04 2014 +0400 Add support for Intel SGX instructions Add Intel SGX instructions support to assembler and disassembler. gas/ * config/tc-i386.c (cpu_arch): Add .se1. * doc/c-i386.texi: Document .se1/se1. gas/testsuite/ * gas/i386/i386.exp: Run SE1 tests. * gas/i386/se1.d: New file. * gas/i386/se1.s: Ditto. * gas/i386/x86-64-se1.d: Ditto. * gas/i386/x86-64-se1.s: Ditto. opcodes/ * i386-dis.c (rm_table): Add encls, enclu. * i386-gen.c (cpu_flag_init): Add CPU_SE1_FLAGS, (cpu_flags): Add CpuSE1. * i386-opc.h (enum): Add CpuSE1. (i386_cpu_flags): Add cpuse1. * i386-opc.tbl: Add encls, enclu. * i386-init.h: Regenerated. * i386-tbl.h: Likewise. commit 26954155a64f1a6a24b96213a8ee2f5390e649c6 Author: Tristan Gingold Date: Thu Apr 3 12:50:31 2014 +0200 mach-o: reject 64 bit targets when not configured for. bfd/ * mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not configured for. commit ca148c5ad5baae432b763cc40d01333303ceb9db Author: Tristan Gingold Date: Fri Apr 4 12:38:24 2014 +0200 mach-o: fix section name conversion from bfd to mach-o. bfd/ * mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix thinko on names length. commit 47c509326557dcef05608226b8d6428476289886 Author: Tristan Gingold Date: Fri Apr 4 12:37:50 2014 +0200 mach-o: output output_section target_index to write relocs. bfd/ * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index of output_section. * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto. commit 4ef27e045fbd5b9ec41685ea3843f65fc15827af Author: Tristan Gingold Date: Thu Apr 3 11:59:05 2014 +0200 bfd_get_arch_size: return size from arch info on non-ELF targets. bfd/ * bfd.c (bfd_get_arch_size): Default is taken from arch. commit ffe54b3798db9112505e7f6b9d5e0d0b13823a29 Author: Alan Modra Date: Fri Apr 4 11:45:03 2014 +1030 Pad sections according to current script FILL. When aligning input sections, we are supposed to take the fill pattern from a FILL statement, if there is one in the output section statement. ld/ * ldlang.c (lang_size_sections_1 ): Use current "fill", not "output_section_statement->fill". ld/testsuite/ * ld-scripts/fill.d, * ld-scripts/fill.t, * ld-scripts/fill_0.s, * ld-scripts/fill_1.s, * ld-scripts/fill_2.s: New test. * ld-scripts/data.exp: Run it. commit 4554c4528a3548320c020f9baf97485302624300 Author: Alan Modra Date: Fri Apr 4 09:30:43 2014 +1030 daily update commit c54a1dd8a203d6f161366a251b269a0ac9fad37a Author: Doug Evans Date: Thu Apr 3 12:11:58 2014 -0700 (read_cutu_die_from_dwo): Update function comment to match previous change. commit b0aeadb398e0cea7a7f0ff3e6fb20c9aea98453c Author: Doug Evans Date: Thu Apr 3 12:07:25 2014 -0700 * dwarf2read.c (read_cutu_die_from_dwo): Fix assertion, at most one of stub_comp_unit_die, stub_comp_dir is non-NULL. commit b69c87280595b7ce4e956cb2a62278412f0722f7 Author: Jon Turney Date: Thu Apr 3 12:26:27 2014 +0100 * peXXigen.c (pe_print_edata): Verify edt.name lies inside section before dereferencing. (pe_print_idata, pe_print_edata, pe_print_reloc) (rsrc_print_section): Don't bother interpreting the contents of sections which have no contents. commit 1b6aeedbb8e8f6c65d228f0dab3dab522d2517bb Author: Maria Guseva Date: Thu Apr 3 11:42:05 2014 +0100 This fixes a problem building large (> 2Gb) binaries on 32-bit hosts. Using a long type instead of long long meant that bfd_seek (SET) could be called with a negative offset. PR ld/16803 * elf.c (_bfd_elf_set_section_contents): Use correct type to hold file position. commit 92b1b67865c719e83d12578e584ca5e20d172eac Author: Markus Trippelsdorf Date: Thu Apr 3 11:33:17 2014 +0100 This patch allows one to place the gcc's liblto_plugin in the lib/bfd-plugins directory and have it loaded by default (as long as the --target option isn't used). PR binutils/14698 ar.c: Set plugin_target early if plugins are supported. nm.c: Likewise. commit 965b60c9460bb63c3c6fbb749b6a2deb541f422f Author: Tristan Gingold Date: Thu Apr 3 11:49:56 2014 +0200 mach-o: fix warnings on 32 bit hosts. Display personality functions. binutils/ * od-macho.c (printf_uint64): New function. (dump_load_command, dump_obj_compact_unwind): Use it. (dump_exe_compact_unwind): Display personality functions. include/mach-o/ * unwind.h (mach_o_compact_unwind_64): Fix typo in personality. commit 707e555b846bf0f529aaffcae9aac375ab3d6b3d Author: Tristan Gingold Date: Thu Apr 3 10:21:02 2014 +0200 mach-o: fix section number while writing symbols. bfd/ * mach-o.c (bfd_mach_o_mangle_symbols): Use index from output_section. (bfd_mach_o_build_seg_command): Add comment. Realign segment. Fix style. (bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style. commit 9810b41048d4fc230ec5e124ecdead4a3a9598ec Author: Yao Qi Date: Sat Mar 29 09:41:02 2014 +0800 Escape backslash in windows path Hi, On windows host, we see the following ERROR, (gdb) PASS: gdb.base/setshow.exp: set history filename ~/foobar.baz ERROR OCCURED: couldn't compile regular expression pattern: invalid escape \ seq uence while executing "expect -nobrace -i exp13 -timeout 10 -re {.*A problem internal to GDB has been detected} { fail "$message (GDB internal error)" gdb_internal..." invoked from within "expect { -i exp13 -timeout 10 -re ".*A problem internal to GDB has been detected" { fail "$message (GDB internal error)" gdb_internal_erro..." ("uplevel" body line 1) invoked from within "uplevel $body" REGEXP REG_EESCAPE {invalid escape \ sequence} couldn't compile regular expression pattern: invalid escape \ sequenceERROR: Process no longer ex ists which leads to UNRESOLVED: gdb.base/setshow.exp: show history filename (~/foobar.baz) and this error is thrown from this test below: gdb_test "show history filename" \ "The filename in which to record the command history is \"$HOME/foobar.baz\"..*" \ "show history filename (~/foobar.baz)" HOME is a windows path, like C:\foo\bar. When it is used in gdb_test to match output, the error is thrown because backslash is a special character in regular expression. This patch is to escape backslash to fix this error by using string_to_regexp. gdb/testsuite: 2014-04-03 Yao Qi * gdb.base/setshow.exp: Invoke string_to_regexp to HOME and PWD. commit 048ea17465ce5effe702895cd644fa3d9dd94680 Author: Anthony Green Date: Wed Apr 2 23:55:57 2014 -0400 Add support for two new moxie sign-extension instructions commit 2493504aa84aceffcdb5f3febddca03e7c3d8176 Author: Alan Modra Date: Thu Apr 3 12:06:33 2014 +1030 Fix sim breakage Replace "size_t size" with "bfd_size_type size". and here too. * bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise. * bfd-in2.h: Regenerate. commit c3fcb7757e59bc743db8dd71f9a66767b2167c29 Author: Alan Modra Date: Thu Apr 3 11:57:13 2014 +1030 ChangeLog missed from last commit commit f0a5d95aae21532529061054fa13816d7adf81d8 Author: Alan Modra Date: Thu Apr 3 11:34:00 2014 +1030 Fix sim breakage * elf-bfd.h (struct elf_backend_data ): Replace "size_t size" with "bfd_size_type size". (_bfd_elf32_bfd_from_remote_memory): Likewise. (_bfd_elf64_bfd_from_remote_memory): Likewise. * elf.c (bfd_elf_bfd_from_remote_memory): Likewise. * elfcode.h (bfd_from_remote_memory): Likewise. commit c4eb27e1db8ebff3c498871a715ffdd66e20880b Author: Sriraman Tallam Date: Wed Apr 2 16:46:02 2014 -0700 2014-04-02 Sriraman Tallam * icf.cc (get_section_contents): Replace copies of reloc vectors with (const) references. commit 31c981bc36b1b62cf8952f3eb9125f500f5bd7a8 Author: Anthony Green Date: Wed Apr 2 20:04:23 2014 -0400 Add new sign-extension instructions to moxie port commit 4bfe997046bf63c6f3c3cf110aa78c2489c64244 Author: Alan Modra Date: Thu Apr 3 09:30:41 2014 +1030 daily update commit ae447ddd12cf05bc5bef90c4a3f53239b5bcf2f9 Author: Cary Coutant Date: Wed Apr 2 15:04:36 2014 -0700 Modify gold testsuite to disable plugins added by GCC driver. GCC 4.8 now adds linker plugin options by default, which conflict with the --incremental tests in the testsuite. This patch checks whether the compiler supports the -fno-use-linker-plugin option, and adds it to all link commands. 2014-04-02 Cary Coutant * configure.ac (HAVE_PUBNAMES): Use C instead of C++. (HAVE_NO_USE_LINKER_PLUGIN): Check for -fno-use-linker-plugin. * configure: Regenerate. * testsuite/Makefile.am (OPT_NO_PLUGINS): New macro for -fno-use-linker-plugin. (LINK1, CXXLINK1): Add it to the link command. * testsuite/Makefile.in: Regenerate. commit 0a899fd5acf97c0c9af7c6548e2c0e132148cf78 Author: DJ Delorie Date: Wed Apr 2 16:50:29 2014 -0400 Add checks for overfar branches Check 8 and 16 bit PCREL fixes for overflow, since we bypass the later overflow checks in write.c. Direct relocs are left alone, as gcc has been known to take advantage of the silent overflows when comparing addresses to constant ranges. commit cad0da33dc43a207a7c4baf32223831b2d0ac60c Author: Nick Clifton Date: Wed Apr 2 16:29:35 2014 +0100 This fixes an internal error in GAS, triggered by the test case reported in PR 16765. The problem was that gcc was generating assembler with missing unwind directives in it, so that a gas_assert was being triggered. The patch replaces the assert with an error message. * config/tc-arm.c (create_unwind_entry): Report an error if an attempt to recreate an unwind directive is encountered. commit 7a79c51466c30188d49d03d3e3593c87e5a3345e Author: Tristan Gingold Date: Wed Mar 26 15:01:53 2014 +0100 mach-o: read and dump: prebound_dylib, prebind_cksum, twolevel_hints. include/mach-o: * external.h (mach_o_prebound_dylib_command_external) (mach_o_prebind_cksum_command_external) (mach_o_twolevel_hints_command_external): New types. bfd/ * mach-o.h (bfd_mach_o_twolevel_hints_command) (bfd_mach_o_prebind_cksum_command): New types. (bfd_mach_o_prebound_dylib_command): Rewrite. (bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints fields. * mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the command. (bfd_mach_o_read_prebind_cksum): New function. (bfd_mach_o_read_twolevel_hints): Ditto. (bfd_mach_o_read_command): Handle prebind cksum and twolevel hints commands. binutils/ * od-macho.c (OPT_TWOLEVEL_HINTS): New macro. (options): Add entry for twolevel_hints. (dump_data_in_code): Fix error message. (dump_twolevel_hints): New function. (dump_load_command): Handle prebound dylib, prebind cksum and twolevel hints. (mach_o_dump): Handle twolevel hints. commit 5979d6b69b20a8355ea94b75fad97415fce4788c Author: Alan Modra Date: Wed Apr 2 12:07:33 2014 +1030 Handle VDSO section headers past end of page When a VDSO gets large enough that it doesn't entirely fit in one page, but not so large that the part described by the program header exceeds one page, then gdb/BFD doesn't read the section headers and symbol table information. This patch cures that by passing the size of the vdso to BFD, and fixes a number of other issues in the BFD code. bfd/ * elfcode.h (bfd_from_remote_memory): Add "size" parameter. Consolidate code handling possible section headers past end of segment. Don't use p_align for page size guess, instead use minpagesize. Take note of ld.so clearing section headers when p_memsz > p_filesz. Handle file header specifying no section headers. Handle zero p_align throughout. Default loadbase to zero. Add comments. Rename contents_size to high_offset, and make it a bfd_vma. Delete unnecessary bfd_set_error calls. * bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe. * elf-bfd.h (struct elf_backend_data ): Likewise. (_bfd_elf32_bfd_from_remote_memory): Likewise. (_bfd_elf64_bfd_from_remote_memory): Likewise. * elf.c (bfd_elf_bfd_from_remote_memory): Adjust. * bfd-in2.h: Regnerate. gdb/ * symfile-mem.c (symbol_file_add_from_memory): Add size parameter. Pass to bfd_elf_bfd_from_remote_memory. Adjust all callers. (struct symbol_file_add_from_memory_args): Add size field. (find_vdso_size): New function. (add_vsyscall_page): Attempt to find vdso size. commit cf2a3e990524cb794c75e0493169736dee6a660c Author: Alan Modra Date: Wed Apr 2 09:30:43 2014 +1030 daily update commit 0d60c28836dbad4a48e1e0e8702f7fd56fca9e53 Author: Doug Evans Date: Tue Apr 1 10:17:12 2014 -0700 * dwarf2read.c (read_cutu_die_from_dwo): Improve comment. commit 23d72939765598839d20dfb70c986206bf7751ca Author: Tristan Gingold Date: Tue Apr 1 14:34:04 2014 +0200 bfd/mach-o: avoid a crash when num == 0 in reloc. bfd/ * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash when num == 0. commit c275b681a57c50a6ed5d7cb5192be588fd451427 Author: Tristan Gingold Date: Wed Mar 26 10:41:16 2014 +0100 mach-o: display data_in_code. binutils/ * od-macho.c (OPT_DATA_IN_CODE): New macro. (options): Add entry for data in code. (mach_o_help): Ditto. (data_in_code_kind_name): New array. (dump_data_in_code): New function. (dump_load_command): Handle data in code. (mach_o_dump): Ditto. (dump_header): Display a terminal newline. commit a41f2563d040d86954ccda7faa4a8ad7bdbcae88 Author: Tristan Gingold Date: Fri Mar 21 16:56:39 2014 +0100 darwin-nat: avoid crash while debugging gdb. it is possible that gdb gets mach exceptions from an unknown inferior. This happens when an inferior creates a child and that child gets a signal. So instead of reporting messages with unknown origins, simply reply to these notifications. The kernel will then post the unix signal. gdb/ * darwin-nat.c (darwin_encode_reply): Add prototype. (darwin_decode_exception_message): Reply to unknown inferiors. (darwin_decode_message): Handle message by id. Ignore message to unknown inferior. (darwin_wait): Discard unknown messages, add debug trace. commit 98d1b8dcd84bb39ba5d0731162f241890d4ce5f5 Author: Anton Blanchard Date: Mon Mar 31 13:32:07 2014 +1100 gdb.arch/ppc64-atomic-inst.exp: Improve error handling. gdb/testsuite/ 2014-04-01 Anton Blanchard * gdb.arch/ppc64-atomic-inst.exp: Use untested. Make test messages unique. commit 3114cea14b326c1d429388559f020103108b3019 Author: Anton Blanchard Date: Mon Mar 31 12:03:01 2014 +1100 gdb.arch/ppc64-atomic-inst.exp: Use standard_testfile, prepare_for_testing. gdb/testsuite/ 2014-04-01 Anton Blanchard * gdb.arch/ppc64-atomic-inst.exp: Use standard_testfile, prepare_for_testing. commit 62f7182c14492421b8d59ba5c6640d6c27ad6ea2 Author: Anton Blanchard Date: Fri Mar 28 12:37:37 2014 +1100 Fix ppc64 single step over atomic sequence testcase. The current ppc64 single step over atomic sequence testcase is written in C and breaks with some versions of gcc. Convert the test to assembly and use stepi to step through it. gdb/testsuite/ 2014-04-01 Anton Blanchard * gdb.arch/ppc64-atomic-inst.c: Remove. * gdb.arch/ppc64-atomic-inst.S: New file. * gdb.arch/ppc64-atomic-inst.exp: Adapt for asm based testcase. commit 11a865c84fcf530d8d96d01566f4bde378f629a1 Author: Doug Evans Date: Mon Mar 31 16:51:37 2014 -0700 dwarf2read.c (read_cutu_die_from_dwo): Delete unused local comp_dir_string. commit 4658f0eaf5036d9e4e9b968d9f31366746029c10 Author: Alan Modra Date: Tue Apr 1 09:30:55 2014 +1030 daily update commit 770e7fc78c3c94195cacf2d7698a252d410886a1 Author: Doug Evans Date: Mon Mar 31 12:07:48 2014 -0700 New option "set print symbol-loading". * NEWS: Mention it. * solib.c (solib_read_symbols): Only print symbol loading messages if requested. (solib_add): If symbol loading is in "brief" mode, notify user symbols are being loaded. (reload_shared_libraries_1): Ditto. * symfile.c (print_symbol_loading_off): New static global. (print_symbol_loading_brief): New static global. (print_symbol_loading_full): New static global. (print_symbol_loading_enums): New static global. (print_symbol_loading): New static global. (print_symbol_loading_p): New function. (symbol_file_add_with_addrs): Only print symbol loading messages if requested. (_initialize_symfile): Register "print symbol-loading" set/show command. * symfile.h (print_symbol_loading_p): Declare. doc/ * gdb.texinfo (Symbols): Document set/show print symbol-loading. testsuite/ * gdb.base/print-symbol-loading-lib.c: New file. * gdb.base/print-symbol-loading-main.c: New file. * gdb.base/print-symbol-loading.exp: New file. commit 76f0cad6f4e0fdfc4cfeee135b44b6a090919c60 Author: Nick Clifton Date: Mon Mar 31 13:14:44 2014 +0100 This is a fix for PR ld/16744 which showed that an object file linked with -r and -z [no]execstack would not honour the [no]execstack. Fully linked binaries use a special segment to indicate the state of the stack, but relocatable object files only have sections, and .note.GNU-stack was not being created. * emultempl/elf32.em (_after_open): Create a .note.GNU-stack section when performing a relocatable link with -z [no]execstack specified. commit 72c56015dda568cdcce75dc0316aa768f922c2d7 Author: Marcus Shawcroft Date: Mon Mar 31 12:58:48 2014 +0100 [AArch64] Fixup ld-aarch64/eh-frame.d expected PC range. Fix the expected output for ld-aarch64/eh-frame.d. This issue was exposed by the recent fix to the output of objdump -Wf here: https://sourceware.org/ml/binutils/2014-03/msg00251.html commit 46e2bafa7a77fb852862a89bca861ba39d9cdb8e Author: Yao Qi Date: Mon Mar 31 14:20:05 2014 +0800 Allow ';' as a directory separator Hi, I find two fails in source-dir.exp on mingw32 host. (gdb) directory /nOtExStInG/a /nOtExStInG/b /nOtExStInG/c^M Warning: /nOtExStInG/a: No such file or directory.^M Warning: /nOtExStInG/b: No such file or directory.^M Warning: /nOtExStInG/c: No such file or directory.^M Source directories searched: /nOtExStInG/a;/nOtExStInG/b;/nOtExStInG/c;$cdir;$cwd^M (gdb) FAIL: gdb.base/source-dir.exp: directory /nOtExStInG/a /nOtExStInG/b /nOtExStInG/c directory /nOtExStInG/b /nOtExStInG/d /nOtExStInG/c^M Warning: /nOtExStInG/b: No such file or directory.^M Warning: /nOtExStInG/d: No such file or directory.^M Warning: /nOtExStInG/c: No such file or directory.^M Source directories searched: /nOtExStInG/b;/nOtExStInG/d;/nOtExStInG/c;/nOtExStInG/a;$cdir;$cwd^M (gdb) FAIL: gdb.base/source-dir.exp: directory /nOtExStInG/b /nOtExStInG/d /nOtExStInG/c The regular expression expects ':' and ';' is path separator on Windows. This patch is to allow ';' as a path separator in regular expression. This patch is similar to Dan's patch to fix a similar problem here Re: directory separators on minGW hosts https://sourceware.org/ml/gdb-patches/2006-02/msg00359.html It is obvious. Pushed it in. gdb/testsuite: 2014-03-31 Yao Qi * gdb.base/source-dir.exp: Allow ';' as a directory separator. commit ddb223fe95bc5ab8a74b21b7390021ea8865ccb5 Author: Alan Modra Date: Mon Mar 31 09:30:40 2014 +1030 daily update commit c32c64b7a18f8b1337ed58b285d42763180aee05 Author: Doug Evans Date: Sun Mar 30 12:37:50 2014 -0700 * infrun.c (set_last_target_status): New function. (handle_inferior_event): Call it. commit 7c0bc051fcae47b9f8620de156ddd744ec85309d Author: Doug Evans Date: Sun Mar 30 12:24:31 2014 -0700 * inferior.h (enum stop_kind): Improve comment. commit 97d8f0ee776d6bbeef9c529f2880dedbb659492e Author: Doug Evans Date: Sun Mar 30 12:13:29 2014 -0700 * gdb.texinfo (Non-Stop Mode): Remove trailing whitespace. (Background Execution): Ditto. commit 79771829be161fac84f4f5e84bab9212ade70d3f Author: Alan Modra Date: Sun Mar 30 09:30:39 2014 +1030 daily update commit 8547a0f90373aaba055bf179961f5225501e7079 Author: Chris Faylor Date: Sat Mar 29 16:01:46 2014 -0400 * ChangeLog: Fix duplicate entry. Set date on entry correctly. commit af910977fbd500214e93d0a9b3d61e707df6d93c Author: Denis Chertykov Date: Sat Mar 29 09:53:16 2014 +0400 * config/tc-avr.c: Add specified_mcu variable for selected mcu. (enum options): add OPTION_RMW_ISA for -mrmw option. (struct option md_longopts): Add mrmw option. (md_show_usage): add -mrmw option description. (md_parse_option): Update isa details if -mrmw option specified. * doc/c-avr.texi: Add doc for new option -mrmw. * gas/avr/avr.exp: Run new tests. * gas/avr/rmw.d: Add test for additional ISA support. * gas/avr/rmw.s: Ditto. commit ed0251d24b7573e58fe22bea44c04887daedaa32 Author: Denis Chertykov Date: Sat Mar 29 09:46:33 2014 +0400 * gas/ChangeLog: Revert * gas/config/tc-avr.c: Revert * gas/doc/c-avr.texi: Revert * gas/testsuite/ChangeLog: Revert * gas/testsuite/gas/avr/avr.exp: Revert * gas/testsuite/gas/avr/rmw.d: Revert * gas/testsuite/gas/avr/rmw.s: Revert This reverts commit d24e46e3e247e46eb2f5e7ebb5efd0f9fcc5fcdd. commit d24e46e3e247e46eb2f5e7ebb5efd0f9fcc5fcdd Author: Denis Chertykov Date: Sat Mar 29 09:41:32 2014 +0400 * config/tc-avr.c: Add specified_mcu variable for selected mcu. (enum options): add OPTION_RMW_ISA for -mrmw option. (struct option md_longopts): Add mrmw option. (md_show_usage): add -mrmw option description. (md_parse_option): Update isa details if -mrmw option specified. * doc/c-avr.texi: Add doc for new option -mrmw. * gas/avr/avr.exp: Run new tests. * gas/avr/rmw.d: Add test for additional ISA support. * gas/avr/rmw.s: Ditto. commit 9f75a539d8c84d25465cb6af1a24890bc67121ba Author: Alan Modra Date: Sat Mar 29 09:30:47 2014 +1030 daily update commit 8776cfe971c3917e924c669140746735f94439f4 Author: Joel Brobecker Date: Thu Mar 20 07:43:08 2014 -0700 [varobj] false type-changed status for reference to Ada array Given the following variable... BT : Bounded := New_Bounded (Low => 1, High => 3); ... where type Bounded is defined as a simple unconstrained array: type Bounded is array (Integer range <>) of Integer; Creating a varobj for that variable, and immediately asking for varobj updates, GDB says that our varobj changed types! (gdb) -var-create bt * bt ^done,name="bt",numchild="3",value="[3]",type=" array (1 .. 3) of integer",has_more="0" (gdb) -var-update 1 * ^done,changelist=[{name="bt",value="[3]",in_scope="true",type_changed="true",new_type=" array (1 .. 3) of integer",new_num_children="3",has_more="0"}] The expected output for the -var-update command is, in this case: (gdb) -var-update 1 * ^done,changelist=[] The problem occurs because the ada-varobj module does not handle references, and while the references gets stripped when the varobj gets created, it doesn't when computing varobj updates. More specifically, when creating the varobj, varobj_create creates a new value which is a reference to a TYPE_CODE_ARRAY. It then calls install_new_value which calls coerce_ref with the following comment: /* We are not interested in the address of references, and given that in C++ a reference is not rebindable, it cannot meaningfully change. So, get hold of the real value. */ if (value) value = coerce_ref (value); This leaves the varobj's type component still a ref, while the varobj's value is now our array, without the ref. This explains why the "value" field in the varobj indicates an array with 3 elements "[3]" while the "type" field shows a ref to an array. Generally speaking, most users have said that showing the ref was a useful piece of information, so this patch is not touching this part. Next, when the user issues the -var-update request, varobj_update calls value_of_root to compute the varobj's new value as well as determine whether the value's type has changed or not. What happens in a nutshell is that it calls value_of_root_1 (which re-evaluates the expression and returns the corresponding new value), finds that the new value is not NULL, and thus asks whether it has mutated: else if (varobj_value_has_mutated (var, value, value_type (value))) This then indirectly delegates the determination to the language-specific callback, which fails, because it does not handle references. This patch fixes the issue by adjusting varobj_value_has_mutated to expect references, and strip them when seen. This allows the various language-specific implementations to remain unaware of references. gdb/ChangeLog: * varobj.c (varobj_value_has_mutated): If NEW_VALUE is a reference, strip the reference layer before calling the lang_ops value_has_mutated callback. gdb/testsuite/ChangeLog: * gdb.ada/mi_dyn_arr: New testcase. commit acd6540d35178e9fd1a98110798eeb8f878656e4 Author: Alan Modra Date: Fri Mar 28 09:30:54 2014 +1030 daily update commit 410a0ff2df3fa8d260c1c6d76172c65285968cea Author: Sergio Durigan Junior Date: Thu Mar 27 19:10:40 2014 -0300 Remove `expout*' globals from parser-defs.h This commit removes the "expout*" globals from our parser code, turning them into a structure that is passed when an expression needs to be evaluated. This is the initial step to make our parser less "globalized". This is mostly a mechanical patch, which creates a structure containing the "expout*" globals and then modify all the functions that handle them in order to take the structure as argument. It is big, and has been reviewed at least 4 times, so I think everything is covered. Below you can see the message links from the discussions: - First attempt: Message-ID: - Second attempt: Message-Id: <1338665528-5932-1-git-send-email-sergiodj@redhat.com> - Third attempt: Message-Id: <1390629467-27139-1-git-send-email-sergiodj@redhat.com> - Fourth (last) attempt: Message-Id: <1395463432-29750-1-git-send-email-sergiodj@redhat.com> gdb/ 2014-03-27 Sergio Durigan Junior Remove some globals from our parser. * language.c (unk_lang_parser): Add "struct parser_state" argument. * language.h (struct language_defn) : Likewise. * parse.c (expout, expout_size, expout_ptr): Remove variables. (initialize_expout): Add "struct parser_state" argument. Rewrite function to use the parser state. (reallocate_expout, write_exp_elt, write_exp_elt_opcode, write_exp_elt_sym, write_exp_elt_block, write_exp_elt_objfile, write_exp_elt_longcst, write_exp_elt_dblcst, write_exp_elt_decfloatcst, write_exp_elt_type, write_exp_elt_intern, write_exp_string, write_exp_string_vector, write_exp_bitstring, write_exp_msymbol, mark_struct_expression, write_dollar_variable): Likewise. (parse_exp_in_context_1): Use parser state. (insert_type_address_space): Add "struct parser_state" argument. Use parser state. (increase_expout_size): New function. * parser-defs.h: Forward declare "struct language_defn" and "struct parser_state". (expout, expout_size, expout_ptr): Remove extern declarations. (parse_gdbarch, parse_language): Rewrite macro declarations to accept the parser state. (struct parser_state): New struct. (initialize_expout, reallocate_expout, write_exp_elt_opcode, write_exp_elt_sym, write_exp_elt_longcst, write_exp_elt_dblcst, write_exp_elt_decfloatcst, write_exp_elt_type, write_exp_elt_intern, write_exp_string, write_exp_string_vector, write_exp_bitstring, write_exp_elt_block, write_exp_elt_objfile, write_exp_msymbol, write_dollar_variable, mark_struct_expression, insert_type_address_space): Add "struct parser_state" argument. (increase_expout_size): New function. * utils.c (do_clear_parser_state): New function. (make_cleanup_clear_parser_state): Likewise. * utils.h (make_cleanup_clear_parser_state): New function prototype. * aarch64-linux-tdep.c (aarch64_stap_parse_special_token): Update calls to write_exp* in order to pass the parser state. * arm-linux-tdep.c (arm_stap_parse_special_token): Likewise. * i386-tdep.c (i386_stap_parse_special_token_triplet): Likewise. (i386_stap_parse_special_token_three_arg_disp): Likewise. * ppc-linux-tdep.c (ppc_stap_parse_special_token): Likewise. * stap-probe.c (stap_parse_register_operand): Likewise. (stap_parse_single_operand): Likewise. (stap_parse_argument_1): Likewise. (stap_parse_argument): Use parser state. * stap-probe.h: Include "parser-defs.h". (struct stap_parse_info) : New field. * c-exp.y (parse_type): Rewrite to use parser state. (yyparse): Redefine to c_parse_internal. (pstate): New global variable. (parse_number): Add "struct parser_state" argument. (write_destructor_name): Likewise. (type_exp): Update calls to write_exp* and similars in order to use parser state. (exp1, exp, variable, qualified_name, space_identifier, typename, typebase): Likewise. (write_destructor_name, parse_number, lex_one_token, classify_name, classify_inner_name, c_parse): Add "struct parser_state" argument. Update function to use parser state. * c-lang.h: Forward declare "struct parser_state". (c_parse): Add "struct parser_state" argument. * ada-exp.y (parse_type): Rewrite macro to use parser state. (yyparse): Redefine macro to ada_parse_internal. (pstate): New variable. (write_int, write_object_renaming, write_var_or_type, write_name_assoc, write_exp_op_with_string, write_ambiguous_var, type_int, type_long, type_long_long, type_float, type_double, type_long_double, type_char, type_boolean, type_system_address): Add "struct parser_state" argument. (exp1, primary, simple_exp, relation, and_exp, and_then_exp, or_exp, or_else_exp, xor_exp, type_prefix, opt_type_prefix, var_or_type, aggregate, aggregate_component_list, positional_list, others, component_group, component_associations): Update calls to write_exp* and similar functions in order to use parser state. (ada_parse, write_var_from_sym, write_int, write_exp_op_with_string, write_object_renaming, find_primitive_type, write_selectors, write_ambiguous_var, write_var_or_type, write_name_assoc, type_int, type_long, type_long_long, type_float, type_double, type_long_double, type_char, type_boolean, type_system_address): Add "struct parser_state" argument. Adjust function to use parser state. * ada-lang.c (parse): Likewise. * ada-lang.h: Forward declare "struct parser_state". (ada_parse): Add "struct parser_state" argument. * ada-lex.l (processInt, processReal): Likewise. Adjust all calls to both functions. * f-exp.y (parse_type, parse_f_type): Rewrite macros to use parser state. (yyparse): Redefine macro to f_parse_internal. (pstate): New variable. (parse_number): Add "struct parser_state" argument. (type_exp, exp, subrange, typebase): Update calls to write_exp* and similars in order to use parser state. (parse_number): Adjust code to use parser state. (yylex): Likewise. (f_parse): New function. * f-lang.h: Forward declare "struct parser_state". (f_parse): Add "struct parser_state" argument. * jv-exp.y (parse_type, parse_java_type): Rewrite macros to use parser state. (yyparse): Redefine macro for java_parse_internal. (pstate): New variable. (push_expression_name, push_expression_name, insert_exp): Add "struct parser_state" argument. (type_exp, StringLiteral, Literal, PrimitiveType, IntegralType, FloatingPointType, exp1, PrimaryNoNewArray, FieldAccess, FuncStart, MethodInvocation, ArrayAccess, PostfixExpression, PostIncrementExpression, PostDecrementExpression, UnaryExpression, PreIncrementExpression, PreDecrementExpression, UnaryExpressionNotPlusMinus, CastExpression, MultiplicativeExpression, AdditiveExpression, ShiftExpression, RelationalExpression, EqualityExpression, AndExpression, ExclusiveOrExpression, InclusiveOrExpression, ConditionalAndExpression, ConditionalOrExpression, ConditionalExpression, Assignment, LeftHandSide): Update calls to write_exp* and similars in order to use parser state. (parse_number): Ajust code to use parser state. (yylex): Likewise. (java_parse): New function. (push_variable): Add "struct parser_state" argument. Adjust code to user parser state. (push_fieldnames, push_qualified_expression_name, push_expression_name, insert_exp): Likewise. * jv-lang.h: Forward declare "struct parser_state". (java_parse): Add "struct parser_state" argument. * m2-exp.y (parse_type, parse_m2_type): Rewrite macros to use parser state. (yyparse): Redefine macro to m2_parse_internal. (pstate): New variable. (type_exp, exp, fblock, variable, type): Update calls to write_exp* and similars to use parser state. (yylex): Likewise. (m2_parse): New function. * m2-lang.h: Forward declare "struct parser_state". (m2_parse): Add "struct parser_state" argument. * objc-lang.c (end_msglist): Add "struct parser_state" argument. * objc-lang.h: Forward declare "struct parser_state". (end_msglist): Add "struct parser_state" argument. * p-exp.y (parse_type): Rewrite macro to use parser state. (yyparse): Redefine macro to pascal_parse_internal. (pstate): New variable. (parse_number): Add "struct parser_state" argument. (type_exp, exp1, exp, qualified_name, variable): Update calls to write_exp* and similars in order to use parser state. (parse_number, yylex): Adjust code to use parser state. (pascal_parse): New function. * p-lang.h: Forward declare "struct parser_state". (pascal_parse): Add "struct parser_state" argument. * go-exp.y (parse_type): Rewrite macro to use parser state. (yyparse): Redefine macro to go_parse_internal. (pstate): New variable. (parse_number): Add "struct parser_state" argument. (type_exp, exp1, exp, variable, type): Update calls to write_exp* and similars in order to use parser state. (parse_number, lex_one_token, classify_name, yylex): Adjust code to use parser state. (go_parse): Likewise. * go-lang.h: Forward declare "struct parser_state". (go_parse): Add "struct parser_state" argument. commit 342587c49476ad7472419a3028267f2ddb03f4d8 Author: Doug Evans Date: Thu Mar 27 12:42:50 2014 -0700 * dwarf2read.c (read_str_index): Delete arg cu. All callers updated. commit 33e80786374aa4de613e8c2a9d3002d9704fb037 Author: Doug Evans Date: Thu Mar 27 12:03:34 2014 -0700 * dwarf2read.c (init_cutu_and_read_dies_no_follow): Fix comments. Remove argument abbrev_section. All callers updated. commit 1dbab08b0e074effc30661c9b894f7a75dd51c94 Author: Doug Evans Date: Thu Mar 27 11:43:47 2014 -0700 * dwarf2read.c (struct dwarf2_cu): Improve comments for members addr_base, ranges_base. commit 5d1ef36157a045cf9dd3356ed35ac24447e9cbd6 Author: Doug Evans Date: Thu Mar 27 11:38:30 2014 -0700 * gdb.dwarf2/dw2-abs-hi-pc.exp: Build tests with "nodebug". commit 4c6d802e592b3762a149c343bc5722e065e57841 Author: H.J. Lu Date: Wed Mar 26 12:18:59 2014 -0700 Scan all input files for symbol reference warning This patch scans all input files for symbol reference warning if the symbol reference doesn't exist in the current input file. ld/ PR ld/16756 * ldmain.c (symbol_warning): New function. (warning_callback): Use it. Scan all input files for a reference to SYMBOL. ld/testsuite/ PR ld/16756 * ld-plugin/lto.exp: Expect filename and line number for PR ld/12760 test. commit 6a631e86cfc2ddd979f9dc4b4da01133d9d3610f Author: Yury Gribov Date: Thu Mar 27 13:54:03 2014 +0000 Add support for limited pretty-printing of ARM PLT entries on eabi and nacl targets. * elf32-arm.c (elf32_arm_get_synthetic_symtab): Add new callback. (elf32_arm_nacl_plt_sym_val): Likewise. (elf32_arm_plt0_size): Add helper function. (elf32_arm_plt_size): Likewise. * ld-arm/arm-app-abs32.d: Updated test. * ld-arm/arm-app.d: Likewise. * ld-arm/arm-lib-plt32.d: Likewise. * ld-arm/arm-lib.d: Likewise. * ld-arm/armthumb-lib.d: Likewise. * ld-arm/cortex-a8-fix-b-plt.d: Likewise. * ld-arm/cortex-a8-fix-bcc-plt.d: Likewise. * ld-arm/cortex-a8-fix-bl-plt.d: Likewise. * ld-arm/cortex-a8-fix-bl-rel-plt.d: Likewise. * ld-arm/cortex-a8-fix-blx-plt.d: Likewise. * ld-arm/farcall-mixed-app-v5.d: Likewise. * ld-arm/farcall-mixed-app.d: Likewise. * ld-arm/farcall-mixed-lib-v4t.d: Likewise. * ld-arm/farcall-mixed-lib.d: Likewise. * ld-arm/ifunc-10.dd: Likewise. * ld-arm/ifunc-14.dd: Likewise. * ld-arm/ifunc-15.dd: Likewise. * ld-arm/ifunc-3.dd: Likewise. * ld-arm/ifunc-4.dd: Likewise. * ld-arm/ifunc-7.dd: Likewise. * ld-arm/ifunc-8.dd: Likewise. * ld-arm/ifunc-9.dd: Likewise. * ld-arm/long-plt-format.d: Likewise. * ld-arm/mixed-app-v5.d: Likewise. * ld-arm/mixed-app.d: Likewise. * ld-arm/mixed-lib.d: Likewise. * ld-arm/thumb2-bl-undefweak.d: Likewise. * ld-arm/thumb2-bl-undefweak1.d: Likewise. commit a6305403d4e1f5304f247b33b0f8473c7eed0d66 Author: Yaakov Selkowitz Date: Thu Mar 27 13:36:36 2014 +0000 This is a fix for PR ld/16761 - the linker now has a dependence upon the binutils because it needs to windres tool (for some targets). * Makefile.def (dependencies): Make all-ld depend on all-binutils for WINDRES_FOR_TARGET in default-manifest.o rule. * Makefile.in: Regenerate. commit 10be66a4910d39b508002eea2056783e3430af40 Author: Tristan Gingold Date: Wed Mar 26 10:40:49 2014 +0100 Mach-O: disp dyld environment command in objdump -P load. bfd/ * mach-o.c (bfd_mach_o_read_dylinker): Remove assert. (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT. binutils/ * od-macho.c (dump_load_command): Display value for BFD_MACH_O_LC_DYLD_ENVIRONMENT. Handle BFD_MACH_O_LC_DATA_IN_CODE and BFD_MACH_O_LC_DYLIB_CODE_SIGN_DRS. commit cb580a265c0344b2acfc3059b53689863378f5ed Author: Nick Clifton Date: Thu Mar 27 09:41:06 2014 +0000 This fixes a compile time error triggered by -Werror=format-security because a call to sprintf was being made with a non-constant formatting string. * config/tc-score.c (s3_parse_pce_inst): Add "%s" parameter to sprintf in order to avoid a compile time warning. commit 3cc27770cfa2080f70d44659de9d62adc80489fc Author: Tristan Gingold Date: Tue Mar 25 15:51:54 2014 +0100 Mach-O: add objdump -P function_starts to display function starts. bfd/ * mach-o.h (bfd_mach_o_get_base_address): New prototype. * mach-o.c (bfd_mach_o_write_symtab) (bfd_mach_o_write_contents) (bfd_mach_o_set_section_flags_from_bfd) (bfd_mach_o_build_seg_command): Fix indentation. (bfd_mach_o_get_base_address): New function. binutils/ * od-macho.c (OPT_FUNCTION_STARTS): New macro. (options): Add entry for function_starts. (mach_o_help): Ditto. (disp_segment_prot): New function. (dump_section_map): Call disp_segment_prot. (dump_function_starts): New function. (dump_obj_compact_unwind): Fix ouput indentation. (dump_exe_compact_unwind): Fix ouput indentation. (mach_o_dump): Handle function_starts. commit b5bee914261ea82683b7da4245790465b9373131 Author: Yao Qi Date: Wed Mar 26 17:44:14 2014 +0800 Return zero in can_single_step_to_signal_handler for nios2-*-* target nios2 uses software single step, so GDB is unable to single step to the signal handler. In order to reflect this, teach can_single_step_to_signal_handler to return zero for nios2 target. gdb/testsuite: 2014-03-27 Yao Qi * lib/gdb.exp (can_single_step_to_signal_handler): Return zero if target is nios2-*-*. commit 595330b7cedfac2b073e9ffc6a815221b7121f0c Author: Tristan Gingold Date: Mon Mar 24 12:37:32 2014 +0100 objdump: set address of debug sections. This patche fixes the values of FDE pc in output of objdump -Wf. They now match readelf ones. binutils/ * objdump.c (load_specific_debug_section): Set address of section. commit 467637ade646c54bac41721df4f3509cc98103e4 Author: Alan Modra Date: Thu Mar 27 09:30:50 2014 +1030 daily update commit 76dfed02aaee5074dc79c28c0224fd0a2bf0dd30 Author: Yufeng Zhang Date: Wed Mar 26 18:44:27 2014 +0000 [AArch64 disassembler] Add missing checks of undefine encodings on st1/st2/st3/st4 instructions. opcodes/ * aarch64-dis.c (aarch64_ext_ldst_elemlist): Check H/S undefined instructions. binutils/testsuite/ * binutils-all/aarch64/aarch64.exp: New test driver for AArch64. * binutils-all/aarch64/unallocated-encoding.s: New testcase. * binutils-all/aarch64/unallocated-encoding.d: Ditto. commit b3fe4307a625457c6953fce27bbbfc4c90e38e9d Author: Nick Clifton Date: Wed Mar 26 16:34:04 2014 +0000 Add support for %hi8, %hi16 and %lo16 being used when relocation are necessary. * config/tc-rl78.c (rl78_op): Issue an error message if a 16-bit relocation is used on an 8-bit operand or vice versa. (tc_gen_reloc): Use the RL78_16U relocation for RL78_CODE. (md_apply_fix): Add support for RL78_HI8, RL78_HI16 and RL78_LO16. commit 55bfc9ac025c1c9cd1ad5422829b3dc70f357a79 Author: Nick Clifton Date: Wed Mar 26 16:16:20 2014 +0000 This fixes a problem for 64-bit Cygwin, where building some packages can produce spurious errors about truncated relocations. The relocations are only truncated because they are being made against sections which are going to be discarded so that base address is zero instead of the expected 64-bit base value. * cofflink.c (_bfd_coff_generic_relocate_section): Skip relocations in discarded sections. commit 318d3177f7d67dac94baa07aab04192fc7bcba49 Author: Keith Seitz Date: Wed Mar 26 08:25:03 2014 -0700 Remove VAR_DOMAIN/STRUCT_DOMAIN ambiguity from ada-tasks.c. 2014-03-26 Keith Seitz * ada-tasks.c (get_tcb_types_info): Search STRUCT_DOMAIN for types, not VAR_DOMAIN. commit d80285301a6a55f4f3bb4fbf4df1d20d91b0ee24 Author: Tristan Gingold Date: Wed Mar 26 10:40:06 2014 +0100 Mach-O: Add BFD_MACH_O_CPU_TYPE_ARM64. include/mach-o/ * loader.h (bfd_mach_o_cpu_type): Add BFD_MACH_O_CPU_TYPE_ARM64. bfd/ * mach-o.c (bfd_mach_o_convert_architecture): Add BFD_MACH_O_CPU_TYPE_ARM64. binutils/ * od-macho.c (bfd_mach_o_cpu_name): Add BFD_MACH_O_CPU_TYPE_ARM64. commit f6c7c3e8b742de0a5926e6a2c268f5803062b556 Author: Alan Modra Date: Tue Mar 25 15:12:48 2014 +1030 Referencing a function's address on PowerPC64 ELFv2 ELFv2 needs to create plt entries in a non-PIC executable for an address reference to a function defined in a shared object. It's possible that an object file has no features that distinguish it as ELFv1 or ELFv2, eg. an object only containing data. Such files need to be handled like those that are known to be ELFv2. However, this unnecessarily creates plt entries for the analogous ELFv1 case, so arrange to set output abi version earlier, and use the output abi version to further distinguish ambiguous input files. bfd/ * elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly needed plt entries when taking the address of functions for abiversion == 0 (ie. unknown) as well as abiversion == 2. Move opd setup and abiversion checks to.. (ppc64_elf_before_check_relocs): ..here. Renamed from ppc64_elf_process_dot_syms. Set output abiversion from input and input abiversion from output, if either is not set. (ppc64_elf_merge_private_bfd_data): Don't merge flags here. (elf_backend_check_directives): Update. ld/testsuite/ * ld-powerpc/startv1.s, * ld-powerpc/startv2.s, * ld-powerpc/funref.s, * ld-powerpc/funv1.s, * ld-powerpc/funv2.s, * ld-powerpc/ambiguousv1.d, * ld-powerpc/ambiguousv2.d: New test files. * ld-powerpc/powerpc.exp: Run new tests. commit 0d4d0e772ac36d169d21951c46b0778ae7fa8d53 Author: Yao Qi Date: Wed Mar 19 10:16:35 2014 +0800 Skip tests on completion and readline when readline lib isn't used The completion feature and other features on readline depend on the readline library. However, readline library is not always used, for example, running testsuite like make check RUNTESTFLAGS="--host_board=local-remote-host" the input stream is not a tty, and GDB doesn't use readline library as a result. This patch is to skip tests on completion and readline if 'show editing' is off, which means readline isn't used. Note that some tests in gdb.base/completion.exp test command complete, which isn't related to readline, so these tests aren't affected by readline library. This patch also moves these tests up, run them unconditionally, and run the rest if readline library is used. gdb/testsuite: 2014-03-26 Yao Qi * lib/gdb.exp (readline_is_used): New proc. * gdb.base/completion.exp: Move tests on command complete up. Skip the rest of tests if readline is not used. * gdb.ada/complete.exp: Skp the test if readline is not used. * gdb.base/filesym.exp: Likewise. * gdb.base/macscp.exp: Likewise. * gdb.base/readline-ask.exp: Likewise. * gdb.base/readline.exp: Likewise. * gdb.python/py-cmd.exp: Likewise. * gdb.trace/tfile.exp: Likewise. commit 29361eee1499fa208baf06df5c6aa1ef4c1b2516 Author: Yao Qi Date: Tue Mar 18 20:26:58 2014 +0800 Fix code format issues gdb.base/macscp.exp When I do something else, I find code format in gdb.base/macscp.exp is messy. This patch is to fix various code format issues in it. Pushed as it is obvious. gdb/testsuite: 2014-03-26 Yao Qi * gdb.base/macscp.exp: Fix code format issues. commit 1e54db15c3ce69a7b3d6542066abdea36e7f8a79 Author: Sandra Loosemore Date: Tue Mar 25 21:00:17 2014 -0700 Fix type of "fp" and other registers for Nios II. 2014-03-25 Sandra Loosemore gdb/ * features/nios2-cpu.xml: Correct types of "gp", "fp", "ea", and "ra" registers. * features/nios2-linux.c: Regenerated. * features/nios2.c: Regenerated. commit f688ea36dfd8e3cdd359a040f231792d90e49c65 Author: Alan Modra Date: Wed Mar 26 09:30:48 2014 +1030 daily update commit 3c6256d29e2c528880a3cf8df43adf32c7780de5 Author: Nick Clifton Date: Tue Mar 25 16:50:10 2014 +0000 This patch adds a new pseudo-op - .seh_code - to structured exception handling suite of ops. It changes the current section back to the code section of the current function. This is helpful because the code section may not be .text. * config/obj-coff-seh.c (obj_coff_seh_code): New function - switches the current segment back to the code segment recorded when seh_proc was last invoked. * config/obj-coff-seh.h (SEH_CMDS): Add seh_code. commit bc9a55253ed7122cfeee90cd23d964f44c8b0e6a Author: Ulrich Weigand Date: Tue Mar 25 15:39:32 2014 +0100 Support gdb.asm/asm-source.exp on powerpc64le Add new powerpc64le.inc file appropriate for the ELFv2 ABI and use it to support the asm-source.exp test case on powerpc64le. gdb/testsuite/ 2014-03-25 Ulrich Weigand * gdb.asm/asm-source.exp: Handle powerpc64le-* targets. * gdb.asm/powerpc64le.inc: New file. commit d3839ede057ef077667978dbd065e7b5702c9176 Author: Pedro Alves Date: Tue Mar 25 11:45:53 2014 +0000 "source", foreground execution commands, and target-async Sourcing a GDB script that runs foreground execution commands in succession fails if the target can async: Breakpoint 1, main () at ../../../src/gdb/testsuite/gdb.base/source-execution.c:36 36 func1 (); (gdb) source ../../../src/gdb/testsuite/gdb.base/source-execution.gdb ../../../src/gdb/testsuite/gdb.base/source-execution.gdb:21: Error in sourced command file: Cannot execute this command while the selected thread is running. (gdb) FAIL: gdb.base/source-execution.exp: source source-execution.gdb That is, after a foreground execution command, GDB moves on to the following command immediately before waiting for the previous command to complete. https://sourceware.org/ml/gdb-patches/2011-09/msg00037.html (b4a14fd0) addressed this for command lists, Python's gdb.execute, etc., but missed "source". Fixed now in the same way. gdb/ 2014-03-25 Pedro Alves * cli/cli-script.c (script_from_file): Force the interpreter to sync mode. gdb/testsuite/ 2014-03-25 Pedro Alves Doug Evans * gdb.base/source-execution.c: New file. * gdb.base/source-execution.exp: New file. * gdb.base/source-execution.gdb: New file. commit c955de363b91edba8a92877f97b1be68357d9582 Author: Will Newton Date: Fri Mar 14 11:45:32 2014 +0000 bfd/elfnn-aarch64.c: Fix calculation of DT_RELASZ The current code subtracts the size of the output section containing relplt from RELASZ. In some cases this will be the same output section as the dynamic relocs causing a value of zero to be output. Calculating the size from input sections seems to make more sense. bfd/ChangeLog: 2014-03-25 Will Newton * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Set value of DT_PLTRELSZ and DT_RELASZ based on the size of input sections rather than output sections. ld/testsuite/ChangeLog: 2014-03-25 Will Newton * ld-aarch64/aarch64-elf.exp: Add relasz dump test. * ld-aarch64/relasz.d: New file. * ld-aarch64/relasz.s: Likewise. commit 3e60bf4df86f323dde4281886a355589488149aa Author: Alan Modra Date: Tue Mar 25 12:01:09 2014 +1030 Revert "Remove magic treatment of toc symbols for powerpc ELF" It turns out that glibc's sysdeps/powerpc/powerpc64/start.S uses this feature. :-( * config/tc-ppc.c (ppc_is_toc_sym): Revert 2014-03-05. (md_assemble): Likewise. Warn. commit 01672a570af3899a85d12293bc7da38b0715e4a5 Author: Doug Evans Date: Mon Mar 24 16:03:20 2014 -0700 gdb.linespec/macro-relative.exp: Mark the test as unsupported if using fission. commit cea2f54dd97c7772b38827dd6c9c78d599ce9f07 Author: Alan Modra Date: Tue Mar 25 09:30:39 2014 +1030 daily update commit 88bbeca9d5e9429dbd2a11d754f24d649b8e5488 Author: Hui Zhu Date: Mon Mar 24 19:30:50 2014 +0000 Fix PR breakpoints/16101: gdb.base/dprintf.exp agent-printf failures with non-Z0-supporting gdbservers After a previous patch that was committed by Pedro (0000e5cc), trying to set a dprintf with with a GDBserver that doesn't support agent commands at all now throws an error. But the dprintf tests still fail with some GDBserver targets because they doesn't try to handle the case of the server reporting support for breakpoint commands, but not be able to use those in combination with Z0 (because Z0 isn't actually supported, for example): FAIL: gdb.base/dprintf.exp: 1st dprintf, agent FAIL: gdb.base/dprintf.exp: 2nd dprintf, agent FAIL: gdb.base/dprintf.exp: dprintf info 2 (pattern 4) Similarly for the MI test. This patch makes the tests handle this scenario. Tested with native, and native gdbserver on x86_64 Fedora 17. Also tested with the native-gdbserver.exp board hacked with: set GDBFLAGS "${GDBFLAGS} -ex \"set remote breakpoint-commands off\"" (actually, "set remote breakpoint-commands off" is presently broken, so this was on top of a fix for that command.) which results in: (gdb) PASS: gdb.base/dprintf.exp: 2nd dprintf, gdb set dprintf-style agent warning: Target cannot run dprintf commands, falling back to GDB printf warning: Target cannot run dprintf commands, falling back to GDB printf (gdb) UNSUPPORTED: gdb.base/dprintf.exp: set dprintf style to agent gdb.sum: Running target native-gdbserver Running ../../../src/gdb/testsuite/gdb.base/dprintf.exp ... PASS: gdb.base/dprintf.exp: dprintf PASS: gdb.base/dprintf.exp: dprintf foo PASS: gdb.base/dprintf.exp: dprintf 29 PASS: gdb.base/dprintf.exp: dprintf foo,"At foo entry\n" PASS: gdb.base/dprintf.exp: ignore $bpnum 1 PASS: gdb.base/dprintf.exp: dprintf 26,"arg=%d, g=%d\n", arg, g PASS: gdb.base/dprintf.exp: dprintf info 1 PASS: gdb.base/dprintf.exp: break 27 PASS: gdb.base/dprintf.exp: 1st dprintf, gdb PASS: gdb.base/dprintf.exp: 2nd dprintf, gdb UNSUPPORTED: gdb.base/dprintf.exp: set dprintf style to agent PASS: gdb.base/dprintf.exp: Set dprintf style to an unrecognized type And also with the native-gdbserver.exp board hacked with: set GDBFLAGS "${GDBFLAGS} -ex \"set remote Z-packet off\"" which results in: (gdb) continue Continuing. Warning: Cannot insert breakpoint 3: Target doesn't support breakpoints that have target side commands. Cannot insert breakpoint 4: Target doesn't support breakpoints that have target side commands. (gdb) UNSUPPORTED: gdb.base/dprintf.exp: 1st dprintf, agent gdb.sum: Running target native-gdbserver Running ../../../src/gdb/testsuite/gdb.base/dprintf.exp ... PASS: gdb.base/dprintf.exp: dprintf PASS: gdb.base/dprintf.exp: dprintf foo PASS: gdb.base/dprintf.exp: dprintf 29 PASS: gdb.base/dprintf.exp: dprintf foo,"At foo entry\n" PASS: gdb.base/dprintf.exp: ignore $bpnum 1 PASS: gdb.base/dprintf.exp: dprintf 26,"arg=%d, g=%d\n", arg, g PASS: gdb.base/dprintf.exp: dprintf info 1 PASS: gdb.base/dprintf.exp: break 27 PASS: gdb.base/dprintf.exp: 1st dprintf, gdb PASS: gdb.base/dprintf.exp: 2nd dprintf, gdb PASS: gdb.base/dprintf.exp: set dprintf style to agent UNSUPPORTED: gdb.base/dprintf.exp: 1st dprintf, agent PASS: gdb.base/dprintf.exp: Set dprintf style to an unrecognized type (One of the new comments mentions breakpoint always-inserted mode. Actually testing with breakpoint always-inserted mode fails these dprintf tests, due to the way they are written. But that'll take a more substancial rewrite of the tests, so I'm leaving that for another day.) gdb/testsuite/ 2014-03-24 Hui Zhu Pedro Alves PR breakpoints/16101 * gdb.base/dprintf.exp: Use unsupported rather than changing the test pass/fail messages. Detect missing support for dprintf when breakpoints are actually inserted. * gdb.base/mi-dprintf.exp: Detect missing support for dprintf when breakpoints are actually inserted. * lib/mi-support.exp (mi_run_cmd_full): Return -1 if continue fails. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 53 + Makefile.def | 4 +- Makefile.in | 562 +- Makefile.tpl | 6 +- bfd/ChangeLog | 601 + bfd/Makefile.am | 14 +- bfd/Makefile.in | 21 +- bfd/aix386-core.c | 2 +- bfd/aout-adobe.c | 6 +- bfd/aout-arm.c | 16 +- bfd/aout-ns32k.c | 2 +- bfd/aout-sparcle.c | 2 +- bfd/aout0.c | 2 +- bfd/aoutx.h | 8 +- bfd/archures.c | 15 +- bfd/armnetbsd.c | 2 +- bfd/bfd-in.h | 26 +- bfd/bfd-in2.h | 73 +- bfd/bfd.c | 10 +- bfd/bout.c | 10 +- bfd/cf-i386lynx.c | 2 +- bfd/cf-sparclynx.c | 2 +- bfd/cisco-core.c | 10 +- bfd/coff-alpha.c | 2 +- bfd/coff-apollo.c | 2 +- bfd/coff-arm.c | 4 +- bfd/coff-aux.c | 2 +- bfd/coff-go32.c | 2 +- bfd/coff-h8300.c | 2 +- bfd/coff-h8500.c | 2 +- bfd/coff-i386.c | 2 +- bfd/coff-i860.c | 2 +- bfd/coff-i960.c | 8 +- bfd/coff-m68k.c | 4 +- bfd/coff-m88k.c | 2 +- bfd/coff-mips.c | 12 +- bfd/coff-or32.c | 628 - bfd/coff-rs6000.c | 4 +- bfd/coff-sh.c | 14 +- bfd/coff-sparc.c | 2 +- bfd/coff-stgo32.c | 2 +- bfd/coff-svm68k.c | 2 +- bfd/coff-tic80.c | 2 +- bfd/coff-u68k.c | 2 +- bfd/coff-w65.c | 2 +- bfd/coff-we32k.c | 2 +- bfd/coff-x86_64.c | 2 +- bfd/coff-z80.c | 2 +- bfd/coff-z8k.c | 2 +- bfd/coff64-rs6000.c | 4 +- bfd/coffcode.h | 33 +- bfd/cofflink.c | 5 + bfd/compress.c | 10 + bfd/config.bfd | 1176 +- bfd/configure | 691 +- bfd/configure.com | 4 +- bfd/configure.in | 691 +- bfd/cpu-mips.c | 8 + bfd/cpu-openrisc.c | 44 - bfd/cpu-or1k.c | 59 + bfd/cpu-or32.c | 42 - bfd/demo64.c | 2 +- bfd/doc/ChangeLog | 22 + bfd/doc/Makefile.am | 163 +- bfd/doc/Makefile.in | 163 +- bfd/dwarf2.c | 375 +- bfd/elf-bfd.h | 11 +- bfd/elf-eh-frame.c | 18 +- bfd/elf-m10200.c | 2 +- bfd/elf-m10300.c | 2 +- bfd/elf.c | 5 +- bfd/elf32-am33lin.c | 2 +- bfd/elf32-arc.c | 4 +- bfd/elf32-arm.c | 235 +- bfd/elf32-avr.c | 184 +- bfd/elf32-bfin.c | 8 +- bfd/elf32-cr16.c | 2 +- bfd/elf32-cr16c.c | 2 +- bfd/elf32-cris.c | 4 +- bfd/elf32-crx.c | 2 +- bfd/elf32-d10v.c | 2 +- bfd/elf32-d30v.c | 2 +- bfd/elf32-dlx.c | 2 +- bfd/elf32-epiphany.c | 2 +- bfd/elf32-fr30.c | 2 +- bfd/elf32-frv.c | 8 +- bfd/elf32-gen.c | 4 +- bfd/elf32-h8300.c | 2 +- bfd/elf32-hppa.c | 6 +- bfd/elf32-i370.c | 2 +- bfd/elf32-i386.c | 10 +- bfd/elf32-i860.c | 4 +- bfd/elf32-i960.c | 2 +- bfd/elf32-ip2k.c | 2 +- bfd/elf32-iq2000.c | 2 +- bfd/elf32-lm32.c | 8 +- bfd/elf32-m32c.c | 4 +- bfd/elf32-m32r.c | 8 +- bfd/elf32-m68hc11.c | 2 +- bfd/elf32-m68hc12.c | 2 +- bfd/elf32-m68k.c | 2 +- bfd/elf32-m88k.c | 2 +- bfd/elf32-mcore.c | 4 +- bfd/elf32-mep.c | 4 +- bfd/elf32-metag.c | 2 +- bfd/elf32-microblaze.c | 4 +- bfd/elf32-mips.c | 24 +- bfd/elf32-moxie.c | 4 +- bfd/elf32-msp430.c | 8 +- bfd/elf32-mt.c | 2 +- bfd/elf32-nds32.c | 8 +- bfd/elf32-nios2.c | 37 +- bfd/elf32-openrisc.c | 569 - bfd/elf32-or1k.c | 2865 ++ bfd/elf32-or32.c | 514 - bfd/elf32-pj.c | 4 +- bfd/elf32-ppc.c | 143 +- bfd/elf32-rl78.c | 18 +- bfd/elf32-rx.c | 16 +- bfd/elf32-s390.c | 2 +- bfd/elf32-score.c | 4 +- bfd/elf32-sh-symbian.c | 2 +- bfd/elf32-sh.c | 36 +- bfd/elf32-sh64.c | 12 +- bfd/elf32-sparc.c | 6 +- bfd/elf32-spu.c | 30 +- bfd/elf32-tic6x.c | 12 +- bfd/elf32-tilegx.c | 4 +- bfd/elf32-tilepro.c | 2 +- bfd/elf32-v850.c | 4 +- bfd/elf32-vax.c | 2 +- bfd/elf32-xc16x.c | 2 +- bfd/elf32-xgate.c | 2 +- bfd/elf32-xstormy16.c | 2 +- bfd/elf32-xtensa.c | 36 +- bfd/elf64-alpha.c | 245 +- bfd/elf64-gen.c | 4 +- bfd/elf64-hppa.c | 4 +- bfd/elf64-ia64-vms.c | 2 +- bfd/elf64-mips.c | 20 +- bfd/elf64-mmix.c | 2 +- bfd/elf64-ppc.c | 112 +- bfd/elf64-s390.c | 2 +- bfd/elf64-sh64.c | 12 +- bfd/elf64-sparc.c | 6 +- bfd/elf64-tilegx.c | 4 +- bfd/elf64-x86-64.c | 20 +- bfd/elfcode.h | 153 +- bfd/elflink.c | 19 +- bfd/elfn32-mips.c | 20 +- bfd/elfnn-aarch64.c | 24 +- bfd/elfnn-ia64.c | 10 +- bfd/elfxx-mips.c | 291 +- bfd/elfxx-mips.h | 2 + bfd/epoc-pe-arm.c | 4 +- bfd/epoc-pei-arm.c | 4 +- bfd/hp300bsd.c | 2 +- bfd/hp300hpux.c | 12 +- bfd/hppabsd-core.c | 2 +- bfd/hpux-core.c | 2 +- bfd/i386aout.c | 2 +- bfd/i386bsd.c | 2 +- bfd/i386dynix.c | 2 +- bfd/i386freebsd.c | 2 +- bfd/i386linux.c | 2 +- bfd/i386lynx.c | 2 +- bfd/i386mach3.c | 2 +- bfd/i386msdos.c | 2 +- bfd/i386netbsd.c | 2 +- bfd/i386os9k.c | 2 +- bfd/irix-core.c | 2 +- bfd/libbfd-in.h | 3 +- bfd/libbfd.h | 32 +- bfd/libcoff-in.h | 8 + bfd/libcoff.h | 8 + bfd/libpei.h | 12 + bfd/m68k4knetbsd.c | 2 +- bfd/m68klinux.c | 2 +- bfd/m68knetbsd.c | 2 +- bfd/m88kmach3.c | 2 +- bfd/m88kopenbsd.c | 2 +- bfd/mach-o-i386.c | 6 +- bfd/mach-o-target.c | 7 +- bfd/mach-o-x86-64.c | 9 +- bfd/mach-o.c | 1934 +- bfd/mach-o.h | 62 +- bfd/makefile.vms | 6 +- bfd/mipsbsd.c | 10 +- bfd/mmo.c | 70 +- bfd/netbsd-core.c | 2 +- bfd/newsos3.c | 2 +- bfd/nlm32-alpha.c | 2 +- bfd/nlm32-i386.c | 2 +- bfd/nlm32-ppc.c | 2 +- bfd/nlm32-sparc.c | 2 +- bfd/ns32knetbsd.c | 4 +- bfd/osf-core.c | 2 +- bfd/pc532-mach.c | 6 +- bfd/pe-arm-wince.c | 4 +- bfd/pe-arm.c | 4 +- bfd/pe-i386.c | 2 +- bfd/pe-mcore.c | 4 +- bfd/pe-mips.c | 2 +- bfd/pe-ppc.c | 4 +- bfd/pe-sh.c | 2 +- bfd/pe-x86_64.c | 4 +- bfd/peXXigen.c | 562 +- bfd/pei-arm-wince.c | 4 +- bfd/pei-arm.c | 4 +- bfd/pei-i386.c | 2 +- bfd/pei-ia64.c | 2 +- bfd/pei-mcore.c | 4 +- bfd/pei-mips.c | 2 +- bfd/pei-ppc.c | 4 +- bfd/pei-sh.c | 2 +- bfd/pei-x86_64.c | 2 +- bfd/po/SRC-POTFILES.in | 7 +- bfd/ppcboot.c | 2 +- bfd/ptrace-core.c | 2 +- bfd/reloc.c | 68 +- bfd/riscix.c | 10 +- bfd/sco5-core.c | 2 +- bfd/simple.c | 25 +- bfd/som.c | 4 +- bfd/sparclinux.c | 2 +- bfd/sparclynx.c | 2 +- bfd/sparcnetbsd.c | 2 +- bfd/sunos.c | 2 +- bfd/targets.c | 1419 +- bfd/trad-core.c | 2 +- bfd/vax1knetbsd.c | 2 +- bfd/vaxbsd.c | 2 +- bfd/vaxnetbsd.c | 2 +- bfd/versados.c | 2 +- bfd/version.h | 2 +- bfd/vms-alpha.c | 2 +- bfd/vms-lib.c | 2 +- binutils/ChangeLog | 120 + binutils/MAINTAINERS | 2 + binutils/ar.c | 6 +- binutils/doc/binutils.texi | 3 + binutils/emul_aix.c | 12 +- binutils/nm.c | 7 +- binutils/objcopy.c | 28 +- binutils/objdump.c | 2 +- binutils/od-macho.c | 750 +- binutils/readelf.c | 30 +- binutils/testsuite/ChangeLog | 19 + .../testsuite/binutils-all/aarch64/aarch64.exp | 30 + .../binutils-all/aarch64/unallocated-encoding.d | 29 + .../binutils-all/aarch64/unallocated-encoding.s | 51 + binutils/testsuite/binutils-all/compress.exp | 10 + binutils/testsuite/binutils-all/debug_str.d | 9 + binutils/testsuite/binutils-all/debug_str.s | 12 + .../testsuite/binutils-all/dw2-decodedline-1.S | 16 + binutils/testsuite/binutils-all/objcopy.exp | 9 +- binutils/testsuite/binutils-all/objdump.exp | 15 +- config.guess | 192 +- config.sub | 19 +- config/ChangeLog | 4 + config/mt-nios2-elf | 5 + configure | 146 +- configure.ac | 131 +- cpu/ChangeLog | 22 + cpu/openrisc.cpu | 774 - cpu/openrisc.opc | 164 - cpu/or1k.cpu | 131 + cpu/or1k.opc | 421 + cpu/or1kcommon.cpu | 360 + cpu/or1korbis.cpu | 1121 + cpu/or1korfpx.cpu | 222 + elfcpp/ChangeLog | 33 + elfcpp/elfcpp.h | 10 +- elfcpp/mips.h | 143 +- gas/ChangeLog | 336 + gas/Makefile.am | 6 +- gas/Makefile.in | 43 +- gas/NEWS | 2 + gas/config/obj-coff-seh.c | 7 + gas/config/obj-coff-seh.h | 4 +- gas/config/obj-coff.h | 5 - gas/config/tc-aarch64.h | 2 +- gas/config/tc-alpha.h | 3 +- gas/config/tc-arc.c | 6 +- gas/config/tc-arc.h | 10 +- gas/config/tc-arm.c | 31 +- gas/config/tc-arm.h | 3 +- gas/config/tc-avr.c | 188 +- gas/config/tc-avr.h | 49 +- gas/config/tc-cr16.c | 5 +- gas/config/tc-cr16.h | 7 +- gas/config/tc-crx.h | 3 +- gas/config/tc-hppa.c | 14 +- gas/config/tc-hppa.h | 6 +- gas/config/tc-i386.c | 20 +- gas/config/tc-i386.h | 7 +- gas/config/tc-ia64.c | 11 +- gas/config/tc-ia64.h | 5 +- gas/config/tc-m32c.c | 5 +- gas/config/tc-m32c.h | 7 +- gas/config/tc-microblaze.c | 9 +- gas/config/tc-microblaze.h | 10 +- gas/config/tc-mips.c | 398 +- gas/config/tc-mips.h | 3 + gas/config/tc-mn10300.c | 3 +- gas/config/tc-mn10300.h | 7 +- gas/config/tc-nios2.c | 32 +- gas/config/tc-nios2.h | 6 +- gas/config/tc-ns32k.c | 3 +- gas/config/tc-ns32k.h | 3 +- gas/config/tc-openrisc.c | 362 - gas/config/tc-openrisc.h | 61 - gas/config/tc-or1k.c | 362 + gas/config/tc-or1k.h | 79 + gas/config/tc-or32.c | 966 - gas/config/tc-or32.h | 56 - gas/config/tc-pj.c | 3 +- gas/config/tc-pj.h | 7 +- gas/config/tc-ppc.c | 181 +- gas/config/tc-ppc.h | 8 + gas/config/tc-rl78.c | 81 +- gas/config/tc-rl78.h | 2 +- gas/config/tc-rx.c | 5 +- gas/config/tc-rx.h | 7 +- gas/config/tc-score.c | 2 +- gas/config/tc-sh.c | 5 +- gas/config/tc-sh.h | 7 +- gas/config/tc-sparc.c | 18 +- gas/config/tc-sparc.h | 7 +- gas/config/tc-tic54x.c | 5 +- gas/config/tc-tic54x.h | 6 +- gas/config/tc-tic6x.c | 5 +- gas/config/tc-tic6x.h | 8 +- gas/config/tc-tilegx.h | 2 +- gas/config/tc-tilepro.h | 2 +- gas/config/tc-v850.c | 35 +- gas/config/tc-v850.h | 5 +- gas/config/tc-vax.c | 39 +- gas/config/tc-vax.h | 5 +- gas/config/tc-xstormy16.c | 5 +- gas/config/tc-xstormy16.h | 3 +- gas/config/tc-xtensa.c | 4 +- gas/config/tc-z80.h | 2 +- gas/configure | 16 +- gas/configure.in | 16 +- gas/configure.tgt | 10 +- gas/doc/as.texinfo | 30 +- gas/doc/c-avr.texi | 4 + gas/doc/c-mips.texi | 32 +- gas/doc/c-rl78.texi | 14 +- gas/dwarf2dbg.c | 8 +- gas/po/POTFILES.in | 6 +- gas/read.c | 86 +- gas/read.h | 10 +- gas/testsuite/ChangeLog | 156 + gas/testsuite/gas/all/gas.exp | 2 +- gas/testsuite/gas/arm/backslash-at.d | 2 +- gas/testsuite/gas/arm/got_prel.d | 4 +- gas/testsuite/gas/arm/inst-po.d | 4 +- gas/testsuite/gas/arm/mapmisc.d | 10 + gas/testsuite/gas/arm/mapmisc.s | 6 + gas/testsuite/gas/arm/unwind.d | 2 +- gas/testsuite/gas/avr/avr.exp | 24 + gas/testsuite/gas/avr/diffreloc_withrelax.d | 16 + gas/testsuite/gas/avr/noreloc_withoutrelax.d | 11 + gas/testsuite/gas/avr/relax.s | 12 + gas/testsuite/gas/avr/rmw.d | 23 + gas/testsuite/gas/avr/rmw.s | 32 + gas/testsuite/gas/elf/warn-2.s | 4 +- gas/testsuite/gas/i386/i386.exp | 2 + gas/testsuite/gas/i386/ilp32/x86-64-cbw-intel.d | 4 +- gas/testsuite/gas/i386/ilp32/x86-64-cbw.d | 4 +- gas/testsuite/gas/i386/ilp32/x86-64-io-intel.d | 8 +- gas/testsuite/gas/i386/ilp32/x86-64-io-suffix.d | 8 +- gas/testsuite/gas/i386/ilp32/x86-64-io.d | 8 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d | 10 +- .../gas/i386/ilp32/x86-64-nops-1-nocona.d | 10 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-1.d | 10 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-2.d | 12 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-3.d | 6 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d | 44 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-4.d | 44 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d | 10 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-5.d | 10 +- gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d | 26 +- gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d | 26 +- gas/testsuite/gas/i386/ilp32/x86-64-stack.d | 26 +- gas/testsuite/gas/i386/katmai.d | 3 +- gas/testsuite/gas/i386/long-1-intel.d | 4 +- gas/testsuite/gas/i386/long-1.d | 4 +- gas/testsuite/gas/i386/long-1.s | 4 +- gas/testsuite/gas/i386/nops-1-core2.d | 10 +- gas/testsuite/gas/i386/nops-4a-i686.d | 44 +- gas/testsuite/gas/i386/nops-5-i686.d | 10 +- gas/testsuite/gas/i386/nops-5.d | 10 +- gas/testsuite/gas/i386/prefix.d | 62 +- gas/testsuite/gas/i386/prefix.s | 354 + gas/testsuite/gas/i386/se1.d | 13 + gas/testsuite/gas/i386/se1.s | 7 + gas/testsuite/gas/i386/x86-64-cbw-intel.d | 4 +- gas/testsuite/gas/i386/x86-64-cbw.d | 4 +- gas/testsuite/gas/i386/x86-64-io-intel.d | 8 +- gas/testsuite/gas/i386/x86-64-io-suffix.d | 8 +- gas/testsuite/gas/i386/x86-64-io.d | 8 +- gas/testsuite/gas/i386/x86-64-long-1-intel.d | 4 +- gas/testsuite/gas/i386/x86-64-long-1.d | 4 +- gas/testsuite/gas/i386/x86-64-long-1.s | 4 +- gas/testsuite/gas/i386/x86-64-nops-1-core2.d | 10 +- gas/testsuite/gas/i386/x86-64-nops-1-g64.d | 10 +- gas/testsuite/gas/i386/x86-64-nops-1-nocona.d | 10 +- gas/testsuite/gas/i386/x86-64-nops-1.d | 10 +- gas/testsuite/gas/i386/x86-64-nops-2.d | 12 +- gas/testsuite/gas/i386/x86-64-nops-3.d | 6 +- gas/testsuite/gas/i386/x86-64-nops-4-core2.d | 44 +- gas/testsuite/gas/i386/x86-64-nops-4.d | 44 +- gas/testsuite/gas/i386/x86-64-nops-5-k8.d | 10 +- gas/testsuite/gas/i386/x86-64-nops-5.d | 10 +- gas/testsuite/gas/i386/x86-64-se1.d | 13 + gas/testsuite/gas/i386/x86-64-se1.s | 7 + gas/testsuite/gas/i386/x86-64-stack-intel.d | 26 +- gas/testsuite/gas/i386/x86-64-stack-suffix.d | 26 +- gas/testsuite/gas/i386/x86-64-stack.d | 26 +- gas/testsuite/gas/lns/lns-common-1-or1k.s | 25 + gas/testsuite/gas/lns/lns.exp | 3 +- gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d | 8 + gas/testsuite/gas/mips/attr-gnu-abi-fp-1.s | 1 + gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d | 7 + gas/testsuite/gas/mips/attr-gnu-abi-msa-1.s | 1 + gas/testsuite/gas/mips/mips.exp | 22 + gas/testsuite/gas/mips/r5.d | 8 + gas/testsuite/gas/mips/r5.s | 10 + gas/testsuite/gas/mips/xpa.d | 24 + gas/testsuite/gas/mips/xpa.s | 29 + gas/testsuite/gas/nios2/selftest.d | 18 + gas/testsuite/gas/nios2/selftest.s | 134 + gas/testsuite/gas/openrisc/addi.d | 10 - gas/testsuite/gas/openrisc/addi.s | 4 - gas/testsuite/gas/openrisc/allinsn.d | 201 - gas/testsuite/gas/openrisc/allinsn.exp | 24 - gas/testsuite/gas/openrisc/allinsn.s | 260 - gas/testsuite/gas/openrisc/lohi.d | 13 - gas/testsuite/gas/openrisc/lohi.s | 7 - gas/testsuite/gas/openrisc/store.d | 13 - gas/testsuite/gas/openrisc/store.s | 7 - gas/testsuite/gas/or1k/allinsn.d | 689 + gas/testsuite/gas/or1k/allinsn.exp | 5 + gas/testsuite/gas/or1k/allinsn.s | 677 + gas/testsuite/gas/xtensa/all.exp | 1 + gas/testsuite/gas/xtensa/first_frag_align.d | 9 + gas/testsuite/gas/xtensa/first_frag_align.s | 5 + gas/write.c | 2 +- gdb/ChangeLog | 1261 + gdb/MAINTAINERS | 1 + gdb/NEWS | 31 +- gdb/aarch64-linux-tdep.c | 26 +- gdb/aarch64-tdep.c | 79 + gdb/ada-exp.y | 488 +- gdb/ada-lang.c | 134 +- gdb/ada-lang.h | 3 +- gdb/ada-lex.l | 54 +- gdb/ada-tasks.c | 12 +- gdb/ada-varobj.c | 8 +- gdb/alpha-linux-nat.c | 2 +- gdb/amd64-linux-nat.c | 19 +- gdb/amd64-linux-tdep.c | 23 +- gdb/amd64-linux-tdep.h | 5 +- gdb/amd64-tdep.c | 80 + gdb/amd64-tdep.h | 12 +- gdb/arm-linux-tdep.c | 26 +- gdb/arm-tdep.c | 4 +- gdb/avr-tdep.c | 9 +- gdb/breakpoint.c | 267 +- gdb/build-id.c | 1 - gdb/c-exp.y | 734 +- gdb/c-lang.h | 3 +- gdb/c-typeprint.c | 25 +- gdb/cli/cli-cmds.c | 6 +- gdb/cli/cli-script.c | 3 + gdb/coffread.c | 6 +- gdb/common/i386-xstate.h | 20 +- gdb/common/linux-ptrace.c | 16 +- gdb/common/linux-ptrace.h | 2 +- gdb/config/powerpc/obsd.mh | 2 +- gdb/cp-namespace.c | 45 +- gdb/cp-support.c | 25 +- gdb/cp-valprint.c | 2 + gdb/ctf.c | 119 +- gdb/d-valprint.c | 1 + gdb/darwin-nat.c | 160 +- gdb/doc/ChangeLog | 34 + gdb/doc/Makefile.in | 3 + gdb/doc/gdb.texinfo | 103 +- gdb/dwarf2-frame.c | 10 +- gdb/dwarf2loc.c | 126 +- gdb/dwarf2loc.h | 28 + gdb/dwarf2read.c | 266 +- gdb/eval.c | 81 +- gdb/f-exp.y | 281 +- gdb/f-lang.h | 3 +- gdb/features/Makefile | 22 + gdb/features/i386/32bit-avx512.xml | 30 + gdb/features/i386/64bit-avx512.xml | 102 + gdb/features/i386/amd64-avx512-linux.c | 321 + gdb/features/i386/amd64-avx512-linux.xml | 20 + gdb/features/i386/amd64-avx512.c | 316 + gdb/features/i386/amd64-avx512.xml | 18 + gdb/features/i386/i386-avx512-linux.c | 208 + gdb/features/i386/i386-avx512-linux.xml | 20 + gdb/features/i386/i386-avx512.c | 203 + gdb/features/i386/i386-avx512.xml | 18 + gdb/features/i386/x32-avx512-linux.c | 321 + gdb/features/i386/x32-avx512-linux.xml | 20 + gdb/features/i386/x32-avx512.c | 316 + gdb/features/i386/x32-avx512.xml | 18 + gdb/features/nios2-cpu.xml | 8 +- gdb/features/nios2-linux.c | 8 +- gdb/features/nios2.c | 8 +- gdb/findvar.c | 46 +- gdb/frame.c | 31 +- gdb/frame.h | 7 + gdb/gdbarch.c | 4 +- gdb/gdbarch.h | 6 +- gdb/gdbarch.sh | 4 +- gdb/gdbserver/ChangeLog | 111 + gdb/gdbserver/Makefile.in | 19 +- gdb/gdbserver/configure.srv | 20 +- gdb/gdbserver/i386-low.c | 15 +- gdb/gdbserver/i386-low.h | 15 +- gdb/gdbserver/i387-fp.c | 182 +- gdb/gdbserver/linux-low.c | 107 +- gdb/gdbserver/linux-low.h | 11 +- gdb/gdbserver/linux-x86-low.c | 53 +- gdb/gdbserver/mem-break.c | 21 +- gdb/gdbserver/mem-break.h | 14 +- gdb/gdbserver/server.c | 18 +- gdb/gdbserver/thread-db.c | 18 +- gdb/gdbserver/utils.h | 2 +- gdb/gdbserver/win32-i386-low.c | 16 +- gdb/gdbtypes.c | 302 +- gdb/gdbtypes.h | 100 +- gdb/gnulib/aclocal.m4 | 2 + gdb/gnulib/config.in | 20 + gdb/gnulib/configure | 533 + gdb/gnulib/import/Makefile.am | 45 +- gdb/gnulib/import/Makefile.in | 75 +- gdb/gnulib/import/dirfd.c | 32 + gdb/gnulib/import/errno.in.h | 279 + gdb/gnulib/import/m4/dirfd.m4 | 83 + gdb/gnulib/import/m4/errno_h.m4 | 137 + gdb/gnulib/import/m4/gnulib-cache.m4 | 3 +- gdb/gnulib/import/m4/gnulib-comp.m4 | 13 + gdb/gnulib/update-gnulib.sh | 1 + gdb/go-exp.y | 268 +- gdb/go-lang.h | 4 +- gdb/guile/scm-safe-call.c | 2 +- gdb/guile/scm-value.c | 5 +- gdb/i386-linux-nat.c | 5 +- gdb/i386-linux-tdep.c | 16 +- gdb/i386-linux-tdep.h | 7 +- gdb/i386-tdep.c | 553 +- gdb/i386-tdep.h | 64 +- gdb/i387-tdep.c | 384 +- gdb/i387-tdep.h | 21 + gdb/inferior.h | 16 +- gdb/infrun.c | 282 +- gdb/inline-frame.c | 11 +- gdb/jv-exp.y | 368 +- gdb/jv-lang.h | 3 +- gdb/jv-valprint.c | 1 + gdb/language.c | 4 +- gdb/language.h | 9 +- gdb/linespec.c | 4 + gdb/linux-nat.c | 7 +- gdb/m2-exp.y | 275 +- gdb/m2-lang.h | 3 +- gdb/m2-valprint.c | 2 +- gdb/macrocmd.c | 52 +- gdb/main.c | 49 +- gdb/main.h | 2 + gdb/mdebugread.c | 4 +- gdb/mem-break.c | 32 + gdb/mi/mi-console.c | 7 +- gdb/objc-lang.c | 8 +- gdb/objc-lang.h | 3 +- gdb/objfiles.c | 16 + gdb/objfiles.h | 7 + gdb/p-exp.y | 352 +- gdb/p-lang.h | 3 +- gdb/parse.c | 280 +- gdb/parser-defs.h | 83 +- gdb/ppc-linux-tdep.c | 6 +- gdb/ppcobsd-nat.c | 3 +- gdb/printcmd.c | 2 +- gdb/psymtab.c | 15 +- gdb/python/py-cmd.c | 6 +- gdb/python/py-value.c | 5 +- gdb/regformats/i386/amd64-avx512-linux.dat | 156 + gdb/regformats/i386/amd64-avx512.dat | 155 + gdb/regformats/i386/i386-avx512-linux.dat | 76 + gdb/regformats/i386/i386-avx512.dat | 75 + gdb/regformats/i386/x32-avx512-linux.dat | 156 + gdb/regformats/i386/x32-avx512.dat | 155 + gdb/remote.c | 656 +- gdb/s390-linux-nat.c | 2 +- gdb/s390-linux-tdep.c | 8 +- gdb/solib-darwin.c | 20 +- gdb/solib.c | 16 +- gdb/spu-tdep.c | 69 +- gdb/stabsread.c | 11 +- gdb/stack.c | 7 + gdb/stap-probe.c | 140 +- gdb/stap-probe.h | 6 + gdb/symfile-mem.c | 38 +- gdb/symfile.c | 55 +- gdb/symfile.h | 2 + gdb/symtab.c | 60 +- gdb/symtab.h | 4 - gdb/target.h | 6 + gdb/testsuite/ChangeLog |34326 +------------------- gdb/testsuite/ChangeLog-1993-2013 |33663 +++++++++++++++++++ gdb/testsuite/boards/local-remote-host-notty.exp | 53 + gdb/testsuite/boards/local-remote-host.exp | 38 +- gdb/testsuite/boards/native-extended-gdbserver.exp | 3 +- gdb/testsuite/boards/native-stdio-gdbserver.exp | 54 +- gdb/testsuite/boards/remote-stdio-gdbserver.exp | 38 +- gdb/testsuite/gdb.ada/complete.exp | 23 +- gdb/testsuite/gdb.ada/dyn_arrayidx.exp | 36 + gdb/testsuite/gdb.ada/dyn_arrayidx/foo.adb | 32 + gdb/testsuite/gdb.ada/mi_dyn_arr.exp | 52 + gdb/testsuite/gdb.ada/mi_dyn_arr/foo.adb | 24 + gdb/testsuite/gdb.ada/mi_dyn_arr/pck.adb | 30 + gdb/testsuite/gdb.ada/mi_dyn_arr/pck.ads | 21 + gdb/testsuite/gdb.arch/Makefile.in | 2 +- gdb/testsuite/gdb.arch/aarch64-atomic-inst.c | 48 + gdb/testsuite/gdb.arch/aarch64-atomic-inst.exp | 48 + .../gdb.arch/amd64-stap-optional-prefix.S | 42 + .../gdb.arch/amd64-stap-optional-prefix.exp | 91 + gdb/testsuite/gdb.arch/i386-avx512.c | 255 + gdb/testsuite/gdb.arch/i386-avx512.exp | 176 + gdb/testsuite/gdb.arch/ppc64-atomic-inst.S | 61 + gdb/testsuite/gdb.arch/ppc64-atomic-inst.c | 44 - gdb/testsuite/gdb.arch/ppc64-atomic-inst.exp | 32 +- gdb/testsuite/gdb.asm/asm-source.exp | 5 + gdb/testsuite/gdb.asm/powerpc64le.inc | 47 + gdb/testsuite/gdb.base/Makefile.in | 2 +- gdb/testsuite/gdb.base/break-unload-file.c | 35 + gdb/testsuite/gdb.base/break-unload-file.exp | 128 + gdb/testsuite/gdb.base/catch-syscall.c | 12 +- gdb/testsuite/gdb.base/catch-syscall.exp | 6 +- gdb/testsuite/gdb.base/completion.exp | 132 +- gdb/testsuite/gdb.base/cond-eval-mode.c | 53 + gdb/testsuite/gdb.base/cond-eval-mode.exp | 130 +- gdb/testsuite/gdb.base/consecutive-step-over.c | 28 + gdb/testsuite/gdb.base/consecutive-step-over.exp | 70 + gdb/testsuite/gdb.base/dprintf.exp | 63 +- gdb/testsuite/gdb.base/filesym.exp | 6 + gdb/testsuite/gdb.base/gdbvars.c | 4 +- .../gdb.base/hbreak-in-shr-unsupported-shr.c | 22 + gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.c | 28 + .../gdb.base/hbreak-in-shr-unsupported.exp | 120 + gdb/testsuite/gdb.base/hbreak-unmapped.c | 22 + gdb/testsuite/gdb.base/hbreak-unmapped.exp | 72 + gdb/testsuite/gdb.base/label.exp | 10 + gdb/testsuite/gdb.base/macscp.exp | 137 +- gdb/testsuite/gdb.base/memattr.c | 10 +- gdb/testsuite/gdb.base/memattr.exp | 115 +- gdb/testsuite/gdb.base/print-symbol-loading-lib.c | 21 + gdb/testsuite/gdb.base/print-symbol-loading-main.c | 25 + gdb/testsuite/gdb.base/print-symbol-loading.exp | 144 + gdb/testsuite/gdb.base/printcmds.exp | 727 +- gdb/testsuite/gdb.base/readline-ask.exp | 5 + gdb/testsuite/gdb.base/readline.exp | 5 + gdb/testsuite/gdb.base/setshow.exp | 4 +- gdb/testsuite/gdb.base/setvar.exp | 21 +- gdb/testsuite/gdb.base/source-dir.exp | 4 +- gdb/testsuite/gdb.base/source-execution.c | 41 + gdb/testsuite/gdb.base/source-execution.exp | 33 + gdb/testsuite/gdb.base/source-execution.gdb | 21 + gdb/testsuite/gdb.base/sym-file-lib.c | 6 + gdb/testsuite/gdb.base/sym-file-loader.c | 210 +- gdb/testsuite/gdb.base/sym-file-loader.h | 77 +- gdb/testsuite/gdb.base/sym-file-main.c | 54 +- gdb/testsuite/gdb.base/sym-file.exp | 105 +- gdb/testsuite/gdb.base/vla-datatypes.c | 86 + gdb/testsuite/gdb.base/vla-datatypes.exp | 139 + gdb/testsuite/gdb.base/vla-ptr.c | 58 + gdb/testsuite/gdb.base/vla-ptr.exp | 41 + gdb/testsuite/gdb.base/vla-sideeffect.c | 42 + gdb/testsuite/gdb.base/vla-sideeffect.exp | 89 + gdb/testsuite/gdb.base/whatis.c | 8 +- gdb/testsuite/gdb.cp/classes.exp | 2 +- gdb/testsuite/gdb.cp/cpexprs.cc | 170 +- gdb/testsuite/gdb.cp/cpexprs.exp | 32 +- gdb/testsuite/gdb.cp/cplabel.exp | 1 + gdb/testsuite/gdb.cp/cpsizeof.cc | 71 + gdb/testsuite/gdb.cp/cpsizeof.exp | 40 + gdb/testsuite/gdb.cp/enum-class.cc | 46 + gdb/testsuite/gdb.cp/enum-class.exp | 48 + gdb/testsuite/gdb.cp/namelessclass.S | 890 + gdb/testsuite/gdb.cp/namelessclass.cc | 46 + gdb/testsuite/gdb.cp/namelessclass.exp | 52 + gdb/testsuite/gdb.cp/pr10728-x.cc | 2 +- gdb/testsuite/gdb.cp/pr10728-x.h | 2 +- gdb/testsuite/gdb.cp/pr10728-y.cc | 6 +- gdb/testsuite/gdb.cp/ptype-cv-cp.cc | 2 +- gdb/testsuite/gdb.cp/var-tag.cc | 44 + gdb/testsuite/gdb.cp/var-tag.exp | 99 + gdb/testsuite/gdb.dwarf2/corrupt.c | 24 + gdb/testsuite/gdb.dwarf2/corrupt.exp | 77 + gdb/testsuite/gdb.dwarf2/count.exp | 125 + gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.exp | 4 + gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.exp | 2 + gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.exp | 5 + .../gdb.dwarf2/dw2-double-set-die-type.exp | 1 + gdb/testsuite/gdb.dwarf2/dw2-filename.exp | 6 + gdb/testsuite/gdb.dwarf2/dw2-inheritance.exp | 1 + gdb/testsuite/gdb.dwarf2/dwz.exp | 60 +- gdb/testsuite/gdb.dwarf2/dwzbuildid.exp | 4 +- gdb/testsuite/gdb.dwarf2/enum-type.exp | 81 + gdb/testsuite/gdb.dwarf2/fission-reread.S | 4 +- gdb/testsuite/gdb.dwarf2/fission-reread.exp | 11 +- gdb/testsuite/gdb.gdb/selftest.exp | 8 +- gdb/testsuite/gdb.guile/scm-value.c | 2 + gdb/testsuite/gdb.guile/scm-value.exp | 2 + gdb/testsuite/gdb.java/jnpe.exp | 2 +- gdb/testsuite/gdb.linespec/ls-dollar.exp | 11 +- gdb/testsuite/gdb.linespec/ls-errs.exp | 108 +- gdb/testsuite/gdb.linespec/macro-relative.exp | 6 + gdb/testsuite/gdb.mi/mi-break.exp | 148 +- gdb/testsuite/gdb.mi/mi-dprintf.exp | 86 +- gdb/testsuite/gdb.mi/mi-file.exp | 8 +- gdb/testsuite/gdb.mi/mi-nonstop.exp | 3 +- gdb/testsuite/gdb.mi/mi-nsintrall.exp | 5 +- gdb/testsuite/gdb.mi/mi-nsmoribund.exp | 5 +- gdb/testsuite/gdb.mi/mi-nsthrexec.exp | 11 +- gdb/testsuite/gdb.mi/mi-reverse.exp | 5 +- gdb/testsuite/gdb.mi/mi-simplerun.exp | 45 +- gdb/testsuite/gdb.mi/mi-stepn.exp | 5 +- gdb/testsuite/gdb.mi/mi-syn-frame.exp | 10 +- gdb/testsuite/gdb.mi/mi-until.exp | 11 +- gdb/testsuite/gdb.mi/mi-var-cp.exp | 7 +- gdb/testsuite/gdb.mi/mi-var-display.exp | 12 +- gdb/testsuite/gdb.mi/mi-vla-c99.exp | 83 + gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp | 2 +- gdb/testsuite/gdb.mi/mi2-var-child.exp | 5 +- gdb/testsuite/gdb.mi/non-stop.c | 2 +- gdb/testsuite/gdb.mi/vla.c | 37 + gdb/testsuite/gdb.multi/multi-attach.c | 48 + gdb/testsuite/gdb.multi/multi-attach.exp | 60 + gdb/testsuite/gdb.opt/inline-break.exp | 4 +- gdb/testsuite/gdb.opt/inline-bt.exp | 16 + gdb/testsuite/gdb.python/lib-types.exp | 3 +- gdb/testsuite/gdb.python/py-cmd.exp | 18 +- gdb/testsuite/gdb.python/py-frame-inline.c | 4 +- gdb/testsuite/gdb.python/py-frame-inline.exp | 14 + gdb/testsuite/gdb.python/py-prettyprint.c | 2 +- gdb/testsuite/gdb.python/py-value.c | 2 + gdb/testsuite/gdb.python/py-value.exp | 2 + gdb/testsuite/gdb.stabs/gdb11479.c | 2 +- gdb/testsuite/gdb.stabs/gdb11479.exp | 4 +- gdb/testsuite/gdb.threads/staticthreads.c | 2 +- gdb/testsuite/gdb.trace/actions.c | 2 +- gdb/testsuite/gdb.trace/change-loc.exp | 64 + gdb/testsuite/gdb.trace/ftrace.exp | 16 + gdb/testsuite/gdb.trace/mi-traceframe-changed.exp | 20 +- gdb/testsuite/gdb.trace/qtro.exp | 16 - gdb/testsuite/gdb.trace/tfile.exp | 18 +- gdb/testsuite/gdb.trace/unavailable.exp | 758 +- gdb/testsuite/lib/compiler.c | 4 + gdb/testsuite/lib/compiler.cc | 4 + gdb/testsuite/lib/gdb.exp | 153 +- gdb/testsuite/lib/gdbserver-support.exp | 15 +- gdb/testsuite/lib/mi-support.exp | 199 +- gdb/testsuite/lib/trace-support.exp | 27 + gdb/top.c | 18 +- gdb/tracefile-tfile.c | 69 +- gdb/tracefile.c | 61 + gdb/tracefile.h | 2 + gdb/utils.c | 18 + gdb/utils.h | 4 + gdb/valops.c | 104 +- gdb/valprint.c | 128 +- gdb/value.c | 20 +- gdb/value.h | 9 +- gdb/varobj.c | 15 +- gdb/windows-nat.c | 49 +- gold/ChangeLog | 128 +- gold/arm.cc | 6 +- gold/configure | 76 +- gold/configure.ac | 31 +- gold/copy-relocs.cc | 32 +- gold/copy-relocs.h | 30 +- gold/defstd.cc | 14 + gold/gdb-index.cc | 29 +- gold/i386.cc | 108 +- gold/icf.cc | 16 +- gold/layout.cc | 22 +- gold/object.cc | 2 +- gold/powerpc.cc | 24 +- gold/resolve.cc | 4 + gold/sparc.cc | 6 +- gold/symtab.cc | 25 + gold/symtab.h | 37 +- gold/target-reloc.h | 14 +- gold/target.h | 10 + gold/testsuite/Makefile.am | 69 +- gold/testsuite/Makefile.in | 281 +- gold/testsuite/ehdr_start_def.cc | 26 + gold/testsuite/ehdr_start_test.cc | 67 + gold/testsuite/ehdr_start_test.t | 42 + gold/testsuite/ehdr_start_test_4.sh | 40 + gold/testsuite/pie_copyrelocs_shared_test.cc | 26 + gold/testsuite/pie_copyrelocs_test.cc | 31 + gold/tilegx.cc | 6 +- gold/x86_64.cc | 117 +- include/ChangeLog | 16 + include/coff/ChangeLog | 13 + include/coff/internal.h | 116 +- include/coff/or32.h | 288 - include/coff/pe.h | 49 +- include/dis-asm.h | 4 +- include/elf/ChangeLog | 7 + include/elf/avr.h | 3 + include/elf/common.h | 11 +- include/elf/openrisc.h | 39 - include/elf/or1k.h | 65 + include/elf/or32.h | 56 - include/longlong.h | 22 +- include/mach-o/ChangeLog | 25 +- include/mach-o/external.h | 18 + include/mach-o/loader.h | 74 +- include/mach-o/unwind.h | 2 +- include/opcode/ChangeLog | 32 + include/opcode/mips.h | 78 +- include/opcode/or32.h | 181 - ld/ChangeLog | 138 +- ld/Makefile.am | 43 +- ld/Makefile.in | 50 +- ld/NEWS | 6 + ld/configure | 17 +- ld/configure.in | 12 - ld/configure.tgt | 17 +- ld/emulparams/elf32openrisc.sh | 11 - ld/emulparams/elf32or1k.sh | 14 + ld/emulparams/elf32or1k_linux.sh | 5 + ld/emulparams/i386pe.sh | 1 - ld/emulparams/i386pep.sh | 1 - ld/emulparams/nios2linux.sh | 4 +- ld/emulparams/or32.sh | 5 - ld/emulparams/or32elf.sh | 9 - ld/emultempl/alphaelf.em | 1 + ld/emultempl/default-manifest.rc | 28 - ld/emultempl/elf32.em | 112 +- ld/emultempl/metagelf.em | 4 +- ld/emultempl/nds32elf.em | 1 + ld/emultempl/nios2elf.em | 6 +- ld/emultempl/pe.em | 233 +- ld/emultempl/pep.em | 234 +- ld/emultempl/ppc32elf.em | 41 + ld/emultempl/spuelf.em | 6 +- ld/emultempl/tic6xdsbt.em | 24 +- ld/ld.texinfo | 37 +- ld/ldbuildid.c | 158 + ld/ldbuildid.h | 39 + ld/ldlang.c | 18 +- ld/ldlang.h | 2 + ld/ldmain.c | 61 +- ld/po/POTFILES.in | 2 + ld/scripttempl/or32.sc | 37 - ld/scripttempl/pe.sc | 20 +- ld/scripttempl/pep.sc | 20 +- ld/testsuite/ChangeLog | 183 + ld/testsuite/ld-aarch64/aarch64-elf.exp | 2 + ld/testsuite/ld-aarch64/eh-frame.d | 4 +- ld/testsuite/ld-aarch64/relasz.d | 18 + ld/testsuite/ld-aarch64/relasz.s | 9 + ld/testsuite/ld-aarch64/tls-relax-gdesc-ie.s | 2 +- ld/testsuite/ld-arm/arm-app-abs32.d | 5 +- ld/testsuite/ld-arm/arm-app.d | 7 +- ld/testsuite/ld-arm/arm-lib-plt32.d | 7 +- ld/testsuite/ld-arm/arm-lib.d | 7 +- ld/testsuite/ld-arm/arm-no-rel-plt.ld | 3 - ld/testsuite/ld-arm/arm-rel32.d | 2 +- ld/testsuite/ld-arm/armthumb-lib.d | 7 +- ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d | 7 +- ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d | 7 +- ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d | 7 +- ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d | 69 +- ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d | 7 +- ld/testsuite/ld-arm/data-only-map.d | 2 +- ld/testsuite/ld-arm/farcall-mixed-app-v5.d | 12 +- ld/testsuite/ld-arm/farcall-mixed-app.d | 12 +- ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d | 16 +- ld/testsuite/ld-arm/farcall-mixed-lib.d | 16 +- ld/testsuite/ld-arm/fix-arm1176-off.d | 2 +- ld/testsuite/ld-arm/fix-arm1176-on.d | 2 +- ld/testsuite/ld-arm/ifunc-1.gd | 8 +- ld/testsuite/ld-arm/ifunc-10.dd | 164 +- ld/testsuite/ld-arm/ifunc-10.gd | 52 +- ld/testsuite/ld-arm/ifunc-11.gd | 8 +- ld/testsuite/ld-arm/ifunc-12.gd | 12 +- ld/testsuite/ld-arm/ifunc-13.gd | 8 +- ld/testsuite/ld-arm/ifunc-14.dd | 4 +- ld/testsuite/ld-arm/ifunc-14.gd | 8 +- ld/testsuite/ld-arm/ifunc-15.dd | 4 +- ld/testsuite/ld-arm/ifunc-15.gd | 8 +- ld/testsuite/ld-arm/ifunc-16.gd | 8 +- ld/testsuite/ld-arm/ifunc-17.gd | 4 +- ld/testsuite/ld-arm/ifunc-2.gd | 14 +- ld/testsuite/ld-arm/ifunc-3.dd | 13 +- ld/testsuite/ld-arm/ifunc-3.gd | 12 +- ld/testsuite/ld-arm/ifunc-4.dd | 202 +- ld/testsuite/ld-arm/ifunc-4.gd | 38 +- ld/testsuite/ld-arm/ifunc-5.gd | 6 +- ld/testsuite/ld-arm/ifunc-6.gd | 8 +- ld/testsuite/ld-arm/ifunc-7.dd | 14 +- ld/testsuite/ld-arm/ifunc-7.gd | 12 +- ld/testsuite/ld-arm/ifunc-8.dd | 208 +- ld/testsuite/ld-arm/ifunc-8.gd | 32 +- ld/testsuite/ld-arm/ifunc-9.dd | 9 +- ld/testsuite/ld-arm/ifunc-9.gd | 8 +- ld/testsuite/ld-arm/jump-reloc-veneers-long.d | 2 +- ld/testsuite/ld-arm/long-plt-format.d | 3 +- ld/testsuite/ld-arm/mixed-app-v5.d | 8 +- ld/testsuite/ld-arm/mixed-app.d | 8 +- ld/testsuite/ld-arm/mixed-lib.d | 7 +- ld/testsuite/ld-arm/reloc-boundaries.d | 2 +- ld/testsuite/ld-arm/thumb2-bl-undefweak.d | 2 +- ld/testsuite/ld-arm/thumb2-bl-undefweak1.d | 2 +- ld/testsuite/ld-avr/avr.exp | 31 + ld/testsuite/ld-avr/norelax_diff.d | 13 + ld/testsuite/ld-avr/relax.s | 12 + ld/testsuite/ld-avr/relax_diff.d | 14 + ld/testsuite/ld-discard/extern.d | 2 +- ld/testsuite/ld-discard/start.d | 2 +- ld/testsuite/ld-discard/static.d | 2 +- ld/testsuite/ld-elf/eh-frame-hdr.d | 2 +- ld/testsuite/ld-elf/group1.d | 2 +- ld/testsuite/ld-elf/group3b.d | 2 +- ld/testsuite/ld-elf/group8a.d | 2 +- ld/testsuite/ld-elf/group8b.d | 2 +- ld/testsuite/ld-elf/group9a.d | 2 +- ld/testsuite/ld-elf/group9b.d | 2 +- ld/testsuite/ld-elf/linkonce2.d | 2 +- ld/testsuite/ld-elf/merge2.d | 2 +- ld/testsuite/ld-elf/orphan-region.d | 2 +- ld/testsuite/ld-elf/orphan.d | 2 +- ld/testsuite/ld-elf/orphan3.d | 2 +- ld/testsuite/ld-elf/pr12851.d | 2 +- ld/testsuite/ld-elf/pr12975.d | 2 +- ld/testsuite/ld-elf/pr13177.d | 2 +- ld/testsuite/ld-elf/pr13195.d | 2 +- ld/testsuite/ld-elf/pr349.d | 2 +- ld/testsuite/ld-elf/sec64k.exp | 2 +- ld/testsuite/ld-elf/warn1.d | 2 +- ld/testsuite/ld-elf/warn2.d | 2 +- ld/testsuite/ld-elf/warn3.d | 2 +- ld/testsuite/ld-mips-elf/elf-rel-xgot-n32-embed.d | 202 +- ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d | 202 +- ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-embed.d | 204 +- ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d | 204 +- ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d | 203 +- ld/testsuite/ld-mmix/b-offloc.s | 2 +- ld/testsuite/ld-mmix/b-offlocmis.s | 17 + ld/testsuite/ld-mmix/sec-10.d | 18 + ld/testsuite/ld-mmix/sec-10.s | 8 + ld/testsuite/ld-mmix/sec-11.d | 7 + ld/testsuite/ld-mmix/sec-11.ld | 10 + ld/testsuite/ld-mmix/sec-12.d | 26 + ld/testsuite/ld-mmix/wrap1.d | 21 + ld/testsuite/ld-mmix/wrap1a.s | 2 + ld/testsuite/ld-mmix/wrap1b.s | 4 + ld/testsuite/ld-mmix/wrap1c.s | 4 + ld/testsuite/ld-mmix/wrap2.d | 21 + ld/testsuite/ld-mmix/wrap3.d | 21 + ld/testsuite/ld-mmix/wrap3a.s | 2 + ld/testsuite/ld-mmix/wrap3b.s | 4 + ld/testsuite/ld-mmix/wrap4.d | 21 + ld/testsuite/ld-pe/longsecn-3.d | 3 +- ld/testsuite/ld-pe/longsecn-4.d | 3 +- ld/testsuite/ld-pe/longsecn-5.d | 3 +- ld/testsuite/ld-pe/non-c-lang-syms.s | 1 - ld/testsuite/ld-pe/orphana_nu.s | 2 + ld/testsuite/ld-plugin/lto.exp | 24 +- ld/testsuite/ld-plugin/pr16846a.c | 7 + ld/testsuite/ld-plugin/pr16846b.c | 7 + ld/testsuite/ld-plugin/pr16846c.c | 1 + ld/testsuite/ld-powerpc/ambiguousv1.d | 12 + ld/testsuite/ld-powerpc/ambiguousv2.d | 12 + ld/testsuite/ld-powerpc/funref.s | 4 + ld/testsuite/ld-powerpc/funv1.s | 10 + ld/testsuite/ld-powerpc/funv2.s | 6 + ld/testsuite/ld-powerpc/powerpc.exp | 4 + ld/testsuite/ld-powerpc/startv1.s | 8 + ld/testsuite/ld-powerpc/startv2.s | 5 + ld/testsuite/ld-scripts/data.exp | 2 + ld/testsuite/ld-scripts/fill.d | 29 + ld/testsuite/ld-scripts/fill.t | 20 + ld/testsuite/ld-scripts/fill_0.s | 2 + ld/testsuite/ld-scripts/fill_1.s | 3 + ld/testsuite/ld-scripts/fill_2.s | 3 + ld/testsuite/ld-scripts/weak.exp | 4 +- ld/testsuite/ld-x86-64/plt-nacl.pd | 12 +- ld/testsuite/ld-x86-64/tlsbin.dd | 4 +- ld/testsuite/ld-x86-64/tlsdesc-nacl.pd | 8 +- ld/testsuite/ld-x86-64/tlsgdesc.dd | 8 +- ld/testsuite/ld-x86-64/tlsld1.dd | 2 +- ld/testsuite/ld-x86-64/tlsld3.dd | 2 +- ld/testsuite/ld-x86-64/tlspic.dd | 16 +- ld/testsuite/ld-xtensa/diff_overflow.exp | 45 + ld/testsuite/ld-xtensa/diff_overflow1.s | 27 + ld/testsuite/ld-xtensa/diff_overflow2.s | 22 + ld/testsuite/lib/ld-lib.exp | 4 +- libdecnumber/ChangeLog | 5 + libdecnumber/decNumberLocal.h | 7 +- libiberty/ChangeLog | 43 + libiberty/Makefile.in | 384 +- libiberty/configure | 7 + libiberty/configure.ac | 6 + libiberty/cp-demangle.c | 64 +- libiberty/maint-tool | 5 +- libiberty/regex.c | 6 +- libiberty/simple-object.c | 50 +- libiberty/testsuite/demangle-expected | 26 + opcodes/ChangeLog | 152 + opcodes/Makefile.am | 29 +- opcodes/Makefile.in | 41 +- opcodes/aarch64-dis.c | 12 +- opcodes/config.in | 3 + opcodes/configure | 38 +- opcodes/configure.in | 14 +- opcodes/disassemble.c | 17 +- opcodes/h8500-dis.c | 6 +- opcodes/i386-dis.c | 311 +- opcodes/i386-gen.c | 3 + opcodes/i386-init.h | 194 +- opcodes/i386-opc.h | 3 + opcodes/i386-opc.tbl | 7 + opcodes/i386-tbl.h | 7538 +++--- opcodes/mips-dis.c | 54 +- opcodes/mips-opc.c | 30 +- opcodes/moxie-opc.c | 4 +- opcodes/ns32k-dis.c | 6 +- opcodes/openrisc-asm.c | 648 - opcodes/openrisc-desc.c | 1018 - opcodes/openrisc-desc.h | 288 - opcodes/openrisc-dis.c | 555 - opcodes/openrisc-ibld.c | 1008 - opcodes/openrisc-opc.c | 682 - opcodes/openrisc-opc.h | 113 - opcodes/or1k-asm.c | 909 + opcodes/or1k-desc.c | 2094 ++ opcodes/or1k-desc.h | 682 + opcodes/or1k-dis.c | 562 + opcodes/or1k-ibld.c | 1051 + opcodes/or1k-opc.c | 1059 + opcodes/or1k-opc.h | 134 + opcodes/or1k-opinst.c | 587 + opcodes/or32-dis.c | 325 - opcodes/or32-opc.c | 1030 - opcodes/po/POTFILES.in | 14 +- opcodes/sysdep.h | 14 + opcodes/vax-dis.c | 6 +- opcodes/xtensa-dis.c | 6 +- opcodes/z8k-dis.c | 6 +- sim/moxie/ChangeLog | 4 + sim/moxie/interp.c | 20 +- sim/msp430/ChangeLog | 16 + sim/msp430/msp430-sim.c | 204 +- 1070 files changed, 87807 insertions(+), 60654 deletions(-) delete mode 100644 bfd/coff-or32.c delete mode 100644 bfd/cpu-openrisc.c create mode 100644 bfd/cpu-or1k.c delete mode 100644 bfd/cpu-or32.c delete mode 100644 bfd/elf32-openrisc.c create mode 100644 bfd/elf32-or1k.c delete mode 100644 bfd/elf32-or32.c create mode 100644 binutils/testsuite/binutils-all/aarch64/aarch64.exp create mode 100644 binutils/testsuite/binutils-all/aarch64/unallocated-encoding.d create mode 100644 binutils/testsuite/binutils-all/aarch64/unallocated-encoding.s create mode 100644 binutils/testsuite/binutils-all/debug_str.d create mode 100644 binutils/testsuite/binutils-all/debug_str.s create mode 100644 binutils/testsuite/binutils-all/dw2-decodedline-1.S create mode 100644 config/mt-nios2-elf delete mode 100644 cpu/openrisc.cpu delete mode 100644 cpu/openrisc.opc create mode 100644 cpu/or1k.cpu create mode 100644 cpu/or1k.opc create mode 100644 cpu/or1kcommon.cpu create mode 100644 cpu/or1korbis.cpu create mode 100644 cpu/or1korfpx.cpu delete mode 100644 gas/config/tc-openrisc.c delete mode 100644 gas/config/tc-openrisc.h create mode 100644 gas/config/tc-or1k.c create mode 100644 gas/config/tc-or1k.h delete mode 100644 gas/config/tc-or32.c delete mode 100644 gas/config/tc-or32.h create mode 100644 gas/testsuite/gas/avr/avr.exp create mode 100644 gas/testsuite/gas/avr/diffreloc_withrelax.d create mode 100644 gas/testsuite/gas/avr/noreloc_withoutrelax.d create mode 100644 gas/testsuite/gas/avr/relax.s create mode 100644 gas/testsuite/gas/avr/rmw.d create mode 100644 gas/testsuite/gas/avr/rmw.s create mode 100644 gas/testsuite/gas/i386/se1.d create mode 100644 gas/testsuite/gas/i386/se1.s create mode 100644 gas/testsuite/gas/i386/x86-64-se1.d create mode 100644 gas/testsuite/gas/i386/x86-64-se1.s create mode 100644 gas/testsuite/gas/lns/lns-common-1-or1k.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d create mode 100644 gas/testsuite/gas/mips/attr-gnu-abi-fp-1.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d create mode 100644 gas/testsuite/gas/mips/attr-gnu-abi-msa-1.s create mode 100644 gas/testsuite/gas/mips/r5.d create mode 100644 gas/testsuite/gas/mips/r5.s create mode 100644 gas/testsuite/gas/mips/xpa.d create mode 100644 gas/testsuite/gas/mips/xpa.s create mode 100644 gas/testsuite/gas/nios2/selftest.d create mode 100644 gas/testsuite/gas/nios2/selftest.s delete mode 100644 gas/testsuite/gas/openrisc/addi.d delete mode 100644 gas/testsuite/gas/openrisc/addi.s delete mode 100644 gas/testsuite/gas/openrisc/allinsn.d delete mode 100644 gas/testsuite/gas/openrisc/allinsn.exp delete mode 100644 gas/testsuite/gas/openrisc/allinsn.s delete mode 100644 gas/testsuite/gas/openrisc/lohi.d delete mode 100644 gas/testsuite/gas/openrisc/lohi.s delete mode 100644 gas/testsuite/gas/openrisc/store.d delete mode 100644 gas/testsuite/gas/openrisc/store.s create mode 100644 gas/testsuite/gas/or1k/allinsn.d create mode 100644 gas/testsuite/gas/or1k/allinsn.exp create mode 100644 gas/testsuite/gas/or1k/allinsn.s create mode 100644 gas/testsuite/gas/xtensa/first_frag_align.d create mode 100644 gas/testsuite/gas/xtensa/first_frag_align.s create mode 100644 gdb/features/i386/32bit-avx512.xml create mode 100644 gdb/features/i386/64bit-avx512.xml create mode 100644 gdb/features/i386/amd64-avx512-linux.c create mode 100644 gdb/features/i386/amd64-avx512-linux.xml create mode 100644 gdb/features/i386/amd64-avx512.c create mode 100644 gdb/features/i386/amd64-avx512.xml create mode 100644 gdb/features/i386/i386-avx512-linux.c create mode 100644 gdb/features/i386/i386-avx512-linux.xml create mode 100644 gdb/features/i386/i386-avx512.c create mode 100644 gdb/features/i386/i386-avx512.xml create mode 100644 gdb/features/i386/x32-avx512-linux.c create mode 100644 gdb/features/i386/x32-avx512-linux.xml create mode 100644 gdb/features/i386/x32-avx512.c create mode 100644 gdb/features/i386/x32-avx512.xml create mode 100644 gdb/gnulib/import/dirfd.c create mode 100644 gdb/gnulib/import/errno.in.h create mode 100644 gdb/gnulib/import/m4/dirfd.m4 create mode 100644 gdb/gnulib/import/m4/errno_h.m4 create mode 100644 gdb/regformats/i386/amd64-avx512-linux.dat create mode 100644 gdb/regformats/i386/amd64-avx512.dat create mode 100644 gdb/regformats/i386/i386-avx512-linux.dat create mode 100644 gdb/regformats/i386/i386-avx512.dat create mode 100644 gdb/regformats/i386/x32-avx512-linux.dat create mode 100644 gdb/regformats/i386/x32-avx512.dat create mode 100644 gdb/testsuite/ChangeLog-1993-2013 create mode 100644 gdb/testsuite/boards/local-remote-host-notty.exp create mode 100644 gdb/testsuite/gdb.ada/dyn_arrayidx.exp create mode 100644 gdb/testsuite/gdb.ada/dyn_arrayidx/foo.adb create mode 100644 gdb/testsuite/gdb.ada/mi_dyn_arr.exp create mode 100644 gdb/testsuite/gdb.ada/mi_dyn_arr/foo.adb create mode 100644 gdb/testsuite/gdb.ada/mi_dyn_arr/pck.adb create mode 100644 gdb/testsuite/gdb.ada/mi_dyn_arr/pck.ads create mode 100644 gdb/testsuite/gdb.arch/aarch64-atomic-inst.c create mode 100644 gdb/testsuite/gdb.arch/aarch64-atomic-inst.exp create mode 100644 gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.S create mode 100644 gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp create mode 100644 gdb/testsuite/gdb.arch/i386-avx512.c create mode 100644 gdb/testsuite/gdb.arch/i386-avx512.exp create mode 100644 gdb/testsuite/gdb.arch/ppc64-atomic-inst.S delete mode 100644 gdb/testsuite/gdb.arch/ppc64-atomic-inst.c create mode 100644 gdb/testsuite/gdb.asm/powerpc64le.inc create mode 100644 gdb/testsuite/gdb.base/break-unload-file.c create mode 100644 gdb/testsuite/gdb.base/break-unload-file.exp create mode 100644 gdb/testsuite/gdb.base/cond-eval-mode.c create mode 100644 gdb/testsuite/gdb.base/consecutive-step-over.c create mode 100644 gdb/testsuite/gdb.base/consecutive-step-over.exp create mode 100644 gdb/testsuite/gdb.base/hbreak-in-shr-unsupported-shr.c create mode 100644 gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.c create mode 100644 gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.exp create mode 100644 gdb/testsuite/gdb.base/hbreak-unmapped.c create mode 100644 gdb/testsuite/gdb.base/hbreak-unmapped.exp create mode 100644 gdb/testsuite/gdb.base/print-symbol-loading-lib.c create mode 100644 gdb/testsuite/gdb.base/print-symbol-loading-main.c create mode 100644 gdb/testsuite/gdb.base/print-symbol-loading.exp create mode 100644 gdb/testsuite/gdb.base/source-execution.c create mode 100644 gdb/testsuite/gdb.base/source-execution.exp create mode 100644 gdb/testsuite/gdb.base/source-execution.gdb create mode 100644 gdb/testsuite/gdb.base/vla-datatypes.c create mode 100644 gdb/testsuite/gdb.base/vla-datatypes.exp create mode 100644 gdb/testsuite/gdb.base/vla-ptr.c create mode 100644 gdb/testsuite/gdb.base/vla-ptr.exp create mode 100644 gdb/testsuite/gdb.base/vla-sideeffect.c create mode 100644 gdb/testsuite/gdb.base/vla-sideeffect.exp create mode 100644 gdb/testsuite/gdb.cp/cpsizeof.cc create mode 100644 gdb/testsuite/gdb.cp/cpsizeof.exp create mode 100644 gdb/testsuite/gdb.cp/enum-class.cc create mode 100644 gdb/testsuite/gdb.cp/enum-class.exp create mode 100644 gdb/testsuite/gdb.cp/namelessclass.S create mode 100644 gdb/testsuite/gdb.cp/namelessclass.cc create mode 100644 gdb/testsuite/gdb.cp/namelessclass.exp create mode 100644 gdb/testsuite/gdb.cp/var-tag.cc create mode 100644 gdb/testsuite/gdb.cp/var-tag.exp create mode 100644 gdb/testsuite/gdb.dwarf2/corrupt.c create mode 100644 gdb/testsuite/gdb.dwarf2/corrupt.exp create mode 100644 gdb/testsuite/gdb.dwarf2/count.exp create mode 100644 gdb/testsuite/gdb.dwarf2/enum-type.exp create mode 100644 gdb/testsuite/gdb.mi/mi-vla-c99.exp create mode 100644 gdb/testsuite/gdb.mi/vla.c create mode 100644 gdb/testsuite/gdb.multi/multi-attach.c create mode 100644 gdb/testsuite/gdb.multi/multi-attach.exp create mode 100644 gold/testsuite/ehdr_start_def.cc create mode 100644 gold/testsuite/ehdr_start_test.cc create mode 100644 gold/testsuite/ehdr_start_test.t create mode 100755 gold/testsuite/ehdr_start_test_4.sh create mode 100644 gold/testsuite/pie_copyrelocs_shared_test.cc create mode 100644 gold/testsuite/pie_copyrelocs_test.cc delete mode 100644 include/coff/or32.h delete mode 100644 include/elf/openrisc.h create mode 100644 include/elf/or1k.h delete mode 100644 include/elf/or32.h delete mode 100644 include/opcode/or32.h delete mode 100644 ld/emulparams/elf32openrisc.sh create mode 100644 ld/emulparams/elf32or1k.sh create mode 100644 ld/emulparams/elf32or1k_linux.sh delete mode 100644 ld/emulparams/or32.sh delete mode 100644 ld/emulparams/or32elf.sh delete mode 100644 ld/emultempl/default-manifest.rc create mode 100644 ld/ldbuildid.c create mode 100644 ld/ldbuildid.h delete mode 100644 ld/scripttempl/or32.sc create mode 100644 ld/testsuite/ld-aarch64/relasz.d create mode 100644 ld/testsuite/ld-aarch64/relasz.s create mode 100644 ld/testsuite/ld-avr/avr.exp create mode 100644 ld/testsuite/ld-avr/norelax_diff.d create mode 100644 ld/testsuite/ld-avr/relax.s create mode 100644 ld/testsuite/ld-avr/relax_diff.d create mode 100644 ld/testsuite/ld-mmix/b-offlocmis.s create mode 100644 ld/testsuite/ld-mmix/sec-10.d create mode 100644 ld/testsuite/ld-mmix/sec-10.s create mode 100644 ld/testsuite/ld-mmix/sec-11.d create mode 100644 ld/testsuite/ld-mmix/sec-11.ld create mode 100644 ld/testsuite/ld-mmix/sec-12.d create mode 100644 ld/testsuite/ld-mmix/wrap1.d create mode 100644 ld/testsuite/ld-mmix/wrap1a.s create mode 100644 ld/testsuite/ld-mmix/wrap1b.s create mode 100644 ld/testsuite/ld-mmix/wrap1c.s create mode 100644 ld/testsuite/ld-mmix/wrap2.d create mode 100644 ld/testsuite/ld-mmix/wrap3.d create mode 100644 ld/testsuite/ld-mmix/wrap3a.s create mode 100644 ld/testsuite/ld-mmix/wrap3b.s create mode 100644 ld/testsuite/ld-mmix/wrap4.d create mode 100644 ld/testsuite/ld-plugin/pr16846a.c create mode 100644 ld/testsuite/ld-plugin/pr16846b.c create mode 100644 ld/testsuite/ld-plugin/pr16846c.c create mode 100644 ld/testsuite/ld-powerpc/ambiguousv1.d create mode 100644 ld/testsuite/ld-powerpc/ambiguousv2.d create mode 100644 ld/testsuite/ld-powerpc/funref.s create mode 100644 ld/testsuite/ld-powerpc/funv1.s create mode 100644 ld/testsuite/ld-powerpc/funv2.s create mode 100644 ld/testsuite/ld-powerpc/startv1.s create mode 100644 ld/testsuite/ld-powerpc/startv2.s create mode 100644 ld/testsuite/ld-scripts/fill.d create mode 100644 ld/testsuite/ld-scripts/fill.t create mode 100644 ld/testsuite/ld-scripts/fill_0.s create mode 100644 ld/testsuite/ld-scripts/fill_1.s create mode 100644 ld/testsuite/ld-scripts/fill_2.s create mode 100644 ld/testsuite/ld-xtensa/diff_overflow.exp create mode 100644 ld/testsuite/ld-xtensa/diff_overflow1.s create mode 100644 ld/testsuite/ld-xtensa/diff_overflow2.s delete mode 100644 opcodes/openrisc-asm.c delete mode 100644 opcodes/openrisc-desc.c delete mode 100644 opcodes/openrisc-desc.h delete mode 100644 opcodes/openrisc-dis.c delete mode 100644 opcodes/openrisc-ibld.c delete mode 100644 opcodes/openrisc-opc.c delete mode 100644 opcodes/openrisc-opc.h create mode 100644 opcodes/or1k-asm.c create mode 100644 opcodes/or1k-desc.c create mode 100644 opcodes/or1k-desc.h create mode 100644 opcodes/or1k-dis.c create mode 100644 opcodes/or1k-ibld.c create mode 100644 opcodes/or1k-opc.c create mode 100644 opcodes/or1k-opc.h create mode 100644 opcodes/or1k-opinst.c delete mode 100644 opcodes/or32-dis.c delete mode 100644 opcodes/or32-opc.c First 500 lines of diff: diff --git a/ChangeLog b/ChangeLog index 6af33f8..dcf12bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,56 @@ +2014-05-14 Sandra Loosemore + + * configure.ac (target_makefile_frag): Set for nios2-*-elf*. + * configure: Regenerated. + +2014-03-26 Jakub Jelinek + + PR sanitizer/56781 + * Makefile.def: Set bootstrap=true; for host fixincludes. + * configure.ac: Don't bootstrap host fixincludes unless + --with-build-config=bootstrap-{a,ub}san. + * Makefile.in: Regenerated. + * configure: Regenerated. + +2014-03-21 Jakub Jelinek + + * configure.ac: Move BUILD_CONFIG set up earlier. Add + --enable-vtable-verify option parsing. Don't add + target-libsanitizer to bootstrap_target_libs unless + --with-build-config=bootstrap-asan or + --with-build-config=bootstrap-ubsan. Don't add target-libvtv + to bootstrap_target_libs unless --enable-vtable-verify. + * configure: Regenerated. + +2014-03-07 Jakub Jelinek + + PR bootstrap/58572 + * Makefile.tpl (POSTSTAGE1_CXX_EXPORT): Use -isystem instead of + -I for libstdc++-v3 includes if $(LEAN). + * Makefile.in: Regenerated. + +2014-02-24 Walter Lee + + * configure.ac (tilepro-*-*) Change to tilepro*-*-*. + (tilegx-*-*): Change to tilegx*-*-*. + * configure: Regenerate. + +2014-05-01 Richard Sandiford + + * config.sub, config.guess: Import from upstream. + +2014-04-04 Eric Botcazou + + PR bootstrap/60620 + * Makefile.def (dependencies): Make gnattools depend on libstdc++-v3. + * Makefile.in: Regenerate. + +2014-03-28 Yaakov Selkowitz + + * Makefile.def (dependencies): Make all-ld depend on all-binutils + for WINDRES_FOR_TARGET in default-manifest.o rule. + * Makefile.in: Regenerate. + 2014-02-04 Rainer Orth PR target/59788 diff --git a/Makefile.def b/Makefile.def index 32296d1..ec2b0f2 100644 --- a/Makefile.def +++ b/Makefile.def @@ -39,7 +39,7 @@ host_modules= { module= cgen; }; host_modules= { module= dejagnu; }; host_modules= { module= etc; }; host_modules= { module= fastjar; no_check_cross= true; }; -host_modules= { module= fixincludes; +host_modules= { module= fixincludes; bootstrap=true; missing= TAGS; }; host_modules= { module= flex; no_check_cross= true; }; host_modules= { module= gas; bootstrap=true; }; @@ -336,6 +336,7 @@ dependencies = { module=all-libcpp; on=all-intl; }; dependencies = { module=all-fixincludes; on=all-libiberty; }; dependencies = { module=all-gnattools; on=all-target-libada; }; +dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; }; dependencies = { module=all-lto-plugin; on=all-libiberty; }; @@ -418,6 +419,7 @@ dependencies = { module=all-ld; on=all-build-bison; }; dependencies = { module=all-ld; on=all-build-flex; }; dependencies = { module=all-ld; on=all-intl; }; dependencies = { module=all-ld; on=all-gas; }; +dependencies = { module=all-ld; on=all-binutils; }; dependencies = { module=install-ld; on=install-gold; }; dependencies = { module=install-strip-ld; on=install-strip-gold; }; dependencies = { module=configure-gold; on=configure-intl; }; diff --git a/Makefile.in b/Makefile.in index f9e8e0d..bf06dce 100644 --- a/Makefile.in +++ b/Makefile.in @@ -239,9 +239,9 @@ POSTSTAGE1_CXX_EXPORT = \ -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \ -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \ -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \ - -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \ - -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \ - -I$$s/libstdc++-v3/libsupc++ \ + `if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \ + `if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \ + `if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$s/libstdc++-v3/libsupc++ \ -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \ -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; \ export CXX; \ @@ -1003,7 +1003,9 @@ all-host: maybe-all-cgen all-host: maybe-all-dejagnu all-host: maybe-all-etc all-host: maybe-all-fastjar +@if fixincludes-no-bootstrap all-host: maybe-all-fixincludes +@endif fixincludes-no-bootstrap all-host: maybe-all-flex @if gas-no-bootstrap all-host: maybe-all-gas @@ -7807,7 +7809,6 @@ configure-fixincludes: stage_current @if fixincludes maybe-configure-fixincludes: configure-fixincludes configure-fixincludes: - @: $(MAKE); $(unstage) @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \ @@ -7830,6 +7831,204 @@ configure-fixincludes: +.PHONY: configure-stage1-fixincludes maybe-configure-stage1-fixincludes +maybe-configure-stage1-fixincludes: +@if fixincludes-bootstrap +maybe-configure-stage1-fixincludes: configure-stage1-fixincludes +configure-stage1-fixincludes: + @[ $(current_stage) = stage1 ] || $(MAKE) stage1-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE1_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \ + CXXFLAGS="$(STAGE1_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS="$(LIBCFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage 1 in $(HOST_SUBDIR)/fixincludes ; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes ; \ + cd $(HOST_SUBDIR)/fixincludes || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + srcdiroption="--srcdir=$${topdir}/fixincludes"; \ + libsrcdir="$$s/fixincludes"; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ + --target=${target_alias} $${srcdiroption} \ + $(STAGE1_CONFIGURE_FLAGS) +@endif fixincludes-bootstrap + +.PHONY: configure-stage2-fixincludes maybe-configure-stage2-fixincludes +maybe-configure-stage2-fixincludes: +@if fixincludes-bootstrap +maybe-configure-stage2-fixincludes: configure-stage2-fixincludes +configure-stage2-fixincludes: + @[ $(current_stage) = stage2 ] || $(MAKE) stage2-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE2_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \ + CXXFLAGS="$(STAGE2_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage 2 in $(HOST_SUBDIR)/fixincludes ; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes ; \ + cd $(HOST_SUBDIR)/fixincludes || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + srcdiroption="--srcdir=$${topdir}/fixincludes"; \ + libsrcdir="$$s/fixincludes"; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ + --target=${target_alias} $${srcdiroption} \ + --with-build-libsubdir=$(HOST_SUBDIR) \ + $(STAGE2_CONFIGURE_FLAGS) +@endif fixincludes-bootstrap + +.PHONY: configure-stage3-fixincludes maybe-configure-stage3-fixincludes +maybe-configure-stage3-fixincludes: +@if fixincludes-bootstrap +maybe-configure-stage3-fixincludes: configure-stage3-fixincludes +configure-stage3-fixincludes: + @[ $(current_stage) = stage3 ] || $(MAKE) stage3-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE3_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \ + CXXFLAGS="$(STAGE3_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage 3 in $(HOST_SUBDIR)/fixincludes ; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes ; \ + cd $(HOST_SUBDIR)/fixincludes || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + srcdiroption="--srcdir=$${topdir}/fixincludes"; \ + libsrcdir="$$s/fixincludes"; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ + --target=${target_alias} $${srcdiroption} \ + --with-build-libsubdir=$(HOST_SUBDIR) \ + $(STAGE3_CONFIGURE_FLAGS) +@endif fixincludes-bootstrap + +.PHONY: configure-stage4-fixincludes maybe-configure-stage4-fixincludes +maybe-configure-stage4-fixincludes: +@if fixincludes-bootstrap +maybe-configure-stage4-fixincludes: configure-stage4-fixincludes +configure-stage4-fixincludes: + @[ $(current_stage) = stage4 ] || $(MAKE) stage4-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE4_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \ + CXXFLAGS="$(STAGE4_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage 4 in $(HOST_SUBDIR)/fixincludes ; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes ; \ + cd $(HOST_SUBDIR)/fixincludes || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + srcdiroption="--srcdir=$${topdir}/fixincludes"; \ + libsrcdir="$$s/fixincludes"; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ + --target=${target_alias} $${srcdiroption} \ + --with-build-libsubdir=$(HOST_SUBDIR) \ + $(STAGE4_CONFIGURE_FLAGS) +@endif fixincludes-bootstrap + +.PHONY: configure-stageprofile-fixincludes maybe-configure-stageprofile-fixincludes +maybe-configure-stageprofile-fixincludes: +@if fixincludes-bootstrap +maybe-configure-stageprofile-fixincludes: configure-stageprofile-fixincludes +configure-stageprofile-fixincludes: + @[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGEprofile_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS="$(STAGEprofile_CFLAGS)"; export CFLAGS; \ + CXXFLAGS="$(STAGEprofile_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS="$(STAGEprofile_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage profile in $(HOST_SUBDIR)/fixincludes ; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes ; \ + cd $(HOST_SUBDIR)/fixincludes || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + srcdiroption="--srcdir=$${topdir}/fixincludes"; \ + libsrcdir="$$s/fixincludes"; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ + --target=${target_alias} $${srcdiroption} \ + --with-build-libsubdir=$(HOST_SUBDIR) \ + $(STAGEprofile_CONFIGURE_FLAGS) +@endif fixincludes-bootstrap + +.PHONY: configure-stagefeedback-fixincludes maybe-configure-stagefeedback-fixincludes +maybe-configure-stagefeedback-fixincludes: +@if fixincludes-bootstrap +maybe-configure-stagefeedback-fixincludes: configure-stagefeedback-fixincludes +configure-stagefeedback-fixincludes: + @[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGEfeedback_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS="$(STAGEfeedback_CFLAGS)"; export CFLAGS; \ + CXXFLAGS="$(STAGEfeedback_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS="$(STAGEfeedback_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage feedback in $(HOST_SUBDIR)/fixincludes ; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes ; \ + cd $(HOST_SUBDIR)/fixincludes || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + srcdiroption="--srcdir=$${topdir}/fixincludes"; \ + libsrcdir="$$s/fixincludes"; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ + --target=${target_alias} $${srcdiroption} \ + --with-build-libsubdir=$(HOST_SUBDIR) \ + $(STAGEfeedback_CONFIGURE_FLAGS) +@endif fixincludes-bootstrap + + + .PHONY: all-fixincludes maybe-all-fixincludes @@ -7841,7 +8040,6 @@ all-fixincludes: stage_current TARGET-fixincludes=all maybe-all-fixincludes: all-fixincludes all-fixincludes: configure-fixincludes - @: $(MAKE); $(unstage) @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ @@ -7852,6 +8050,255 @@ all-fixincludes: configure-fixincludes +.PHONY: all-stage1-fixincludes maybe-all-stage1-fixincludes +.PHONY: clean-stage1-fixincludes maybe-clean-stage1-fixincludes +maybe-all-stage1-fixincludes: +maybe-clean-stage1-fixincludes: +@if fixincludes-bootstrap +maybe-all-stage1-fixincludes: all-stage1-fixincludes +all-stage1: all-stage1-fixincludes +TARGET-stage1-fixincludes = $(TARGET-fixincludes) +all-stage1-fixincludes: configure-stage1-fixincludes + @[ $(current_stage) = stage1 ] || $(MAKE) stage1-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE1_TFLAGS)"; \ + $(HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/fixincludes && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" \ + CXXFLAGS="$(STAGE1_CXXFLAGS)" \ + LIBCFLAGS="$(LIBCFLAGS)" \ + CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) \ + $(STAGE1_FLAGS_TO_PASS) \ + TFLAGS="$(STAGE1_TFLAGS)" \ + $(TARGET-stage1-fixincludes) + +maybe-clean-stage1-fixincludes: clean-stage1-fixincludes +clean-stage1: clean-stage1-fixincludes +clean-stage1-fixincludes: + @if [ $(current_stage) = stage1 ]; then \ + [ -f $(HOST_SUBDIR)/fixincludes/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stage1-fixincludes/Makefile ] || exit 0; \ + $(MAKE) stage1-start; \ + fi; \ + cd $(HOST_SUBDIR)/fixincludes && \ + $(MAKE) $(EXTRA_HOST_FLAGS) \ + $(STAGE1_FLAGS_TO_PASS) clean +@endif fixincludes-bootstrap + + +.PHONY: all-stage2-fixincludes maybe-all-stage2-fixincludes +.PHONY: clean-stage2-fixincludes maybe-clean-stage2-fixincludes +maybe-all-stage2-fixincludes: +maybe-clean-stage2-fixincludes: +@if fixincludes-bootstrap +maybe-all-stage2-fixincludes: all-stage2-fixincludes +all-stage2: all-stage2-fixincludes +TARGET-stage2-fixincludes = $(TARGET-fixincludes) +all-stage2-fixincludes: configure-stage2-fixincludes + @[ $(current_stage) = stage2 ] || $(MAKE) stage2-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE2_TFLAGS)"; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/fixincludes && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS="$(STAGE2_CFLAGS)" \ + CXXFLAGS="$(STAGE2_CXXFLAGS)" \ + LIBCFLAGS="$(STAGE2_CFLAGS)" \ + CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \ + TFLAGS="$(STAGE2_TFLAGS)" \ + $(TARGET-stage2-fixincludes) + +maybe-clean-stage2-fixincludes: clean-stage2-fixincludes +clean-stage2: clean-stage2-fixincludes +clean-stage2-fixincludes: + @if [ $(current_stage) = stage2 ]; then \ + [ -f $(HOST_SUBDIR)/fixincludes/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stage2-fixincludes/Makefile ] || exit 0; \ + $(MAKE) stage2-start; \ + fi; \ + cd $(HOST_SUBDIR)/fixincludes && \ + $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean +@endif fixincludes-bootstrap + + +.PHONY: all-stage3-fixincludes maybe-all-stage3-fixincludes +.PHONY: clean-stage3-fixincludes maybe-clean-stage3-fixincludes +maybe-all-stage3-fixincludes: +maybe-clean-stage3-fixincludes: +@if fixincludes-bootstrap +maybe-all-stage3-fixincludes: all-stage3-fixincludes +all-stage3: all-stage3-fixincludes +TARGET-stage3-fixincludes = $(TARGET-fixincludes) +all-stage3-fixincludes: configure-stage3-fixincludes + @[ $(current_stage) = stage3 ] || $(MAKE) stage3-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE3_TFLAGS)"; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/fixincludes && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS="$(STAGE3_CFLAGS)" \ + CXXFLAGS="$(STAGE3_CXXFLAGS)" \ + LIBCFLAGS="$(STAGE3_CFLAGS)" \ + CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \ + TFLAGS="$(STAGE3_TFLAGS)" \ + $(TARGET-stage3-fixincludes) + +maybe-clean-stage3-fixincludes: clean-stage3-fixincludes +clean-stage3: clean-stage3-fixincludes +clean-stage3-fixincludes: + @if [ $(current_stage) = stage3 ]; then \ + [ -f $(HOST_SUBDIR)/fixincludes/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stage3-fixincludes/Makefile ] || exit 0; \ + $(MAKE) stage3-start; \ + fi; \ + cd $(HOST_SUBDIR)/fixincludes && \ + $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean +@endif fixincludes-bootstrap + + +.PHONY: all-stage4-fixincludes maybe-all-stage4-fixincludes +.PHONY: clean-stage4-fixincludes maybe-clean-stage4-fixincludes +maybe-all-stage4-fixincludes: +maybe-clean-stage4-fixincludes: +@if fixincludes-bootstrap +maybe-all-stage4-fixincludes: all-stage4-fixincludes +all-stage4: all-stage4-fixincludes +TARGET-stage4-fixincludes = $(TARGET-fixincludes) +all-stage4-fixincludes: configure-stage4-fixincludes + @[ $(current_stage) = stage4 ] || $(MAKE) stage4-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE4_TFLAGS)"; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/fixincludes && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS="$(STAGE4_CFLAGS)" \ + CXXFLAGS="$(STAGE4_CXXFLAGS)" \ + LIBCFLAGS="$(STAGE4_CFLAGS)" \ + CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \ + TFLAGS="$(STAGE4_TFLAGS)" \ + $(TARGET-stage4-fixincludes) + +maybe-clean-stage4-fixincludes: clean-stage4-fixincludes +clean-stage4: clean-stage4-fixincludes +clean-stage4-fixincludes: + @if [ $(current_stage) = stage4 ]; then \ + [ -f $(HOST_SUBDIR)/fixincludes/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stage4-fixincludes/Makefile ] || exit 0; \ hooks/post-receive -- Repository for Project Archer.