From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 51286 invoked by alias); 3 Aug 2015 18:47:58 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 51224 invoked by uid 9674); 3 Aug 2015 18:47:58 -0000 Date: Mon, 03 Aug 2015 18:47:00 -0000 Message-ID: <20150803184756.50947.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] jankratochvil/gdbserverbuildid2: mainbuildid X-Git-Refname: refs/heads/jankratochvil/gdbserverbuildid2 X-Git-Reftype: branch X-Git-Oldrev: 52e94ef20f0a2821b4218b5412aa3448ec612a3a X-Git-Newrev: d3b64846f32fe967eda4a42993509fa043bf6fab X-SW-Source: 2015-q3/txt/msg00012.txt.bz2 List-Id: The branch, jankratochvil/gdbserverbuildid2 has been updated discards 52e94ef20f0a2821b4218b5412aa3448ec612a3a (commit) discards 2d7f93fff19c806dd0567c58f06ee8c95014ac91 (commit) discards a17cefb1a3689e04e1cf06f075f1e38bcbb98cae (commit) discards ff2f924406cc046c67a53c401f903c2fe399dbfb (commit) discards 4b23b94c23cef3b156928540ff935dc880814907 (commit) discards d6f35619ecaf9c7b3e2f0ed9f430a8832ff4a866 (commit) discards ac9889e2f97ca0b02c8864e6bf0fec61564d009f (commit) discards ba9310665b459c0d53cb25f12ebbc0b751b7546a (commit) discards 4eb86256c28b998687a8743c06ad7d111cf1f936 (commit) discards e3a6fc81d5e6caff5d58562d178628e8a575d684 (commit) discards 28202d6392adab7179a849c7b569c24427f09476 (commit) discards b6bfeca5e45c1a91923f89195e95adb41e672acf (commit) discards 8859bde6c6dad70f79d9f1db719529fedd0a879a (commit) discards 2066d1751f88b06a202e90eb69ed8551fc1391d8 (commit) discards 044da2d2298af4004094cd5fcad24fdbbde03746 (commit) discards 2fc65148a99cb8b2c2889479bccb9c4f605b2c84 (commit) discards 972af46ddba59d32ba903da5bd736bc6239a1958 (commit) discards eedc9c47eb55d57a7d2c5e0310121ba79a80f295 (commit) discards c6df2d1ba56da63391ae62fbf2a2be28fae6da32 (commit) via d3b64846f32fe967eda4a42993509fa043bf6fab (commit) via 127a7c8c5f95c94627a7020ea70baaf34e8af4c4 (commit) via 9a330d05001869fafbeb1977ba01002760f06223 (commit) via 2ac4a4a2b1c67501c243500f89f39b993afc9d57 (commit) via c957e11eefea3a3b0df0725d0bcc7f71284cbfdd (commit) via 7fc9a74927d454a5390f1d5d2a1cb3c4610d2bd6 (commit) via 1819c3617e892c280ef275ddc227cde019215137 (commit) via 363c073195eb984c1a87337c2b766264c9b492c0 (commit) via 41d3fed626c53a4c1941bb7e5cab4f31d1867d86 (commit) via 9d78733d3e5cb8a75da2fde76c4b5b016adaa73e (commit) via daf575991634bf88c15a21b206af0025eb7945b3 (commit) via ff999b8d72b8b986c21a85f3853a933d61377d62 (commit) via 4c5ec92510d46549c0ab8b7bef138e49916a9c7e (commit) via be47105b3a08816825e3af06e364976a50b0addc (commit) via 3f48d4a72c91deb16d7845e05c1c6de0017363a1 (commit) via ee108b9e22005af135a0e3abdd987a6e8d11ae60 (commit) via e5ac2b27b2656e633f03e03471215134039eab26 (commit) via 357927ebc9c67445f26db3e8f9c4f9619da9758c (commit) via 5fb62cb37b182a1724c142fb5074c610438f3d21 (commit) via fc362f9aceda33a7fda5587a894afb845d9ab969 (commit) via cc7e9e180d16e577c75fac12e8dd7397fe0305b8 (commit) via 77349f9a27c0b1ad34a16b8245dd8f89663a6b99 (commit) via d0ec4ffa44abbfb3ae91d073d9e173d08add716a (commit) via 53ecd8abae0b52b4972c15d71174e0ba0f141976 (commit) via 90f484011751e127565e5600bfde5308773edb93 (commit) via 0ad719190dd1375219d3bcdc3718daf109dff476 (commit) via 3d3389010c00504602656ba6f16c6b91ade75243 (commit) via af061d3e9c09baa0df2f2d4724baed06cc6158ca (commit) via 1da03605ced73fc20f40ad649f3038e654d36dee (commit) via 8156fe7f47884390b7404af15903795bb607658b (commit) via d60646b95830f1687b641b96f31adbea75c08d6c (commit) via a5fdf78a4402341a0ae23a5ca8a63825e2b5286c (commit) via 17c42309df30d43ad57556050f96850105a7dfe7 (commit) via e76460dbb9b9b34b9c7fc2f2e4faae38730d00b0 (commit) via 835a09d99d585bfdc9f760970908e10bd8b2fec2 (commit) via 5e99d4b301d820e1622b35cfd4b359bb4ba264e6 (commit) via d12307c199dfdb9cad1ea79d2626224e705089a3 (commit) via 5efafabf7be800069e02f84589c9462e99079c4d (commit) via 2c8c5d375e91824387eeacd1d710e714f1534d36 (commit) via b1c59ddc809bc4ad2c082b5cae02a18c68746257 (commit) via f486487f558686c05d4f4d91a75638b9da399044 (commit) via 22d31b1192bb38c766e349e5eed1a82298cc2c1f (commit) via 032a0fca009e8ae7ffc5443d07d959c839dc7af4 (commit) via e1b5381f1b24d2c6b1e254cf7e35f8a470394adc (commit) via 9aaf8e3a2875f719e4d5633ba222a3c04a5d0e8d (commit) via 61a934ca2090456acb4432b6c136241d3aaee7a2 (commit) via 4bc4d42859e3b42c79c89295ef39944bdb3e6753 (commit) via 998d452ac81bc240996c967dd27f7b747240cd66 (commit) via 69dde7dcb81f6baf2b823dcc03e040c29ee5de7d (commit) via 4dd63d488a76482543517c4c4cde699ee6fa33ef (commit) via 6b940e6a063ac13372b44a03a54b6be33d22a183 (commit) via e8b416815be691cc3fb1212d1a3dcb5d21a0d19d (commit) via 89abb03951a90203c6635296447b7e96a1248a68 (commit) via deca266c89cf61c679f759a74bdf362960b0cc2c (commit) via ec74129274bf2fb65aac9381a19731c570f7be29 (commit) via 0ea6402e6ce0af0623f0cfd180b626c7ccc41891 (commit) via a8484f9612fc5b7d2b762b6fec950faa0fcd1483 (commit) via c6e8a9a802bcd3a96ef14b6ea1b6cd60d5d8d065 (commit) via 13be649613bb62e75296d1f69a7c889ddf29a564 (commit) via aa58a496ed9a3ee19233af0bfb7c76ae02b9b2c1 (commit) via d618e4c51c73f2139a1aa8903d677a4202956f21 (commit) via 60b57502ec8b600dac3fe53aa6615965f0430a6d (commit) via de0a00263930c9ed3e4e330a0d8573df4805fe87 (commit) via 06265e53f4657a86f3ac3485552b97c942c9f4ac (commit) via e77e648e93adf564fb10e725e4d8800d30a83eb5 (commit) via 1eef6428112a1c1fe0295f36f92d7a3cf9908228 (commit) via 7da5b897c96faa3c520662d2b0bd4837567bfb1d (commit) via dac804dfa6389b71f50b5e169ffa4e239958e774 (commit) via 18206ca3f9367f1488cdfc1475f8da072e7e9636 (commit) via 7afa63c624ae570472381b8e35ce066bf145844a (commit) via 90074d118de70c5eb2c71ba83e58d96359149d79 (commit) via cc9f16aa882eb22cb2128c5eb8237fd453ab2988 (commit) via eb1a79028c63ca565850c5d64ae60193f90cd841 (commit) via 8b75dd3b8a32e790d7d9f1621ad4fbb6d7af9e8e (commit) via dedad4e3d2ed1d6ecdb89422fc0baa028021f19d (commit) via 58789a917b7eed57c5200ec0a4d8a2fc44efc64c (commit) via e8376742bdba233d14cfbff91776be065ae27587 (commit) via 0828001082ea8dfd223211373fb912d47f715827 (commit) via 4d30e4328fd344ef6f26c7ee520d08813da69a33 (commit) via 0d30a335a6747bb0e2847e0aee2ba958cf19dac7 (commit) via 39413b296f9eb92ae3936bf29397ac1d35ca803b (commit) via 7cb000a97ebcf7f23fe1b63fbbdd86d87b8c8634 (commit) via d7b8ac8297642399a10216068b8003cd778b7237 (commit) via 789c3a0cc3b1ace2d54ecc37fdbdb967f1810aaf (commit) via 77e760c3aae925fef163d866a651079fea5f3143 (commit) via 8396d2cdf4b013b237bf8cca306bbec602bdbb72 (commit) via 2051d61f76bc009f42d094e57fa0e7114fb23a4e (commit) via 452397af30f68f6d4ed05fa6d9fc30ca70cbe7f9 (commit) via 8aed9555b232946606f3fb9370c1657a71c2afaf (commit) via 188a61b4404369ae30dce95ad4b05975a3609a33 (commit) via 12264a451d993a0a8635be82bed15618e0f4645f (commit) via 23ffc893f5693f20dc807c6a7daad402de0c2e51 (commit) via 655669183104eb8eab559b5faf2b5a676ab6cd3f (commit) via 11509220a045532b1995b4af5dac2f921b541003 (commit) via a66f09dd911338fb02ee40cec3840f579f533262 (commit) via d60a92216e5d599fed6b37c58c744debe38a0b24 (commit) via bde40b8f563dd682b9c6bcb8e24c3f5bd944a4f6 (commit) via 3ae385afe150f2e001a1cc8fb14f4ba0ab94cdf2 (commit) via e512cdbdffafefa63baeb835ba6636fcef56e17d (commit) via 3723fda829671b273d7b31a0753bb1fa8f614cb6 (commit) via 2e0569314c2ee9e5635899d47b0bc0a4b9b08d8d (commit) via c6e5c03a2c0dfa224a71056ede035476e511f5fc (commit) via 77403ce9669d35b286b3ca75fdc1e4c61f36b59a (commit) via e5654c0f8492e65b3e3ac5e1a2276856049eb1b1 (commit) via d6f1bafa2c05241b89c0303a9f6a2af89f51c39c (commit) via 671c4e31fb12f1bee30d3bb5f8ad95f17d8d4663 (commit) via 6f8ea6c424a3ceda065c39903065cfb251add37d (commit) via 13e1dec8960122ec0329f74e5915503e14db5ea2 (commit) via da33c9a7bff093e772a381bf9ab42d876089cdcf (commit) via 0c87c0bfdfe19d5e2b8938d1db42c43e7b19e53f (commit) via 9550ae5e548dd63599ffadedfe8d1768bfc94072 (commit) via 7784724bb1b8a5732239e27935cd76813b9df35c (commit) via 385f5affc00e88ad6ff0f8287bb3c1c43d59351c (commit) via b21b63420be3857c1d0e2676e1214d63fe38ed3d (commit) via e5bead4b23122be39e0bf32889fd609df6299e1c (commit) via 4a8c372f1f82d1be24d2575e5979690efd839e08 (commit) via d93880bd1cd10d0ccf5346e261d5d145d50d8ab0 (commit) via ef0bc0dd961898d393627c3d502ad168028d7c40 (commit) via fe43fede4726122efbee9d52b9e68b47be97757f (commit) via 45000ea2f350fae68b4524059ae1876f8e89f2bb (commit) via 81eb921ae109e875b9df6435ac6947181d824a67 (commit) via 557dbe8a5ea7f87fd9e6910997ca04f306cab195 (commit) via 9f436164d55690a0b3d2e4308bfd8834996b97d1 (commit) via c45bd4fd43e5eb0cbad8ec410504e4778c64c65d (commit) via 077836f7cf6725386c01ae3bb7111663b8f2b85e (commit) via 50904b25ecf09f14c9406157b7f51255b21f54c0 (commit) via 3a60804fbca012d751d21fde17592df0eee8d82a (commit) via 206350da0f99b9a50fe6405613b3b05561a55aae (commit) via 37a42ee9ad4e4bf635edc87661acb42175f20f91 (commit) via 136bb21fda016fcfc97dfeff692ee899951148de (commit) via edb71a9c3838b83424f6eb0ef04eab5b31aa7f4a (commit) via 79559014b26f3c6bc64f29dabce613fa89418ee5 (commit) via 219a6876d48c9986b47d045a41b74cb6c84a2116 (commit) via cda77e9efc68d04e50990ea72890bd8e515d4d7b (commit) via 379d3f1ffc3fab112a0f388a1565c6be2f74f5c3 (commit) via ea9fb8b3e9f9624262984ad402f2aac34c65534d (commit) via faebca0390ceef085f383d42423e14079dcd0a48 (commit) via c4972ed6029abb1a56eeafe144000031d902f074 (commit) via e10461aebd2c9165c168583e70e7901e962ed1bb (commit) via 32f573bcb3aaa1c9defcad79dbb5851fcc02ae2d (commit) via b68a20d6675f1360ea4db50a9835c073675b9889 (commit) via 0c096ed760273eb364d2e4e6def21f688ceff525 (commit) via edcab5e8bdaafdb96b182693a5c8eab020ba3e5c (commit) via d76b6207439e16b98aa04f38b730376257b31a62 (commit) via ab3b14b04b35e4e9ee8bd8cdb38ef888f0922da5 (commit) via c9f35b348e586c0f48592918324b6e15c815a702 (commit) via 805cee45cdf608922af942ff8ff1ccf4da78412b (commit) via 5836a818eccb180d75c92ce4c861abb6fe8dec23 (commit) via b8cc7b2e9afab37eb9a7cff0d3ae4ebbcf7d494f (commit) via b558ff043d41ba8d17a82f5f9ae5f9dade66160e (commit) via 18d9555c6e7c34beb40f54e670c11b76b61be13f (commit) via 1659f720b0818d6666570f79bef53ac461b2b22f (commit) via 4a11f2065906976675808364ddbd1c0f77eea41f (commit) via a496fbc8802f0a5719db6347a43cc869e03d83c9 (commit) via ca3084f54b62ce06c6e70a6e1daafeb5e3317c12 (commit) via f7d3050b1966fcc3d4cf7ddb9d0a8ca741e50d26 (commit) via 7fecd1b400ba3ba0ae9efba3662e1f75b519860f (commit) via 6eab34f3dc27a571071d8c56146c2ffda133f454 (commit) via 63738bfdb96f654322794384993a6f5d8608aab9 (commit) via 7b606f95c9bcfa1b569fe5d33f7d2a73d39322f4 (commit) via a97b16b8fcfc7ac818c43c9f9457966cfc47aed6 (commit) via 35baa57fcfb50f7db24f7850ec9e34f4bc25b45c (commit) via 6ebea266fd0a7a56c90db3ab6237ff9f6c919747 (commit) via 4fd4095a5ffe3d4e50e0dac5f8ad37b8478afa9d (commit) via 1e76a7e9b156173a76e6a14a3ed41cefc9fed480 (commit) via 2b4cab865440e2c61d72da31a1a5045c840c60fe (commit) via 5068630ad34dce5fefbe68d70d3a50cd8b92f71e (commit) via 7759842763d94dc2f1c7d52d09f9203830b753ab (commit) via fe23c31f262151ce3265f5b90870d40cb6840f0a (commit) via afa5870f1bfafa1ccfa8a4b3f432c07c19a2447e (commit) via 7cb9e39bd8f84867f913232904b4b36c0aea539c (commit) via aff1a65ecb5cfcf1abfb23ea0e0f37f39e75683e (commit) via 5826e159863b6cd69953dc01faf7c20414409909 (commit) via 54019719152ab269fb4cec2c6a8a245ba6af6e49 (commit) via e379037592ff71dc633c6d3de0828babe805ae96 (commit) via eb7aa56163cc15bb732aa3b07966103fd6940d50 (commit) via 55d7b841962c6e054735acdca2e0bb485afa0144 (commit) via c06cbd92be66d82eb323a8c6ec451c1dccc02107 (commit) via 5ae3ebbae55482a9fdd01bd21455b396e23e4077 (commit) via eb97750bce2bf37176f745636815600177fbdba8 (commit) via 11e6c98f1b6318d27ad55f9ac7d362fe7a668872 (commit) via 51aee833ed9c6bd67b0c0e4a8c7098a549e3d16d (commit) via 8cfe207c9fcfcf940ec8eb834afde41432ec6d80 (commit) via 84b74b498eb690e5a856c23b9abc71f9680b81a6 (commit) via 72f4393d8cfc4a47f0e59657f7822668cfad132f (commit) via 91cb26dac47265f178fb6635f1deebdfd244572a (commit) via 2fb9328d8daa751f3b71745636323eddccaaacce (commit) via f0b0791b05ed335e5d74d843d828645805db1f9c (commit) via cdb061674c044636465e52a8c989b9011f2ec8ac (commit) via d5cff5df74b18e1e5ed94de8f4c9adee3ffd95c6 (commit) via cc12ce380e8dab7e3cee8ecad29db6e9bb36a8fa (commit) via 7b849db4f213d6734b4121ca5e5cab3341a5140c (commit) via d0d8478068ae7c01b1a504ca2fba90c1d36c5566 (commit) via c2fbdc5901a9220d0953f14c27760c3d3ae13074 (commit) via 070fe95d07c78349f0c8f0fa90aeb92d05248483 (commit) via 510fac86d7a8855fc680466f07ae266802c5fb40 (commit) via 20c2a615876bdf0d5dc8e2db86eea1312d9dc9b8 (commit) via 7360e63f80782cf34a195eb1c6149760c3da7f14 (commit) via 511b1657d2b251e529a7a0634325bb7d8f3af80d (commit) via 5b2af7dd40a4f3b570aef71daf11b9dfce9a5d13 (commit) via cd78ea777c35c497fcc0f20d162789296dc0a44d (commit) via bb854a36d192bfa6609da9e3b1342e33da445598 (commit) via f945ba50bb7e11c03d850d1680b15da758300ad7 (commit) via 6dca8d51d523adc1a8ba7ea22c4b27d86a57da56 (commit) via 5417c94d1a944d1a27f99240e5d62a6d7cd324f1 (commit) via b8c6c5ef99ef8f07fcea1c777d5084dc6f7232e5 (commit) via cb5cf5e26ea2e42937a2ce1b662e61e4772ba6f9 (commit) via af1b22f3004774f8c5c570abe7fab629026032f7 (commit) via 40e050d242199ac67803c155ac2062169e5cf53d (commit) via f33026a96558ba9231ad91eb989ea6f347a15899 (commit) via 391538482ede7161fdd88187596426eb6d9ae44d (commit) via 8b558f797a3a63aaa8de119ddf53c8afdd1dc6eb (commit) via 0ef3814fe1b5579890a7758e6e52d12b8a96fdf2 (commit) via 45972d00747459a447f7e84891ed6a3367565f24 (commit) via 2bca03770d4d219b4e29d43754a9d95a4152255a (commit) via f54f5e31ce1270a1e9441348d6f2ea2426352478 (commit) via a3b5281eb93f986e9865a099c554156c40e4a686 (commit) via c20ceeb226168ffd84078ef74d890c2b7f69a435 (commit) via 3675a06a823132663f7c2376796c5345032fddad (commit) via 7ac018954bd9c2d964204a451ecabdd7d8a11945 (commit) via f2d7e0f45023ef1b469c627aff02ead3697b1240 (commit) via d9d11c361cc29bdac2d2d6c38bce329d25abf7af (commit) via e474ab13ec653d5d78489467f90669689191b31a (commit) via 5e63e4525526ddf01fcbde7d7517560c492a0884 (commit) via 0bda1f8819c4c0aed25c78fadac545d8334dd0c1 (commit) via b4e1fd615ae6582170a6bb62d6519d586bd5347e (commit) via ce62125ee9797bc5b23745fe140506b0d64f4220 (commit) from 52e94ef20f0a2821b4218b5412aa3448ec612a3a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit d3b64846f32fe967eda4a42993509fa043bf6fab Author: Jan Kratochvil Date: Thu Jul 30 20:48:14 2015 +0200 mainbuildid commit 127a7c8c5f95c94627a7020ea70baaf34e8af4c4 Author: Jan Kratochvil Date: Thu Jul 30 20:31:46 2015 +0200 hexallocate commit 9a330d05001869fafbeb1977ba01002760f06223 Author: Jan Kratochvil Date: Thu Jul 30 20:48:50 2015 +0200 locatetest commit 2ac4a4a2b1c67501c243500f89f39b993afc9d57 Author: Jan Kratochvil Date: Thu Jul 30 20:49:10 2015 +0200 buildidwarn commit c957e11eefea3a3b0df0725d0bcc7f71284cbfdd Author: Jan Kratochvil Date: Tue Jul 28 22:13:31 2015 +0200 buildidsolibbfdopen commit 7fc9a74927d454a5390f1d5d2a1cb3c4610d2bd6 Author: Jan Kratochvil Date: Mon Aug 3 20:45:26 2015 +0200 buildidverify commit 1819c3617e892c280ef275ddc227cde019215137 Author: Jan Kratochvil Date: Mon Aug 3 20:44:27 2015 +0200 buildidsolibsearch commit 363c073195eb984c1a87337c2b766264c9b492c0 Author: Jan Kratochvil Date: Mon Aug 3 20:42:40 2015 +0200 buildidtofile commit 41d3fed626c53a4c1941bb7e5cab4f31d1867d86 Author: Jan Kratochvil Date: Tue Jul 28 22:12:52 2015 +0200 buildidproto commit 9d78733d3e5cb8a75da2fde76c4b5b016adaa73e Author: Jan Kratochvil Date: Wed Jul 29 21:38:45 2015 +0200 buildidtobfd commit daf575991634bf88c15a21b206af0025eb7945b3 Author: Jan Kratochvil Date: Wed Jul 29 19:52:47 2015 +0200 buildidforcemove commit ff999b8d72b8b986c21a85f3853a933d61377d62 Author: Jan Kratochvil Date: Thu Jul 30 23:07:10 2015 +0200 buildidfreefix commit 4c5ec92510d46549c0ab8b7bef138e49916a9c7e Author: Jan Kratochvil Date: Mon Aug 3 19:07:06 2015 +0200 unvalidate commit be47105b3a08816825e3af06e364976a50b0addc Author: Jan Kratochvil Date: Mon Aug 3 20:20:45 2015 +0200 openpsymfile commit 3f48d4a72c91deb16d7845e05c1c6de0017363a1 Author: Jan Kratochvil Date: Mon Aug 3 20:20:10 2015 +0200 openpexec commit ee108b9e22005af135a0e3abdd987a6e8d11ae60 Author: Jan Kratochvil Date: Mon Aug 3 20:18:53 2015 +0200 openpsolib commit e5ac2b27b2656e633f03e03471215134039eab26 Author: Jan Kratochvil Date: Sat Jul 25 23:11:36 2015 +0200 openp commit 357927ebc9c67445f26db3e8f9c4f9619da9758c Author: Jan Kratochvil Date: Wed Jul 29 22:49:17 2015 +0200 filelib commit 5fb62cb37b182a1724c142fb5074c610438f3d21 Author: Jan Kratochvil Date: Wed Jul 29 22:47:55 2015 +0200 targetfd commit fc362f9aceda33a7fda5587a894afb845d9ab969 Author: Jan Kratochvil Date: Mon Jul 27 23:01:54 2015 +0200 openpnullpathname commit cc7e9e180d16e577c75fac12e8dd7397fe0305b8 Author: Jan Kratochvil Date: Mon Jul 27 20:11:55 2015 +0200 openpmode commit 77349f9a27c0b1ad34a16b8245dd8f89663a6b99 Author: Jan Kratochvil Date: Mon Jul 27 22:42:55 2015 +0200 openppath commit d0ec4ffa44abbfb3ae91d073d9e173d08add716a Author: Jan Kratochvil Date: Mon Jul 27 23:15:48 2015 +0200 openpenum commit 53ecd8abae0b52b4972c15d71174e0ba0f141976 Author: Jan Kratochvil Date: Sat Jul 25 22:48:02 2015 +0200 sysroots commit 90f484011751e127565e5600bfde5308773edb93 Author: Jan Kratochvil Date: Fri Jul 17 22:31:05 2015 +0200 build-id: -config,+configure.tgt commit 0ad719190dd1375219d3bcdc3718daf109dff476 Author: Jan Kratochvil Date: Fri Jul 17 22:30:32 2015 +0200 Revert "Revert the previous 7 commits of: Validate binary before use" This reverts commit db1ff28b60f8886b8d7c634f1db2f939ba47a13c. Conflicts: gdb/ChangeLog gdb/gdbserver/ChangeLog gdb/testsuite/ChangeLog commit 3d3389010c00504602656ba6f16c6b91ade75243 Author: Doug Evans Date: Mon Aug 3 09:17:40 2015 -0700 Add parallel build support for perf tests. gdb/testsuite/ChangeLog: * Makefile.in (workers/%.worker, build-perf): New rule. (GDB_PERFTEST_MODE): New variable. (check-perf): Use it. (clean): Clean up gdb.perf parallel build subdirs. * lib/build-piece.exp: New file. * lib/gdb.exp (make_gdb_parallel_path): New function (standard_output_file, standard_temp_file): Call it. (GDB_PARALLEL handling): Make outputs,temp,cache directories as subdirs of $GDB_PARALLEL. * lib/cache.exp (gdb_do_cache): Call make_gdb_parallel_path. commit af061d3e9c09baa0df2f2d4724baed06cc6158ca Author: Doug Evans Date: Mon Aug 3 09:04:03 2015 -0700 Move basic perf-test output from perftest.log to perftest.sum. This patch does two things. 1) Add support for multiple data points. 2) Move the "report" output from perftest.log to perftest.sum. I want to record the raw data somewhere, and a bit of statistical analysis (standard deviation left for another day), but I also don't want it to clutter up the basic report. This patch takes a cue from gdb.{sum,log} and does the same thing with perftest.{sum,log}. Ultimately, we'll probably want to emit raw data to csv files or some such and then do post-processing passes on that. gdb/testsuite/ChangeLog: * lib/perftest/reporter.py (SUM_FILE_NAME): New global. (LOG_FILE_NAME): New global. (TextReporter.__init__): Initialize self.txt_sum. (TextReporter.report): Add support for multiple data-points. Move report to perftest.sum, put raw data in perftest.log. (TextReporter.start): Open sum and log files. (TextReporter.end): Close sum and log files. * lib/perftest/testresult.py (SingleStatisticTestResult.record): Handle multiple data-points. commit 1da03605ced73fc20f40ad649f3038e654d36dee Author: Ulrich Weigand Date: Mon Aug 3 14:35:58 2015 +0200 Fix build error due to uninitialized variable warning As of commit a5fdf78a4402341a0ae23a5ca8a63825e2b5286c, building GDB with a GCC 4.1 host compiler fails with: gdb/cp-namespace.c: In function 'cp_lookup_symbol_via_imports': gdb/cp-namespace.c:482: warning: 'sym.block' may be used uninitialized in this function Apparently, more recent compilers are able to deduce that no actual uninitialized use of sym.block takes place, but GCC 4.1 isn't yet able to do that. Fixed by adding an explicit initalization. gdb/ * cp-namespace.c (cp_lookup_symbol_via_imports): Fix uninitialized variable warning with some compilers. commit 8156fe7f47884390b7404af15903795bb607658b Author: Yao Qi Date: Mon Aug 3 10:37:23 2015 +0100 Enum fix for arm-linux-nat.c This patch fixes GDB build breakage on arm-linux. gdb: 2015-08-03 Yao Qi * arm-linux-nat.c (arm_linux_get_hwbp_type): Capitalize "type" in comment. Replace "rw" with "type". (arm_linux_remove_watchpoint): Change type of "rw" to "enum target_hw_bp_type". commit d60646b95830f1687b641b96f31adbea75c08d6c Author: Nick Clifton Date: Mon Aug 3 09:19:00 2015 +0100 Fix thinkos in the description of the --hash-size command line option for GAS. * doc/as.texinfo (Overview): Add --hash-size to the synopsis and fix typo in its entry: @kindex -> @item. commit a5fdf78a4402341a0ae23a5ca8a63825e2b5286c Author: Pierre-Marie de Rodat Date: Mon Aug 3 09:39:42 2015 +0200 Fix the block_found refactoring ChangeLog entry Replace the old "struct symbol_in_block" with the actual "struct block_symbol", fix a typo and remove mention to an unmodified function. commit 17c42309df30d43ad57556050f96850105a7dfe7 Author: GDB Administrator Date: Mon Aug 3 00:00:08 2015 +0000 Automatic date update in version.in commit e76460dbb9b9b34b9c7fc2f2e4faae38730d00b0 Author: Pedro Alves Date: Sun Aug 2 11:46:50 2015 -0700 Unbreak PPC gdb builds Commit f486487f5586 (Mostly trivial enum fixes) missed updating ppc-linux-nat.c, resulting in: ../../src/gdb/ppc-linux-nat.c: In function ‘_initialize_ppc_linux_nat’: ../../src/gdb/ppc-linux-nat.c:2503:27: error: assignment from incompatible pointer type [-Werror] ../../src/gdb/ppc-linux-nat.c:2504:27: error: assignment from incompatible pointer type [-Werror] gdb/ChangeLog 2015-08-02 Pedro Alves * ppc-linux-nat.c (get_trigger_type, create_watchpoint_request) (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint): Change parameter 'rw's type to enum target_hw_bp_type and rename to 'type'. commit 835a09d99d585bfdc9f760970908e10bd8b2fec2 Author: Pierre-Marie de Rodat Date: Sat Aug 1 11:25:44 2015 +0200 Complete the previous commit (block_found refactoring) The previous commit (Replace the block_found global with explicit data-flow) lacks updates in a couple of files because it was not tested building GDB with --enable-targets=all... but buildbots did. This adds the appropriate simple updates to fix the build. gdb/ChangeLog: * alpha-mdebug-tdep.c (find_proc_desc): Update call to lookup_symbol. * ft32-tdep.c (ft32_skip_prologue): Likewise. * moxie-tdep.c (moxie_skip_prologue): Likewise. * mt-tdep.c (mt_skip_prologue): Likewise. * xstormy16-tdep.c (xstormy16_skip_prologue): Likewise. commit 5e99d4b301d820e1622b35cfd4b359bb4ba264e6 Author: GDB Administrator Date: Sun Aug 2 00:00:08 2015 +0000 Automatic date update in version.in commit d12307c199dfdb9cad1ea79d2626224e705089a3 Author: Pierre-Marie de Rodat Date: Tue Jul 21 17:02:15 2015 +0200 Replace the block_found global with explicit data-flow As Pedro suggested on gdb-patches@ (see https://sourceware.org/ml/gdb-patches/2015-05/msg00714.html), this change makes symbol lookup functions return a structure that includes both the symbol found and the block in which it was found. This makes it possible to get rid of the block_found global variable and thus makes block hunting explicit. gdb/ * ada-exp.y (write_object_renaming): Replace struct ada_symbol_info with struct block_symbol. Update field references accordingly. (block_lookup, select_possible_type_sym): Likewise. (find_primitive_type): Likewise. Also update call to ada_lookup_symbol to extract the symbol itself. (write_var_or_type, write_name_assoc): Likewise. * ada-lang.h (struct ada_symbol_info): Remove. (ada_lookup_symbol_list): Replace struct ada_symbol_info with struct block_symbol. (ada_lookup_encoded_symbol, user_select_syms): Likewise. (ada_lookup_symbol): Return struct block_symbol instead of a mere symbol. * ada-lang.c (defns_collected): Replace struct ada_symbol_info with struct block_symbol. (resolve_subexp, ada_resolve_function, sort_choices, user_select_syms, is_nonfunction, add_defn_to_vec, num_defns_collected, defns_collected, symbols_are_identical_enums, remove_extra_symbols, remove_irrelevant_renamings, add_lookup_symbol_list_worker, ada_lookup_symbol_list, ada_iterate_over_symbols, ada_lookup_encoded_symbol, get_var_value): Likewise. (ada_lookup_symbol): Return a block_symbol instead of a mere symbol. Replace struct ada_symbol_info with struct block_symbol. (ada_lookup_symbol_nonlocal): Likewise. (standard_lookup): Make block passing explicit through lookup_symbol_in_language. * ada-tasks.c (get_tcb_types_info): Update the calls to lookup_symbol_in_language to extract the mere symbol out of the returned value. (ada_tasks_inferior_data_sniffer): Likewise. * ax-gdb.c (gen_static_field): Likewise for the call to lookup_symbol. (gen_maybe_namespace_elt): Deal with struct symbol_in_block from lookup functions. (gen_expr): Likewise. * c-exp.y: Likewise. Remove uses of block_found. (lex_one_token, classify_inner_name, c_print_token): Likewise. (classify_name): Likewise. Rename the "sym" local variable to "bsym". * c-valprint.c (print_unpacked_pointer): Likewise. * compile/compile-c-symbols.c (convert_symbol_sym): Promote the "sym" parameter from struct symbol * to struct block_symbol. Use it to remove uses of block_found. Deal with struct symbol_in_block from lookup functions. (gcc_convert_symbol): Likewise. Update the call to convert_symbol_sym. * compile/compile-object-load.c (compile_object_load): Deal with struct symbol_in_block from lookup functions. * cp-namespace.c (cp_lookup_nested_symbol_1, cp_lookup_nested_symbol, cp_lookup_bare_symbol, cp_search_static_and_baseclasses, cp_lookup_symbol_in_namespace, cp_lookup_symbol_via_imports, cp_lookup_symbol_imports_or_template, cp_lookup_symbol_via_all_imports, cp_lookup_symbol_namespace, lookup_namespace_scope, cp_lookup_nonlocal, find_symbol_in_baseclass): Return struct symbol_in_block instead of mere symbols and deal with struct symbol_in_block from lookup functions. * cp-support.c (inspect_type, replace_typedefs, cp_lookup_rtti_type): Deal with struct symbol_in_block from lookup functions. * cp-support.h (cp_lookup_symbol_nonlocal, cp_lookup_symbol_from_namespace, cp_lookup_symbol_imports_or_template, cp_lookup_nested_symbol): Return struct symbol_in_block instead of mere symbols. * d-exp.y (d_type_from_name, d_module_from_name, push_variable, push_module_name): Deal with struct symbol_in_block from lookup functions. Remove uses of block_found. * eval.c (evaluate_subexp_standard): Update call to cp_lookup_symbol_namespace. * f-exp.y: Deal with struct symbol_in_block from lookup functions. Remove uses of block_found. (yylex): Likewise. * gdbtypes.c (lookup_typename, lookup_struct, lookup_union, lookup_enum, lookup_template_type, check_typedef): Deal with struct symbol_in_block from lookup functions. * guile/scm-frame.c (gdbscm_frame_read_var): Likewise. * guile/scm-symbol.c (gdbscm_lookup_symbol): Likewise. (gdbscm_lookup_global_symbol): Likewise. * gnu-v3-abi.c (gnuv3_get_typeid_type): Likewise. * go-exp.y: Likewise. Remove uses of block_found. (package_name_p, classify_packaged_name, classify_name): Likewise. * infrun.c (insert_exception_resume_breakpoint): Likewise. * jv-exp.y (push_variable): Likewise. * jv-lang.c (java_lookup_class, get_java_object_type): Likewise. * language.c (language_bool_type): Likewise. * language.h (struct language_defn): Update la_lookup_symbol_nonlocal to return a struct symbol_in_block rather than a mere symbol. * linespec.c (find_label_symbols): Deal with struct symbol_in_block from lookup functions. * m2-exp.y: Likewise. Remove uses of block_found. (yylex): Likewise. * mi/mi-cmd-stack.c (list_args_or_locals): Likewise. * objc-lang.c (lookup_struct_typedef, find_imps): Likewise. * p-exp.y: Likewise. Remove uses of block_found. (yylex): Likewise. * p-valprint.c (pascal_val_print): Likewise. * parse.c (write_dollar_variable): Likewise. Remove uses of block_found. * parser-defs.h (struct symtoken): Turn the SYM field into a struct symbol_in_block. * printcmd.c (address_info): Deal with struct symbol_in_block from lookup functions. * python/py-frame.c (frapy_read_var): Likewise. * python/py-symbol.c (gdbpy_lookup_symbol, gdbpy_lookup_global_symbol): Likewise. * skip.c (skip_function_command): Likewise. * solib-darwin.c (darwin_lookup_lib_symbol): Return a struct symbol_in_block instead of a mere symbol. * solib-spu.c (spu_lookup_lib_symbol): Likewise. * solib-svr4.c (elf_lookup_lib_symbol): Likewise. * solib.c (solib_global_lookup): Likewise. * solist.h (solib_global_lookup): Likewise. (struct target_so_ops): Update lookup_lib_global_symbol to return a struct symbol_in_block rather than a mere symbol. * source.c (select_source_symtab): Deal with struct symbol_in_block from lookup functions. * stack.c (print_frame_args, iterate_over_block_arg_vars): Likewise. * symfile.c (set_initial_language): Likewise. * symtab.c (SYMBOL_LOOKUP_FAILED): Turn into a struct symbol_in_block. (SYMBOL_LOOKUP_FAILED_P): New predicate as a macro. (struct symbol_cache_slot): Turn the FOUND field into a struct symbol_in_block. (block_found): Remove. (eq_symbol_entry): Update to deal with struct symbol_in_block in cache slots. (symbol_cache_lookup): Return a struct symbol_in_block rather than a mere symbol. (symbol_cache_mark_found): Add a BLOCK parameter to fill appropriately the cache slots. Update callers. (symbol_cache_dump): Update cache slots handling to the type change. (lookup_symbol_in_language, lookup_symbol, lookup_language_this, lookup_symbol_aux, lookup_local_symbol, lookup_symbol_in_objfile, lookup_global_symbol_from_objfile, lookup_symbol_in_objfile_symtabs, lookup_symbol_in_objfile_from_linkage_name, lookup_symbol_via_quick_fns, basic_lookup_symbol_nonlocal, lookup_symbol_in_static_block, lookup_static_symbol, lookup_global_symbol): Return a struct symbol_in_block rather than a mere symbol. Deal with struct symbol_in_block from other lookup functions. Remove uses of block_found. (lookup_symbol_in_block): Remove uses of block_found. (struct global_sym_lookup_data): Turn the RESULT field into a struct symbol_in_block. (lookup_symbol_global_iterator_cb): Update references to the RESULT field. (search_symbols): Deal with struct symbol_in_block from lookup functions. * symtab.h (struct symbol_in_block): New structure. (block_found): Remove. (lookup_symbol_in_language, lookup_symbol, basic_lookup_symbol_nonlocal, lookup_symbol_in_static_block, looku_static_symbol, lookup_global_symbol, lookup_symbol_in_block, lookup_language_this, lookup_global_symbol_from_objfile): Return a struct symbol_in_block rather than just a mere symbol. Update comments to remove mentions of block_found. * valops.c (find_function_in_inferior, value_struct_elt_for_reference, value_maybe_namespace_elt, value_of_this): Deal with struct symbol_in_block from lookup functions. * value.c (value_static_field, value_fn_field): Likewise. commit 5efafabf7be800069e02f84589c9462e99079c4d Author: GDB Administrator Date: Sat Aug 1 00:00:08 2015 +0000 Automatic date update in version.in commit 2c8c5d375e91824387eeacd1d710e714f1534d36 Author: Pedro Alves Date: Fri Jul 31 20:06:24 2015 +0100 testsuite: tcl exec& -> 'kill -9 $pid' is racy (attach-many-short-lived-thread.exp races and others) The buildbots show that attach-many-short-lived-thread.exp is racy. But after staring at debug logs and playing with SystemTap scripts for a (long) while, I figured out that neither GDB, nor the kernel nor the test's program itself are at fault. The problem is simply that the testsuite machinery is currently subject to PID-reuse races. The attach-many-short-lived-threads.c test program just happens to be much more susceptible to trigger this race because threads and processes share the same number space on Linux, and the test spawns many many short lived threads in succession, thus enlarging the race window a lot. Part of the problem is that several tests spawn processes with "exec&" (in order to test the "attach" command) , and then at the end of the test, to make sure things are cleaned up, issue a 'remote_spawn "kill -p $testpid"'. Since with tcl's "exec&", tcl itself is responsible for reaping the process's exit status, when we go kill the process, testpid may have already exited _and_ its status may have (and often has) been reaped already. Thus it can happen that another process meanwhile reuses $testpid, and that "kill" command kills the wrong process... Frequently, that happens to be attach-many-short-lived-thread, but this explains other test's races as well. In the attach-many-short-lived-threads test, it sometimes manifests like this: (gdb) file /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.threads/attach-many-short-lived-threads Reading symbols from /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.threads/attach-many-short-lived-threads...done. (gdb) Loaded /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.threads/attach-many-short-lived-threads into /home/pedro/gdb/mygit/build/gdb/testsuite/../../gdb/gdb attach 5940 Attaching to program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.threads/attach-many-short-lived-threads, process 5940 warning: process 5940 is a zombie - the process has already terminated ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ptrace: Operation not permitted. (gdb) PASS: gdb.threads/attach-many-short-lived-threads.exp: iter 1: attach info threads No threads. (gdb) PASS: gdb.threads/attach-many-short-lived-threads.exp: iter 1: no new threads set breakpoint always-inserted on (gdb) PASS: gdb.threads/attach-many-short-lived-threads.exp: iter 1: set breakpoint always-inserted on Other times the process dies while the test is ongoing (the process is ptrace-stopped): (gdb) print again = 1 Cannot access memory at address 0x6020cc (gdb) FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 2: reset timer in the inferior (Recall that on Linux, SIGKILL is not interceptable) And other times it dies just while we're detaching: $4 = 319 (gdb) PASS: gdb.threads/attach-many-short-lived-threads.exp: iter 2: print seconds_left detach Can't detach Thread 0x7fb13b7de700 (LWP 1842): No such process (gdb) FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 2: detach GDB mishandles the latter (it should ignore ESRCH while detaching just like when continuing), but that's another story. The fix here is to change spawn_wait_for_attach to use Expect's 'spawn' command instead of Tcl's 'exec&' to spawn programs, because with spawn we control when to wait for/reap the process. That allows killing the process by PID without being subject to pid-reuse races, because even if the process is already dead, the kernel won't reuse the process's PID until the zombie is reaped. The other part of the problem lies in DejaGnu itself, unfortunately. I have occasionally seen tests (attach-many-short-lived-threads included, but not only that one) die with a random inexplicable SIGTERM too, and that too is caused by the same reason, except that in that case, the rogue SIGTERM is sent from this bit in DejaGnu's remote.exp: exec sh -c "exec > /dev/null 2>&1 && (kill -2 $pgid || kill -2 $pid) && sleep 5 && (kill $pgid || kill $pid) && sleep 5 && (kill -9 $pgid || kill -9 $pid) &" ... catch "wait -i $shell_id" Even if the program exits promptly, that whole cascade of kills carries on in the background, thus potentially killing the poor process that manages to reuse $pid... I sent a fix for that to the DejaGnu list: http://lists.gnu.org/archive/html/dejagnu/2015-07/msg00000.html With both patches in place, I haven't seen attach-many-short-lived-threads.exp fail again. Tested on x86_64 Fedora 20, native, gdbserver and extended-gdbserver. gdb/testsuite/ChangeLog: 2015-07-31 Pedro Alves * gdb.base/attach-pie-misread.exp: Rename $res to $test_spawn_id. Use spawn_id_get_pid. Wait for spawn id after eof. Use kill_wait_spawned_process instead of explicit "kill -9". * gdb.base/attach-pie-noexec.exp: Adjust to spawn_wait_for_attach returning a spawn id instead of a pid. Use spawn_id_get_pid and kill_wait_spawned_process. * gdb.base/attach-twice.exp: Likewise. * gdb.base/attach.exp: Likewise. (do_command_attach_tests): Use gdb_spawn_with_cmdline_opts and gdb_test_multiple. * gdb.base/solib-overlap.exp: Adjust to spawn_wait_for_attach returning a spawn id instead of a pid. Use spawn_id_get_pid and kill_wait_spawned_process. * gdb.base/valgrind-infcall.exp: Likewise. * gdb.multi/multi-attach.exp: Likewise. * gdb.python/py-prompt.exp: Likewise. * gdb.python/py-sync-interp.exp: Likewise. * gdb.server/ext-attach.exp: Likewise. * gdb.threads/attach-into-signal.exp (corefunc): Use spawn_wait_for_attach, spawn_id_get_pid and kill_wait_spawned_process. * gdb.threads/attach-many-short-lived-threads.exp: Adjust to spawn_wait_for_attach returning a spawn id instead of a pid. Use spawn_id_get_pid and kill_wait_spawned_process. * gdb.threads/attach-stopped.exp (corefunc): Use spawn_wait_for_attach, spawn_id_get_pid and kill_wait_spawned_process. * gdb.base/break-interp.exp: Rename $res to $test_spawn_id. Use spawn_id_get_pid. Wait for spawn id after eof. Use kill_wait_spawned_process instead of explicit "kill -9". * lib/gdb.exp (can_spawn_for_attach): Adjust comment. (kill_wait_spawned_process, spawn_id_get_pid): New procedures. (spawn_wait_for_attach): Use spawn instead of exec to spawn processes. Don't map cygwin/windows pids here. Now returns a spawn id list. commit b1c59ddc809bc4ad2c082b5cae02a18c68746257 Author: Simon Marchi Date: Fri Jul 31 14:08:14 2015 -0400 Fix m32r_remove_watchpoint parameter type This change should have been in the previous patch (Mostly trivial enum fixes). gdb/ChangeLog: * remote-m32r-sdi.c (m32r_remove_watchpoint): Use enum type instead of integer. commit f486487f558686c05d4f4d91a75638b9da399044 Author: Simon Marchi Date: Fri Jul 31 13:19:53 2015 -0400 Mostly trivial enum fixes This is a patch I extracted from Pedro's C++ branch. It contains the most trivial enum fixes, where an integer type/value was used instead of the appropriate enum type/value. It fixes many C++ errors, since in C++ you can't mix integers and enums implicitely. Regardless of the C++ conversion, I think this is a good cleanup to make use of the appropriate enum types. Regression-tested on native x86_64. gdb/ChangeLog: * aarch64-linux-nat.c (aarch64_linux_can_use_hw_breakpoint): Use enum type or value instead of integer. (aarch64_linux_insert_watchpoint): Likewise. (aarch64_linux_remove_watchpoint): Likewise. * ada-lang.c (ada_op_print_tab): Likewise. * amd64-linux-tdep.c (amd64_canonicalize_syscall): Likewise. (amd64_linux_syscall_record_common): Likewise. * arch-utils.c (target_byte_order_user): Likewise. (default_byte_order): Likewise. * arm-linux-nat.c (arm_linux_can_use_hw_breakpoint): Likewise. (arm_linux_get_hwbp_type): Likewise. (arm_linux_hw_watchpoint_initialize): Likewise. (arm_linux_insert_watchpoint): Likewise. * arm-linux-tdep.c (arm_canonicalize_syscall): Likewise. (arm_linux_syscall_record): Likewise. * breakpoint.c (update_watchpoint): Likewise. (breakpoint_here_p): Likewise. (bpstat_print): Likewise. (enable_breakpoint_disp): Likewise. * c-lang.c (c_op_print_tab): Likewise. * cli/cli-decode.c (add_info_alias): Likewise. * d-lang.c (d_op_print_tab): Likewise. * eval.c (evaluate_subexp_standard): Likewise. * f-exp.y (dot_ops): Likewise. (f77_keywords): Likewise. * f-lang.c (f_op_print_tab): Likewise. * go-lang.c (go_op_print_tab): Likewise. * guile/scm-breakpoint.c (gdbscm_make_breakpoint): Likewise. * guile/scm-cmd.c (gdbscm_make_command): Likewise. * guile/scm-param.c (gdbscm_make_parameter): Likewise. * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer): Likewise. * guile/scm-string.c (struct scm_to_stringn_data): Likewise. (struct scm_from_stringn_data): Likewise. * i386-linux-tdep.c (i386_canonicalize_syscall): Likewise. * ia64-linux-nat.c (ia64_linux_insert_watchpoint): Likewise. (ia64_linux_remove_watchpoint): Likewise. (ia64_linux_can_use_hw_breakpoint): Likewise. * infrun.c (print_stop_event): Likewise. * jv-lang.c (java_op_print_tab): Likewise. * linux-nat.c (linux_proc_xfer_partial): Likewise. * linux-nat.h (struct lwp_info): Likewise. * linux-thread-db.c (enable_thread_event): Likewise. * m2-lang.c (m2_op_print_tab): Likewise. * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Likewise. (mi_cmd_stack_list_variables): Likewise. * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise. * mi/mi-out.c (mi_table_begin): Likewise. (mi_table_header): Likewise. * mips-linux-nat.c (mips_linux_can_use_hw_breakpoint): Likewise. (mips_linux_insert_watchpoint): Likewise. (mips_linux_remove_watchpoint): Likewise. * nat/mips-linux-watch.c (mips_linux_watch_type_to_irw): Likewise. * nat/mips-linux-watch.h (struct mips_watchpoint): Likewise. (mips_linux_watch_type_to_irw): Likewise. * nto-procfs.c (procfs_can_use_hw_breakpoint): Likewise. (procfs_insert_hw_watchpoint): Likewise. (procfs_remove_hw_watchpoint): Likewise. (procfs_hw_watchpoint): Likewise. (procfs_can_use_hw_breakpoint): Likewise. (procfs_remove_hw_watchpoint): Likewise. (procfs_insert_hw_watchpoint): Likewise. * p-lang.c (pascal_op_print_tab): Likewise. * ppc-linux-nat.c (ppc_linux_can_use_hw_breakpoint): Likewise. * ppc-linux-tdep.c (ppu2spu_unwind_register): Likewise. * ppc-sysv-tdep.c (get_decimal_float_return_value): Likewise. * procfs.c (procfs_can_use_hw_breakpoint): Likewise. (procfs_insert_watchpoint): Likewise. (procfs_remove_watchpoint): Likewise. * psymtab.c (recursively_search_psymtabs): Likewise. * remote-m32r-sdi.c (m32r_can_use_hw_watchpoint): Likewise. (m32r_insert_watchpoint): Likewise. * remote-mips.c (mips_can_use_watchpoint): Likewise. (mips_insert_watchpoint): Likewise. (mips_remove_watchpoint): Likewise. * remote.c (watchpoint_to_Z_packet): Likewise. (remote_insert_watchpoint): Likewise. (remote_remove_watchpoint): Likewise. (remote_check_watch_resources): Likewise. * s390-linux-nat.c (s390_insert_watchpoint): Likewise. (s390_remove_watchpoint): Likewise. (s390_can_use_hw_breakpoint): Likewise. * s390-linux-tdep.c (s390_gdbarch_init): Likewise. * spu-linux-nat.c (spu_can_use_hw_breakpoint): Likewise. * target.h (struct target_ops): Likewise. * tilegx-tdep.c (tilegx_analyze_prologue): Likewise. * ui-out.c (struct ui_out_hdr): Likewise. (append_header_to_list): Likewise. (get_next_header): Likewise. (verify_field): Likewise. (ui_out_begin): Likewise. (ui_out_field_int): Likewise. (ui_out_field_fmt_int): Likewise. (ui_out_field_skip): Likewise. (ui_out_field_string): Likewise. (ui_out_field_fmt): Likewise. * varobj.c (new_variable): Likewise. * x86-nat.c (x86_insert_watchpoint): Likewise. (x86_remove_watchpoint): Likewise. (x86_can_use_hw_breakpoint): Likewise. * xtensa-tdep.h (struct gdbarch_tdep): Likewise. * inflow.c (enum gdb_has_a_terminal_flag_enum): Add name to previously anonymous enumeration type.. * linux-record.h (enum gdb_syscall): Add gdb_sys_no_syscall value. * target-debug.h (target_debug_print_enum_target_hw_bp_type): New. (target_debug_print_enum_bptype): New. * target-delegates.c: Regenerate. commit 22d31b1192bb38c766e349e5eed1a82298cc2c1f Author: GDB Administrator Date: Fri Jul 31 00:00:08 2015 +0000 Automatic date update in version.in commit 032a0fca009e8ae7ffc5443d07d959c839dc7af4 Author: Sandra Loosemore Date: Thu Jul 30 14:20:01 2015 -0700 Replace incorrect patch to gdb.cp/var-tag.exp. 2015-07-30 Sandra Loosemore gdb/testsuite/ * gdb.cp/var-tag.exp (do_global_tests): Revert broken commit 4bc4d42859e3b42c79c89295ef39944bdb3e6753 and apply the correct patch. commit e1b5381f1b24d2c6b1e254cf7e35f8a470394adc Author: Sandra Loosemore Date: Thu Jul 30 13:26:03 2015 -0700 Don't allow non-stack memory writes in the prologue for nios2. 2015-07-30 Sandra Loosemore gdb/ * nios2-tdep.c (nios2_analyze_prologue): Do what the comment already says and disallow non-stack memory writes in the prologue. commit 9aaf8e3a2875f719e4d5633ba222a3c04a5d0e8d Author: Sandra Loosemore Date: Thu Jul 30 13:23:43 2015 -0700 Update trap/break handling in nios2 prologue analyzer. 2015-07-30 Sandra Loosemore gdb/ * nios2-tdep.c (nios2_analyze_prologue): Update comments to reflect how current GCC emits stack overflow checks. Match both trap and break instructions for backward compatibility. Disallow other trap and break instructions in the prologue. commit 61a934ca2090456acb4432b6c136241d3aaee7a2 Author: Sandra Loosemore Date: Thu Jul 30 12:06:29 2015 -0700 Restrict gdb.arch/ppc64-symtab-cordic.exp to ppc64 targets. 2015-07-30 Sandra Loosemore gdb/testsuite/ * gdb.arch/ppc64-symtab-cordic.exp: Restrict to ppc64 targets. commit 4bc4d42859e3b42c79c89295ef39944bdb3e6753 Author: Sandra Loosemore Date: Thu Jul 30 11:52:49 2015 -0700 Reapply fix for gdb.cp/var-tag.exp C++ failures. 2015-07-30 Sandra Loosemore gdb/testsuite/ Reapply: 2014-05-21 Mark Wielaard * gdb.cp/var-tag.exp (do_global_tests): Handle underlying type. commit 998d452ac81bc240996c967dd27f7b747240cd66 Author: Pedro Alves Date: Thu Jul 30 18:41:44 2015 +0100 remote follow fork and spurious child stops in non-stop mode Running gdb.threads/fork-plus-threads.exp against gdbserver in extended-remote mode, even though the test passes, we still see broken behavior: (gdb) PASS: gdb.threads/fork-plus-threads.exp: set detach-on-fork off continue & Continuing. (gdb) PASS: gdb.threads/fork-plus-threads.exp: continue & [New Thread 28092.28092] [Thread 28092.28092] #2 stopped. [New Thread 28094.28094] [Inferior 2 (process 28092) exited normally] [New Thread 28094.28105] [New Thread 28094.28109] ... [Thread 28174.28174] #18 stopped. [New Thread 28185.28185] [Inferior 10 (process 28174) exited normally] [New Thread 28185.28196] [Thread 28185.28185] #20 stopped. Cannot remove breakpoints because program is no longer writable. Further execution is probably impossible. [Inferior 11 (process 28185) exited normally] [Inferior 1 (process 28091) exited normally] PASS: gdb.threads/fork-plus-threads.exp: reached breakpoint info threads No threads. (gdb) PASS: gdb.threads/fork-plus-threads.exp: no threads left info inferiors Num Description Executable * 1 /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.threads/fork-plus-threads (gdb) PASS: gdb.threads/fork-plus-threads.exp: only inferior 1 left All the "[Thread FOO] #NN stopped." above are bogus, as well as the "Cannot remove breakpoints because program is no longer writable.", which is a consequence. The problem is that when we intercept a fork event, we should report the event for the parent, only, and leave the child stopped, but not report its stop event. GDB later decides whether to follow the parent or the child. But because handle_extended_wait does not set the child's last_status.kind to TARGET_WAITKIND_STOPPED, a stop_all_threads/unstop_all_lwps sequence (e.g., from trying to access memory) by mistake ends up queueing a SIGSTOP on the child, resuming it, and then when that SIGSTOP is intercepted, because the LWP has last_resume_kind set to resume_stop, gdbserver reports the stop to GDB, as GDB_SIGNAL_0: ... >>>> entering unstop_all_lwps unstopping all lwps proceed_one_lwp: lwp 1600 client wants LWP to remain 1600 stopped proceed_one_lwp: lwp 1828 Client wants LWP 1828 to stop. Making sure it has a SIGSTOP pending ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Sending sigstop to lwp 1828 pc is 0x3615ebc7cc Resuming lwp 1828 (continue, signal 0, stop expected) continue from pc 0x3615ebc7cc unstop_all_lwps done sigchld_handler <<<< exiting unstop_all_lwps handling possible target event >>>> entering linux_wait_1 linux_wait_1: [] my_waitpid (-1, 0x40000001) my_waitpid (-1, 0x1): status(137f), 1828 LWFE: waitpid(-1, ...) returned 1828, ERRNO-OK LLW: waitpid 1828 received Stopped (signal) (stopped) pc is 0x3615ebc7cc Expected stop. LLW: resume_stop SIGSTOP caught for LWP 1828.1828. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... linux_wait_1 ret = LWP 1828.1828, 1, 0 <<<< exiting linux_wait_1 Writing resume reply for LWP 1828.1828:1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Tested on x86_64 Fedora 20, extended-remote. gdb/gdbserver/ChangeLog: 2015-07-30 Pedro Alves * linux-low.c (handle_extended_wait): Set the child's last reported status to TARGET_WAITKIND_STOPPED. commit 69dde7dcb81f6baf2b823dcc03e040c29ee5de7d Author: Pedro Alves Date: Wed Jul 22 18:01:46 2015 +0100 PR threads/18600: Inferiors left around after fork+thread spawn The new gdb.threads/fork-plus-threads.exp test exposes one more problem. When one types "info inferiors" after running the program, one see's a couple inferior left still, while there should only be inferior #1 left. E.g.: (gdb) info inferiors Num Description Executable 4 process 8393 /home/pedro/bugs/src/test 2 process 8388 /home/pedro/bugs/src/test * 1 /home/pedro/bugs/src/test (gdb) info threads Calling prune_inferiors() manually at this point (from a top gdb) does not remove them, because they still have inf->pid != 0 (while they shouldn't). This suggests that we never mourned those inferiors. Enabling logs (master + previous patch) we see: ... WL: waitpid Thread 0x7ffff7fc2740 (LWP 9513) received Trace/breakpoint trap (stopped) WL: Handling extended status 0x03057f LHEW: Got clone event from LWP 9513, new child is LWP 9579 [New Thread 0x7ffff37b8700 (LWP 9579)] WL: waitpid Thread 0x7ffff7fc2740 (LWP 9508) received 0 (exited) WL: Thread 0x7ffff7fc2740 (LWP 9508) exited. ^^^^^^^^ [Thread 0x7ffff7fc2740 (LWP 9508) exited] WL: waitpid Thread 0x7ffff7fc2740 (LWP 9499) received 0 (exited) WL: Thread 0x7ffff7fc2740 (LWP 9499) exited. [Thread 0x7ffff7fc2740 (LWP 9499) exited] RSRL: resuming stopped-resumed LWP Thread 0x7ffff37b8700 (LWP 9579) at 0x3615ef4ce1: step=0 ... (gdb) info inferiors Num Description Executable 5 process 9508 /home/pedro/bugs/src/test ^^^^ 4 process 9503 /home/pedro/bugs/src/test 3 process 9500 /home/pedro/bugs/src/test 2 process 9499 /home/pedro/bugs/src/test * 1 /home/pedro/bugs/src/test (gdb) ... Note the "Thread 0x7ffff7fc2740 (LWP 9508) exited." line. That's this in wait_lwp: /* Check if the thread has exited. */ if (WIFEXITED (status) || WIFSIGNALED (status)) { thread_dead = 1; if (debug_linux_nat) fprintf_unfiltered (gdb_stdlog, "WL: %s exited.\n", target_pid_to_str (lp->ptid)); } } That was the leader thread reporting an exit, meaning the whole process is gone. So the problem is that this code doesn't understand that an WIFEXITED status of the leader LWP should be reported to infrun as process exit. gdb/ChangeLog: 2015-07-30 Pedro Alves PR threads/18600 * linux-nat.c (wait_lwp): Report to the core when thread group leader exits. gdb/testsuite/ChangeLog: 2015-07-30 Pedro Alves PR threads/18600 * gdb.threads/fork-plus-threads.exp: Test that "info inferiors" only shows inferior 1. commit 4dd63d488a76482543517c4c4cde699ee6fa33ef Author: Pedro Alves Date: Thu Jul 30 18:50:29 2015 +0100 PR threads/18600: Threads left stopped after fork+thread spawn When a program forks and another process start threads while gdb is handling the fork event, newly created threads are left stuck stopped by gdb, even though gdb presents them as "running", to the user. This can be seen with the test added by this patch. The test has the inferior fork a certain number of times and waits for all children to exit. Each fork child spawns a number of threads that do nothing and joins them immediately. Normally, the program should run unimpeded (from the point of view of the user) and exit very quickly. Without this fix, it doesn't because of some threads left stopped by gdb, so inferior 1 never exits. The program triggers when a new clone thread is found while inside the linux_stop_and_wait_all_lwps call in linux-thread-db.c: linux_stop_and_wait_all_lwps (); ALL_LWPS (lp) if (ptid_get_pid (lp->ptid) == pid) thread_from_lwp (lp->ptid); linux_unstop_all_lwps (); Within linux_stop_and_wait_all_lwps, we reach linux_handle_extended_wait with the "stopping" parameter set to 1, and because of that we don't mark the new lwp as resumed. As consequence, the subsequent resume_stopped_resumed_lwps, called from linux_unstop_all_lwps, never resumes the new LWP. There's lots of cruft in linux_handle_extended_wait that no longer makes sense. On systems with CLONE events support, we don't rely on libthread_db for thread listing anymore, so the code that preserves stop_requested and the handling of last_resume_kind is all dead. So the fix is to remove all that, and simply always mark the new LWP as resumed, so that resume_stopped_resumed_lwps re-resumes it. gdb/ChangeLog: 2015-07-30 Pedro Alves Simon Marchi PR threads/18600 * linux-nat.c (linux_handle_extended_wait): On CLONE event, always mark the new thread as resumed. Remove STOPPING parameter. (wait_lwp): Adjust call to linux_handle_extended_wait. (linux_nat_filter_event): Adjust call to linux_handle_extended_wait. (resume_stopped_resumed_lwps): Add debug output. gdb/testsuite/ChangeLog: 2015-07-30 Simon Marchi Pedro Alves PR threads/18600 * gdb.threads/fork-plus-threads.c: New file. * gdb.threads/fork-plus-threads.exp: New file. commit 6b940e6a063ac13372b44a03a54b6be33d22a183 Author: Pierre Langlois Date: Thu Jul 30 18:05:00 2015 +0100 Remove isize output argument from fast_tracepoint_valid_at This patch removes the isize output argument from the fast_tracepoint_valid_at gdbarch hook. It was used to return the size of the instruction that needs to be replaced when installing a fast tracepoint. Instead of getting this value from the fast_tracepoint_valid_at hook, we can call the gdb_insn_length function. If we do not do this, then architectures which do not have a restriction on where to install the fast tracepoint will send uninitialized memory off to GDBserver. See remote_download_tracepoint: ~~~ int isize; if (gdbarch_fast_tracepoint_valid_at (target_gdbarch (), tpaddr, &isize, NULL)) xsnprintf (buf + strlen (buf), BUF_SIZE - strlen (buf), ":F%x", isize); ~~~ The default implementation of fast_tracepoint_valid_at will not set isize resulting in uninitialized memory being sent. Later on, GDBserver could use this information to compute a jump offset. gdb/ChangeLog: * arch-utils.c (default_fast_tracepoint_valid_at): Remove unused isize argument. * arch-utils.h (default_fast_tracepoint_valid_at): Likewise. * breakpoint.c (check_fast_tracepoint_sals): Adjust call to gdbarch_fast_tracepoint_valid_at. * gdbarch.sh (fast_tracepoint_valid_at): Remove isize argument. * gdbarch.h: Regenerate. * gdbarch.c: Regenerate. * i386-tdep.c (i386_fast_tracepoint_valid_at): Remove isize argument. Do not set it. * remote.c (remote_download_tracepoint): Adjust call to gdbarch_fast_tracepoint_valid_at. Call gdb_insn_length to get the instruction length. commit e8b416815be691cc3fb1212d1a3dcb5d21a0d19d Author: Yao Qi Date: Thu Jul 30 15:07:39 2015 +0100 Remove global variable arm_hwcap After previous patch, we don't need global variable arm_hwcap. This patch is to remove it. gdb/gdbserver: 2015-07-30 Yao Qi * linux-arm-low.c (arm_hwcap): Remove it. (arm_read_description): New local variable arm_hwcap. Don't set arm_hwcap to zero. commit 89abb03951a90203c6635296447b7e96a1248a68 Author: Yao Qi Date: Thu Jul 30 15:07:39 2015 +0100 Use regcache->tdesc instead of arm_hwcap arm_hwcap is a global variable, and we should avoid using it as much as we can. Instead of checking arm_hwcap, we can check whether regcache->tdesc is a certain kind of target description. This is what this patch does. gdb/gdbserver: 2015-07-30 Yao Qi * linux-arm-low.c (arm_fill_wmmxregset): Don't use arm_hwcap. Use regcache->tdesc instead. (arm_store_wmmxregset): Likewise. (arm_fill_vfpregset): Likewise. (arm_store_vfpregset): Likewise. commit deca266c89cf61c679f759a74bdf362960b0cc2c Author: Yao Qi Date: Thu Jul 30 15:07:38 2015 +0100 Don't use arm_regmap and arm_num_regs in arm_fill_gregset and arm_store_gregset In order to align with arm-linux-nat.c counterparts, we don't use arm_num_regs and arm_regmap in functions arm_fill_gregset and arm_store_gregset. Instead, we use register numbers. With this patch applied, arm_fill_gregset and arm_store_gregset don't need arm_num_regs and arm_regmap, and they will be moved to a separate file shared for both arm and aarch64 in the following patch. gdb/gdbserver: 2015-07-30 Yao Qi * linux-arm-low.c: Include arch/arm.h. (arm_fill_gregset): Don't use arm_num_regs and arm_regmap. (arm_store_gregset): Likewise. commit ec74129274bf2fb65aac9381a19731c570f7be29 Author: Yao Qi Date: Thu Jul 30 15:07:38 2015 +0100 Move ARM register numbers enum to arch/arm.h This patch moves ARM register numbers enum to arch/arm.h, so that it can used by GDBserver too. This patch also creates a new directory gdb/arch in which arch-specific or target-specific files are placed. gdb: 2015-07-30 Yao Qi * arm-tdep.h (enum gdb_regnum): Move it to ... * arch/arm.h: ... here. New file. * Makefile.in (HFILES_NO_SRCDIR): Add arch/arm.h. commit 0ea6402e6ce0af0623f0cfd180b626c7ccc41891 Author: Pierre Langlois Date: Thu Jul 30 12:40:49 2015 +0100 [AArch64] Rename boolean arguments in decoding functions This patch cleans up the decoding functions using booleans when they can decode two instructions. The boolean argument is used to know which of the two instructions was decoded. The instructions affected are BR/BLR, B/BL, CBZ/CBNZ and TBZ/TBNZ. These arguments would be named after a named bit in the instruction encoding, this patch renames them to 'is_XXX'. Furthermore, the 'unsigned' type would be used to describe a boolean while aarch64_decode_cb would use 'int' (see the 'is64' argument). This patch makes all booleans be 'int' and decoded bitfields be 'unsigned'. gdb/ChangeLog: * aarch64-tdep.c (decode_b): Rename link argument to is_bl. Change its type to int *. (decode_br): Rename link argument to is_blr. Change its type to int *. (decode_cb): Rename op argument to is_cbnz. Change its type to int *. (decode_tb): Rename op argument to is_tbnz. Change its type to int *. Set is_tbnz to either 1 or 0. (aarch64_analyze_prologue): Change type of is_link to int. Add new variables is_cbnz and is_tbnz. Adjust call to aarch64_decode_cb and aarch64_decode_tb. commit a8484f9612fc5b7d2b762b6fec950faa0fcd1483 Author: H.J. Lu Date: Thu Jul 30 04:17:02 2015 -0700 Properly disassemble movnti in Intel mode gas/testsuite/ PR binutils/13571 * gas/i386/i386.exp: Run i386-intel and x86_64-intel. * gas/i386/i386-intel.d: New file. * gas/i386/x86_64-intel.d: Likewise. opcodes/ PR binutils/13571 * i386-dis.c (MOD_0FC3): New. (PREFIX_0FC3): Renamed to ... (PREFIX_MOD_0_0FC3): This. (dis386_twobyte): Replace PREFIX_0FC3 with MOD_0FC3. (prefix_table): Replace Ma with Ev on movntiS. (mod_table): Add MOD_0FC3. commit c6e8a9a802bcd3a96ef14b6ea1b6cd60d5d8d065 Author: H.J. Lu Date: Thu Jul 30 03:27:44 2015 -0700 Don't change the default symbol for relocatable link We should change the default symbol for the versioned symbol only when not performing a relocatable link. bfd/ PR ld/18735 * elflink.c (_bfd_elf_add_default_symbol): Add the default symbol if not performing a relocatable link. (elf_link_add_object_symbols): Adjust the default symbol if not performing a relocatable link. ld/testsuite/ PR ld/18735 * ld-elf/pr18735.d: New file. * ld-elf/pr18735.s: Likewise. commit 13be649613bb62e75296d1f69a7c889ddf29a564 Author: GDB Administrator Date: Thu Jul 30 00:00:08 2015 +0000 Automatic date update in version.in commit aa58a496ed9a3ee19233af0bfb7c76ae02b9b2c1 Author: Simon Marchi Date: Wed Jul 29 17:15:46 2015 -0400 MIPS ptrace build fixes Since Pedro's ptrace cleanups, the MIPS buildbot compilation fails. Code in MIPS native uses ptrace with 3 arguments, where ptrace requires 4. When looking at the definition of ptrace in /usr/include/sys/ptrace.h, it shows that it takes a variable number of arguments. The wrapper macro in nat/gdb_ptrace.h takes a fixed number of arguments (4). That would explain why it used to work and stopped. I am pushing this as obvious, tell me if there is any problem. I built-tested this with a MIPS toolchain (ct-ng), but I don't have any setup to test it. At least it should put back the buildbot builder in a better shape. gdb/ChangeLog: * mips-linux-nat.c (write_watchpoint_regs): Add NULL as ptrace's 4th parameter. (mips_linux_new_thread): Likewise. * nat/mips-linux-watch.c (mips_linux_read_watch_registers): Likewise. gdb/gdbserver/ChangeLog: * linux-mips-low.c (mips_linux_prepare_to_resume): Add NULL as ptrace's 4th parameter. commit d618e4c51c73f2139a1aa8903d677a4202956f21 Author: Patrick Palka Date: Wed Jul 29 12:44:21 2015 -0400 batch-preserve-term-settings.exp: use send_quit_command some more Just a slight cleanup. Committed as obvious. gdb/testsuite/ChangeLog: * gdb.base/batch-preserve-term-settings.exp (test_terminal_settings_preserved_after_cli_exit): Use send_quit_command. commit 60b57502ec8b600dac3fe53aa6615965f0430a6d Author: H.J. Lu Date: Wed Jul 29 11:20:04 2015 -0700 Use noclone attribute only for GCC 4.5 or newer noclone attribute was added to GCC 4.5. We should check GCC version before using it. * ld-elf/pr18718.c (bar): Use noclone attribute only for GCC 4.5 or newer. commit de0a00263930c9ed3e4e330a0d8573df4805fe87 Author: H.J. Lu Date: Wed Jul 29 10:51:08 2015 -0700 Move run-time support check for size relocation We must check run-time support for size relocation first before running the tests. * ld-size/size.exp: Move run-time support check. commit 06265e53f4657a86f3ac3485552b97c942c9f4ac Author: Patrick Palka Date: Wed Jul 29 11:59:25 2015 -0400 Test that terminal settings are restored after quitting via SIGTERM Tested on x86_64 Debian Stretch, native, gdbserver and extended-gdbserver. Also tested that the various error paths, like if $PPID is empty or if SIGTERM did not not kill GDB, function correctly. gdb/testsuite/ChangeLog: * gdb.base/batch-preserve-term-settings.exp (send_quit_command): New proc. (test_terminal_settings_preserved_after_sigterm): New test. commit e77e648e93adf564fb10e725e4d8800d30a83eb5 Author: H.J. Lu Date: Wed Jul 29 09:11:15 2015 -0700 Don't set link_info.executable for "ld -r" This patch changes "ld -r" not to set link_info.executable. It removes !info->relocatable check for info->executable and adds it for !info->executable in elflink.c. bfd/ * elflink.c (elf_link_add_object_symbols): Remove !info->relocatable check for info->executable. Add !info->relocatable check for !info->executable. (elf_link_output_extsym): Remove !info->relocatable check for info->executable. ld/ * lexsup.c (parse_args): Don't set link_info.executable to TRUE for link_info.relocatable. commit 1eef6428112a1c1fe0295f36f92d7a3cf9908228 Author: Pedro Alves Date: Wed Jul 29 16:24:53 2015 +0100 Make gdb.base/multi-forks.exp work with the native-extended-gdbserver board Now that we can expect inferior output with the gdbserver boards, this is all it takes to have the test pass against extended-remote gdbserver. Don Breazeal originally wrong something like this: https://sourceware.org/ml/gdb-patches/2015-03/msg00506.html which was what originally inspired the introduction of $inferior_spawn_id. gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves Don Breazeal * gdb.base/multi-forks.exp (continue_to_exit_bp_loc): Expect output from both inferior_spawn_id and gdb_spawn_id. commit 7da5b897c96faa3c520662d2b0bd4837567bfb1d Author: Sergio Durigan Junior Date: Wed Jul 29 11:10:49 2015 -0400 Uniquefy gdb.threads/attach-into-signal.exp Hi, While examining BuildBot's logs, I noticed: gdb.threads/attach-into-signal.exp has two nested loops and don't use unique messages. This commit fixes that. Pushed under the obvious rule. gdb/testsuite/ChangeLog: 2015-07-29 Sergio Durigan Junior * gdb.threads/attach-into-signal.exp (corefunc): Use with_test_prefix on nested loops, uniquefying the test messages. commit dac804dfa6389b71f50b5e169ffa4e239958e774 Author: Sergio Durigan Junior Date: Wed Jul 29 10:16:38 2015 -0400 Fix typo in gdb.python/py-objfile.exp My last commit d60a92216e5d599fed6b37c58c744debe38a0b24 introduced a regression caused by a typo. This fixes it. Checked in as obvious. Thanks to Pedro for reporting. gdb/testsuite/ChangeLog: 2015-07-29 Sergio Durigan Junior * gdb.python/py-objfile.exp: Fix typo that snuck in from my last commit. commit 18206ca3f9367f1488cdfc1475f8da072e7e9636 Author: Patrick Palka Date: Mon Jul 27 11:54:07 2015 -0400 Make sure terminal settings are restored before exiting When exiting GDB -- whether it's via the "quit" command, via a SIGTERM, or otherwise -- we should leave the terminal in the state we acquired it. To that end, we have to undo any modifications that may have been made by the TUI (ncurses) or by the CLI (readline). Tested on x86_64 Debian Stretch. gdb/ChangeLog: * top.c: Include "tui/tui.h". (undo_terminal_modifications_before_exit): New static function. (quit_force): Use it. gdb/testsuite/ChangeLog: * gdb.base/batch-preserve-term-settings.exp (test_terminal_settings_preserved_after_cli_exit): New test. commit 7afa63c624ae570472381b8e35ce066bf145844a Author: Patrick Palka Date: Tue Jul 28 13:58:17 2015 -0400 Initialize terminal_state to terminal_is_ours Right now this variable is initialized to 0 i.e. terminal_is_inferior and does not get set to terminal_is_ours until target_terminal_init() is called. This function however only gets called when an inferior is first created. In the meantime, terminal_state would wrongly remain set to terminal_is_inferior. Tested on x86_64 Debian Stretch -- native, gdbserver and extended-gdbserver. gdb/ChangeLog: * target.c (terminal_state): Initialize to terminal_is_ours. commit 90074d118de70c5eb2c71ba83e58d96359149d79 Author: Patrick Palka Date: Mon Jul 27 22:10:13 2015 -0400 Clean up batch-preserve-term-settings.exp See ChangeLog for details. No functional change intended. Tested on x86_64 Debian Stretch by verifying that the gdb.log output remains unchanged for native, gdbserver and extended-gdbserver. gdb/testsuite/ChangeLog: * gdb.base/batch-preserve-term-settings.exp: Remove top-level manipulation of saved_gdbflags. (test_terminal_settings_preserved): Remove global declaration of the unused variable pagination_prompt. Remove manipulation of saved_gdbflags. Use a local variable EXTRA_GDBFLAGS instead of GDBFLAGS. commit cc9f16aa882eb22cb2128c5eb8237fd453ab2988 Author: Yao Qi Date: Wed Jul 29 12:43:10 2015 +0100 PR record/18691: Fix fails in solib-precsave.exp We see the following regressions in testing on x86_64-linux, reverse-step^M Cannot access memory at address 0x2aaaaaed26c0^M (gdb) FAIL: gdb.reverse/solib-precsave.exp: reverse-step into solib function one when GDB reverse step into a function, GDB wants to skip prologue so it requests TARGET_OBJECT_CODE_MEMORY to read some code memory in memory_xfer_partial_1. However in dcache_read_memory_partial, the object becomes TARGET_OBJECT_MEMORY return ops->to_xfer_partial (ops, TARGET_OBJECT_MEMORY, NULL, myaddr, NULL, memaddr, len, xfered_len); in reverse debugging, ops->to_xfer_partial is record_full_core_xfer_partial and it will return TARGET_XFER_E_IO because it can't find any records. The test fails. At this moment, the delegate relationship is like dcache -> record-core -> core -> exec and we want to GDB read memory across targets, which means if the requested memory isn't found in record-core, GDB can read memory from core, and exec even further if needed. I find raw_memory_xfer_partial is exactly what I want. gdb: 2015-07-29 Yao Qi PR record/18691 * dcache.c (dcache_read_memory_partial): Call raw_memory_xfer_partial. * target.c (raw_memory_xfer_partial): Make it non-static. * target.h (raw_memory_xfer_partial): Declare. commit eb1a79028c63ca565850c5d64ae60193f90cd841 Author: Pedro Alves Date: Wed Jul 29 11:09:46 2015 +0100 Don't set gdb,noinferiorio on gdbserver boards As all tests that check gdb,noinferiorio have been adjusted to expect inferior output with "-i $inferior_spawn_id", we can remove this now, and thus enable those tests against gdbserver. gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * boards/gdbserver-base.exp: Don't set gdb,noinferiorio. commit 8b75dd3b8a32e790d7d9f1621ad4fbb6d7af9e8e Author: Pedro Alves Date: Wed Jul 29 11:09:46 2015 +0100 interrupt.exp: Revert back to checking gdb,noinferiorio at the top The following patch will remove the gdb,noinferiorio setting from the gdbserver boards, so this bit can be reverted. gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/interrupt.exp: Revert back to checking gdb,noinferiorio at the top. commit dedad4e3d2ed1d6ecdb89422fc0baa028021f19d Author: Pedro Alves Date: Wed Jul 29 11:09:45 2015 +0100 Unbuffer all tests that rely on stdio This forces all tests that rely on stdio to be unbuffered, like interrupt.exp was adjusted in 6f98576f. To recap, in some scenarios, GDB or GDBserver can be spawned with input _not_ connected to a tty, and then tests that rely on stdio fail with timeouts, because the inferior's stdout and stderr streams end up fully buffered. Calling gdb_unbuffer_output forces output to be unbuffered. See https://sourceware.org/ml/gdb-patches/2015-02/msg00809.html and https://sourceware.org/ml/gdb-patches/2015-02/msg00819.html. Tested on x86_64 Fedora 20, native, and against a remote gdbserver board file that connects to the target with ssh, with and without -t (create pty). gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/call-ar-st.c: Include "../lib/unbuffer_output.c". (main): Call gdb_unbuffer_output. * gdb.base/call-rt-st.c: Include "../lib/unbuffer_output.c". (main): Call gdb_unbuffer_output. * gdb.base/call-strs.c: Include "../lib/unbuffer_output.c". (main): Call gdb_unbuffer_output. * gdb.base/call-strs.exp: Adjust to step over the gdb_unbuffer_output call. * gdb.base/catch-gdb-caused-signals.c: Include "../lib/unbuffer_output.c". (main): Call gdb_unbuffer_output. * gdb.base/dprintf.c: Include "../lib/unbuffer_output.c". (main): Call gdb_unbuffer_output. * gdb.base/ending-run.c: Include "../lib/unbuffer_output.c". (main): Call gdb_unbuffer_output. * gdb.base/run.c: Include "../lib/unbuffer_output.c". (main): Call gdb_unbuffer_output. * gdb.base/shlib-call.exp: Adjust to step over the gdb_unbuffer_output call. * gdb.base/shmain.c: Include "../lib/unbuffer_output.c". (main): Call gdb_unbuffer_output. * gdb.base/sizeof.c: Include "../lib/unbuffer_output.c". (main): Call gdb_unbuffer_output. * gdb.base/varargs.c: Include "../lib/unbuffer_output.c". (main): Rename to ... (test): ... this. (main): Reimplement. * gdb.base/varargs.exp: Run to test instead of to main. * gdb.mi/mi-dprintf.c: Include "../lib/unbuffer_output.c". (main): Call gdb_unbuffer_output. commit 58789a917b7eed57c5200ec0a4d8a2fc44efc64c Author: Pedro Alves Date: Wed Jul 29 11:09:45 2015 +0100 Make gdb.mi/mi-dprintf.exp use $inferior_spawn_id gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.mi/mi-dprintf.exp (mi_expect_dprintf): New procedure, factore out from mi_continue_dprintf. For call-style dprintfs, expect dprintf output out of $inferior_spawn_id. (mi_continue_dprintf): Use mi_expect_dprintf. * gdb.mi/mi-dprintf.c: Include "../lib/unbuffer_output.c". (main): Call gdb_unbuffer_output. commit e8376742bdba233d14cfbff91776be065ae27587 Author: Pedro Alves Date: Wed Jul 29 11:09:44 2015 +0100 Adjust MI to $inferior_spawn_id Rather than trying to determine where (which spawn id) the inferior output comes out from, which depends on e.g., remote that supports file i/o remote protocol extension, vs remote that sends inferior output through a separate $inferior_spawn_id, vs native debugging, which sends output through $gdb_spawn_id, vs native debugging with a test that uses "separate-inferior-tty" (like mi-console.exp does), always expect inferior output from both $inferior_spawn_id and $gdb_spawn_id. mi-console.exp itself already copes with different possible outputs in a similar way: # Combine both outputs in a single pattern. set output "($semihosted_output|$native_output)" Fixes: FAIL: gdb.mi/mi-console.exp: Testing console output inferior output (timeout) when testing against local gdbserver with gdb,noinferiorio removed from the board file. gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * lib/mi-support.exp (mi_inferior_spawn_id): Delete. (default_mi_gdb_start): Set inferior_spawn_id instead of mi_inferior_spawn_id. If $inferior_spawn_id is not set, set it to gdb_spawn_id. (mi_gdb_test): Always expect inferior output from both $inferior_spawn_id and $gdb_spawn_id. commit 0828001082ea8dfd223211373fb912d47f715827 Author: Pedro Alves Date: Wed Jul 29 11:09:44 2015 +0100 Make gdb.gdb/selftest.exp use '-i $inferior_spawn_id' gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.gdb/selftest.exp (test_with_self): Update comment. Use send_inferior and $inferior_spawn_id. commit 4d30e4328fd344ef6f26c7ee520d08813da69a33 Author: Pedro Alves Date: Wed Jul 29 11:09:43 2015 +0100 Make gdb.gdb/complaints.exp use '-i $inferior_spawn_id' and gdb_test_stdio gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.gdb/complaints.exp (test_initial_complaints) (test_serial_complaints, test_short_complaints): Use gdb_test_stdio. (test_empty_complaint): Handle $inferior_spawn_id != $gdb_spawn_id. commit 0d30a335a6747bb0e2847e0aee2ba958cf19dac7 Author: Pedro Alves Date: Wed Jul 29 11:09:43 2015 +0100 Make gdb.base/varargs.exp use gdb_test_stdio gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/varargs.exp: Use gdb_test_stdio. commit 39413b296f9eb92ae3936bf29397ac1d35ca803b Author: Pedro Alves Date: Wed Jul 29 11:09:42 2015 +0100 Make gdb.base/shlib-call.exp use gdb_test_stdio gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/shlib-call.exp: Use gdb_test_stdio. commit 7cb000a97ebcf7f23fe1b63fbbdd86d87b8c8634 Author: Pedro Alves Date: Wed Jul 29 11:09:42 2015 +0100 Make gdb.base/ending-run.exp use gdb_test_stdio gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/ending-run.exp: Use gdb_test_stdio. commit d7b8ac8297642399a10216068b8003cd778b7237 Author: Pedro Alves Date: Wed Jul 29 11:09:41 2015 +0100 Make gdb.base/call-rt-st.exp use $inferior_spawn_id gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/call-rt-st.exp (print_struct_call): Split "result" parameter into two new parameters, "inf_result" and "gdb_result". Expect inferior output and gdb output from $inferior_spawn_id and $gdb_spawn_id, respectively. Adjust all callers. commit 789c3a0cc3b1ace2d54ecc37fdbdb967f1810aaf Author: Pedro Alves Date: Wed Jul 29 11:09:40 2015 +0100 Make gdb.base/call-ar-st.exp use gdb_test_stdio gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/call-ar-st.exp: Use gdb_test_stdio+multi_line instead of gdb_test_sequence. commit 77e760c3aae925fef163d866a651079fea5f3143 Author: Pedro Alves Date: Wed Jul 29 11:09:40 2015 +0100 Make gdb.base/a2-run.exp use $inferior_spawn_id and gdb_test_stdio This one is a little more complicated than the other patches in this series, because of the exit status wrapper handling, requiring a little state machine. gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/a2-run.exp (saw_usage, saw_exit_wrapper) (saw_spurious_output): Expect inferior output from $inferior_spawn_id. Use gdb_test_stdio. commit 8396d2cdf4b013b237bf8cca306bbec602bdbb72 Author: Pedro Alves Date: Wed Jul 29 11:09:39 2015 +0100 Make gdb.base/dprintf.exp use gdb_test_stdio This one needed a larger revamp. The issue is that the "info breakpoints" test at the bottom of the file is broken on targets that can do both server-side dprintf, and inferior I/O, because then neither the breakpoint numbers match nor the "already hit N times" output. Address that by making the test restart gdb from scratch when switching between dprintf styles. Test groups are factored into procedures, and we now use with_test_prefix. While we're changing test messages, lowercase a few test messages, and then while at it, modernize a couple things here and there. gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/dprintf.exp: Use standard_testfile. Change prepare_for_testing call. (srcfile): Don't set. (restart): New procedure. (test_dprintf): New procecure, use to continue over dprintfs. (test_call, test_agent): New procedures, tests moved here. Restart gdb and recreate dprintfs. Adjust expected output. commit 2051d61f76bc009f42d094e57fa0e7114fb23a4e Author: Pedro Alves Date: Wed Jul 29 11:09:39 2015 +0100 Make gdb.base/catch-gdb-caused-signals.exp use gdb_test_stdio gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/catch-gdb-caused-signals.exp: Use gdb_test_stdio. commit 452397af30f68f6d4ed05fa6d9fc30ca70cbe7f9 Author: Pedro Alves Date: Wed Jul 29 11:09:38 2015 +0100 Make gdb.base/call-strs.exp use gdb_test_stdio gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/call-strs.exp: Use gdb_test_stdio instead of gdb_test. commit 8aed9555b232946606f3fb9370c1657a71c2afaf Author: Pedro Alves Date: Wed Jul 29 11:09:38 2015 +0100 Make gdb.base/sizeof.exp use gdb_test_stdio gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/sizeof.exp (check_sizeof, check_valueof): Use gdb_test_stdio. commit 188a61b4404369ae30dce95ad4b05975a3609a33 Author: Pedro Alves Date: Wed Jul 29 11:09:37 2015 +0100 Introduce gdb_test_stdio This adds a new helper procedure to be used by tests that rely on stdio. gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * lib/gdb.exp (gdb_test_stdio): New procedure. commit 12264a451d993a0a8635be82bed15618e0f4645f Author: Pedro Alves Date: Wed Jul 29 11:09:37 2015 +0100 Don't rely on inferior I/O in gdb.base/restore.exp There seems to be no point in relying on stdio here. Simply use gdb_continue_to_end instead. (not removing the printf calls, as the .c file is half generated.) gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/restore.exp (restore_tests): Use gdb_continue_to_end. commit 23ffc893f5693f20dc807c6a7daad402de0c2e51 Author: Pedro Alves Date: Wed Jul 29 11:09:36 2015 +0100 Don't rely on inferior I/O in {call-signal-resume, unwindonsignal}.exp These tests rely on inferior I/O, but that seems pointless and unrelated here. Simply remove the printf calls, and don't expect them. gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/call-signal-resume.exp: Remove check for gdb,noinferiorio. Don't expect "no signal". Use gdb_test. * gdb.base/unwindonsignal.exp: Likewise. * gdb.base/call-signals.c (gen_signal): Remove printf call. * gdb.base/unwindonsignal.c (gen_signal): Likewise. commit 655669183104eb8eab559b5faf2b5a676ab6cd3f Author: Pedro Alves Date: Wed Jul 29 11:09:36 2015 +0100 Don't rely on inferior I/O in gdb.base/siginfo-addr.exp No point in relying on stdio in this test. Simply run to a breakpoint instead. gdb/testsuite/ChangeLog: 2015-07-29 Pedro Alves * gdb.base/siginfo-addr.c (pass): New function. (handler): Call it iff si_addr is correct. * gdb.base/siginfo-addr.exp: Remove gdb_skip_stdio_test check. Set a breakpoint at "pass" and continue to it. commit 11509220a045532b1995b4af5dac2f921b541003 Author: Hans-Peter Nilsson Date: Wed Jul 29 05:39:27 2015 +0200 bfd/mmo.c (MMIX): Fix massive gcc LTO testsuite failures. * mmo.c (mmo_write_symbols_and_terminator): Skip symbol-type assignment loop for bfd plugin objects. commit a66f09dd911338fb02ee40cec3840f579f533262 Author: GDB Administrator Date: Wed Jul 29 00:00:09 2015 +0000 Automatic date update in version.in commit d60a92216e5d599fed6b37c58c744debe38a0b24 Author: Sergio Durigan Junior Date: Tue Jul 28 17:38:14 2015 -0400 Uniquify test names from gdb.python/{py-objfile.exp,py-pp-registration.exp} While running some regression tests, I noticed that the two Python tests mentioned in the $SUBJECT contain non-unique names. This is a violation of our guidelines: And also makes things harder for BuildBot. So I hacked both testcases and made every test name unique. I guess this could be considered an obvious patch, but I decided to post it before pushing because others may have different opinions about the names. OK to apply? gdb/testsuite/ChangeLog: 2015-07-28 Sergio Durigan Junior * gdb.python/py-objfile.exp: Make some tests have unique names. * gdb.python/py-pp-registration.exp: Likewise. commit bde40b8f563dd682b9c6bcb8e24c3f5bd944a4f6 Author: Pedro Alves Date: Tue Jul 28 18:04:07 2015 +0100 Fix gdb.server/server-exec-info.exp with the extended-remote board This test fails with --target_board=native-extended-gdbserver because it misses the usual "disconnect": (gdb) spawn ../gdbserver/gdbserver --once :2347 /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.server/server-exec-info Process /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.server/server-exec-info created; pid = 4736 Listening on port 2347 target extended-remote localhost:2347 Already connected to a remote target. Disconnect? (y or n) ^CsQuit (gdb) et sysroot remote: Undefined command: "et". Try "help". (gdb) n The program is not being run. (gdb) FAIL: gdb.server/server-exec-info.exp: set sysroot remote: (got interactive prompt) info files (gdb) FAIL: gdb.server/server-exec-info.exp: info files gdb/testsuite/ChangeLog: 2015-07-28 Pedro Alves * gdb.server/server-exec-info.exp: Issue a "disconnect". commit 3ae385afe150f2e001a1cc8fb14f4ba0ab94cdf2 Author: Simon Marchi Date: Tue Jul 28 11:01:50 2015 -0400 Consider addressable memory unit size in various value functions This patch updates various value handling functions to make them consider the addressable memory unit size of the current architecture. This allows to correctly extract and print values on architectures whose addressable memory unit is not 8 bits. The patch doesn't cover all the code that would ideally need to be adjusted, only the code paths that we happen to use, plus a few obvious ones. Specifically, those areas are not covered by this patch: - Management of unavailable bits - Bitfields - C++ stuff Regression-tested on x86-64 Ubuntu 14.04. I saw no related test result change. gdb/ChangeLog: * c-valprint.c (c_val_print_array): Consider addressable memory unit size. (c_val_print_ptr): Likewise. (c_val_print_int): Likewise. * findvar.c (read_frame_register_value): Likewise. * valarith.c (find_size_for_pointer_math): Likewise. (value_ptrdiff): Likewise. (value_subscripted_rvalue): Likewise. * valops.c (read_value_memory): Likewise (and rename variables). (value_assign): Likewise. (value_repeat): Likewise. (value_array): Likewise. (value_slice): Likewise. * valprint.c (generic_val_print_ptr): Likewise. (generic_val_print_enum): Likewise. (generic_val_print_bool): Likewise. (generic_val_print_int): Likewise. (generic_val_print_char): Likewise. (generic_val_print_float): Likewise. (generic_val_print_decfloat): Likewise. (generic_val_print_complex): Likewise. (val_print_scalar_formatted): Likewise. (val_print_array_elements): Likewise. * value.c (set_value_parent): Likewise. (value_contents_copy_raw): Likewise. (set_internalvar_component): Likewise. (value_primitive_field): Likewise. (value_fetch_lazy): Likewise. * value.h (read_value_memory): Update comment. commit e512cdbdffafefa63baeb835ba6636fcef56e17d Author: Simon Marchi Date: Tue Jul 28 11:01:50 2015 -0400 Introduce get_value_arch Similar to get_type_arch, used to get the gdbarch associated to a struct value. gdb/ChangeLog: * value.c (get_value_arch): New function. * value.h (get_value_arch): New declaration. commit 3723fda829671b273d7b31a0753bb1fa8f614cb6 Author: Simon Marchi Date: Tue Jul 28 11:01:49 2015 -0400 Update comments in struct value for non-8-bits architectures gdb/ChangeLog: * value.c (struct value): Update comments. commit 2e0569314c2ee9e5635899d47b0bc0a4b9b08d8d Author: Simon Marchi Date: Tue Jul 28 11:01:49 2015 -0400 Update comment for struct type's length field, introduce type_length_units This patch tries to clean up a bit the blur around the length field in struct type, regarding its use with architectures with non-8-bits addressable memory. It clarifies that the field is expressed in host bytes, which is what is the closest to the current reality. It also introduces a new function to get the length of the type in target addressable memory units. gdb/ChangeLog: * gdbtypes.c (type_length_units): New function. * gdbtypes.h (type_length_units): New declaration. (struct type) : Update comment. commit c6e5c03a2c0dfa224a71056ede035476e511f5fc Author: Robert Suchanek Date: Tue Jul 28 11:26:39 2015 +0100 Add cores for M5100 series gas/ * config/tc-mips.c (mips_cpu_info_table): Add m5100 and m5101 entries. * doc/c-mips.texi: Document m5100 and m5101 for -march=. commit 77403ce9669d35b286b3ca75fdc1e4c61f36b59a Author: Robert Suchanek Date: Tue Jul 28 11:26:31 2015 +0100 Add -march=interaptiv gas/ * config/tc-mips.c (mips_cpu_info_table): Add interaptiv entry. * doc/c-mips.text: Document -march=interaptiv. commit e5654c0f8492e65b3e3ac5e1a2276856049eb1b1 Author: Alan Modra Date: Tue Jul 28 11:03:57 2015 +0930 Fallout from "Reorder more powerpc64 sections for -z relro" Commit 23283c1b changed the layout of some bss style sections on powerpc64, but neglected to add a page gap before the third PT_LOAD segment created by this reording. Without a page gap we get two PT_LOAD headers that overlap by one page in memory. That shouldn't be allowed because the dynamic loader will load garbage from the first page of the last segment over the last page of the previous segment. bfd/ * elf.c (_bfd_elf_map_sections_to_segments): Do not make a new segment for loaded sections after nonloaded sections if the sections are on the same page. ld/testsuite/ * ld-powerpc/elfv2so.d: Update commit d6f1bafa2c05241b89c0303a9f6a2af89f51c39c Author: Iain Buclaw Date: Tue Jul 28 09:57:32 2015 +0200 Check for asprintf and vasprintf during configure stage. This should fix some build errors seen on AIX, MinGW, and possibly other non-GNU systems too due to missing asprintf(). bfd/ * configure.in: Add asprintf and vasprintf to AC_CHECK_DECLS. * config.in, configure: Regenerate. commit 671c4e31fb12f1bee30d3bb5f8ad95f17d8d4663 Author: GDB Administrator Date: Tue Jul 28 00:00:08 2015 +0000 Automatic date update in version.in commit 6f8ea6c424a3ceda065c39903065cfb251add37d Author: H.J. Lu Date: Mon Jul 27 16:16:17 2015 -0700 Set NOPIE_CFLAGS and NOPIE_LDFLAGS GCC 6 can be configured to generate PIE by default. But some linker size tests expect non-PIE. This patch defines NOPIE_CFLAGS to "-fno-PIE" and NOPIE_LDFLAGS to "-no-pie" if target compiler supports them. Add $NOPIE_CFLAGS and $NOPIE_LDFLAGS to linker size tests if needed. * config/default.exp (NOPIE_CFLAGS): New. (NOPIE_LDFLAGS): Likewise. * ld-size/size.exp (run_cc_link_tests): Add $NOPIE_CFLAGS and $NOPIE_LDFLAGS if needed. (run_ld_link_exec_tests): Add $NOPIE_CFLAGS if needed. commit 13e1dec8960122ec0329f74e5915503e14db5ea2 Author: Simon Marchi Date: Mon Jul 27 15:49:24 2015 -0400 gdb.mi/mi-pending.c: Return NULL instead of nothing in thread function Using gcc 5.2 (maybe other versions as well), building mi-pending.c gives these warnings: ./gdb.mi/mi-pending.c: In function ‘thread_func’: ./gdb.mi/mi-pending.c:34:5: warning: ‘return’ with no value, in function returning non-void return; ^ ./gdb.mi/mi-pending.c:38:5: warning: ‘return’ with no value, in function returning non-void return; ^ gdb_compile_pthreads assumes that the build was successful only if there is no output. These warnings therefore make gdb_compile_pthreads think that the build failed, and the test doesn't run. The easy fix is to replace the "return" with "return NULL". I am pushing this as obvious. gdb/testsuite/ChangeLog: * gdb.mi/mi-pending.c (thread_func): Replace return with return NULL. commit da33c9a7bff093e772a381bf9ab42d876089cdcf Author: Simon Marchi Date: Mon Jul 27 15:02:10 2015 -0400 Remove xfail in gdb.mi/mi-watch.exp I noticed there was an unexpected pass in mi-watch.exp when running on x86_64. Doing a bit of archeology shows that the xfail was added by 4a543da. This particular test failed on the MIPS architecture, which the original contributor was working with. Here is the thread: https://www.sourceware.org/ml/gdb-patches/2007-09/msg00151.html Looking at the latest buildbot results for MIPS, it seems that it's also an unexpected pass on that architecture. Therefore, I see no reason to leave the xfail in place. gdb/testsuite/ChangeLog: * gdb.mi/mi-watch.exp (test_watchpoint_triggering): Remove xfail. commit 0c87c0bfdfe19d5e2b8938d1db42c43e7b19e53f Author: Simon Marchi Date: Mon Jul 27 14:11:26 2015 -0400 Factor out complex printing code from generic_val_print gdb/ChangeLog: * valprint.c (generic_val_print): Factor out complex printing code to ... (generic_val_print_complex): ... this new function. commit 9550ae5e548dd63599ffadedfe8d1768bfc94072 Author: Simon Marchi Date: Mon Jul 27 14:11:25 2015 -0400 Factor out decfloat printing code from generic_val_print gdb/ChangeLog: * valprint.c (generic_val_print): Factor out decfloat printing code to ... (generic_val_print_decfloat): ... this new function. commit 7784724bb1b8a5732239e27935cd76813b9df35c Author: Simon Marchi Date: Mon Jul 27 14:11:24 2015 -0400 Factor out float printing code from generic_val_print gdb/ChangeLog: * valprint.c (generic_val_print): Factor out float printing code to ... (generic_val_print_float): ... this new function. commit 385f5affc00e88ad6ff0f8287bb3c1c43d59351c Author: Simon Marchi Date: Mon Jul 27 14:11:24 2015 -0400 Factor out char printing code from generic_val_print gdb/ChangeLog: * valprint.c (generic_val_print): Factor out char printing code to ... (generic_val_print_char): ... this new function. commit b21b63420be3857c1d0e2676e1214d63fe38ed3d Author: Simon Marchi Date: Mon Jul 27 14:11:23 2015 -0400 Factor out int printing code from generic_val_print gdb/ChangeLog: * valprint.c (generic_val_print): Factor out integer printing code to ... (generic_val_print_int): ... this new function. commit e5bead4b23122be39e0bf32889fd609df6299e1c Author: Simon Marchi Date: Mon Jul 27 14:11:23 2015 -0400 Factor out bool printing code from generic_val_print gdb/ChangeLog: * valprint.c (generic_val_print): Factor out bool printing code to ... (generic_val_print_bool): ... this new function. commit 4a8c372f1f82d1be24d2575e5979690efd839e08 Author: Simon Marchi Date: Mon Jul 27 14:11:22 2015 -0400 Factor out function/method printing code from generic_val_print gdb/ChangeLog: * valprint.c (generic_val_print): Factor out function/method printing code to ... (generic_val_print_func): ... this new function. commit d93880bd1cd10d0ccf5346e261d5d145d50d8ab0 Author: Simon Marchi Date: Mon Jul 27 14:11:22 2015 -0400 Factor out flags printing code from generic_val_print gdb/ChangeLog: * valprint.c (generic_val_print): Factor out flags printing code to ... (generic_val_print_flags): ... this new function. commit ef0bc0dd961898d393627c3d502ad168028d7c40 Author: Simon Marchi Date: Mon Jul 27 14:11:21 2015 -0400 Factor out enum printing code from generic_val_print gdb/ChangeLog: * valprint.c (generic_val_print): Factor out enum printing code to ... (generic_val_print_enum): ... this new function. commit fe43fede4726122efbee9d52b9e68b47be97757f Author: Simon Marchi Date: Mon Jul 27 14:11:21 2015 -0400 Factor out reference printing code from generic_val_print gdb/ChangeLog: * valprint.c (generic_val_print): Factor out reference printing code to ... (generic_val_print_ref): ... this new function. commit 45000ea2f350fae68b4524059ae1876f8e89f2bb Author: Simon Marchi Date: Mon Jul 27 14:11:20 2015 -0400 Factor out memberptr printing code from generic_val_print gdb/ChangeLog: * valprint.c (generic_val_print): Factor out memberptr printing code to ... (generic_val_print_memberptr): ... this new function. commit 81eb921ae109e875b9df6435ac6947181d824a67 Author: Simon Marchi Date: Mon Jul 27 14:11:19 2015 -0400 Factor out pointer printing code from generic_val_print gdb/ChangeLog: * valprint.c (generic_val_print): Factor out pointer printing code to ... (generic_val_print_ptr): ... this new function. commit 557dbe8a5ea7f87fd9e6910997ca04f306cab195 Author: Simon Marchi Date: Mon Jul 27 14:11:19 2015 -0400 Factor out array printing code from generic_val_print gdb/ChangeLog: * valprint.c (generic_val_print): Factor out array printing code to ... (generic_val_print_array): ... this new function. commit 9f436164d55690a0b3d2e4308bfd8834996b97d1 Author: Simon Marchi Date: Mon Jul 27 14:11:18 2015 -0400 Factor out print_unpacked_pointer from generic_val_print gdb/ChangeLog: * valprint.c (generic_val_print): Factor out print_unpacked_pointer code to ... (print_unpacked_pointer): ... this new function. commit c45bd4fd43e5eb0cbad8ec410504e4778c64c65d Author: H.J. Lu Date: Mon Jul 27 10:04:31 2015 -0700 Check address of versined symbol Since GCC 5 folds symbol address comparison, assuming each symbol has a different address, &foo == &bar is always false for GCC 5. This patch adds check_ptr_eq if 2 addresses are the same and uses it to check the address of versined symbol. PR ld/18718 * ld-elf/check-ptr-eq.c: New file. * ld-elf/pr18718.c (main): Call check_ptr_eq. * ld-elf/shared.exp: Add check-ptr-eq.c to PR ld/18718 tests. commit 077836f7cf6725386c01ae3bb7111663b8f2b85e Author: Patrick Palka Date: Fri Jul 24 13:58:47 2015 -0400 Have SIGTERM promptly quit GDB even when the dummy target is active GDB currently does not promptly quit after receiving a SIGTERM while no proper target is active. This is because in handle_sigterm we currently look at target_can_async_p to determine whether to asynchronously quit GDB using an async signal handler or to asynchronously quit using the quit flag. However, target_can_async_p is always false under the dummy target, so under this target we always use the quit flag and not the async signal handler to signal that GDB should quit. So GDB won't quit until a code path that checks the quit flag is executed. To fix this issue, this patch makes the SIGTERM handler no longer inspect target_can_async_p, and instead makes the handler unconditionally set the quit flag _and_ mark the corresponding async signal handler, so that if the target is async (or if it's the dummy target) then we will likely quit through the async signal handler, and if it's not async then we will likely quit through the quit flag. This redundant approach is similar to how we handle SIGINT. gdb/ChangeLog: * event-top.c (handle_sigterm): Don't inspect target_can_async_p. Always set the quit flag and always mark the async signal handler. gdb/testsuite/ChangeLog: * gdb.base/gdb-sigterm-2.exp: New test. commit 50904b25ecf09f14c9406157b7f51255b21f54c0 Author: Yao Qi Date: Mon Jul 27 16:15:48 2015 +0100 [gdbserver] Don't set srv_linux_usrregs for aarch64*-*-linux* We don't use PTRACE_PEEKUSR/PTRACE_POKEUSR on aarch64-linux, so don't need to set srv_linux_usrregs. This patch removes that line. gdb/gdbserver: 2015-07-27 Yao Qi * configure.srv (case aarch64*-*-linux*): Don't set srv_linux_usrregs. commit 3a60804fbca012d751d21fde17592df0eee8d82a Author: Yao Qi Date: Mon Jul 27 16:12:31 2015 +0100 Fix ChangeLog entry commit 206350da0f99b9a50fe6405613b3b05561a55aae Author: Yao Qi Date: Thu Jul 23 16:26:14 2015 +0100 Remove REMOTE_EXAMPLES from gdb/Makefile.in I happen to see REMOTE_EXAMPLES isn't used anywhere, so this patch removes it. REMOTE_EXAMPLES was added in the following commit in 1991, commit 86bbb439c8fa01fd55d6cbce102483a471ffd0c4 Author: John Gilmore Date: Fri May 3 19:57:13 1991 +0000 There should be a Makefile in the cvs main directory, configured for "./config.gdb none", so that things like "make tags" and "make tar" will work. and it was used like: TARFILES = ${TAGFILES_MAINDIR} ${OTHERS} ${REMOTE_EXAMPLES} However TARFILES was removed by the change latter in 1994, Tue Aug 16 15:24:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com) * symtab.c (decode_line_1): If funfirstline and we get a non-LOC_BLOCK symbol (e.g. variable or type), then error(). * Makefile.in (TARFILES, NONSRC, SFILES_STAND, SFILES_KGDB): Remove; unused. Since then, REMOTE_EXAMPLES is not used any more. gdb: 2015-07-27 Yao Qi * Makefile.in (REMOTE_EXAMPLES): Remove it. commit 37a42ee9ad4e4bf635edc87661acb42175f20f91 Author: H.J. Lu Date: Mon Jul 27 07:56:32 2015 -0700 Regenerate configure files bfd/ * configure: Regenerated. binutils/ * configure: Regenerated. gas/ * configure: Regenerated. gold/ * configure: Regenerated. gprof/ * configure: Regenerated. ld/ * configure: Regenerated. opcodes/ * configure: Regenerated. commit 136bb21fda016fcfc97dfeff692ee899951148de Author: H.J. Lu Date: Mon Jul 27 07:49:05 2015 -0700 Sync toplevel files with GCC Sync with GCC 2015-07-24 Michael Darling PR other/66259 * config-ml.in: Reflects renaming of configure.in to configure.ac * configure: Likewise * configure.ac: Likewise commit edb71a9c3838b83424f6eb0ef04eab5b31aa7f4a Author: H.J. Lu Date: Mon Jul 27 07:43:26 2015 -0700 Sync config with GCC Sync with GCC 2015-07-24 Micahel Darling PR other/66259 * gettext.m4: Reflects renaming of configure.in to configure.ac * po.m4: Likewise * stdint.m4: Likewise * tcl.m4: Likewise commit 79559014b26f3c6bc64f29dabce613fa89418ee5 Author: Nick Clifton Date: Mon Jul 27 15:15:28 2015 +0100 Fix the address size computation for the MSP430 port. * elf32-msp430.c (uses_large_model): New function. (msp430_elf_eh_frame_address_size): New function. (elf_backend_eh_frame_address_size): Define. commit 219a6876d48c9986b47d045a41b74cb6c84a2116 Author: H.J. Lu Date: Mon Jul 27 05:18:20 2015 -0700 Append $PLT_CFLAGS to CC/CXX for S-records tests S-records tests don't work with -fno-plt. This path appends $PLT_CFLAGS to CC and CXX for S-records tests. * ld-srec/srec.exp (CC): Save and restore. Append $PLT_CFLAGS. (CXX): Likewise. commit cda77e9efc68d04e50990ea72890bd8e515d4d7b Author: H.J. Lu Date: Mon Jul 27 05:17:26 2015 -0700 Pass $PLT_CFLAGS to ld_compile Some linker shard library tests without PIC expect PLT. This patch passes $PLT_CFLAGS to ld_compile. * ld-shared/shared.exp: Pass $PLT_CFLAGS to ld_compile. commit 379d3f1ffc3fab112a0f388a1565c6be2f74f5c3 Author: H.J. Lu Date: Mon Jul 27 05:16:38 2015 -0700 Append $PLT_CFLAGS to CC for NOCROSSREFS tests NOCROSSREFS tests don't work with -fno-plt. This path appends $PLT_CFLAGS to CC for NOCROSSREFS tests. * ld-scripts/crossref.exp (CC): Save and restore. Append $PLT_CFLAGS. commit ea9fb8b3e9f9624262984ad402f2aac34c65534d Author: H.J. Lu Date: Mon Jul 27 05:15:48 2015 -0700 Add $PLT_CFLAGS to -fPIC for run_cc_link_tests Some x86 linker tests expect PLT. This patch adds $PLT_CFLAGS to -fPIC for run_cc_link_tests. * ld-i386/i386.exp (run_cc_link_tests): Add $PLT_CFLAGS to -fPIC if needed. * ld-x86-64/mpx.exp (run_cc_link_tests): Likewise. * ld-x86-64/x86-64.exp (run_cc_link_tests): Likewise. commit faebca0390ceef085f383d42423e14079dcd0a48 Author: H.J. Lu Date: Mon Jul 27 05:15:01 2015 -0700 Pass $PLT_CFLAGS to ld_compile Some linker visibility tests without PIC expect PLT. This patch passes $PLT_CFLAGS to ld_compile. * ld-elfvsb/elfvsb.exp (visibility_run): Pass $PLT_CFLAGS to ld_compile. commit c4972ed6029abb1a56eeafe144000031d902f074 Author: H.J. Lu Date: Mon Jul 27 05:13:55 2015 -0700 Pass $PLT_CFLAGS to build_binary Some linker symbol version tests without PIC expect PLT. This patch adds $PLT_CFLAGS to CFLAGS. * ld-elfvers/vers.exp (build_vers_lib_no_pic): Pass $PLT_CFLAGS to build_binary. commit e10461aebd2c9165c168583e70e7901e962ed1bb Author: H.J. Lu Date: Mon Jul 27 03:42:39 2015 -0700 Set PLT_CFLAGS to "-fplt" if supported GCC 6 supports -fno-plt. But some linker tests expect PLT. This patch defines PLT_CFLAGS to "-fplt" if target compiler supports it. * config/default.exp (PLT_CFLAGS): New. commit 32f573bcb3aaa1c9defcad79dbb5851fcc02ae2d Author: Szabolcs Nagy Date: Mon Jul 27 11:48:48 2015 +0100 [AArch64] Fix extern protected data handling Emit *GLOB_DAT instead of *RELATIVE relocs for protected data in shared objects. This is needed for the fix of glibc bug 17711: https://sourceware.org/bugzilla/show_bug.cgi?id=17711 bfd: PR ld/18705 * elfnn-aarch64.c (elf_backend_extern_protected_data): Define. ld/testsuite: PR ld/18705 * ld-aarch64/protected-data.d: New. * ld-aarch64/protected-data.s: New. * ld-aarch64/aarch64-elf.exp: Add new test. commit b68a20d6675f1360ea4db50a9835c073675b9889 Author: Szabolcs Nagy Date: Mon Jul 27 11:45:27 2015 +0100 [ARM] Fix extern protected data handling Emit *GLOB_DAT instead of *RELATIVE relocs for protected data in shared objects. This is needed for the fix of glibc bug 17711: https://sourceware.org/bugzilla/show_bug.cgi?id=17711 bfd: PR ld/18705 * elf32-arm.c (elf_backend_extern_protected_data): Define. ld/testsuite: PR ld/18705 * ld-arm/protected-data.d: New. * ld-arm/protected-data.s: New. * ld-arm/arm-elf.exp: Add new test. commit 0c096ed760273eb364d2e4e6def21f688ceff525 Author: GDB Administrator Date: Mon Jul 27 00:00:08 2015 +0000 Automatic date update in version.in commit edcab5e8bdaafdb96b182693a5c8eab020ba3e5c Author: H.J. Lu Date: Sun Jul 26 14:55:39 2015 -0700 Compile PR ld/18718 tests with -O2 PR ld/18718 * ld-elf/shared.exp: Compile PR ld/18718 tests with -O2. commit d76b6207439e16b98aa04f38b730376257b31a62 Author: H.J. Lu Date: Sun Jul 26 11:55:57 2015 -0700 Set errcnt and warncnt to 0 in run_host_cmd_yesno run_host_cmd_yesno should set errcnt and warncnt to 0. Otherwise, they may leak to the next run. * lib/ld-lib.exp (run_host_cmd_yesno): Set errcnt and warncnt to 0. commit ab3b14b04b35e4e9ee8bd8cdb38ef888f0922da5 Author: Doug Kwan Date: Sun Jul 26 00:54:26 2015 -0700 Make arm_unaligned_reloc test less sensitive to disassembler output format. commit c9f35b348e586c0f48592918324b6e15c815a702 Author: Kevin Buettner Date: Fri Jul 10 10:25:29 2015 -0700 remote.c: Make read_ptid return a null value when no thread id is found. When using GDB to debug an RX target using the GDB remote protocol, using a Renesas supplied debug agent, I encountered the following assertion error: thread.c:85: internal-error: inferior_thread: Assertion `tp' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Create a core file of GDB? (y or n) n Command aborted. This assertion error occurs due to the fact that the value associated with inferior_ptid is not on the thread list. The remote debug output (obtained with "set debug remote 1") is fairly short, so I will include it up to the point where things go wrong - which is somewhat before the assertion failure: (gdb) target remote coyote.lan:61234 Remote debugging using coyote.lan:61234 Sending packet: $qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+#c9...Ack Packet received: PacketSize=c00;qXfer:memory-map:read-;qXfer:features:read-;QStartNoAckMode+;multiprocess+;QNonStop+ Packet qSupported (supported-packets) is supported Sending packet: $QStartNoAckMode#b0...Ack Packet received: OK Sending packet: $Hgp0.0#ad...Packet received: OK Sending packet: $QNonStop:0#8c...Packet received: OK Sending packet: $qTStatus#49...Packet received: Packet qTStatus (trace-status) is NOT supported Sending packet: $?#3f...Packet received: S02 Sending packet: $qfThreadInfo#bb...Packet received: m1 Sending packet: $qsThreadInfo#c8...Packet received: l Sending packet: $qAttached:a410#bf...Packet received: 0 Packet qAttached (query-attached) is supported Sending packet: $Hc-1#09...Packet received: OK Sending packet: $qC#b4...Packet received: QC not supported Above is the trace starting from the invocation of "target remote" through the call of get_current_thread() in remote_start_remote(). Below, I've pasted this line of code along with additional lines of context. The test following the call is especially important to understanding both the problem and my patch. /* We have thread information; select the thread the target says should be current. If we're reconnecting to a multi-threaded program, this will ideally be the thread that last reported an event before GDB disconnected. */ inferior_ptid = get_current_thread (wait_status); if (ptid_equal (inferior_ptid, null_ptid)) { /* Odd... The target was able to list threads, but not tell us which thread was current (no "thread" register in T stop reply?). Just pick the first thread in the thread list then. */ inferior_ptid = thread_list->ptid; } } Prior to getting to the code pasted above, remote_start_remote() made a call to target_update_thread_list(). This corresponds to the following lines from the above trace: Sending packet: $qfThreadInfo#bb...Packet received: m1 Sending packet: $qsThreadInfo#c8...Packet received: l Sending packet: $qAttached:a410#bf...Packet received: 0 Packet qAttached (query-attached) is supported Once target_update_thread_list has completed, the thread list contains a single entry: {pid = 42000, lwp = 1, tid = 0}. remote_start_remote() then makes a call to set_continue_thread(), accounting for this line of the trace: Sending packet: $Hc-1#09...Packet received: OK Finally, the call to get_current_thread() is responsible for the last line of the trace that I provided above: Sending packet: $qC#b4...Packet received: QC not supported get_current_thread() calls stop_reply_extract_thread() with the wait status. This returns null_ptid. get_current_thread() then calls remote_current_thread with a null inferior_ptid. After the calls to putpkt() and getpkt(), rs->buf[0] is 'Q', so read_ptid() is called and its result is returned. The buffer passed to read_ptid() is " not supported". read_ptid ultimately returns a ptid of {pid = 4200, lwp = 0, tid = 0}. However, this thread is not on the thread list. As noted earlier, the call to target_update_thread_list() had placed {pid = 42000, lwp = 1, tid = 0} on the list. This is the only thread in the list. When these calls ultimately return to remote_start_remote(), inferior_ptid gets set to {pid = 4200, lwp = 0, tid = 0}, which (again) is not on the thread list. It appears to me that the string " not supported" is coming from the debug agent. If so, it should be fixed, but I don't see a reason to not consult the thread list in order to place a valid thread id in inferior_ptid. This (consultation of the thread list) is what is done when inferior_ptid is null_ptid: if (ptid_equal (inferior_ptid, null_ptid)) { /* Odd... The target was able to list threads, but not tell us which thread was current (no "thread" register in T stop reply?). Just pick the first thread in the thread list then. */ inferior_ptid = thread_list->ptid; } My patch causes a null inferior_ptid to be returned by read_ptid when no thread id is found in the response from the debug agent. This return value ends up being returned by remote_current_thread() and then by get_current_thread. The assignment then places this null value into inferior_ptid. That, in turn, allows the ptid_equal test (noted above) to fetch a valid thread from the thread list. I no longer see the assertion failure due a good value (which is on the thread list) being placed in inferior_ptid. This patch also adds two log warnings that may be output when "set debug remote 1" is used. When running against the Renesas debug agent mentioned earlier, this is the relevant portion of the log output: Sending packet: $qC#b4...Packet received: QC not supported warning: garbage in qC reply warning: couldn't determine remote current thread; picking first in list. gdb/ChangeLog: * remote.c (read_ptid): Return null_ptid when no thread id is found. (remote_current_thread): Add log warning for malformed qC reply. (remote_start_remote): Add log warning when current thread not found. commit 805cee45cdf608922af942ff8ff1ccf4da78412b Author: GDB Administrator Date: Sun Jul 26 00:00:11 2015 +0000 Automatic date update in version.in commit 5836a818eccb180d75c92ce4c861abb6fe8dec23 Author: Patrick Palka Date: Sat Jul 25 15:41:05 2015 -0400 Revert "Sync readline/ to version 7.0 alpha" This reverts commit b558ff043d41ba8d17a82f5f9ae5f9dade66160e. This reverts commit 4a11f2065906976675808364ddbd1c0f77eea41f. The initial import commit failed to retain local changes made to readline's configure.in (and the commit message erroneously stated that there were no local changes that needed to be reapplied). Also the import caused a couple of build errors and a scattering of testsuite regressions throughout many arches. It's probably better to start over with this import, hopefully more carefully next time. commit b8cc7b2e9afab37eb9a7cff0d3ae4ebbcf7d494f Author: Doug Evans Date: Sat Jul 25 12:07:28 2015 -0700 Revert: * Makefile.in (check/%.exp): Pass directory for GDB_PARALLEL. Regressions, e.g., http://gdb-build.sergiodj.net/builders/Fedora-x86_64-m32/builds/1501 gdb/testsuite/ChangeLog: Revert: * Makefile.in (check/%.exp): Pass directory for GDB_PARALLEL. (workers/%.worker, build-perf): New rule. (GDB_PERFTEST_MODE): New variable. (check-perf): Use it. (clean): Clean up gdb.perf parallel build subdirs. * lib/build-piece.exp: New file. * lib/cache.exp (gdb_do_cache): Include $GDB_PARALLEL in path name. * lib/gdb.exp (standard_output_file): Include $GDB_PARALLEL in path name. (standard_temp_file): Ditto. (GDB_PARALLEL handling): Make outputs,temp,cache directories as subdirs of $GDB_PARALLEL. commit b558ff043d41ba8d17a82f5f9ae5f9dade66160e Author: Patrick Palka Date: Sat Jul 25 11:14:34 2015 -0400 Don't build readline's shared libs by default Since the sync to version 7.0-alpho, readline now by default builds (unused) shared libraries alongside static libraries, whereas before it only built static libraries. A couple of GDB buildbots were not happy with this change: http://gdb-build.sergiodj.net/builders/AIX-POWER7-plain/builds/240 http://gdb-build.sergiodj.net/builders/Fedora-i686/builds/1518 To get these buildbots building again, this patch alters readline's configure.ac file to not build shared libraries by default, as was the case with readline 6.2. A more permanent fix may be to alter the top-level Makefile.def to pass --disable-shared to readline, or to investigate why these building these shared libraries are giving the buildbots trouble. (I think the proximate reason why the i686 buildbot fails is because it passes CFLAGS=-m32 instead of CC="gcc -m32" to the top-level configure script, and readline's linker commands don't inherit CFLAGS. Not sure about the AIX failure.) readline/ChangeLog.gdb: * configure.ac: Default opt_shared_libs to no. * configure: Regenerate. commit 18d9555c6e7c34beb40f54e670c11b76b61be13f Author: H.J. Lu Date: Sat Jul 25 08:10:51 2015 -0700 Add missing ChangeLog files commit 1659f720b0818d6666570f79bef53ac461b2b22f Author: H.J. Lu Date: Sat Jul 25 07:56:18 2015 -0700 Skip missing symbol version section check for executable Missing symbol version section is a run-time problem only if it will be referenced dynamically at run-time. We should skip the check for locally defined symbol, which isn't referenced by shared library, when linking executable. bfd/ PR ld/18718 * elflink.c (elf_link_output_extsym): Check symbol version section check only if not linking executable, the symbol is referenced by shared library or not locally defined. ld/testsuite/ PR ld/18718 * ld-elf/pr18718.c: New file. * ld-elf/shared.exp: Run tests for PR ld/18718. commit 4a11f2065906976675808364ddbd1c0f77eea41f Author: Patrick Palka Date: Tue Jul 14 20:29:21 2015 -0400 Sync readline/ to version 7.0 alpha This patch syncs our upstream copy of readline from version 6.2 to the latest version, 7.0 alpha (released July 10 2015). I essentially copied what was done the last time readline was synced, when Jan updated to readline 6.2 in 2011: http://sourceware.org/ml/gdb-patches/2011-05/msg00003.html Procedure: 1. I extracted the readline-7.0-alpha tarball on top of readline/. 2. I deleted all the new files under doc/ that were deliberately omitted before. 3. I regenerated readline/configure and readline/examples/rlfe/configure using autoconf 2.64. No other configure files need regenerating. 4. I updated the function gdb_printable_part in completer.c with a trivial change made to the readline function it is based off of, printable_part in readline/complete.c. There is more work to be done in completer.c to sync it with readline/complete.c, but it is non-trivial and should probably be done separately anyway. Local patches that had to be reapplied: None. readline 7.0 alpha contains all of our local readline patches. New files in readline/: colors.{c,h} examples/{hist_erasedups,hist_purgecmd,rl-callbacktest,rlbasic}.c parse-colors.{c,h} readline.pc.in configure.ac Deleted files in readline/: configure.in Regressions: After the sync there is one testsuite regression, the test "signal SIGINT" in gdb.gdb/selftest.exp which now FAILs. Previously, the readline 6.2 SIGINT handler would temporarily reinstall the underlying application's SIGINT handler and immediately re-raise SIGINT so that the orginal handler gets invoked. But now (since readline 6.3) its SIGINT handler does not re-raise SIGINT or directly invoke the original handler; it now sets a flag marking that SIGINT was raised, and waits until readline explicitly has control to call the application's SIGINT handler. Anyway, because SIGINT is no longer re-raised from within readline's SIGINT handler, doing "signal SIGINT" with a stopped inferior gdb process will no longer resume and then immediately stop the process (since there is no 2nd SIGINT to immediately catch). Instead, the inferior gdb process will now just print "Quit" and continue to run. So with this commit, this particular test case is adjusted to reflect this change in behavior (we now have to send a 2nd SIGINT manually to stop it). Aside from this one testsuite regression, I personally noticed no regression in user-visible behavior. Though I only tested on x86_64 and on i686 Debian Stretch. Getting this kind of change in at the start of the GDB 7.11 development cycle will allow us to get a lot of passive testing from developers and from bleeding-edge users. readline/ChangeLog.gdb: Import readline 7.0 alpha * configure: Regenerate. * examples/rlfe/configure: Regenerate. gdb/ChangeLog: * completer.c (gdb_printable_part): Sync with readline function it is based off of. gdb/testsuite/ChangeLog: * gdb.gdb/selftest.exp (test_with_self): Update test to now expect the GDB inferior to no longer immediately stop after being resumed with "signal SIGINT". commit a496fbc8802f0a5719db6347a43cc869e03d83c9 Author: Alan Modra Date: Sat Jul 25 16:38:42 2015 +0930 Fix broken -Bsymbolic-functions For selected targets. The testcase reveals a number of targets that still need fixing. bfd/ * elf32-arm.c (elf32_arm_final_link_relocate): Use SYMBOLIC_BIND to check if a symbol should be bound symbolically. * elf32-hppa.c (elf32_hppa_check_relocs, elf32_hppa_adjust_dynamic_symbol, elf32_hppa_relocate_section, elf32_hppa_finish_dynamic_symbol): Likewise. * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_relocate_section): Likewise. * elf32-nios2.c (nios2_elf32_relocate_section, nios2_elf32_check_relocs, allocate_dynrelocs): Likewise. * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol, elf32_tic6x_relocate_section): Likewise. ld/testsuite/ * ld-elf/symbolic-func.s, * ld-elf/symbolic-func.r: New test. * ld-elf/elf.exp: Run it. commit ca3084f54b62ce06c6e70a6e1daafeb5e3317c12 Author: Doug Evans Date: Fri Jul 24 17:39:56 2015 -0700 Revert 4fd4095a5ffe3d4e50e0dac5f8ad37b8478afa9d, log individual measurements. I think I lost a patch along the way, because I remember needing something like this, but the reverted patch isn't the right way to do this. Removing ... gdb/testsuite/ChangeLog: * gdb.perf/lib/perftest/measure.py (MeasurementCpuTime::stop): Print result. (MeasurementWallTime::stop): Ditto. (MeasurementVmSizeTime::stop): Ditto. commit f7d3050b1966fcc3d4cf7ddb9d0a8ca741e50d26 Author: GDB Administrator Date: Sat Jul 25 00:00:08 2015 +0000 Automatic date update in version.in commit 7fecd1b400ba3ba0ae9efba3662e1f75b519860f Author: Doug Evans Date: Fri Jul 24 15:46:31 2015 -0700 Add gmonster-{1,2} perf testcases. These testcases are mocks of real programs. GDB doesn't care what the programs do, they just have to look and/or behave like the real program. These testcases exercise gdb when debugging really large programs. E.g., gmonster-1 has 10,000 CUs, and gmonster-2 has 1000 shared libs (which is actually a little small, 5000 would be more accurate). gdb/testsuite/ChangeLog: * gdb.perf/lib/perftest/utils.py: New file. * gdb.perf/gm-hello.cc: New file. * gdb.perf/gm-pervasive-typedef.cc: New file. * gdb.perf/gm-pervasive-typedef.h: New file. * gdb.perf/gm-std.cc: New file. * gdb.perf/gm-std.h: New file. * gdb.perf/gm-use-cerr.cc: New file. * gdb.perf/gm-utils.h: New file. * gdb.perf/gmonster-null-lookup.py: New file. * gdb.perf/gmonster-pervasive-typedef.py: New file. * gdb.perf/gmonster-print-cerr.py: New file. * gdb.perf/gmonster-ptype-string.py: New file. * gdb.perf/gmonster-runto-main.py: New file. * gdb.perf/gmonster-select-file.py: New file. * gdb.perf/gmonster1-null-lookup.exp: New file. * gdb.perf/gmonster1-pervasive-typedef.exp: New file. * gdb.perf/gmonster1-print-cerr.exp: New file. * gdb.perf/gmonster1-ptype-string.exp: New file. * gdb.perf/gmonster1-runto-main.exp: New file. * gdb.perf/gmonster1-select-file.exp: New file. * gdb.perf/gmonster1.cc: New file. * gdb.perf/gmonster1.exp: New file. * gdb.perf/gmonster2-null-lookup.exp: New file. * gdb.perf/gmonster2-pervasive-typedef.exp: New file. * gdb.perf/gmonster2-print-cerr.exp: New file. * gdb.perf/gmonster2-ptype-string.exp: New file. * gdb.perf/gmonster2-runto-main.exp: New file. * gdb.perf/gmonster2-select-file.exp: New file. * gdb.perf/gmonster2.cc: New file. * gdb.perf/gmonster2.exp: New file. commit 6eab34f3dc27a571071d8c56146c2ffda133f454 Author: Doug Evans Date: Fri Jul 24 15:43:15 2015 -0700 Add perf testcase generator. gdb/testsuite/ChangeLog: * gdb.perf/README: New file. * lib/perftest.exp (tcl_string_list_to_python_list): New function. * lib/gen-perf-test.exp: New file. commit 63738bfdb96f654322794384993a6f5d8608aab9 Author: Doug Evans Date: Fri Jul 24 15:38:21 2015 -0700 PerfTest::assemble functions return results. gdb/testsuite/ChangeLog: * lib/perftest.exp (PerfTest::compile): Unconditionally call body. (PerfTest::startup): New function. (PerfTest::run): Return result of calling body. (PerfTest::assemble): Rewrite. * gdb.perf/backtrace.exp (PerfTest::assemble): Update function result. * gdb.perf/disassemble.exp (PerfTest::assemble): Ditto. * gdb.perf/single-step.exp (PerfTest::assemble): Ditto. * gdb.perf/skip-prologue.exp (PerfTest::assemble): Ditto. * gdb.perf/solib.exp (PerfTest::assemble): Ditto. commit 7b606f95c9bcfa1b569fe5d33f7d2a73d39322f4 Author: Doug Evans Date: Fri Jul 24 15:35:12 2015 -0700 lib/gdb.exp (clean_restart): Make executable optional. gdb/testsuite/ChangeLog: * lib/gdb.exp (clean_restart): Make executable optional. commit a97b16b8fcfc7ac818c43c9f9457966cfc47aed6 Author: Doug Evans Date: Fri Jul 24 15:32:45 2015 -0700 Clean up testsuite compiler_info support. gdb/testsuite/ChangeLog: * gdb.base/watchpoint.exp (test_complex_watchpoint): Remove compiler_info references. * gdb.cp/temargs.exp: Ditto. * lib/gdb.exp: Unset compiler_info instead of setting to "unknown". (get_compiler_info): Early exit if already computed. Set compiler_info to "unknown" if there was a problem. (test_compiler_info): Add function comment. Call get_compiler_info. commit 35baa57fcfb50f7db24f7850ec9e34f4bc25b45c Author: Doug Evans Date: Fri Jul 24 15:28:46 2015 -0700 Add parallel build support for perf tests. gdb/testsuite/ChangeLog: * Makefile.in (check/%.exp): Pass directory for GDB_PARALLEL. (workers/%.worker, build-perf): New rule. (GDB_PERFTEST_MODE): New variable. (check-perf): Use it. (clean): Clean up gdb.perf parallel build subdirs. * lib/build-piece.exp: New file. * lib/cache.exp (gdb_do_cache): Include $GDB_PARALLEL in path name. * lib/gdb.exp (standard_output_file): Include $GDB_PARALLEL in path name. (standard_temp_file): Ditto. (GDB_PARALLEL handling): Make outputs,temp,cache directories as subdirs of $GDB_PARALLEL. commit 6ebea266fd0a7a56c90db3ab6237ff9f6c919747 Author: Doug Evans Date: Fri Jul 24 15:24:37 2015 -0700 Workaround debian change to default value of --as-needed. gdb/testsuite/ChangeLog: * lib/future.exp (gdb_default_target_compile): New option "early_flags". * lib/gdb.exp (gdb_compile): Undo debian's change in default of --as-needed. commit 4fd4095a5ffe3d4e50e0dac5f8ad37b8478afa9d Author: Doug Evans Date: Fri Jul 24 15:11:07 2015 -0700 Print data from individual perf runs. gdb/testsuite/ChangeLog: * gdb.perf/lib/perftest/measure.py (MeasurementCpuTime::stop): Print result. (MeasurementWallTime::stop): Ditto. (MeasurementVmSizeTime::stop): Ditto. commit 1e76a7e9b156173a76e6a14a3ed41cefc9fed480 Author: Sergio Durigan Junior Date: Fri Jul 24 16:46:49 2015 -0400 Call gdb_exit before gdb_skip_xml_test on gdb.base/catch-syscall.exp The gdb_skip_xml_test procedure explicitly says that it cannot be invoked when GDB is running. However, the testcase for "catch syscall" is wrongly doing that, which is causing a failure on native-extended-gdbserver tests: new FAIL: gdb.base/catch-syscall.exp: set tdesc filename /home/gdb-buildbot/fedora-x86-64-3/fedora-x86-64-native-extended-gdbserver-m32/build/gdb/testsuite/outputs/gdb.base/catch-syscall/trivial.xml (got interactive prompt) This obvious commit fixes this, by calling gdb_exit before gdb_skip_xml_test. Checked in as obvious. gdb/testsuite/ChangeLog 2015-07-24 Sergio Durigan Junior * gdb.base/catch-syscall.exp: Call gdb_exit before gdb_skip_xml_test. commit 2b4cab865440e2c61d72da31a1a5045c840c60fe Author: Pedro Alves Date: Fri Jul 24 20:29:53 2015 +0100 Fix s390 GNU/Linux build after enum __ptrace_request changes The buildbot noticed that the enum __ptrace_request series broke the s390 GNU/Linux build: ../../binutils-gdb/gdb/s390-linux-nat.c: In function 'fetch_regs': ../../binutils-gdb/gdb/s390-linux-nat.c:226:54: error: macro "ptrace" requires 4 arguments, but only 3 given if (ptrace (PTRACE_PEEKUSR_AREA, tid, (long) &parea) < 0) ^ ../../binutils-gdb/gdb/s390-linux-nat.c: In function 'store_regs': ../../binutils-gdb/gdb/s390-linux-nat.c:243:54: error: macro "ptrace" requires 4 arguments, but only 3 given if (ptrace (PTRACE_PEEKUSR_AREA, tid, (long) &parea) < 0) ^ Fix this the same way it's handled everywhere else -- just pass 0 as forth argument, which also handles non-varargs ptrace prototypes in non-glibc libcs, e.g., Bionic (if it ever gets a s390 port...). gdb/ChangeLog: 2015-07-24 Pedro Alves * s390-linux-nat.c (fetch_regs, store_regs, fetch_fpregs) (s390_stopped_by_watchpoint, s390_prepare_to_resume): Pass 0 as forth argument to ptrace PTRACE_PEEKUSR_AREA/PTRACE_POKEUSR_AREA. commit 5068630ad34dce5fefbe68d70d3a50cd8b92f71e Author: Pedro Alves Date: Fri Jul 24 19:34:17 2015 +0100 gdb.python/py-events.exp and normal_stop observers ordering I have patches that: 1 - make the CLI print stop info from a normal_stop observer, like MI does. 2 - happen to change the order in which the Python and CLI/TUI normal_stop observers are installed. With those in place, py-events.exp regresses like shown below [1], because the Python stop events are output before CLI prints stop info, instead of after, and the test doesn't expect that. With the same Python hooks, the order in which MI and Python events is emited today is already undefined, because MI also uses the normal_stop observer for output. I see no reason that we should in general define the order observers, interpreters and scripting languages get their turn at being notified of these events. So this patch makes the test cope with Python->CLI output order too. Tested on x86_64 Fedora 20. gdb/testsuite/ 2015-07-24 Pedro Alves * gdb.python/py-events.exp: Accept output between the stop event and the prompt. * gdb.python/py-evsignal.exp: Likewise. * gdb.python/py-evthreads.exp: Likewise. [1] - The regressions in question look like: Before said patches: (gdb) continue Continuing. event type: continue Breakpoint 2, first () at /home/pedro/gdb/mygit/build/../src/gdb/testsuite/gdb.python/py-events.c:30 30 for (i = 0; i < 2; i++) event type: stop event type: stop stop reason: breakpoint first breakpoint number: 2 breakpoint number: 2 breakpoint number: 3 all threads stopped (gdb) PASS: gdb.python/py-events.exp: continue After said patches: (gdb) continue Continuing. event type: continue event type: stop event type: stop stop reason: breakpoint first breakpoint number: 2 breakpoint number: 2 breakpoint number: 3 all threads stopped Breakpoint 2, first () at /home/pedro/gdb/mygit/build/../src/gdb/testsuite/gdb.python/py-events.c:30 30 for (i = 0; i < 2; i++) (gdb) FAIL: gdb.python/py-events.exp: continue commit 7759842763d94dc2f1c7d52d09f9203830b753ab Author: Pedro Alves Date: Fri Jul 24 18:18:44 2015 +0000 PR gdb/18717: internal error if non-leader thread exits process If a non-leader thread exits the process while all other threads are ptrace-stopped, native gdb fails an assertion. The test added by this commit catches it: /home/pedro/gdb/mygit/build/../src/gdb/linux-nat.c:3198: internal-error: linux_nat_filter_event: Assertion `lp->resumed' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) FAIL: gdb.threads/non-leader-exit-process.exp: program exits normally (GDB internal error) The fix is just to remove the assertion. With that out of the way, neither GDB not GDBserver handle this perfectly though, so I'm adding a KFAIL: (gdb) continue Continuing. [Thread 0x7ffff7fc0700 (LWP 15350) exited] No unwaited-for children left. Couldn't get registers: No such process. (gdb) KFAIL: gdb.threads/non-ldr-exit.exp: program exits normally (PRMS: gdb/18717) gdb/ChangeLog: 2015-07-24 Pedro Alves PR gdb/18717 * linux-nat.c (linux_nat_filter_event): Don't assert that the lwp is resumed, and extend the debug log. gdb/testsuite/ChangeLog: 2015-07-24 Pedro Alves PR gdb/18717 * gdb.threads/non-ldr-exit.c: New file. * gdb.threads/non-ldr-exit.exp: New file. commit fe23c31f262151ce3265f5b90870d40cb6840f0a Author: Pedro Alves Date: Fri Jul 24 17:27:58 2015 +0100 Fix failed exec error message Ref: https://sourceware.org/ml/gdb-patches/2015-07/msg00629.html This fixes the bogus command line in the error message shown when the SHELL environment variable points somewhere that's not something that resembles a shell: $ SHELL=/nonexisting gdb /home/pedro/a.out (gdb) r Starting program: /home/pedro/a.out - Cannot exec /home/pedro/a.out -c exec /home/pedro/a.out . + Cannot exec /nonexisting -c exec /home/pedro/a.out . Error: No such file or directory During startup program exited with code 127. (gdb) gdb/ChangeLog: 2015-07-24 Pedro Alves * fork-child.c (fork_inferior): Print argv[0] instead of exec_file. commit afa5870f1bfafa1ccfa8a4b3f432c07c19a2447e Author: H.J. Lu Date: Fri Jul 24 09:10:18 2015 -0700 Add 'U' suffix to silence GCC 6 warning GCC 6 warns: error: result of ‘63 << 26’ requires 33 bits to represent, but ‘int’ only has 32 bits [-Werror=shift-overflow=] on 0x3f << 26. This patch adds 'U' suffix to make integer constant unsigned. * alpha.c (OP_Jxx): Add 'U' suffix to make it unsigned. (OP_BSR): Likewise. (Jxx_FUNC_JMP): Likewise. (Jxx_FUNC_JSR): Likewise. (Jxx_FUNC_RET): Likewise. (Jxx_FUNC_JSR_COROUTINE): Likewise. (alpha_find_call): Replace 0x3f with 0x3fU. commit 7cb9e39bd8f84867f913232904b4b36c0aea539c Author: H.J. Lu Date: Fri Jul 24 09:05:33 2015 -0700 Use 0xffffffffffffffffLL to silence GCC 6 warning GCC 6 warns: error: result of ‘4294967295ll << 32’ requires 65 bits to represent, but ‘long long int’ only has 64 bits [-Werror=shift-overflow=] on ((((bfd_signed_vma) 0xffffffff) << 32) | 0xffffffff). This patch replaces it with bfd_signed_vma) 0xffffffffffffffffLL. * stabs.c (parse_stab_range_type): Use 0xffffffffffffffffLL. commit aff1a65ecb5cfcf1abfb23ea0e0f37f39e75683e Author: Nick Clifton Date: Fri Jul 24 16:44:27 2015 +0100 Fix the evaluation of RL78 complex relocs, by making immediate values be computed relative to a new absolute symbol. gas * config/tc-rl78.c (rl78_abs_sym): New local variable. (md_begin): Initialise the new symbol. (OPIMM): Define the value to be relative to the new symbol and not the absolute section symbol. ld * emulparams/elf32rl78.sh (OTHER_SECTIONS): Provide a value for the _-rl78_abs__ symbol. tests * gas/all/struct.d: Allow for extra symbols in the output. * gas/macros/test1.d: Likewise. * gas/elf/elf.exp: Add an rl78 machine. * gas/elf/sections2e-rl78: New file. tests * binutils-all/localize-hidden-1.d: Allow for extra symbols in the output. * binutils-all/strip-11.d: Skip for the RL78. commit 5826e159863b6cd69953dc01faf7c20414409909 Author: Pedro Alves Date: Fri Jul 24 14:57:20 2015 +0100 Linux: sys/ptrace.h -> nat/gdb_ptrace.h everywhere So that we pick the enum __ptrace_request fix everywhere. gdb/ChangeLog: 2015-07-24 Pedro Alves * aarch64-linux-nat.c: Include nat/gdb_ptrace.h instead of sys/ptrace.h. * alpha-linux-nat.c: Likewise. * amd64-linux-nat.c: Likewise. * arm-linux-nat.c: Likewise. * hppa-linux-nat.c: Likewise. * i386-linux-nat.c: Likewise. * ia64-linux-nat.c: Likewise. * linux-fork.c: Likewise. * linux-nat.c: Likewise. * m32r-linux-nat.c: Likewise. * m68klinux-nat.c: Likewise. * mips-linux-nat.c: Likewise. * nat/linux-btrace.c: Likewise. * nat/linux-ptrace.c: Likewise. * nat/linux-ptrace.h * nat/mips-linux-watch.c: Likewise. * nat/x86-linux-dregs.c: Likewise. * ppc-linux-nat.c: Likewise. * s390-linux-nat.c: Likewise. * spu-linux-nat.c: Likewise. * tilegx-linux-nat.c: Likewise. * x86-linux-nat.c: Likewise. * xtensa-linux-nat.c: Likewise. gdb/gdbserver/ChangeLog: 2015-07-24 Pedro Alves * linux-aarch64-low.c: Include nat/gdb_ptrace.h instead of sys/ptrace.h. * linux-arm-low.c: Likewise. * linux-cris-low.c: Likewise. * linux-crisv32-low.c: Likewise. * linux-low.c: Likewise. * linux-m68k-low.c: Likewise. * linux-mips-low.c: Likewise. * linux-nios2-low.c: Likewise. * linux-s390-low.c: Likewise. * linux-sparc-low.c: Likewise. * linux-tic6x-low.c: Likewise. * linux-tile-low.c: Likewise. * linux-x86-low.c: Likewise. commit 54019719152ab269fb4cec2c6a8a245ba6af6e49 Author: Pedro Alves Date: Fri Jul 24 14:57:20 2015 +0100 C++: handle glibc's ptrace(enum __ptrace_request, ...) Building in C++ mode issues ~40 warnings like this: ../../src/gdb/linux-nat.c: In function ‘int linux_handle_extended_wait(lwp_info*, int, int)’: ../../src/gdb/linux-nat.c:2016:51: warning: invalid conversion from ‘int’ to ‘__ptrace_request’ [-fpermissive] ptrace (PTRACE_GETEVENTMSG, pid, 0, &new_pid); The issue is that in glibc, ptrace's first parameter is an enum. That's not a problem if we pick the PTRACE_XXX requests from sys/ptrace.h, as those will be values of the corresponding enum. However, we have fallback definitions for PTRACE_XXX symbols when the system headers miss them (such as PTRACE_GETEVENTMSG above), and those are plain integer constants. E.g., nat/linux-ptrace.h: #define PTRACE_GETEVENTMSG 0x4201 One idea would be to fix this by defining those fallbacks like: -#define PTRACE_GETEVENTMSG 0x4201 +#define PTRACE_GETEVENTMSG ((enum __ptrace_request) 0x4201) However, while glibc's ptrace uses enum __ptrace_request for first parameter: extern long int ptrace (enum __ptrace_request __request, ...) __THROW; other libc's, like e.g., Android's bionic do not -- in that case, the first parameter is int: long ptrace(int request, pid_t pid, void * addr, void * data); So the fix I came up is to make configure/ptrace.m4 also detect the type of the ptrace's first parameter and defin PTRACE_TYPE_ARG1, as already does the for parameters 3-4, and then simply wrap ptrace with a macro that casts the first argument to the detected type. (I'm leaving adding a nicer wrapper for when we drop building in C). While this adds the wrapper, GNU/Linux files won't use it until the next patch, which makes all native GNU/Linux files include gdb_ptrace.h. gdb/ChangeLog: 2015-07-24 Pedro Alves * ptrace.m4 (ptrace tests): Test in C++ mode. Try with 'enum __ptrace_request as first parameter type instead of int. (PTRACE_TYPE_ARG1): Define. * nat/gdb_ptrace.h [!PTRACE_TYPE_ARG5] (ptrace): Define as wrapper that casts first argument to PTRACE_TYPE_ARG1. * config.in: Regenerate. * configure: Regenerate. gdb/gdbserver/ChangeLog: 2015-07-24 Pedro Alves * config.in: Regenerate. * configure: Regenerate. commit e379037592ff71dc633c6d3de0828babe805ae96 Author: Pedro Alves Date: Fri Jul 24 14:57:19 2015 +0100 Move gdb_ptrace.h to nat/ Now that gdbserver's configure defines PTRACE_TYPE_ARGx etc., we'll be able to make gdbserver use gdb_ptrace.h too. Move it to the native target files directory. gdb/ChangeLog: 2015-07-24 Pedro Alves * gdb_ptrace.h: Move ... * nat/gdb_ptrace.h: ... here. * inf-ptrace.c: Adjust. commit eb7aa56163cc15bb732aa3b07966103fd6940d50 Author: Pedro Alves Date: Fri Jul 24 14:57:19 2015 +0100 make gdbserver use the same ptrace autoconf checks as gdb This factors the ptrace checks out of gdb's configure.ac to a new ptrace.m4 file, and then makes gdbserver's configure.ac source it too. gdb/ChangeLog: 2015-07-24 Pedro Alves * acinclude.m4: Include ptrace.m4. * configure.ac: Call GDB_AC_PTRACE and move ptrace checks ... * ptrace.m4: ... to this new file. gdb/gdbserver/ChangeLog: 2015-07-24 Pedro Alves * acinclude.m4: Include ../ptrace.m4. * configure.ac: Call GDB_AC_PTRACE. * config.in, configure: Regenerate. commit 55d7b841962c6e054735acdca2e0bb485afa0144 Author: Yao Qi Date: Fri Jul 24 14:40:34 2015 +0100 Remove proc->priv->new_inferior As the result of the previous patch, new_inferior is no longer used. This patch is to remove it. gdb/gdbserver: 2015-07-24 Yao Qi * linux-low.c (linux_create_inferior): Remove setting to proc->priv->new_inferior. (linux_attach): Likewise. (linux_low_filter_event): Likewise. * linux-low.h (struct process_info_private) : Remove. commit c06cbd92be66d82eb323a8c6ec451c1dccc02107 Author: Yao Qi Date: Fri Jul 24 14:40:34 2015 +0100 Initialise target descrption after skipping extra traps for --wrapper Nowadays, when --wrapper is used, GDBserver skips extra traps/stops in the wrapper program, and stops at the first instruction of the program to be debugged. However, GDBserver created target description in the first stop of inferior, and the executable of the inferior is the wrapper program rather than the program to be debugged. In this way, the target description can be wrong if the architectures of wrapper program and program to be debugged are different. This is shown by some fails in gdb.server/wrapper.exp on buildbot. We are testing i686-linux GDB (Fedora-i686) on an x86_64-linux box (fedora-x86-64-4) in buildbot, such configuration causes fails in gdb.server/wrapper.exp like this: spawn /home/gdb-buildbot-2/fedora-x86-64-4/fedora-i686/build/gdb/testsuite/../../gdb/gdbserver/gdbserver --once --wrapper env TEST=1 -- :2346 /home/gdb-buildbot-2/fedora-x86-64-4/fedora-i686/build/gdb/testsuite/outputs/gdb.server/wrapper/wrapper Process /home/gdb-buildbot-2/fedora-x86-64-4/fedora-i686/build/gdb/testsuite/outputs/gdb.server/wrapper/wrapper created; pid = 8795 Can't debug 64-bit process with 32-bit GDBserver Exiting target remote localhost:2346 localhost:2346: Connection timed out. (gdb) FAIL: gdb.server/wrapper.exp: setting breakpoint at marker See https://sourceware.org/ml/gdb-testers/2015-q3/msg01541.html In this case, program to be debugged ("wrapper") is 32-bit but wrapper program ("/usr/bin/env") is 64-bit, so GDBserver gets the 64-bit target description instead of 32-bit. The root cause of this problem is that GDBserver creates target description too early, and the rationale of fix could be creating target description once the GDBserver skips extra traps and inferior stops at the first instruction of the program we want to debug. IOW, when GDBserver skips extra traps, the inferior's tdesc is NULL, and mywait and its callees shouldn't use inferior's tdesc, so in this patch, we skip code that requires register access, see changes in linux_resume_one_lwp_throw and need_step_over_p. In linux_low_filter_event, if target description isn't initialised and GDBserver attached the process, we create target description immediately, because GDBserver don't have to skip extra traps for attach, IOW, it makes no sense to use --attach and --wrapper together. Otherwise, the process is launched by GDBserver, we keep the status pending, and return. After GDBserver skipped extra traps in start_inferior, we call a target_ops hook arch_setup to initialise target description there. gdb/gdbserver: 2015-07-24 Yao Qi * linux-low.c (linux_arch_setup): New function. (linux_low_filter_event): If proc->tdesc is NULL and proc->attached is true, call the_low_target.arch_setup. Otherwise, keep status pending, and return. (linux_resume_one_lwp_throw): Don't call get_pc if thread->while_stepping isn't NULL. Don't call get_thread_regcache if proc->tdesc is NULL. (need_step_over_p): Return 0 if proc->tdesc is NULL. (linux_target_ops): Install arch_setup. * server.c (start_inferior): Call the_target->arch_setup. * target.h (struct target_ops) : New field. (target_arch_setup): New marco. * lynx-low.c (lynx_target_ops): Update. * nto-low.c (nto_target_ops): Update. * spu-low.c (spu_target_ops): Update. * win32-low.c (win32_target_ops): Update. commit 5ae3ebbae55482a9fdd01bd21455b396e23e4077 Author: Yao Qi Date: Fri Jul 24 14:40:34 2015 +0100 Set proc->priv->new_inferior out of linux_add_process Nowadays, we set proc->priv->new_inferior to 1 inside linux_add_process, and new_inferior is used as a flag to initialise target description later. linux_add_process is used for the three cases, fork/vfork event (handle_extended_wait), run the program (linux_create_inferior), and attach to the process (linux_attach). In the first case, the child's target description is copied from parent's, so we don't need to initialise target description again later, which means we don't need to set proc->priv->new_inferior to 1 in this case. For the rest of two cases, we need this flag. This patch move the code setting proc->priv->new_inferior to 1 inside linux_add_process to linux_create_inferior and linux_attach. No functionality is changed. gdb/gdbserver: 2015-07-24 Yao Qi * linux-low.c (linux_add_process): Don't set proc->priv->new_inferior. (linux_create_inferior): Set proc->priv->new_inferior to 1. (linux_attach): Likewise. commit eb97750bce2bf37176f745636815600177fbdba8 Author: Yao Qi Date: Fri Jul 24 14:40:34 2015 +0100 Refactor start_inferior This patch is to refactor function start_inferior that signal_pid is return in one place. gdb/gdbserver: 2015-07-24 Yao Qi * server.c (start_inferior): Code refactor. commit 11e6c98f1b6318d27ad55f9ac7d362fe7a668872 Author: Yao Qi Date: Fri Jul 24 14:40:34 2015 +0100 Test --wrapper when restarting process. My patch series will affect the code starting inferior in GDBserver (callees of start_inferior), so we need tests to cover how start_inferior is used in different cases. In server.c:process_serial_event, start_inferior is used when GBDserver receives 'R' packet, and this patch is to add a test for this path, and see how --wrapper option works when the process is restarted. gdb/testsuite: 2015-07-24 Yao Qi * gdb.server/ext-wrapper.exp: Test --wrapper option when restarting process. commit 51aee833ed9c6bd67b0c0e4a8c7098a549e3d16d Author: Yao Qi Date: Fri Jul 24 14:40:34 2015 +0100 Set general_thread after restart When I run gdb.server/ext-restart.exp, I get the following GDB internal error, run^M The program being debugged has been started already.^M Start it from the beginning? (y or n) y^M Sending packet: $vKill;53c5#3d...Packet received: OK^M Packet vKill (kill) is supported^M Sending packet: $vFile:close:6#b6...Packet received: F0^M Sending packet: $vFile:close:3#b3...Packet received: F0^M Starting program: /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/gdb.server/ext-restart ^M Sending packet: $QDisableRandomization:1#cf...Packet received: OK^M Sending packet: $R0#82...Sending packet: $qC#b4...Packet received: QCp53c5.53c5^M <-- [1] Sending packet: $qAttached:53c5#c9...Packet received: E01^M warning: Remote failure reply: E01^M .... 0x00002aaaaaaac2d0 in ?? () from target:/lib64/ld-linux-x86-64.so.2^M /home/yao/SourceCode/gnu/gdb/git/gdb/thread.c:88: internal-error: inferior_thread: Assertion `tp' failed.^M A problem internal to GDB has been detected,^M further debugging may prove unreliable.^M Quit this debugging session? (y or n) FAIL: gdb.server/ext-restart.exp: run to main (GDB internal error) Resyncing due to internal error. the test is to restart the program, to make sure GDBserver handles packet 'R' correctly. From the GDBserver output, we can see, Remote debugging from host 127.0.0.1^M Process /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/gdb.server/ext-restart created; pid = 21445^M GDBserver restarting^M Process /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/gdb.server/ext-restart created; pid = 21446^M Killing process(es): 21446 we first start process 21445(0x53c5), kill it and restart a new process 21446. However, in the gdb output above [1], we can see that the reply of qC is still the old process id rather than the new one. Looks general_thread isn't up to date after GDBserver receives R packet. This patch is to update general_thread after call start_inferior. gdb/gdbserver: 2015-07-24 Yao Qi * server.c (process_serial_event): Set general_thread. gdb/testsuite: 2015-07-24 Yao Qi * gdb.server/ext-restart.exp: New file. commit 8cfe207c9fcfcf940ec8eb834afde41432ec6d80 Author: Yao Qi Date: Fri Jul 24 14:40:34 2015 +0100 Test --wrapper in extended-remote We didn't test --wrapper option in extended-remote before, this patch is to add a test case for it. In order to pass option --wrapper to gdbserver in extended-remote, I add arg in gdbserver_start_extended, and its default value is "", so that other places use gdbserver_start_extended don't have to be updated. gdb/testsuite: 2015-07-24 Yao Qi * lib/gdbserver-support.exp (gdbserver_start_extended): Add argument options. * gdb.server/ext-wrapper.exp: New file. commit 84b74b498eb690e5a856c23b9abc71f9680b81a6 Author: H.J. Lu Date: Fri Jul 24 04:14:04 2015 -0700 Replace -g with -ggdb3 in ld compress tests Use -ggdb3 to generate .debug_macro sections, which are bigger and are always compressed. * ld-elf/compress.exp (build_tests): Replace -g with -ggdb3. * ld-elf/zlibbegin.rS: Also expect "GC". * ld-elf/zlibnormal.rS: Likewise. commit 72f4393d8cfc4a47f0e59657f7822668cfad132f Author: H.J. Lu Date: Fri Jul 24 04:08:12 2015 -0700 Remove leading/trailing white spaces in ChangeLog commit 91cb26dac47265f178fb6635f1deebdfd244572a Author: Alan Modra Date: Fri Jul 24 14:44:26 2015 +0930 Correct reloc section name * elf.c (_bfd_elf_assign_file_positions_for_non_load): Use .rela prefix for reloc section corresponding to rela section associated with renamed debug section. commit 2fb9328d8daa751f3b71745636323eddccaaacce Author: Alan Modra Date: Fri Jul 24 14:36:38 2015 +0930 bfd_get_section_by_name_if hash chain traversal This function stops too soon, as I found when the hash chain happened to contain two .debug_macro sections and a .bss section: .debug_macro -> .bss -> .debug_macro * section.c (bfd_get_section_by_name_if): Iterate over entire hash chain. commit f0b0791b05ed335e5d74d843d828645805db1f9c Author: GDB Administrator Date: Fri Jul 24 00:00:14 2015 +0000 Automatic date update in version.in commit cdb061674c044636465e52a8c989b9011f2ec8ac Author: Han Shen Date: Thu Jul 23 15:52:22 2015 -0700 2015-07-23 Ian Coolidge Plumb --pic-veneer option for gold. gold/ChangeLog: * arm.cc (Reloc_stub::stub_type_for_reloc): Plumb to stub generation. * options.h (General_options): Add --pic-veneer option. commit d5cff5df74b18e1e5ed94de8f4c9adee3ffd95c6 Author: Joseph Myers Date: Thu Jul 23 21:52:04 2015 +0000 Fix DT_MIPS_RLD_MAP_REL tag for n64 target and 32-bit host. For the case of MIPS n64 target and 32-bit host, the computation of the DT_MIPS_RLD_MAP_REL tag involves sdyn->output_section->vma + sdyn->output_offset (64-bit) being added to b (32-bit host pointer), so losing the high part and resulting in an incorrect DT_MIPS_RLD_MAP_REL tag, and all dynamically linked glibc tests failing for n64. This patch fixes this (spot-tested with glibc tests; however, I don't have a self-contained testcase for this bug). * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections) : Add target address to host address difference, not to host pointer. commit cc12ce380e8dab7e3cee8ecad29db6e9bb36a8fa Author: Doug Evans Date: Thu Jul 23 09:21:48 2015 -0700 Fix crash when reading dummy CUs. Dummy CUs are used by the incremental linker to pre-allocate space in the output file. They have a DWARF header but no contents. gdb/ChangeLog: * dwarf2read.c (dwarf2_per_cu_data): Add comment. (load_cu): Handle dummy CUs. (dw2_do_instantiate_symtab, process_queuef): Ditto. (dwarf2_fetch_die_loc_sect_off, dwarf2_fetch_constant_bytes): Ditto. gdb/testsuite/ChangeLog: * gdb.dwarf2/dw2-dummy-cu.S: New file. * gdb.dwarf2/dw2-dummy-cu.exp: New file. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 12 +- bfd/ChangeLog | 99 ++ bfd/bfd.c | 4 +- bfd/config.in | 8 + bfd/configure | 26 +- bfd/configure.ac | 2 + bfd/elf.c | 17 +- bfd/elf32-arm.c | 3 +- bfd/elf32-hppa.c | 8 +- bfd/elf32-m68k.c | 4 +- bfd/elf32-msp430.c | 22 + bfd/elf32-nios2.c | 6 +- bfd/elf32-tic6x.c | 4 +- bfd/elf64-ppc.c | 13 +- bfd/elflink.c | 39 +- bfd/elfnn-aarch64.c | 1 + bfd/elfxx-mips.c | 2 +- bfd/mmo.c | 100 +- bfd/po/SRC-POTFILES.in | 1 + bfd/section.c | 13 +- bfd/version.h | 2 +- binutils/ChangeLog | 20 +- binutils/configure | 4 +- binutils/doc/Makefile.in | 6 +- binutils/readelf.c | 14 +- binutils/stabs.c | 2 +- binutils/testsuite/ChangeLog | 6 + .../testsuite/binutils-all/localize-hidden-1.d | 1 + binutils/testsuite/binutils-all/strip-11.d | 2 + config-ml.in | 6 +- config/ChangeLog | 15 +- config/gettext.m4 | 4 +- config/po.m4 | 4 +- config/stdint.m4 | 2 +- config/tcl.m4 | 4 +- configure | 8 +- configure.ac | 8 +- cpu/ChangeLog | 14 +- gas/ChangeLog | 51 +- gas/NEWS | 3 + gas/config/tc-arm.c | 14 +- gas/config/tc-mips.c | 5 + gas/config/tc-rl78.c | 15 +- gas/configure | 4 +- gas/doc/as.texinfo | 13 +- gas/doc/c-arm.texi | 2 +- gas/doc/c-mips.texi | 3 + gas/input-scrub.c | 100 +- gas/messages.c | 8 +- gas/testsuite/ChangeLog | 40 +- gas/testsuite/gas/all/struct.d | 2 +- gas/testsuite/gas/arm/attr-march-armv6kz.d | 14 + gas/testsuite/gas/arm/attr-march-armv6kzt2.d | 14 + gas/testsuite/gas/elf/elf.exp | 3 + gas/testsuite/gas/elf/section2.e-rl78 | 9 + gas/testsuite/gas/i386/avx512dq-intel.d | 84 +- gas/testsuite/gas/i386/avx512dq.d | 4 + gas/testsuite/gas/i386/avx512dq.s | 4 + gas/testsuite/gas/i386/avx512dq_vl-intel.d | 168 ++- gas/testsuite/gas/i386/avx512dq_vl.d | 8 + gas/testsuite/gas/i386/avx512dq_vl.s | 8 + gas/testsuite/gas/i386/i386-intel.d | 67 + gas/testsuite/gas/i386/i386.exp | 2 + gas/testsuite/gas/i386/x86-64-avx512dq-intel.d | 84 +- gas/testsuite/gas/i386/x86-64-avx512dq.d | 4 + gas/testsuite/gas/i386/x86-64-avx512dq.s | 4 + gas/testsuite/gas/i386/x86-64-avx512dq_vl-intel.d | 168 ++- gas/testsuite/gas/i386/x86-64-avx512dq_vl.d | 8 + gas/testsuite/gas/i386/x86-64-avx512dq_vl.s | 8 + gas/testsuite/gas/i386/x86_64-intel.d | 258 ++++ gas/testsuite/gas/macros/test1.d | 1 + gdb/ChangeLog | 679 +++++++++- gdb/Makefile.in | 4 +- gdb/aarch64-linux-nat.c | 97 +- gdb/aarch64-tdep.c | 47 +- gdb/acinclude.m4 | 3 + gdb/ada-exp.y | 55 +- gdb/ada-lang.c | 231 ++-- gdb/ada-lang.h | 22 +- gdb/ada-tasks.c | 15 +- gdb/alpha-linux-nat.c | 2 +- gdb/alpha-mdebug-tdep.c | 3 +- gdb/amd64-linux-nat.c | 2 +- gdb/amd64-linux-tdep.c | 11 +- gdb/arch-utils.c | 8 +- gdb/arch-utils.h | 3 +- gdb/arch/arm.h | 61 + gdb/arm-linux-nat.c | 27 +- gdb/arm-linux-tdep.c | 4 +- gdb/arm-tdep.h | 39 +- gdb/ax-gdb.c | 12 +- gdb/breakpoint.c | 11 +- gdb/c-exp.y | 105 +- gdb/c-lang.c | 2 +- gdb/c-valprint.c | 26 +- gdb/cli/cli-decode.c | 2 +- gdb/common/btrace-common.c | 2 +- gdb/compile/compile-c-symbols.c | 26 +- gdb/compile/compile-object-load.c | 2 +- gdb/config.in | 3 + gdb/configure | 109 ++- gdb/configure.ac | 71 +- gdb/cp-namespace.c | 178 ++-- gdb/cp-support.c | 6 +- gdb/cp-support.h | 22 +- gdb/d-exp.y | 29 +- gdb/d-lang.c | 2 +- gdb/dcache.c | 5 +- gdb/doc/ChangeLog | 60 +- gdb/doc/Makefile.in | 4 +- gdb/dwarf2read.c | 31 +- gdb/eval.c | 4 +- gdb/event-top.c | 13 +- gdb/f-exp.y | 39 +- gdb/f-lang.c | 2 +- gdb/findvar.c | 4 +- gdb/fork-child.c | 2 +- gdb/ft32-tdep.c | 2 +- gdb/gdbarch.c | 4 +- gdb/gdbarch.h | 4 +- gdb/gdbarch.sh | 2 +- gdb/gdbserver/ChangeLog | 123 ++- gdb/gdbserver/acinclude.m4 | 3 + gdb/gdbserver/config.in | 25 + gdb/gdbserver/configure | 272 ++++- gdb/gdbserver/configure.ac | 3 + gdb/gdbserver/configure.srv | 1 - gdb/gdbserver/linux-aarch64-low.c | 50 +- gdb/gdbserver/linux-arm-low.c | 58 +- gdb/gdbserver/linux-cris-low.c | 2 +- gdb/gdbserver/linux-crisv32-low.c | 2 +- gdb/gdbserver/linux-low.c | 68 +- gdb/gdbserver/linux-low.h | 5 - gdb/gdbserver/linux-m68k-low.c | 2 +- gdb/gdbserver/linux-mips-low.c | 4 +- gdb/gdbserver/linux-nios2-low.c | 2 +- gdb/gdbserver/linux-s390-low.c | 2 +- gdb/gdbserver/linux-sparc-low.c | 2 +- gdb/gdbserver/linux-tic6x-low.c | 2 +- gdb/gdbserver/linux-tile-low.c | 2 +- gdb/gdbserver/linux-x86-low.c | 3 +- gdb/gdbserver/lynx-low.c | 1 + gdb/gdbserver/nto-low.c | 1 + gdb/gdbserver/server.c | 41 +- gdb/gdbserver/spu-low.c | 1 + gdb/gdbserver/target.h | 10 + gdb/gdbserver/win32-low.c | 1 + gdb/gdbtypes.c | 27 +- gdb/gdbtypes.h | 47 +- gdb/gnu-v3-abi.c | 3 +- gdb/go-exp.y | 32 +- gdb/go-lang.c | 2 +- gdb/guile/scm-breakpoint.c | 4 +- gdb/guile/scm-cmd.c | 2 +- gdb/guile/scm-frame.c | 2 +- gdb/guile/scm-param.c | 2 +- gdb/guile/scm-pretty-print.c | 2 +- gdb/guile/scm-string.c | 4 +- gdb/guile/scm-symbol.c | 4 +- gdb/hppa-linux-nat.c | 2 +- gdb/i386-linux-nat.c | 2 +- gdb/i386-linux-tdep.c | 2 +- gdb/i386-tdep.c | 6 +- gdb/ia64-linux-nat.c | 13 +- gdb/inf-ptrace.c | 2 +- gdb/inflow.c | 2 +- gdb/infrun.c | 5 +- gdb/jv-exp.y | 16 +- gdb/jv-lang.c | 7 +- gdb/language.c | 9 +- gdb/language.h | 9 +- gdb/linespec.c | 4 +- gdb/linux-fork.c | 2 +- gdb/linux-nat.c | 125 +- gdb/linux-nat.h | 2 +- gdb/linux-record.h | 3 + gdb/linux-thread-db.c | 2 +- gdb/m2-exp.y | 41 +- gdb/m2-lang.c | 2 +- gdb/m32r-linux-nat.c | 2 +- gdb/m68klinux-nat.c | 2 +- gdb/mi/mi-cmd-stack.c | 6 +- gdb/mi/mi-main.c | 4 +- gdb/mi/mi-out.c | 10 +- gdb/mips-linux-nat.c | 15 +- gdb/moxie-tdep.c | 2 +- gdb/mt-tdep.c | 2 +- gdb/nat/aarch64-linux-hw-point.c | 66 +- gdb/nat/aarch64-linux-hw-point.h | 4 +- gdb/{ => nat}/gdb_ptrace.h | 4 + gdb/nat/linux-btrace.c | 2 +- gdb/nat/linux-ptrace.c | 1 + gdb/nat/linux-ptrace.h | 2 +- gdb/nat/mips-linux-watch.c | 6 +- gdb/nat/mips-linux-watch.h | 4 +- gdb/nat/x86-linux-dregs.c | 2 +- gdb/nios2-tdep.c | 43 +- gdb/nto-procfs.c | 23 +- gdb/objc-lang.c | 5 +- gdb/p-exp.y | 60 +- gdb/p-lang.c | 2 +- gdb/p-valprint.c | 2 +- gdb/parse.c | 8 +- gdb/parser-defs.h | 2 +- gdb/ppc-linux-nat.c | 30 +- gdb/ppc-linux-tdep.c | 2 +- gdb/ppc-sysv-tdep.c | 2 +- gdb/printcmd.c | 2 +- gdb/procfs.c | 11 +- gdb/psymtab.c | 2 +- gdb/ptrace.m4 | 104 ++ gdb/python/py-frame.c | 2 +- gdb/python/py-linetable.c | 8 +- gdb/python/py-symbol.c | 4 +- gdb/remote-m32r-sdi.c | 10 +- gdb/remote-mips.c | 16 +- gdb/remote.c | 49 +- gdb/s390-linux-nat.c | 28 +- gdb/s390-linux-tdep.c | 2 +- gdb/skip.c | 2 +- gdb/solib-darwin.c | 4 +- gdb/solib-spu.c | 4 +- gdb/solib-svr4.c | 6 +- gdb/solib-target.c | 1 - gdb/solib.c | 16 +- gdb/solist.h | 13 +- gdb/source.c | 4 +- gdb/spu-linux-nat.c | 4 +- gdb/stack.c | 4 +- gdb/symfile.c | 2 +- gdb/symtab.c | 308 ++-- gdb/symtab.h | 86 +- gdb/target-debug.h | 4 + gdb/target-delegates.c | 24 +- gdb/target.c | 4 +- gdb/target.h | 19 +- gdb/testsuite/ChangeLog | 437 ++++++- gdb/testsuite/Makefile.in | 35 +- gdb/testsuite/boards/gdbserver-base.exp | 3 - gdb/testsuite/gdb.ada/info_exc.exp | 4 +- gdb/testsuite/gdb.ada/var_arr_typedef.exp | 44 + gdb/testsuite/gdb.ada/var_arr_typedef/pack.adb | 25 + gdb/testsuite/gdb.ada/var_arr_typedef/pack.ads | 29 + .../gdb.ada/var_arr_typedef/var_arr_typedef.adb | 28 + gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp | 5 + gdb/testsuite/gdb.base/a2-run.exp | 91 +- gdb/testsuite/gdb.base/attach-pie-misread.exp | 16 +- gdb/testsuite/gdb.base/attach-pie-noexec.exp | 5 +- gdb/testsuite/gdb.base/attach-twice.exp | 5 +- gdb/testsuite/gdb.base/attach.exp | 40 +- .../gdb.base/batch-preserve-term-settings.exp | 211 +++- gdb/testsuite/gdb.base/break-interp.exp | 10 +- gdb/testsuite/gdb.base/call-ar-st.c | 4 + gdb/testsuite/gdb.base/call-ar-st.exp | 485 ++++--- gdb/testsuite/gdb.base/call-rt-st.c | 3 + gdb/testsuite/gdb.base/call-rt-st.exp | 61 +- gdb/testsuite/gdb.base/call-signal-resume.exp | 18 +- gdb/testsuite/gdb.base/call-signals.c | 3 - gdb/testsuite/gdb.base/call-strs.c | 4 + gdb/testsuite/gdb.base/call-strs.exp | 53 +- gdb/testsuite/gdb.base/catch-gdb-caused-signals.c | 4 + .../gdb.base/catch-gdb-caused-signals.exp | 2 +- gdb/testsuite/gdb.base/catch-syscall.exp | 1 + gdb/testsuite/gdb.base/dprintf.c | 4 + gdb/testsuite/gdb.base/dprintf.exp | 134 ++- gdb/testsuite/gdb.base/ending-run.c | 4 + gdb/testsuite/gdb.base/ending-run.exp | 10 +- gdb/testsuite/gdb.base/gdb-sigterm-2.exp | 32 + gdb/testsuite/gdb.base/interrupt.exp | 10 +- gdb/testsuite/gdb.base/multi-forks.exp | 2 + gdb/testsuite/gdb.base/restore.exp | 15 +- gdb/testsuite/gdb.base/run.c | 4 + gdb/testsuite/gdb.base/shlib-call.exp | 22 +- gdb/testsuite/gdb.base/shmain.c | 5 + gdb/testsuite/gdb.base/siginfo-addr.c | 9 +- gdb/testsuite/gdb.base/siginfo-addr.exp | 17 +- gdb/testsuite/gdb.base/sizeof.c | 4 + gdb/testsuite/gdb.base/sizeof.exp | 14 +- gdb/testsuite/gdb.base/solib-overlap.exp | 7 +- gdb/testsuite/gdb.base/unwindonsignal.c | 3 - gdb/testsuite/gdb.base/unwindonsignal.exp | 18 +- gdb/testsuite/gdb.base/valgrind-infcall.exp | 8 +- gdb/testsuite/gdb.base/varargs.c | 13 +- gdb/testsuite/gdb.base/varargs.exp | 27 +- gdb/testsuite/gdb.base/watchpoint.exp | 3 +- gdb/testsuite/gdb.cp/temargs.exp | 1 - gdb/testsuite/gdb.cp/var-tag.exp | 14 +- .../dw2-dummy-cu.S} | 35 +- .../dw2-dummy-cu.exp} | 36 +- gdb/testsuite/gdb.gdb/complaints.exp | 110 +- gdb/testsuite/gdb.gdb/selftest.exp | 14 +- gdb/testsuite/gdb.mi/mi-dprintf.c | 4 + gdb/testsuite/gdb.mi/mi-dprintf.exp | 66 +- gdb/testsuite/gdb.mi/mi-pending.c | 4 +- gdb/testsuite/gdb.mi/mi-watch.exp | 4 - gdb/testsuite/gdb.multi/multi-attach.exp | 11 +- gdb/testsuite/gdb.perf/README | 211 +++ gdb/testsuite/gdb.perf/backtrace.exp | 3 + gdb/testsuite/gdb.perf/disassemble.exp | 3 + .../gm-hello.cc} | 29 +- .../gm-pervasive-typedef.cc} | 24 +- .../gm-pervasive-typedef.h} | 28 +- .../gm-std.cc} | 32 +- gdb/testsuite/gdb.perf/gm-std.h | 57 + .../gm-use-cerr.cc} | 29 +- .../gm-utils.h} | 29 +- gdb/testsuite/gdb.perf/gmonster-null-lookup.py | 46 + .../gdb.perf/gmonster-pervasive-typedef.py | 45 + gdb/testsuite/gdb.perf/gmonster-print-cerr.py | 52 + gdb/testsuite/gdb.perf/gmonster-ptype-string.py | 48 + gdb/testsuite/gdb.perf/gmonster-runto-main.py | 40 + gdb/testsuite/gdb.perf/gmonster-select-file.py | 43 + gdb/testsuite/gdb.perf/gmonster1-null-lookup.exp | 26 + .../gdb.perf/gmonster1-pervasive-typedef.exp | 28 + gdb/testsuite/gdb.perf/gmonster1-print-cerr.exp | 26 + gdb/testsuite/gdb.perf/gmonster1-ptype-string.exp | 26 + gdb/testsuite/gdb.perf/gmonster1-runto-main.exp | 26 + gdb/testsuite/gdb.perf/gmonster1-select-file.exp | 26 + .../gmonster1.cc} | 22 +- gdb/testsuite/gdb.perf/gmonster1.exp | 116 ++ gdb/testsuite/gdb.perf/gmonster2-null-lookup.exp | 27 + .../gdb.perf/gmonster2-pervasive-typedef.exp | 28 + gdb/testsuite/gdb.perf/gmonster2-print-cerr.exp | 26 + gdb/testsuite/gdb.perf/gmonster2-ptype-string.exp | 27 + gdb/testsuite/gdb.perf/gmonster2-runto-main.exp | 26 + gdb/testsuite/gdb.perf/gmonster2-select-file.exp | 27 + .../gmonster2.cc} | 22 +- gdb/testsuite/gdb.perf/gmonster2.exp | 118 ++ gdb/testsuite/gdb.perf/lib/perftest/reporter.py | 35 +- gdb/testsuite/gdb.perf/lib/perftest/testresult.py | 5 +- gdb/testsuite/gdb.perf/lib/perftest/utils.py | 68 + gdb/testsuite/gdb.perf/single-step.exp | 2 + gdb/testsuite/gdb.perf/skip-prologue.exp | 2 + gdb/testsuite/gdb.perf/solib.exp | 2 + gdb/testsuite/gdb.python/py-events.exp | 4 +- gdb/testsuite/gdb.python/py-evsignal.exp | 2 +- gdb/testsuite/gdb.python/py-evthreads.exp | 8 +- gdb/testsuite/gdb.python/py-objfile.exp | 13 +- gdb/testsuite/gdb.python/py-pp-registration.exp | 11 +- gdb/testsuite/gdb.python/py-prompt.exp | 5 +- gdb/testsuite/gdb.python/py-sync-interp.exp | 5 +- gdb/testsuite/gdb.server/ext-attach.exp | 5 +- .../gdb.server/{ext-attach.exp => ext-restart.exp} | 54 +- .../gdb.server/{ext-attach.exp => ext-wrapper.exp} | 57 +- gdb/testsuite/gdb.server/server-exec-info.exp | 4 + gdb/testsuite/gdb.threads/attach-into-signal.exp | 139 +- .../attach-many-short-lived-threads.exp | 6 +- gdb/testsuite/gdb.threads/attach-stopped.exp | 11 +- gdb/testsuite/gdb.threads/fork-plus-threads.c | 115 ++ gdb/testsuite/gdb.threads/fork-plus-threads.exp | 105 ++ .../non-ldr-exit.c} | 29 +- gdb/testsuite/gdb.threads/non-ldr-exit.exp | 45 + gdb/testsuite/lib/build-piece.exp | 39 + gdb/testsuite/lib/cache.exp | 2 +- gdb/testsuite/lib/future.exp | 17 +- gdb/testsuite/lib/gdb.exp | 231 +++- gdb/testsuite/lib/gdbserver-support.exp | 16 +- gdb/testsuite/lib/gen-perf-test.exp | 1509 ++++++++++++++++++++ gdb/testsuite/lib/mi-support.exp | 56 +- gdb/testsuite/lib/perftest.exp | 70 +- gdb/tilegx-linux-nat.c | 2 +- gdb/tilegx-tdep.c | 2 +- gdb/top.c | 21 + gdb/ui-out.c | 27 +- gdb/valarith.c | 8 +- gdb/valops.c | 62 +- gdb/valprint.c | 709 ++++++---- gdb/value.c | 85 +- gdb/value.h | 8 +- gdb/varobj.c | 2 +- gdb/x86-linux-nat.c | 2 +- gdb/x86-nat.c | 12 +- gdb/xstormy16-tdep.c | 2 +- gdb/xtensa-linux-nat.c | 2 +- gdb/xtensa-tdep.h | 2 +- gold/ChangeLog | 224 +++- gold/aarch64.cc | 165 ++- gold/archive.cc | 12 +- gold/arm.cc | 8 +- gold/configure | 4 +- gold/layout.cc | 6 +- gold/options.h | 4 + gold/parameters.cc | 2 +- gold/resolve.cc | 13 +- gold/symtab.cc | 9 + gold/testsuite/Makefile.am | 30 +- gold/testsuite/Makefile.in | 47 +- gold/testsuite/arm_unaligned_reloc.s | 9 +- gold/testsuite/arm_unaligned_reloc.sh | 22 +- gold/testsuite/hidden_test.sh | 24 +- gold/testsuite/ifuncdep2.c | 2 +- gold/testsuite/ifuncmod1.c | 2 +- gold/testsuite/ifuncmod5.c | 2 +- gold/testsuite/pr18689.c | 1 + gold/testsuite/pr18689.sh | 28 + gold/testsuite/script_test_1.h | 25 + gold/testsuite/script_test_11.h | 1 + .../{script_test_11.c => script_test_11a.c} | 4 +- gold/testsuite/script_test_11b.c | 7 + .../{script_test_1.cc => script_test_1a.cc} | 27 +- .../{script_test_1.cc => script_test_1b.cc} | 33 +- gprof/ChangeLog | 14 + gprof/alpha.c | 14 +- gprof/configure | 4 +- include/ChangeLog | 48 +- include/elf/ChangeLog | 34 +- include/gdb/ChangeLog | 6 +- include/opcode/ChangeLog | 17 +- include/opcode/arm.h | 8 +- intl/ChangeLog | 4 +- ld/ChangeLog | 27 + ld/configure | 4 +- ld/emulparams/criself.sh | 6 +- ld/emulparams/elf32rl78.sh | 5 +- ld/ldexp.c | 63 +- ld/ldmisc.c | 4 +- ld/lexsup.c | 2 +- ld/scripttempl/elf.sc | 8 +- ld/testsuite/ChangeLog | 128 ++- ld/testsuite/config/default.exp | 74 + ld/testsuite/ld-aarch64/aarch64-elf.exp | 1 + ld/testsuite/ld-aarch64/protected-data.d | 4 + ld/testsuite/ld-aarch64/protected-data.s | 18 + ld/testsuite/ld-arm/arm-elf.exp | 1 + ld/testsuite/ld-arm/protected-data.d | 4 + ld/testsuite/ld-arm/protected-data.s | 29 + ld/testsuite/ld-elf/check-ptr-eq.c | 12 + ld/testsuite/ld-elf/compress.exp | 20 +- ld/testsuite/ld-elf/elf.exp | 10 +- ld/testsuite/ld-elf/pr18718.c | 32 + ld/testsuite/ld-elf/pr18735.d | 10 + ld/testsuite/ld-elf/pr18735.s | 13 + ld/testsuite/ld-elf/shared.exp | 45 + ld/testsuite/ld-elf/symbolic-func.r | 18 + ld/testsuite/ld-elf/symbolic-func.s | 13 + ld/testsuite/ld-elf/zlibbegin.rS | 2 +- ld/testsuite/ld-elf/zlibnormal.rS | 2 +- ld/testsuite/ld-elfvers/vers.exp | 4 +- ld/testsuite/ld-elfvsb/elfvsb.exp | 12 +- ld/testsuite/ld-i386/i386.exp | 7 +- ld/testsuite/ld-powerpc/elfv2so.d | 18 +- ld/testsuite/ld-scripts/crossref.exp | 10 + ld/testsuite/ld-shared/shared.exp | 7 +- ld/testsuite/ld-size/size.exp | 327 +++-- ld/testsuite/ld-srec/srec.exp | 17 + ld/testsuite/ld-x86-64/mpx.exp | 73 +- ld/testsuite/ld-x86-64/x86-64.exp | 7 +- ld/testsuite/lib/ld-lib.exp | 4 + libdecnumber/ChangeLog | 20 +- libiberty/ChangeLog | 6 +- opcodes/ChangeLog | 30 +- opcodes/configure | 4 +- opcodes/i386-dis-evex.h | 8 +- opcodes/i386-dis.c | 19 +- sim/ChangeLog | 34 +- sim/arm/ChangeLog | 84 +- sim/common/ChangeLog | 320 +++--- sim/cr16/ChangeLog | 8 +- sim/d10v/ChangeLog | 76 +- sim/erc32/ChangeLog | 46 +- sim/frv/ChangeLog | 42 +- sim/h8300/ChangeLog | 44 +- sim/igen/ChangeLog | 80 +- sim/iq2000/ChangeLog | 6 +- sim/lm32/ChangeLog | 50 +- sim/m32c/ChangeLog | 12 +- sim/m32r/ChangeLog | 28 +- sim/m68hc11/ChangeLog | 42 +- sim/mcore/ChangeLog | 8 +- sim/mips/ChangeLog | 316 ++-- sim/mn10300/ChangeLog | 62 +- sim/moxie/ChangeLog | 2 +- sim/ppc/ChangeLog | 908 ++++++------ sim/rl78/ChangeLog | 2 +- sim/rx/ChangeLog | 10 +- sim/sh/ChangeLog | 76 +- sim/sh64/ChangeLog | 10 +- sim/testsuite/ChangeLog | 18 +- sim/testsuite/d10v-elf/ChangeLog | 6 +- sim/testsuite/sim/cr16/ChangeLog | 6 +- sim/testsuite/sim/cris/ChangeLog | 2 +- sim/testsuite/sim/h8300/ChangeLog | 12 +- sim/testsuite/sim/mips/ChangeLog | 2 +- sim/testsuite/sim/sh/ChangeLog | 4 +- sim/v850/ChangeLog | 122 +- zlib/ChangeLog | 12 +- 486 files changed, 12641 insertions(+), 4933 deletions(-) create mode 100644 gas/testsuite/gas/arm/attr-march-armv6kz.d create mode 100644 gas/testsuite/gas/arm/attr-march-armv6kzt2.d create mode 100644 gas/testsuite/gas/elf/section2.e-rl78 create mode 100644 gas/testsuite/gas/i386/i386-intel.d create mode 100644 gas/testsuite/gas/i386/x86_64-intel.d create mode 100644 gdb/arch/arm.h rename gdb/{ => nat}/gdb_ptrace.h (96%) create mode 100644 gdb/ptrace.m4 create mode 100644 gdb/testsuite/gdb.ada/var_arr_typedef.exp create mode 100644 gdb/testsuite/gdb.ada/var_arr_typedef/pack.adb create mode 100644 gdb/testsuite/gdb.ada/var_arr_typedef/pack.ads create mode 100644 gdb/testsuite/gdb.ada/var_arr_typedef/var_arr_typedef.adb create mode 100644 gdb/testsuite/gdb.base/gdb-sigterm-2.exp copy gdb/testsuite/{gdb.base/catch-gdb-caused-signals.c => gdb.dwarf2/dw2-dummy-cu.S} (60%) copy gdb/testsuite/{gdb.server/server-exec-info.exp => gdb.dwarf2/dw2-dummy-cu.exp} (50%) create mode 100644 gdb/testsuite/gdb.perf/README copy gdb/testsuite/{gdb.base/catch-gdb-caused-signals.c => gdb.perf/gm-hello.cc} (64%) copy gdb/testsuite/{gdb.base/catch-gdb-caused-signals.c => gdb.perf/gm-pervasive-typedef.cc} (65%) copy gdb/testsuite/{gdb.base/catch-gdb-caused-signals.c => gdb.perf/gm-pervasive-typedef.h} (65%) copy gdb/testsuite/{gdb.base/catch-gdb-caused-signals.c => gdb.perf/gm-std.cc} (65%) create mode 100644 gdb/testsuite/gdb.perf/gm-std.h copy gdb/testsuite/{gdb.base/catch-gdb-caused-signals.c => gdb.perf/gm-use-cerr.cc} (64%) copy gdb/testsuite/{gdb.base/catch-gdb-caused-signals.c => gdb.perf/gm-utils.h} (64%) create mode 100644 gdb/testsuite/gdb.perf/gmonster-null-lookup.py create mode 100644 gdb/testsuite/gdb.perf/gmonster-pervasive-typedef.py create mode 100644 gdb/testsuite/gdb.perf/gmonster-print-cerr.py create mode 100644 gdb/testsuite/gdb.perf/gmonster-ptype-string.py create mode 100644 gdb/testsuite/gdb.perf/gmonster-runto-main.py create mode 100644 gdb/testsuite/gdb.perf/gmonster-select-file.py create mode 100644 gdb/testsuite/gdb.perf/gmonster1-null-lookup.exp create mode 100644 gdb/testsuite/gdb.perf/gmonster1-pervasive-typedef.exp create mode 100644 gdb/testsuite/gdb.perf/gmonster1-print-cerr.exp create mode 100644 gdb/testsuite/gdb.perf/gmonster1-ptype-string.exp create mode 100644 gdb/testsuite/gdb.perf/gmonster1-runto-main.exp create mode 100644 gdb/testsuite/gdb.perf/gmonster1-select-file.exp copy gdb/testsuite/{gdb.base/catch-gdb-caused-signals.c => gdb.perf/gmonster1.cc} (65%) create mode 100644 gdb/testsuite/gdb.perf/gmonster1.exp create mode 100644 gdb/testsuite/gdb.perf/gmonster2-null-lookup.exp create mode 100644 gdb/testsuite/gdb.perf/gmonster2-pervasive-typedef.exp create mode 100644 gdb/testsuite/gdb.perf/gmonster2-print-cerr.exp create mode 100644 gdb/testsuite/gdb.perf/gmonster2-ptype-string.exp create mode 100644 gdb/testsuite/gdb.perf/gmonster2-runto-main.exp create mode 100644 gdb/testsuite/gdb.perf/gmonster2-select-file.exp copy gdb/testsuite/{gdb.base/catch-gdb-caused-signals.c => gdb.perf/gmonster2.cc} (65%) create mode 100644 gdb/testsuite/gdb.perf/gmonster2.exp create mode 100644 gdb/testsuite/gdb.perf/lib/perftest/utils.py copy gdb/testsuite/gdb.server/{ext-attach.exp => ext-restart.exp} (54%) copy gdb/testsuite/gdb.server/{ext-attach.exp => ext-wrapper.exp} (56%) create mode 100644 gdb/testsuite/gdb.threads/fork-plus-threads.c create mode 100644 gdb/testsuite/gdb.threads/fork-plus-threads.exp copy gdb/testsuite/{gdb.base/catch-gdb-caused-signals.c => gdb.threads/non-ldr-exit.c} (67%) create mode 100644 gdb/testsuite/gdb.threads/non-ldr-exit.exp create mode 100644 gdb/testsuite/lib/build-piece.exp create mode 100644 gdb/testsuite/lib/gen-perf-test.exp create mode 100644 gold/testsuite/pr18689.c create mode 100755 gold/testsuite/pr18689.sh create mode 100644 gold/testsuite/script_test_1.h create mode 100644 gold/testsuite/script_test_11.h rename gold/testsuite/{script_test_11.c => script_test_11a.c} (81%) create mode 100644 gold/testsuite/script_test_11b.c copy gold/testsuite/{script_test_1.cc => script_test_1a.cc} (62%) rename gold/testsuite/{script_test_1.cc => script_test_1b.cc} (51%) create mode 100644 ld/testsuite/ld-aarch64/protected-data.d create mode 100644 ld/testsuite/ld-aarch64/protected-data.s create mode 100644 ld/testsuite/ld-arm/protected-data.d create mode 100644 ld/testsuite/ld-arm/protected-data.s create mode 100644 ld/testsuite/ld-elf/check-ptr-eq.c create mode 100644 ld/testsuite/ld-elf/pr18718.c create mode 100644 ld/testsuite/ld-elf/pr18735.d create mode 100644 ld/testsuite/ld-elf/pr18735.s create mode 100644 ld/testsuite/ld-elf/symbolic-func.r create mode 100644 ld/testsuite/ld-elf/symbolic-func.s First 500 lines of diff: diff --git a/ChangeLog b/ChangeLog index 6ba2675..f8690be 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2015-07-27 H.J. Lu + + Sync with GCC + 2015-07-24 Michael Darling + + PR other/66259 + * config-ml.in: Reflects renaming of configure.in to configure.ac + * configure: Likewise + * configure.ac: Likewise + 2015-07-14 H.J. Lu * Makefile.in: Regenerated. @@ -292,7 +302,7 @@ 2014-04-04 Eric Botcazou PR bootstrap/60620 - * Makefile.def (dependencies): Make gnattools depend on libstdc++-v3. + * Makefile.def (dependencies): Make gnattools depend on libstdc++-v3. * Makefile.in: Regenerate. 2014-03-28 Yaakov Selkowitz diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 2942c76..e9776bf 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,102 @@ +2015-07-30 H.J. Lu + + PR ld/18735 + * elflink.c (_bfd_elf_add_default_symbol): Add the default + symbol if not performing a relocatable link. + (elf_link_add_object_symbols): Adjust the default symbol if + not performing a relocatable link. + +2015-07-29 H.J. Lu + + * elflink.c (elf_link_add_object_symbols): Remove + !info->relocatable check for info->executable. Add + !info->relocatable check for !info->executable. + (elf_link_output_extsym): Remove + !info->relocatable check for info->executable. + +2015-07-29 Hans-Peter Nilsson + + * mmo.c (mmo_write_symbols_and_terminator): Skip symbol-type + assignment loop for bfd plugin objects. + +2015-07-28 Alan Modra + + * elf.c (_bfd_elf_map_sections_to_segments): Do not make a new + segment for loaded sections after nonloaded sections if the + sections are on the same page. + +2015-07-28 Iain Buclaw + + * configure.in: Add asprintf and vasprintf to AC_CHECK_DECLS. + * config.in, configure: Regenerate. + +2015-07-27 H.J. Lu + + * configure: Regenerated. + +2015-07-27 Nick Clifton + + * elf32-msp430.c (uses_large_model): New function. + (msp430_elf_eh_frame_address_size): New function. + (elf_backend_eh_frame_address_size): Define. + +2015-07-27 Szabolcs Nagy + + PR ld/18705 + * elfnn-aarch64.c (elf_backend_extern_protected_data): Define. + +2015-07-27 Szabolcs Nagy + + PR ld/18705 + * elf32-arm.c (elf_backend_extern_protected_data): Define. + +2015-07-25 H.J. Lu + + PR ld/18718 + * elflink.c (elf_link_output_extsym): Check symbol version + section check only if not linking executable, the symbol is + referenced by shared library or not locally defined. + +2015-07-25 Thomas Preud'homme + + * elf32-arm.c (elf32_arm_final_link_relocate): Use SYMBOLIC_BIND to + check if a symbol should be bound symbolically. + * elf32-hppa.c (elf32_hppa_check_relocs, + elf32_hppa_adjust_dynamic_symbol, elf32_hppa_relocate_section, + elf32_hppa_finish_dynamic_symbol): Likewise. + * elf32-m68k.c (elf_m68k_check_relocs, + elf_m68k_relocate_section): Likewise. + * elf32-nios2.c (nios2_elf32_relocate_section, + nios2_elf32_check_relocs, allocate_dynrelocs): Likewise. + * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol, + elf32_tic6x_relocate_section): Likewise. + +2015-07-24 Alan Modra + + * elf.c (_bfd_elf_assign_file_positions_for_non_load): Use .rela + prefix for reloc section corresponding to rela section associated + with renamed debug section. + +2015-07-24 Alan Modra + + * section.c (bfd_get_section_by_name_if): Iterate over entire hash + chain. + +2015-07-23 Joseph Myers + + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections) + : Add target address to host address + difference, not to host pointer. + +2015-07-22 Alan Modra + + * elf64-ppc.c (opd_entry_value): Remove assertion. Instead, + return -1 if symbol referenced is not defined. Tidy. + +2015-07-20 Alan Modra + + * po/SRC-POTFILES.in: Regenerate. + 2015-07-17 Jiong Wang * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Sort alphabetically. diff --git a/bfd/bfd.c b/bfd/bfd.c index 846ab58..c02edbe 100644 --- a/bfd/bfd.c +++ b/bfd/bfd.c @@ -1090,11 +1090,11 @@ _bfd_abort (const char *file, int line, const char *fn) { if (fn != NULL) (*_bfd_error_handler) - (_("BFD %s internal error, aborting at %s line %d in %s\n"), + (_("BFD %s internal error, aborting at %s:%d in %s\n"), BFD_VERSION_STRING, file, line, fn); else (*_bfd_error_handler) - (_("BFD %s internal error, aborting at %s line %d\n"), + (_("BFD %s internal error, aborting at %s:%d\n"), BFD_VERSION_STRING, file, line); (*_bfd_error_handler) (_("Please report this bug.\n")); _exit (EXIT_FAILURE); diff --git a/bfd/config.in b/bfd/config.in index 1ee1081..58248bd 100644 --- a/bfd/config.in +++ b/bfd/config.in @@ -17,6 +17,10 @@ /* Define to 1 if you have the header file. */ #undef HAVE_ALLOCA_H +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#undef HAVE_DECL_ASPRINTF + /* Define to 1 if you have the declaration of `basename', and to 0 if you don't. */ #undef HAVE_DECL_BASENAME @@ -72,6 +76,10 @@ */ #undef HAVE_DECL_STRSTR +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#undef HAVE_DECL_VASPRINTF + /* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you don't. */ #undef HAVE_DECL_VSNPRINTF diff --git a/bfd/configure b/bfd/configure index eeeb89a..a17e936 100755 --- a/bfd/configure +++ b/bfd/configure @@ -13819,6 +13819,28 @@ cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRSTR $ac_have_decl _ACEOF +ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default" +if test "x$ac_cv_have_decl_asprintf" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_ASPRINTF $ac_have_decl +_ACEOF + +ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default" +if test "x$ac_cv_have_decl_vasprintf" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_VASPRINTF $ac_have_decl +_ACEOF + ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default" if test "x$ac_cv_have_decl_snprintf" = x""yes; then : ac_have_decl=1 @@ -18338,14 +18360,14 @@ _LT_EOF if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then - test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.ac is obsolete" || echo "setting ALL_LINGUAS in configure.ac is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else - # The set of available languages was given in configure.in. + # The set of available languages was given in configure.ac. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi case "$ac_given_srcdir" in diff --git a/bfd/configure.ac b/bfd/configure.ac index 4225f7d..2a38842 100644 --- a/bfd/configure.ac +++ b/bfd/configure.ac @@ -232,6 +232,8 @@ AC_CHECK_DECLS(malloc) AC_CHECK_DECLS(realloc) AC_CHECK_DECLS(stpcpy) AC_CHECK_DECLS(strstr) +AC_CHECK_DECLS(asprintf) +AC_CHECK_DECLS(vasprintf) AC_CHECK_DECLS(snprintf) AC_CHECK_DECLS(vsnprintf) AC_CHECK_DECLS(strnlen) diff --git a/bfd/elf.c b/bfd/elf.c index 9846046..05ee025 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -4220,11 +4220,18 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info) new_segment = TRUE; } else if ((last_hdr->flags & (SEC_LOAD | SEC_THREAD_LOCAL)) == 0 - && (hdr->flags & (SEC_LOAD | SEC_THREAD_LOCAL)) != 0) + && (hdr->flags & (SEC_LOAD | SEC_THREAD_LOCAL)) != 0 + && ((abfd->flags & D_PAGED) == 0 + || (((last_hdr->lma + last_size - 1) & -maxpagesize) + != (hdr->lma & -maxpagesize)))) { - /* We don't want to put a loadable section after a - nonloadable section in the same segment. - Consider .tbss sections as loadable for this purpose. */ + /* We don't want to put a loaded section after a + nonloaded (ie. bss style) section in the same segment + as that will force the non-loaded section to be loaded. + Consider .tbss sections as loaded for this purpose. + However, like the writable/non-writable case below, + if they are on the same page then they must be put + in the same segment. */ new_segment = TRUE; } else if ((abfd->flags & D_PAGED) == 0) @@ -5654,7 +5661,7 @@ _bfd_elf_assign_file_positions_for_non_load (bfd *abfd) if (d->rela.hdr && !_bfd_elf_set_reloc_sh_name (abfd, d->rela.hdr, - name, FALSE)) + name, TRUE)) return FALSE; /* Update section size and contents. */ diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 919df17..ff69728 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -8449,7 +8449,7 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto, else if (h != NULL && h->dynindx != -1 && (!info->shared - || !info->symbolic + || !SYMBOLIC_BIND (info, h) || !h->def_regular)) outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); else @@ -16236,6 +16236,7 @@ elf32_arm_get_synthetic_symtab (bfd *abfd, #define elf_backend_default_use_rela_p 0 #define elf_backend_got_header_size 12 +#define elf_backend_extern_protected_data 1 #undef elf_backend_obj_attrs_vendor #define elf_backend_obj_attrs_vendor "aeabi" diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index af512a7..f611e0d 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -1467,7 +1467,7 @@ elf32_hppa_check_relocs (bfd *abfd, && (sec->flags & SEC_ALLOC) != 0 && (IS_ABSOLUTE_RELOC (r_type) || (hh != NULL - && (!info->symbolic + && (!SYMBOLIC_BIND (info, &hh->eh) || hh->eh.root.type == bfd_link_hash_defweak || !hh->eh.def_regular)))) || (ELIMINATE_COPY_RELOCS @@ -1819,7 +1819,7 @@ elf32_hppa_adjust_dynamic_symbol (struct bfd_link_info *info, || (eh->def_regular && eh->root.type != bfd_link_hash_defweak && ! hppa_elf_hash_entry (eh)->plabel - && (!info->shared || info->symbolic))) + && (!info->shared || SYMBOLIC_BIND (info, eh)))) { /* The .plt entry is not needed when: a) Garbage collection has removed all references to the @@ -4005,7 +4005,7 @@ elf32_hppa_relocate_section (bfd *output_bfd, && (plabel || !IS_ABSOLUTE_RELOC (r_type) || !info->shared - || !info->symbolic + || !SYMBOLIC_BIND (info, &hh->eh) || !hh->eh.def_regular)) { outrel.r_info = ELF32_R_INFO (hh->eh.dynindx, r_type); @@ -4389,7 +4389,7 @@ elf32_hppa_finish_dynamic_symbol (bfd *output_bfd, global offset table will already have been initialized in the relocate_section function. */ if (info->shared - && (info->symbolic || eh->dynindx == -1) + && (SYMBOLIC_BIND (info, eh) || eh->dynindx == -1) && eh->def_regular) { rela.r_info = ELF32_R_INFO (0, R_PARISC_DIR32); diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c index fad3ec6..db0d0da 100644 --- a/bfd/elf32-m68k.c +++ b/bfd/elf32-m68k.c @@ -2758,7 +2758,7 @@ elf_m68k_check_relocs (bfd *abfd, if (!(info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL - && (!info->symbolic + && (!SYMBOLIC_BIND (info, h) || h->root.type == bfd_link_hash_defweak || !h->def_regular))) { @@ -4027,7 +4027,7 @@ elf_m68k_relocate_section (bfd *output_bfd, || r_type == R_68K_PC16 || r_type == R_68K_PC32 || !info->shared - || !info->symbolic + || !SYMBOLIC_BIND (info, h) || !h->def_regular)) { outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c index 9e69791..83bb9ce 100644 --- a/bfd/elf32-msp430.c +++ b/bfd/elf32-msp430.c @@ -2532,6 +2532,27 @@ msp430_elf_is_target_special_symbol (bfd *abfd, asymbol *sym) return _bfd_elf_is_local_label_name (abfd, sym->name); } +static bfd_boolean +uses_large_model (bfd *abfd) +{ + obj_attribute * attr; + + if (abfd->flags & BFD_LINKER_CREATED) + return FALSE; + + attr = elf_known_obj_attributes_proc (abfd); + if (attr == NULL) + return FALSE; + + return attr[OFBA_MSPABI_Tag_Code_Model].i == 2; +} + +static unsigned int +elf32_msp430_eh_frame_address_size (bfd *abfd, asection *sec ATTRIBUTE_UNUSED) +{ + return uses_large_model (abfd) ? 4 : 2; +} + /* This is gross. The MSP430 EABI says that (sec 11.5): "An implementation may choose to use Rel or Rela @@ -2563,6 +2584,7 @@ msp430_elf_is_target_special_symbol (bfd *abfd, asymbol *sym) #undef elf_backend_obj_attrs_arg_type #define elf_backend_obj_attrs_arg_type elf32_msp430_obj_attrs_arg_type #define bfd_elf32_bfd_merge_private_bfd_data elf32_msp430_merge_private_bfd_data +#define elf_backend_eh_frame_address_size elf32_msp430_eh_frame_address_size #define ELF_ARCH bfd_arch_msp430 #define ELF_MACHINE_CODE EM_MSP430 diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c index e5b7763..a5ab54f 100644 --- a/bfd/elf32-nios2.c +++ b/bfd/elf32-nios2.c @@ -4398,7 +4398,7 @@ nios2_elf32_relocate_section (bfd *output_bfd, else if (h != NULL && h->dynindx != -1 && (!info->shared - || !info->symbolic + || !SYMBOLIC_BIND (info, h) || !h->def_regular)) { outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); @@ -4909,7 +4909,7 @@ nios2_elf32_check_relocs (bfd *abfd, struct bfd_link_info *info, && (sec->flags & SEC_ALLOC) != 0 && (r_type == R_NIOS2_BFD_RELOC_32 || (h != NULL && ! h->needs_plt - && (! info->symbolic || ! h->def_regular)))) + && (! SYMBOLIC_BIND (info, h) || ! h->def_regular)))) { struct elf32_nios2_dyn_relocs *p; struct elf32_nios2_dyn_relocs **head; @@ -5752,7 +5752,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, PTR inf) if (info->shared) { if (h->def_regular - && (h->forced_local || info->symbolic)) + && (h->forced_local || SYMBOLIC_BIND (info, h))) { struct elf32_nios2_dyn_relocs **pp; diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c index 8bfad84..7fc385b 100644 --- a/bfd/elf32-tic6x.c +++ b/bfd/elf32-tic6x.c @@ -1849,7 +1849,7 @@ elf32_tic6x_finish_dynamic_symbol (bfd * output_bfd, The entry in the global offset table will already have been initialized in the relocate_section function. */ if (info->shared - && (info->symbolic + && (SYMBOLIC_BIND (info, h) || h->dynindx == -1 || h->forced_local) && h->def_regular) { asection *s = h->root.u.def.section; @@ -2449,7 +2449,7 @@ elf32_tic6x_relocate_section (bfd *output_bfd, else if (h != NULL && h->dynindx != -1 && (!info->shared - || !info->symbolic + || !SYMBOLIC_BIND (info, h) || !h->def_regular)) { outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 468e8bf..ef08164 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -6034,14 +6034,13 @@ opd_entry_value (asection *opd_sec, if (rh != NULL) { rh = elf_follow_link (rh); - BFD_ASSERT (rh->root.type == bfd_link_hash_defined - || rh->root.type == bfd_link_hash_defweak); - val = rh->root.u.def.value; - sec = rh->root.u.def.section; - if (sec->owner != opd_bfd) + if (rh->root.type != bfd_link_hash_defined + && rh->root.type != bfd_link_hash_defweak) + break; + if (rh->root.u.def.section->owner == opd_bfd) { - sec = NULL; - val = (bfd_vma) -1; + val = rh->root.u.def.value; + sec = rh->root.u.def.section; } } } diff --git a/bfd/elflink.c b/bfd/elflink.c index b741e7e..846f35e 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -1655,12 +1655,17 @@ _bfd_elf_add_default_symbol (bfd *abfd, if (! override) { - bh = &hi->root; - if (! (_bfd_generic_link_add_one_symbol - (info, abfd, shortname, BSF_INDIRECT, bfd_ind_section_ptr, - 0, name, FALSE, collect, &bh))) - return FALSE; - hi = (struct elf_link_hash_entry *) bh; + /* Add the default symbol if not performing a relocatable link. */ + if (! info->relocatable) + { + bh = &hi->root; + if (! (_bfd_generic_link_add_one_symbol + (info, abfd, shortname, BSF_INDIRECT, + bfd_ind_section_ptr, + 0, name, FALSE, collect, &bh))) hooks/post-receive -- Repository for Project Archer.