From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21549 invoked by alias); 20 May 2015 18:14:22 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 21529 invoked by uid 9674); 20 May 2015 18:14:21 -0000 Date: Wed, 20 May 2015 18:14:00 -0000 Message-ID: <20150520181414.19870.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] tromey/python: Merge remote-tracking branch 'gdb/master' into tromey/python X-Git-Refname: refs/heads/tromey/python X-Git-Reftype: branch X-Git-Oldrev: d1a09bf2f8e7e3f752a1bbeba135bc080bf0c865 X-Git-Newrev: c8a8413e160d935c12cbc6e484dd8b7ab80f5f62 X-SW-Source: 2015-q2/txt/msg00001.txt.bz2 List-Id: The branch, tromey/python has been updated via c8a8413e160d935c12cbc6e484dd8b7ab80f5f62 (commit) via fca6ae69c41882f5adfba05da7d932b7c8bc2153 (commit) via ce336788820b5d04700cdb9ead2ade880f5e2caa (commit) via f09c556a25af178e4fdedf76b653921b1aea5767 (commit) via 0b6e5e108599217c106f5fb63cd8ad7ec7028c5c (commit) via 1da0522ea716f4c679cc1fe85c39459417ec2749 (commit) via fa0b40e5c44154f5a402bed8c31e7d8887256590 (commit) via 5fe75eec33c0f55536f09b2f3d692fb688a2c423 (commit) via a40635885c50f14782d80251a8966bf4dd271f76 (commit) via 84204ed7c0ccaa790dff8e124e710277d9a8abc9 (commit) via 8f8a1b36a0962f87ab471d18e39be2c3b213034a (commit) via b4477bc81824800248d44f141aeaf63e00314a01 (commit) via 35d7c4317b85948f0a3e021d719811481d13fe45 (commit) via 071f0063b422ed1f51a673c817a7656bab3e152f (commit) via 80de0c6d618be3656fa5a82bf445e0cd1b4b16d3 (commit) via df4227e4c6ec085abe2ca4d2a71889d7df023cb4 (commit) via 4412c033caac38b5bad1bddffc40173a9de694cf (commit) via 296730a52b06fe7dd658924acae1269a54015d52 (commit) via 68880f311c1d5629c47c3ab9749061fe3138be63 (commit) via 20ef91414ed2272cc379dcf8364f5f48eeff6362 (commit) via 37442ce10aaa2f84d245631d38e25ee47e5057aa (commit) via d976bace1c68aed43311651c1033c23b3c983094 (commit) via 25070364b0ce33eed46aa5d78ebebbec6accec7e (commit) via 4d18dfad9edf822df205edc2c1fe3fe9f1e467b8 (commit) via bbec1a5db7d3de1322cdc5a859d0c2a44ae1231f (commit) via 36de76f9cc2eea0bd5f1b7ce74ef60e1aa0b27c2 (commit) via 83d3415ef530c41af7e1ae98a7add97adb0cf5e0 (commit) via 3a9558c494e9b461f752ce26382701d4446f0958 (commit) via 5c65b58a58a4c77b1ec38b4e31549aaa090b4845 (commit) via 1c88ceb1bedc81dbfd1d076e4a49bbf533b4e238 (commit) via 0b738f2744178ad33eeb60bcd9bdfb77adb5605b (commit) via b6de3f9642c58439c31690255c3a4326728da88d (commit) via 24da9638e206f9d83c0aa0bd419e16c9d97dd76f (commit) via aa7151351ed16c5a4eb1334c9a1af1b06dbb7a99 (commit) via 931e5bc3e19d1e279fc28c5cf5571f812c79b8d3 (commit) via fd8008d83ce379a8d3f3bb9c3b1a723e16c401d4 (commit) via 5db04b0965e3e7a9344a93de22caae3c111de2cc (commit) via 0e602686df5677fee06cbd1718b4a7aa5379cd2a (commit) via 4e63d0ac896b6036edd8e2c09a4dac7aa16a46d1 (commit) via 452003ef2ca3e1cf81b17d960b59b8a8c167054b (commit) via 52e48b3661a55d5f7cc29591780b844e47157c3f (commit) via 2465e12e99c4ffd3e56e4725729cd3016d4e2c3d (commit) via 13fa0398d7dd8d2b468acf0aba5610ce014709a6 (commit) via 9cd4d857bb046ad9be3c6d978b5b2aebb528eaf4 (commit) via 8dcea93252a9ea7dff57e85220a719e2a5e8ab41 (commit) via d1c4b12b9d48d9266b78e2c22d70aa25830b9f8f (commit) via 4bc0608a8b693f033555aa5705fdd5fc44cb9a9a (commit) via 49a84e1373168f743fd6191035043389f0198a14 (commit) via dab394de9e41de54df5e2310e081e1c550326f5b (commit) via 61a7418ccb7c2de12d4c4df79e193f32db938a11 (commit) via 1041a03c1b4d03c39033c8bb942148dc3e4b4acc (commit) via e3555239e04fa6dba2a165b3b52598a880474a22 (commit) via fdc3b1b1ef461fb81a53c9ce95117e5f134fc828 (commit) via fd1c42387bead88edbd6043440462ada755f8d6e (commit) via e6c9a083ec5ae7a45bd71682b26aae1939849388 (commit) via d121800b7f1df96db2dc6ab1d1a86c51befde063 (commit) via 08a76f8ab86efbd5c85c9bd3979c4c06b9e84258 (commit) via 93b2e21d4a86e9bc0adf31071b33dc1e34603462 (commit) via da0580a62bff4cdfa53ef6b491f5158cc7a5744a (commit) via bd49952bd7fbe616e2cb488e8080502f2338aaa2 (commit) via 46c03469b37d2ccb6a1eaa3ea4e21c57d07246fc (commit) via 8a6c40311297f60ad13827650fdde13da301b505 (commit) via 109896905babca2d99e13f74bc887acf14cd1ab7 (commit) via 5e9705017f5b257421136b8d7752b9c793335ace (commit) via 1c4eb778a28447d764235b8810d382b40b2a054c (commit) via f5f85ab95ff104eae872622ab3e2ad30a2b3d47a (commit) via 5569a85f45e4df3563254cea4caa02c7cb092480 (commit) via dc58915f3af581f32d575acd37e0cfe047c7990b (commit) via 242cd84c933640b7cc82b9783d5ebb1d963e1c0d (commit) via 1e04046d0b7e0f87bc6e2fefd966c9dd89d2ce13 (commit) via 558e5469679897ee57ad6706074f55ff4952cf43 (commit) via ebfd00d210ca6190239140b250499e194fd5af20 (commit) via e69c76f4bfaf4c1b72f020f811afe03a5f7cd831 (commit) via 31955f993de7b502b7a89bba4f9c9b0a34f90b2c (commit) via aa9f7286724c2e47077f2f5456d464a961f8e8a4 (commit) via 6604eb5f404cb2590ee417f45cf006442f976676 (commit) via 5c0bbc5231dfd0331b6980252d1dae0b6d3c8812 (commit) via a3747075ae478f27bf3e0643021a85fb6cdad0e3 (commit) via 98624574ea8834b2084eb1f0ca7341feecc7329f (commit) via 83769d0b125e2043aba13ff05a4e8d08014e08a5 (commit) via 0d71eef55dc5ce12d9bfa3cefb40d81a9b5fa2e6 (commit) via cbb8991cabdd85b7828f59c92f754c5a2101b0b6 (commit) via c269dbdb603216de2be52f07f26e65ead7e11c7b (commit) via 3a8a0396bed4e9dd87c2df0f68386a0f04dfc824 (commit) via de0d863ec3fda88e488cee568f943c7998b68862 (commit) via ddcbc3975fffffdb5bb3bfb05b1f0ef3d67be3ee (commit) via 89245bc05692aaa107fa2884c032da21682edc72 (commit) via 15eddee17fd772021fc3a331904e8f6b55b354c7 (commit) via 835205d078aa3b78180da1512f8019ab064032e7 (commit) via 5b155b955ab0f4b6db3a5edb049f8e4d5a712f4a (commit) via fb4048adf7e4c6cbf8f45b4436ab7982a6d685e6 (commit) via 70cead076728d1bc0d905b32fcb0c44c25f00ccc (commit) via e83c417475ba1a0a4b0ef81c99382ac78dfde7f1 (commit) via 5197d474361b4748e0339ae60e6dc9975f2313df (commit) via 7e0a81123db953de03f6482f7c10f306407d348e (commit) via 814860358c2e4194d372018dd1ae78b5c95a44d0 (commit) via 7b6d09fbc60b12c196b25a9ebbb77ddc24e06334 (commit) via 3d875af5759b6ac3d0a722ce8b598426c26bf46c (commit) via bf64a9511f73684c4880fd1818928fdfa1725c4f (commit) via 6c14750f48f179e0fed8abc34010de3e05ec2a54 (commit) via 22abe5566abcf48d81c4b485de722f2634d394f2 (commit) via 415158ef391683a5248eabe498693c34836c3a38 (commit) via 4b71eec62785db0fe5f02b0da95f18b7b4a33df1 (commit) via 4c082a81dfebcca45e4ee8cb90490ab733b8e017 (commit) via 10a52f094ebbbed3f9d1b28a2ded94e43d500133 (commit) via a72d2af2c76f82cc8a198919f73585e11d0a4c60 (commit) via 504374b503c194bef5c6bcf432e6ef8481322880 (commit) via afa6c9abf2c12c8e6155d088ea45e5091ca79c57 (commit) via 35d54293c3a0fb5e8cd3a82a1e2a6e0481b615af (commit) via 21e94bd9f0888034c094e02c75d382d75340326c (commit) via b73c49b7f6691cf1debb14dbce5b3222a7190314 (commit) via f7797074a5dc314f8922d2e90c1a4ea04b189c36 (commit) via 519b5f619baa43f000ad18c079017bea8e7fc06a (commit) via a4674e4efc0c93abd2865d5cf97da710fa3affae (commit) via ae8714c2712ef9a179cfa9158a289bd400c0ad97 (commit) via dd9f02a0ca7a9873717933345e393edb3d5da6bc (commit) via 6ad395a7a64c9b49dab32a9178a8a07a96c17885 (commit) via 8344af1e7bffd13add24bd02bc462d9389294fd2 (commit) via 80b0912bff495fd51e34050637357aeb243eefbb (commit) via 17d88f73c0e38b80a4c9180ab7ae5383f9d0fb05 (commit) via df2eb078c0a88a44c49de7045a1c163f380a7efc (commit) via 573cc2e57db66165b390044338d3a4ad51f36bf8 (commit) via 422349a385c2ccfc1e66f5c65560e5bd5fc97953 (commit) via 45614f153407762d83e8ecaf271b9b6e524c62db (commit) via 2492f0d005f0390eabb3deb58aa7db7fcd716763 (commit) via 63fc80ce17311913e41ccb671641310e4ce29eaf (commit) via 7a261c91c8970fbcad7b00dc3e9c646319e74c50 (commit) via b084df0b8d1262fb1e969c74bcc5c61e262a6199 (commit) via 1c56a84d9bac1f6a451a89d2c6af3d7078c4290e (commit) via 74850322e4882a195c92d5968defd93fe3deb75e (commit) via 187032dbb8cc15a4a13243a89b32ba8c51e95a4e (commit) via e26efa4066a5076f59427c927cc51c52b6b92f35 (commit) via 851c90917fff745b94e29c1fec4f3d00ca36f598 (commit) via 80ad801e90b5bd389ec156d37e28228fcbca128c (commit) via f218b647aa21168473b973e3459258ba21ba8fbc (commit) via b30a0bc387d63a28362bb08c351da32b50228530 (commit) via 0d495746bb7ac93f3270443cae4117d6ae69ea05 (commit) via 9e85c798e3f1314711e0a1c7f85780d52c6f9c75 (commit) via f9911bebcab64889ec7ab3571305081741aa03e4 (commit) via 9ac47a43ffc8e3c73867b9953145a8e7a227132d (commit) via ed1fcdd119b422267d0ae54f216bd3f63cdc6425 (commit) via 448eb63d72d960524ffe169f08419daf590b86d7 (commit) via 03bbcd1c7a7b76888969861686788c34858f4f67 (commit) via 7c5127443be1d3d0477b3b1d25875023992409bc (commit) via 0fa7fe506c242b459c4c05d331e7c7d66fb52390 (commit) via 3ea89b92fb0765075a27a3a0239552ae880722ff (commit) via 2478d075da8f728137bbdaa68b049051c74f4254 (commit) via 87b8eff03fa5cd49c4829656c3d36bb3386dd6be (commit) via fc958966e47f622d738088509bacd0573a9db2c7 (commit) via ca34b84ff68f5823e215a4d0b44b92f35cbb74a5 (commit) via 62c67f3c1a10e4082641bafb7e7fd80c93b526b4 (commit) via c3345124196f9d0439db35c16b5d24d1a305ccdd (commit) via 75ea58593b839653b6d2bc69571a8a73e8adebe4 (commit) via c7ad08e6e5ff0768f5f0aeed12864a7bab588386 (commit) via 837a17b36c9e297f4bf33727e25dfa9f38360c17 (commit) via b76f99d702c3501ac320396ea06bc7f9237173c3 (commit) via e1765cdae248853eeaa56459057cf0c712c70922 (commit) via 44b3de870e9ae54a6e4b55277040f9b267d026e8 (commit) via 01a97082d0e93bd3ae7811908ce5466fc37101ec (commit) via efc6fa128f00d61014f56530724767ea048bf594 (commit) via 0138c3463da05ebddc8d864f6f251df48c454adc (commit) via d62de9aa697946c9205bb973075ecefaf14195d7 (commit) via f7d13551023d7a1aaa89a36f6a4bb197de165109 (commit) via e81d5d059b485b37a6f8cfb44e563ad8b702df07 (commit) via 00923338dec84505addaf9cdeca2e9c844757824 (commit) via b633b7258d319687ac625da1f1b9be20e3bdaedb (commit) via d6ad7351474f5959bbccb4031cbe7590567fd67a (commit) via 0952813b0b27abe7f53a8048c0218883412e54cd (commit) via b49f93f6995a5d23c752db103902314d4e23f761 (commit) via 153a27763ccc9979fdb5f342e21eb1666c8f117b (commit) via 914082d11b5de9509491615cce448ce937e91515 (commit) via 8b2d793ce5ee03336d6c1d1f30b8d296cbe443de (commit) via 7ce98c164ed42df085c1b3e08c5261e02320149b (commit) via 5fccc63539a111f4087522316819cc8a4b28c6b0 (commit) via 42d38f42dc1cdee90052db9aab54da8149ea2ee3 (commit) via 97bf273d5d185d9e888bf56d776769d5e98e906f (commit) via 2ce1cdbf84ce883b992bc8ffec3d29b4da229b72 (commit) via 99b2a2dd3cd91ee45aba56a90b52be943001e8f4 (commit) via 43c1d34c319626747c6765253294eb458a7bd93d (commit) via 716f14132a51daae1224d93f9b1be4f018112b74 (commit) via f9d3ecaa788c7969002f08459471a54a61b3c07f (commit) via f24a38c5143e6515c91888223af045d2acaeebf0 (commit) via ecbf2b3c4f5ee6c00cf058b87fa49708d4030d7f (commit) via 0a13382c8e708fd9eb15dbc81cedc35e6670090c (commit) via 998d2a3ef31378d3d980972dc68f4926b720a7e9 (commit) via a93d5cb1976818c8d34133fd8798b3df76269f80 (commit) via 5d239759c00a60a00986427b46c4f32e7fe3d616 (commit) via 9081b64dc1b85a63466962adbc92d1c3e560a659 (commit) via 34f5f757b389e8fb3eab64f816e484c2cc434292 (commit) via 69b4374a87e5029ac4831c7a4471815514df662f (commit) via 5e7cf0784c9b543b1870b974a78244c40105c523 (commit) via 59fb7612ddee9219817a0c33b7d533b3d1c2aa41 (commit) via 521f2feb982e5e0b7065f5096590c3a92c7c9ec0 (commit) via a13eab064f93565e9af407a8a9e84f8558acd27e (commit) via cea6e4f13a8df0eddbcdf643a4fc4727cbf770a7 (commit) via f9c1b181a7e4985fbd7eb80365abe5a9ed7197a2 (commit) via 24b73f8e74857245c0a7ea07c2a360237abcdfc0 (commit) via a88d0bb33c28bc51c0f53cdd5c42d00217a1d771 (commit) via d6e5e7f7fd90baad9cbfaa5a187b5f0b1a0b8cf6 (commit) via ff862be47e7acf51e4abaf0f121d5961adb1845a (commit) via da7119c99c41f60cb178b0b9729d9f7880f33c86 (commit) via 2631b16a570626a276f1ce6528ff1cd2cc90ce76 (commit) via faa2211d4d3dad3f381164cdb29d27b9108760ea (commit) via 6ec65f28db6b718b505e2ee5c34a274ba07397ae (commit) via 2eb639cbe4baa33545ca008d6054ea5db1d8f6a8 (commit) via 9720679936fc4f710d718f13d903c7826e048a36 (commit) via 63ed81829ea8819bc96b288f95230876b0060b14 (commit) via d84f2dd3257a3062637059e4f8a85ee22d94865b (commit) via d2b41ca0f9c5641a6b8f42c8013ba042cf5ba120 (commit) via e58e05d677d33da3646721bdd225ec6e90424000 (commit) via 8f60fe014dd0afdc1013fc22a3ef5ba01e94e331 (commit) via 7a2a1c793578a8468604e661dda025ecb8d0bd20 (commit) via cfbf0e3c5b637d66b2b1aeadecae9c187b825b2f (commit) via 4fff86c517abb5ba454befe0ec0f284f720dde00 (commit) via 5fbae7d108f4b885228cc657449905543c42c85a (commit) via 180d40b903774d6c7bd8110ce4f77a2f5fb06e7a (commit) via eb9d6cc91a423f7825a46317e1882e2e9297c76f (commit) via 417c80f9e456477935cdc74461d35630dfdbfdff (commit) via 4e65a17e62c7c2f3c0409d9769cca2e916a88379 (commit) via 80f75320167acb66486124c6b03e715596e9c789 (commit) via 6dbc9c045741c27435b9b23246c2113221b26c2f (commit) via 9e19566105546654ab24b2b58c890fd7e2b9e00c (commit) via 460efde16c5ce834f03d1a7525e453b508cb43da (commit) via 643f7afb0d7f63dcff873d3cbfd7ed3eaf94197f (commit) via 3b78cfe1033fafa6ca36c69cf8587c1bd96996ca (commit) via 963a4320b49a3c55af02b36a492a10ba04a08e8a (commit) via 4b9bfa2be0636852ba3bd1a19a484c15ef6e181a (commit) via 2d369d8e973f1507689a7f200c16e154ec5d6c79 (commit) via 36cca014bbfab0dec9c1ec2450762381df95261b (commit) via e0f80dc1935f1ce48c7cb0e7974bb499aabb6da6 (commit) via 44bd1acd55dcc15322a5c2d33442cd219ca320c7 (commit) via b53b1bedbd90044714fc456843cadccce0f208f3 (commit) via 69b52ab8c566575e4749acf0a04090491009af95 (commit) via 6faec16b1c633a8043791e0d15d7e7f1c8d448c1 (commit) via cf75d6c37e15e321e82e7f4ceebcf847b4f057fc (commit) via dcbd20eb1499db937785881aca2f9584a330723c (commit) via d9e88e902134b6febeef7156ecb6341a593b8c54 (commit) via 08e2f2bbb4a4db51ad8476af6963998c9f6350e7 (commit) via faade85139b04a1de96fb78aab6ad5c25b826d01 (commit) via 897c3d327e2d60d996252c0a5cb13da3f40e9b9f (commit) via de13ef81f041f7f51687ef1873c74e853b97e73a (commit) via 7a5c933c7c2c3926b13a047c64f2af1d3ce8e1db (commit) via de7669bfa507d78f7abfe3d219b5aee9f346235e (commit) via 63c72d1ae497cdf43db5347464a97164e720b83f (commit) via b1fa9dd630eeb0a8282207cbbe399a25b2491412 (commit) via 8cd00c5973529c6f7ed42bc361ca05eb3672ab99 (commit) via 9361e6307bd1cf4f8f7c9de5375719ede8caa0cb (commit) via 8dbe7ca5a5755274fca1d3021ad648a1575e66cb (commit) via 30d72bc3359e12d10b53310963d62dae0978cbe5 (commit) via 04651c084ee01f1889553d81f62bfe3d26e1df0c (commit) via 005db9f99bda55139778b28813606715f879f7de (commit) via ef1f8ff8cdb43a042f8af1e92753371dc958a452 (commit) via 3e19fb8f990e4ce8a08f9cf2817cd9e9398648d5 (commit) via ece794d9c43addc2a347c01f5cd753b9171d028a (commit) via a100d66fb42044153dc0e93c96d7944dab0cc674 (commit) via 65eb8c79be0c71f9b52d14563c0817fc5ca33c0d (commit) via 2ca4ff6d5b2217faba14b80f88189a42520dcf8f (commit) via f6fe1ccd62e4492aabda6a9a9d12da438d0ebf2b (commit) via 4ef9fb2f075daec3885c63aa2056075bdd94384b (commit) via 0a8031692eac62e2b3d74789d56cdfb38a5f91b0 (commit) via 749ef8f891fb921cf7ad57062deae6fa8c13b501 (commit) via 04d824a468650c632d228b977006139f17d646a4 (commit) via af508cb92f8fa7eed6c7f2bd3a49d42701db5900 (commit) via 8900d71e388043726fece2695b9b0ffc9a0d7afb (commit) via 2ab52ca58f97a5a852f63df16ac64cfe8534210f (commit) via a27e685fa0a6480bdb07e3be359558524cec89b7 (commit) via 19947f5fbb8f9153d9681ebc9981cc7bb056e741 (commit) via dfc0f57b741c12a94520c9ec7f726755eac1d2de (commit) via f16eab5ffbd9128410241abc48edcd5871c91137 (commit) via 68ffc90245e2e51ba5f096f166ae49262d461b5e (commit) via 23942819fca67effa062a9639be5df3fb074b322 (commit) via e6ad66bd097f17ec32c03462dd65b7f833fd49ab (commit) via 776704b9178cce5741e96555ceca514d84824815 (commit) via 0e5fabeb2c4b90857403995e14550210fe1cae71 (commit) via d5597ebccca6761fb641b7fc99b6e8b56fbac6e2 (commit) via 712e55b92481d89d01877a0668d8140029feca88 (commit) via 8aae434443df61440ff5228f5c8fe3e5d4a38798 (commit) via 819843c7029916120aa2929f80e0d7276177a7fb (commit) via 43236bb2551a9783ff0de5e95bf75f905300eb06 (commit) via f63036b811550ef12ab849ab55b35cd92403fda1 (commit) via e53e5aab53a455c791fff754d72fd17cbbc6b4a8 (commit) via 767e68f1b93be396e0cf1296a11584dd725b9569 (commit) via 248d23e82bc9430cdb6424a5b6b48999cf4001db (commit) via 0bca7f99d8fa254b5e35a211ee306a46b95adc65 (commit) via 4b889c3013d7d45e2775781c3904b657419db2fa (commit) via efdacec57ccde20bb53045e2930ef02e7e49416b (commit) via e97029632cfacf9d8b65e2cf3051a932f19f9ebf (commit) via be59ad3d96fa78d97193698eb7c6309489493712 (commit) via e06efbf1c8198e25ef36a9787862f9720a94ba7b (commit) via d3b47e2bd4f2924e965c586d3bf4d0b0cc6b40cc (commit) via e771e4be1393b629bc243e2b5ee1e91850334d5a (commit) via ee715b5a6c88dcd7d81a44e57cb4dfe4790a4259 (commit) via 1586c8fbaf0116931ffacd1746a6540c81c2d438 (commit) via 3cdf408c30480ce06ce5c7b156aab4c4601840e7 (commit) via e31d7699a0b116025b48f1ab5214eddd2e56ef9f (commit) via 110f91128cf3e047eb1e04d346c27d71cc33fb9c (commit) via d214e5e79e38b18bc3786b3e8ba0e55fdbba294b (commit) via d3e9b40afb8e7bd09522044951cdce4710676c3e (commit) via 09b29ece9abb652983d4718aac0ff666d62d6790 (commit) via 3ebe2863f79e04d841e6b97594ec032d2bfad1b8 (commit) via e8d3a34fee495d7d44e6bf8e13d472b33f847635 (commit) via 20bca71d82598a015de0991196e45f0b5f7ead81 (commit) via 7e83aa92f2d986ba60f124287a9fd1e534fbbcf8 (commit) via b9a7202de81202af1337d2cef22db5e3b5bca665 (commit) via 8f61baf802b597c11fec288f840d9f7feb18eb0e (commit) via 4277535cdc6ce6998cdc273bbe454f9ca2c23037 (commit) via a4ea36c6cb13d100aacab3a90762597cef471b35 (commit) via a2d5a9d76f2366ed93095fc5a63eafa06b22f808 (commit) via deb44829ecc1dd38275af0fcf91acd319e227a89 (commit) via dbbf180a8176d59eb04d20a681c0e77e2b0551a5 (commit) via 059790a0c8f4672da9ed5a6289d1fd9edc0f169f (commit) via ef7a936968ec4cdeadd19b0ccb213403adc26390 (commit) via 1b6e6f5c7ffba559a681d11852acf38ef48dceff (commit) via e57f1de3b37e17e1c80515f6e80ecb4ccd1bf0fb (commit) via c78fa86a213db1bdef328437ac262a4f54577827 (commit) via e0d86d2cbd168e083f3d077b8cfe67c3d03c1e5f (commit) via a9a5a3d1d27fc443934ed4919f69b34144288cf0 (commit) via af1900b01b378126d8826591be7b7ec0d18271d7 (commit) via a10de6046fbd50e99742af428a815dcd94e2fba8 (commit) via 92209ddfdc725c51d0368716ee316193deb24e8a (commit) via c85fc61074e9fab1bafbae97ea4628c7bffaaf76 (commit) via 034685f9ce92cf6dfb6656745365b6a5904a8e84 (commit) via 27b97b40bca216097d16d53fa9408a70cd281479 (commit) via 0fdc66e16e44210dd7468eb78a9c658d6f0b2b65 (commit) via 5019d64a1ff6847a87f5af04bd7b8bc28f1dd9df (commit) via e797481d53d846c8adb51576385fdf7f8cb272ac (commit) via 1ca99c4299f4deed8765fbb1eb4f9aea40d919b6 (commit) via 8550d3b32f4ac17bdb9e4768bb905da181b77ded (commit) via af9fd6f863c9f184e2c84d8a4707b3ec7b8ca67b (commit) via 04ff1e612ece7915c5c0f94c84f90f55e4c50059 (commit) via 4c0cab1e212bd0f25879b00393bbb60e114ac724 (commit) via 04be4e9eda6742d82fced4a3fc88b01f6cadc183 (commit) via 09708981e919a887e8b2966e57b6df9ce8c7941f (commit) via 30b3dd9d4701834573e6a6c071941c25d825cab8 (commit) via 61d96d7e2e0a44336fc53eb79ccb59b41705cdb3 (commit) via 3888916da84288994be10d6ae1a2db5b45b3f8f8 (commit) via f24bcbaa5a6e30556e2da20bfd78e7823741475a (commit) via 507bd32558eb1c0054b7989d52ac1ab25cc5b0ac (commit) via f0fba320ab5effaff5255b5526a37f0987637e3e (commit) via 6282837972a5c7b89968319caf821fcbd2a166bb (commit) via 40d2f8d62e5474d984fb41e0229763ab93213fdb (commit) via 6bbbba9ba5bcde0b2f4613e1bec3226cf567dcf9 (commit) via 2bb2dcab455295cc23dec46f0150b15892ab4933 (commit) via 41f071ef337ac55b7bd5366ef003fe47b809cdee (commit) via 8cbc97c629061306efb30aa83440bec7380c584e (commit) via ea556d2590ae9ffea09fdbaceb6abdbe4e921464 (commit) via 45fd756cafe258b9792b86e1f5df823ec0b848b4 (commit) via 78e9aa70febc3985a2c88dbc0c7a87d214231c3d (commit) via f95f4ed2c4680fea68399691481b277ece11570e (commit) via 0ce398f106dac65c3a1d2f7d254213fa652af089 (commit) via ecd272101d27ed8d654cbab9972aa05c124f981c (commit) via a644aa893248fc27c50140f9022c3a7472e0cb53 (commit) via ec5b9462e068fba2a571ab3f3943c48250048d3c (commit) via 95b57adeb751b56a1192867f9f1e1be2fad608dd (commit) via 69cb14a0d7eebe90e60e911c9ab311553079c6d1 (commit) via 6ff71e768112317de1236a429e7c88c9d3e32116 (commit) via 9e811bc379ef78f0e2beadda9ed3ce6679ded7ea (commit) via 326a5c7e368d49251ad48b2091388d8f424bfc54 (commit) via 889c2a67967f7047c245779a0a0fd8ba8796846e (commit) via 887bddbcad907021f4cb98168cd51f2631e6cfc8 (commit) via af6407fc3c57a6fc9af11bab876d0865265197cf (commit) via dd177e81b4d58a520b1a16e1c992a4ea94ab7de5 (commit) via 97de3545ca6b690031cc00983346ed72f11e78a2 (commit) via 0d2a7a932244fab27d6c4ce211ea8f7708a1a9cc (commit) via 0ff6fcb2f0f2e3c0de3708ec41fb849d1461c9d7 (commit) via 7578d5f72c4abb6b49b0394bc810192b06088705 (commit) via 2efe15c42872987ed5123f3a3952c8b379554840 (commit) via f0bf6bfd70fd550a0b01f8bef938a205702b0465 (commit) via 8cd8f2f8ac49276437b7da37f275706ea1c1c925 (commit) via bf12d44ee075e694a2b0dca87b9e9ca0e685d319 (commit) via a542beff945c1a416f85309d57b21d4a18422883 (commit) via 8c32ba22334b8be1c2cf412a789deeded786e1f5 (commit) via 64f14c970716647f0761e921141873c75071100f (commit) via 14c9ad2edb6e0bb0b560fa45699b83d85aa28b94 (commit) via 7bebb329bbad32b948939c5f437b2b4eebe7e9fd (commit) via bea3f671c5734eb96a02055fbaa0c938ad535b66 (commit) via 8ac57fbde478b8e8fb0ba169f620d713be319260 (commit) via 65f9096890a7bd7a7ea2655dcfb0e0a2589a753b (commit) via d34f5e83d404d28d6a264fb09ac3cec79bf7bead (commit) via a9d9677441e54816aa76ffd1736419ec096b4ef1 (commit) via e787f858a43c9a6b54a74cec24f954b52619433e (commit) via 29f1a5934a1b4b3b22aaeee2c4c471fbd95f0ba2 (commit) via 48d96f80be260f0c8dbece14f886a0f1c1166d82 (commit) via e46c4f6cc80e078ef5f7dd0a7dcc01740bea3e65 (commit) via 263b1a3c1f9be7a3bafdb26d69f808974f886680 (commit) via 2c008f9a5b65fe8d9379e761b056fabeb34a5da6 (commit) via fd5a150943c9a99a568ea6459a5d70a24dee3755 (commit) via 4f45d44599b232266c49ff470868efe6771832a0 (commit) via e3c0e327923e27c7d96e6e44e22e10998ff158d7 (commit) via fbed9c2759d43ea6991264c2e963660b5e9202d1 (commit) via 3d9499950a94df8577fa01ba98ec0d58f07fd9c0 (commit) via 9ee417720b2f25c56a9738569b63f686cbc8584f (commit) via 07473109e11e41d979c33b839551ac1c6f8495b9 (commit) via f74839702efcea048ac61374b1539ae81e7c86cc (commit) via de3db44c87a30c67deb38fa9d43d2db3bc98c161 (commit) via cb71640d030500888726d54a310c434a4d23b7b3 (commit) via c79d856c88fbc58584d811c04b4812618aa6ac7b (commit) via ebc90b50ce6377bf822c918eaf7c55bcd451ba45 (commit) via 11e6e4c72cce2961f80e282cc4d859e7c266e17d (commit) via 030aeb759908d7bcf1b87f3599bfa482a90ab6c1 (commit) via 8f572e5c0f71fd6641768985855b2e0955a78f51 (commit) via d07a1b059d790af3da88b9c750925d5a8db51250 (commit) via 8d2ea2a80abad66250f2f4a1d38e3b8c796147f8 (commit) via 8d707a12ef51ba5f4c3c6a52532e903da7a56b8b (commit) via ef713951c571c8490ca57c17c88785c6df1ed840 (commit) via 906d60cf467b2d5a20ff04dbc4805a84ef313229 (commit) via 8c3fff59dc5cbf86c354770ad66cb146f4fa0143 (commit) via e7a8570f75694284ea5bc909f095004f4ef938c6 (commit) via 080bb7bbe9d06424be5a989ae87160d655d22e2e (commit) via 6166ed9330a9afd41859d5a716cb9019c338a8ca (commit) via 4f0d8f2d9f95ae5620e70c8b490fe6f534ffd5ce (commit) via a6a177507c8b677e79b3440e36091cb0270c55b8 (commit) via 18ece1defb99cf50dc7769444e3394c26329d497 (commit) via 4b5708f5d9c229e07cdab66e863276ff22d47e39 (commit) via 437ddf0c4cb63fdb68c4bd1cc155144db344d0c5 (commit) via cd6faa73f8e3b888ee8b73a733382a5587aca202 (commit) via 19424843891a0b9b0f9c2532cb7251813c4a8cf9 (commit) via 4c2af04fe8b4452bf51d2debf1bb467fafcd0f08 (commit) via 3439c466273378021821473d3fc84990e089ae34 (commit) via 071aa5c98a31c966f5fbfc573fcee61350fd1936 (commit) via b2b326d246f839ee218192ac88da2384d929a072 (commit) via eba27bd7815b5d5e7bafc2bf37f9c4c7dda30ec6 (commit) via 7823a9415b2919241f7a7425d9dcc3c62ada0779 (commit) via 233723a43c5677ae6a5a8bd9c2ac54bae333fe26 (commit) via f2983cc34ec64b01fabd0b5ca5af50ee690e1661 (commit) via b88bb45061e0095a0bafce938363f3051a602dd2 (commit) via 2f2680f33a356115fb31c932d3b983fcae89902f (commit) via 3525236c57a64fdbb534671fd2b16f9f846d36f3 (commit) via 5a2d4533e2b9cc9c069d47071013cb30f1e0fc7e (commit) via 421693b020bf6e306c6c795541d0bd9dad0db1f1 (commit) via f543dc83b84d8ebcd0899dfd16215b884b7762fa (commit) via c8f4bfdd120601d3841b2617b623412a47b8f35f (commit) via 82d8e420ab39cf227aa8e0869a54fb0a29b0a00d (commit) via 11161a6e382f7585ed2971b3c8d5af1d5fa34b8c (commit) via 6d62641c832525382336c1b04731d85cb6c398e7 (commit) via f3770638ca377ff2bdd7cec2cb239d2909034690 (commit) via febdfe65a81629bc2a764820c94f9d2912a90e38 (commit) via 91fb4b1a83cb06e3e6d7b90075f4d8fda0a709d4 (commit) via 31b94bbb7b178be4e688bd250a111b0848af5b76 (commit) via 5150992626e67d2f6d1573737e06126bfb712c30 (commit) via 85558555ec343f6e8ec32da409c838954e68132f (commit) via 151411f8af16723a12e0e0eedc1ecdbea648c1b0 (commit) via bfcf0ccd0131621213c5d6f2908cd703a90176f7 (commit) via c58212eaf957ef39484ed71316074fd8366e9c4a (commit) via 4496bed7f346afbb2f2b4f939373920a4d69da11 (commit) via 2449132744a7081d1c8619da45cc9870d9c98fb3 (commit) via 31ba1f58f81d79fb0e3d5bf3bce5a53adc8e14a9 (commit) via d249a14abe5c2ee3ba4dc6c47e68e41ddc2025a4 (commit) via b97fde9213b9217499959f7aebbf076b00c7008b (commit) via f71c18e755dac28c61a5e5c94fbc8a84eb573679 (commit) via 6423214fcb912a5d402ffcb84d6f61f2b900a900 (commit) via 71c0ee8cb9d7d77e8b480aaad715cc5343737993 (commit) via 203bc29be2b44cffa7a3d64c8a20a0fb6828518d (commit) via 508a3ddf630dfc6e1fe67e2b117152bd64232226 (commit) via a97902de74aba337b2ba28ff8f322f5b4a3602bf (commit) via 9f6dbe2bbbdcc3694f264878e10c6b80285b4608 (commit) via 3ea6077552ad86ebb441bef6e1bd40e18d06ab44 (commit) via 8a06aea71e0aa9099d0ca593dbb58f6e056af4ff (commit) via 87070c082fd5c23e9a0e7994ff9ea13f6faecb3e (commit) via 0fad6e4b94e754e26e904bab074bf6c94d825711 (commit) via d3e454b956b16d31998fec65a2508256e6357194 (commit) via d9b67d9f4127191679c743d1f47d2421d6dcede7 (commit) via 337532fab150dc531c92a31e179df96b98a619c0 (commit) via ffa547701bec5b3fb92acf049e5442cbbfc95b2c (commit) via 122bbfb52a7990dbed5f5da79cf8d9eb305ca7e3 (commit) via dc081549e71d715a229becaf37d0909836c52a9d (commit) via 7fa5525f8e8bc5d5e08998718149bda1928e314a (commit) via 5368dcf2bae8f15e16cd14348bb7bd716bbc81cb (commit) via 9dbb4b021df7015ab7a7dee40e30f72470afde6b (commit) via dae148f3b925ba75459caec099932e31a1ad961b (commit) via bf890a93a7c46f63fc0595189cf2b388e9a29316 (commit) via 4aa90cc007ff1e7c6525b3f5e573e3a4242091fa (commit) via fd5136e57ca26072fa015a7563ba019b1b2b7d73 (commit) via 85317fbbca85af8786ba3ce0523a1b85b4457f09 (commit) via 01b622d4c7536f20622bc0e23ff78b7fe37bc1e3 (commit) via 2c26b84f4520591762dfb7f740fb85c15c21a2ea (commit) via 7a85168daf6036fee808dac9944161415189f8a4 (commit) via 1fa29f10602cd0ab395e0f83c9d87ab160b0df8a (commit) via cbaa2d709747b9da2955761ec86cbee4340263e3 (commit) via 77115a4a156052eb1542d16041115cc347da4a07 (commit) via 317974f6831d8c7af613257e190e0dc3125bc4cf (commit) via 20cc97536046f8aa883c3fba16aa1c9a2762f183 (commit) via 024305f7f28b3b322ae26c5c1c2d23ca6f5c11bb (commit) via aad84fa6aec2c3fcfebaa322cfdea7b47365e8fb (commit) via eed64ce67576be638408a051e6df1057612a7f8e (commit) via e56dbbb92fdfa714e7b9ba9d70da8ab0ae3558be (commit) via 1d2d99379e358c2b3bc7a4e2d4ffd9b7925a83b4 (commit) via 68f5ff89edd041719c0d45e1f716a5251d7be768 (commit) via 906bacc0eaac3681a7d6da1bde73dcef7fd3ade7 (commit) via 8bed4e0f7b0f82bff55798465bfef2a6986758d3 (commit) via e268c0a63c2c4c60d54c07d1c3055cb0e62f6b40 (commit) via af72fdacfd25568af684e859a60f2c711dbe7f89 (commit) via 6aa76120296414774436cc14c60fe10fef86aa0f (commit) via 25755e2b85e2bd5b313ea87f32000bf9a47dbbf8 (commit) via 961f41602529c9cd4f88af6c02fb61fb55100e27 (commit) via cbf0179287a799be27e278a41f7705d4c20d9f11 (commit) via b366059a5b384ed822e44a6407b35ab1386b925f (commit) via ef6f73553efece92e797b138cf02aaacce19574a (commit) via f66adc4eada1884cef90aa978561b9b2008cdaf2 (commit) via 03e080386e266243b2af667af026b992822085cd (commit) via 4295609462ce6c0983064c10d95ff6bacce0cdfd (commit) via 15c7659fd125da7d08cfe0f82f1795ab88f897d2 (commit) via c1baaddf8861aea666b84baeb4746caff51a579d (commit) via 726e626a7bdeaf5f828faf12e2c1e81504b8fb73 (commit) via cafda5977a98aef514ff86daca2fa94205bdd34e (commit) via 39f3de7c43926181f8f2f57bfa17d4fe9e5748a0 (commit) via 7fed4b0be6aa0d0794b8536e9f80d128f0d9bbdb (commit) via df7f7547a5cb6455ad07855482797860b71fb532 (commit) via 599bd15cdae16c5c420c85cf4853fcfd769bce75 (commit) via fed040c6a50399617d8265cbddc7fd21b3f134ef (commit) via 64c0b5de8dfd68c54060b07d54b1edf8d22fc52b (commit) via b57fbfba4b53434252fce55e323f08aeab556409 (commit) via 97a41605e2473c67e82ef5147b4866768bd5a566 (commit) via 2938e6cf0809cd81d1593f414ea5836812e68ed2 (commit) via f08e97fed19e0722b6b36e7e638ee86a8aca7db5 (commit) via 4bd7dc42558fcf53bb0c783f852f03dcac38866f (commit) via 9b15c1f0419ae693fdcf6cca399e9a916e14c48e (commit) via 3d5ff6205b2e62388280661769cc0555a58a1358 (commit) via 1a8faa2aa652d8d6c6c3daa83b1dac35ee27e64e (commit) via 6f20d58b6f9f7e4a239567f6245a580932f37adb (commit) via 2412d878342e6fc36caf314826d6bfa8292d84c6 (commit) via 246496bb652fa8571bfccd46886dd03598bae2b0 (commit) via d11916aa89c43071c08c1f9b4550a01f8eec78e3 (commit) via 79730a3b2683dba745663fa3b907f564bee8a0ef (commit) via 0ceaf1ec964f8674c57c6a522cb38b6f758a0929 (commit) via a0bde39842936bb13f88f13a688b181432aa2593 (commit) via 6b403daae993621542c249c00ca1e6d3cfef1aa4 (commit) via a14711808ece04167523a42f063ddb741e8ca866 (commit) via 0bbeccb1eea844c2124eeb1e8d8d4a6cf7092d7a (commit) via 1176ecec7082b4d6b4a3d965ef77726899c9eda2 (commit) via de1fe8c8ab7f67856d9f2e2c5aa491cec01d3e85 (commit) via e6f5c25b57546cbd88daccea4f1739c3f90f7560 (commit) via c4fc4724a6afd605692b24c0af24c7e234dc5ace (commit) via 918357b9556c9eaf81129ea6691bb6e461e80f86 (commit) via 1ac806b8a7d0c09a0052751262f37336fb06bf6f (commit) via 2ee52aa4283145a0f9417986b2f3d7f91e61b1b0 (commit) via 3c724c8ca91ee8304ba355f681ccd906f0e9725b (commit) via 5445da1b7656f82e7892d862895dfd9e7c16889c (commit) via 4eec2deb06db4a59966fc0669bf861fd92a4b152 (commit) via 4106101c449e53dd6b61ec824b196f84b3f3daa5 (commit) via cf39cfc52ebd683d55fc396a77355f34b5094c04 (commit) via afa59b79006af1572ceeebcd2ada5a13e483f6b1 (commit) via 031f1448b68a9eae3392353857c7873f857c2221 (commit) via 875b5b9d147d37c99a189aa95354f9bebdd64ef5 (commit) via 16c1c9d6a6f485af1b5b1a54a74dc1ebb25b16c0 (commit) via 41f98f0276aede918c3aca37aa6371c8a3c9fbe7 (commit) via 6c1aca3e2d408ef4874bd882a7f0e2cd944bbf09 (commit) via 269e9c185f67d477a99574f53ead904d50fddfda (commit) via 0fe84f3fbe9a740c38a8dbaa0150b8e4c25c69dd (commit) via aadc9410ba24ecf777fcc515afda69ef94d74248 (commit) via 4a0bc59ef6e01733bb70950ad546c66e4c3317ea (commit) via 42271ec540461c63c847d2bea6b6e9cc50524966 (commit) via 4e791d0fb1173330424b69cfbdece9e1764186a6 (commit) via 2ae0baa450dc21cf248cc932d05d9e1fd154e141 (commit) via df8411da087dc05481926f4c4a82deabc5bc3859 (commit) via 416f679e68468ea6dd7384213994ce74201f82e7 (commit) via 6ac1079e5960e700b3a9034aab532970167095f4 (commit) via 080bb2308591e6b41c7ffa13dedc531bd16b8be5 (commit) via e38108740ee16fb38720cb5a1b824f889bb46cbe (commit) via f85997a697553fb7053de89bafe36e3d71c6f784 (commit) via 890ba06fb1eae846984a5e56ff8a79ea59108f88 (commit) via 711a72d3d6f8cd3c3f408e718ff19aa4bfd2144e (commit) via 518a69099cf8eca95a86c4d1ff4b8d8c30cf3c6b (commit) via 6036f4862103dea22dcc1ee02cf31802872997b3 (commit) via 6ef37366be4c2445b3efdba8520e0a4e7450581f (commit) via 543b793377eb8c64f8c4e0e68cd3e6b39e857051 (commit) via ed2b5077eb36d82ad7763d76fdd8e82d15f72b7a (commit) via 9ae46699504c63af285d40ad8856a29300d318e4 (commit) via fa1f5da0b6ff3622f9bf60e348e149b76920abba (commit) via d33279b3bb1c89550b26e7b07e3610ab7f87e211 (commit) via 71b30f27af091a16e6277e18ef574e0d2c0c55ef (commit) via f24173ebf754866d4a1881a28dc2c07062c119d7 (commit) via 0138187e9fc351c6d4615bbe2ab020a3ac646b50 (commit) via 0ee42ecde7aadb3e68ae5b944f7b1b6a859ebcfd (commit) via b38f7f340bf021f9ad017cc88beddb9b0eaae06b (commit) via 5a394431deb3745c04a74d2a109aca075f79afd6 (commit) via 2b6ca06237301286016acc4b7bbf5338a27fd5fc (commit) via f6862f27a73f08effd88d98c5efdb08abfcf4bb1 (commit) via 13ce92227425999aa2666f4d55286193df7d09ca (commit) via 6b0ad2ebf6024419c84f35552f4eb55aa0b23195 (commit) via 5675acd9d4a62c4d402da7a436d810b29832d0e0 (commit) via d2d67aea8e776d63a987f8dcdb96bc524df96e81 (commit) via 49d62f892578dab739391b7309bc60ea2baeafc4 (commit) via dbf8e8afcdf6bbec4ecaf911481b7fc9a4a01e87 (commit) via 58b991b14e7c2e26805cb8cf98e384dbd8afcd38 (commit) via c4c9c44f57763ef4acacb440cdf601f5ce087edb (commit) via 20f796c9700ce22f0bf596ddf435bc6b48efbc15 (commit) via bd53a53af486c6e5ab88b7f64342244392be1f1f (commit) via 457983e3a30212740a599ffa7cbf5142ffe67367 (commit) via 99956be1d73c5705b4032f9add2d3cfbf6b634a3 (commit) via 541ebcee679ccda568b49af01b1da74387623386 (commit) via a87686e5aa57d86a86b6deac8b4d47a86c69c950 (commit) via 11558abc20f902a1fa3ea128809862787f642598 (commit) via ef9535c6bc7c5d50d03e9f98498e018ac56e366c (commit) via 2f783c1f4b23b194efa31e2015fb585b688c6526 (commit) via e8713c0f026199c327ba88ea6da4bcffebff6991 (commit) via 247ac9ee6e1ecea67d29a5712e77e8c64834b06e (commit) via 4b0cc5edf489335509e155b5af0a0e754f4e3df9 (commit) via 1e504675bdabc1861f2b2f515b6be3d99189e165 (commit) via 5aedb83b9cbf22ce09719584479a21d905f438ff (commit) via ca968da465a0d1fd153b158b7aa69730709f43db (commit) via 4daf7a7c3a8404d8be973702ffe00541f71606a4 (commit) via 970bed001b8238bbf25144810a26c9f7b242391b (commit) via 2b4bc832a7668438827f5cdca9bf22adab85a915 (commit) via 97eca187b3b286c903d78070736bbe1d95721ec4 (commit) via 191ec03314b005b8189ecea7296f2f6cad534d09 (commit) via 744b9a190b9b5b83d83f43d35b6ab6d20f49af8f (commit) via 92fc6153a6fdf2a027d9780f5945712aafad4a9e (commit) via 6dae8a88bf814b8729ad883c92c7b75fdccc7be1 (commit) via 3c0ae3096245fcb94021f0ed61278aa89191ee59 (commit) via b9d94d62d1197f7b26d93dba1532d7d005342bb8 (commit) via 421fc49cd65550aca484cfd09b36e0ad0ab020a8 (commit) via b51724e857c1066b0141f3989b521fb56e834aeb (commit) via 243340ad57e30de3c15cffe6e4af0381995f15d9 (commit) via ea6b7543b422836409fe7848abbfcb452ad26398 (commit) via 525887679c4de93b8006b5013904dec8d19f12f0 (commit) via 36cb69e0ed76e5381c723ed4e7137bb981deafd1 (commit) via aac18a6996e57cd1d1c32d3fd418c4950c5001bf (commit) via 4f5cce88bf504a2f0010f7ad384003984da6ce00 (commit) via 2a2ec787bf7dc91869d4adb8d98159dc5a2773c0 (commit) via 62454d3da2aaabb266e49a4ba22948484e91edc1 (commit) via 5fa71a1b13a624feec5ff4b92ff1f92a26ff031e (commit) via 02131c7ff660a5ca08147899429e6e7780d737aa (commit) via ed4d32c28adc5f00ee9bc0e4ac785eeff5e1dc74 (commit) via 6d89786cb31dcf9b1a4e5b6c7b88c15102e9381a (commit) via 92c695a14f6a5a24b177e89624c13d7dbcbf9e1f (commit) via 9943d3185abb9aa3e7269ece80d00e9020187ec6 (commit) via eca5fe422e2650fcb6a551af11bcf8de181f97e9 (commit) via 510d27512cb053e8a9f8c622a5f86840be8c21ac (commit) via 102b920e11b6cd95addd59ea0eb08fac964fa8ad (commit) via 5831e29bc1a17115b96141bf72fbc44200c6e014 (commit) via 49d45b20c01da11b7493a5c28bdced7558999d6d (commit) via f46e4eb78ba55e8bf8dedd98d7fe354729181710 (commit) via 113d38f929631fa14da98731eebfe97a44d035ce (commit) via 5e228181d4aa9177cb6a95ebe214aeaeb3a4ec3f (commit) via 1c4ff0802b0c4c8c820dcec503ffea024ea68f45 (commit) via e04de5e3b55b9f481ff2b9939995301ba6b1c748 (commit) via 79498702ef5f743481ee39c18418776715addcd6 (commit) via 0916f9e741d6fd9dab4b0602bef034d01fa71650 (commit) via ce9c0ca18fe50e1e5a87b135032e4aeba415e2ab (commit) via 72a9c03c27b4fa714c758fdf86d668f6402f5086 (commit) via b84171287ffe60dd1e7c02262a0493862fa21a97 (commit) via f3308340aba43e99aa448641a5d3db1c7fae60cf (commit) via 7ec911b0fb0b27d66604c3f7951c146d94f4acc7 (commit) via 429e1e811b400f07b5a514ea6b8a70b28e2d7ee9 (commit) via 4593441bc5bcb7ec2e04b28591707cdebedd2e85 (commit) via 852f8402ca36d36c794f5dfb17be8fa5d4a916ae (commit) via ff908ebf8612a737d9e168eca0604ff6c97556bc (commit) via f30d5c78faa5979fb933038923e5270b7728f96f (commit) via 8d89f51a70a9a3cf74562324fc0391e4872a93b1 (commit) via 0b736949a8752e899972d064da48ce7ca683c18e (commit) via 93ca856967f274a08807135c098bf1bb3f2b59d8 (commit) via 332f5759ac985415b721a72dab7475824253c0c6 (commit) via 5ca28f792883afb409ae145666fc3662c3a3aed5 (commit) via b19a8f8545100a08ee2a64c05631aff6f651faa1 (commit) via 20d35291fb30a2fa5de46af56887f9bc4da7e53e (commit) via 6d5f0679fe4ff7c3d8ec1d97646ee23b02564715 (commit) via 2898689ba3a36451779ec526e14783c2aba9316b (commit) via 8518049884947da598e2f585bf9a4589df7096e9 (commit) via 8aa08a8dd596758904f1e994057c94bd655dda2e (commit) via a1ddc52b53de43ed2fa201611fed550f9c4da014 (commit) via 27c49e9a8fc004de116243ba8887e054f1190b42 (commit) via c4e676f196560500d41ff8652d6be0c735758001 (commit) via 618655192fca05a9aaebbd395b0960626cbfdebe (commit) via d9ced15d6ea875aadd3e7395990eb37319454d71 (commit) via 357d1523b2e5b0427fe4133cc90658026a7fac2c (commit) via 66849923d2f6505b691f24dcb15797f2e0d969ec (commit) via 11cc1b74538286b8bc775057fe1300707b3e3520 (commit) via bb383c6cf1ea43193ef9f407a3b7c3bdee9f5fa1 (commit) via 6a3753b34b7b4ff6b12d89ec1f6835799b54ef63 (commit) via 1c4b552ba553c4dbbb066c9ef8667209553444ca (commit) via d422d1c433073ba412287334a7ec3aa95e03c5e9 (commit) via b422eb499be2858969fb7723b4e4e08cab20fcdc (commit) via f6d5c6943ba1f32a640137fcba92aa046bbf86ed (commit) via a25d8bf9c5b2c9d3671f4508c9132485c65c3773 (commit) via 8d00121477371cfd1596118af062fe6ff4e263b7 (commit) via 44a1ee517365cd120f0338c1f4dc5a85273d4e4b (commit) via f3263aa47ec109871a124a1a2d5370e42a907690 (commit) via 2bf6fb9d85394f90abb3e21ee037a732b6e4c983 (commit) via 283a99589a0780a3b1fc011885b630bd9223ebba (commit) via 93a8e2276fadd7dbb323d7cf4b082c33b32073d5 (commit) via 64ce06e4cd025f3486465a0070baad47248ec69e (commit) via 856e7dd6986d26b251d91b7fcd10c08fb57dc73b (commit) via 885eeb5b8ea021cc79ffebe8ec40122229c572f0 (commit) via 3333f03ae1b02b321717b4bc4887201ed4fc6a26 (commit) via ad235a410aebf08ca67589891388774aa1d03562 (commit) via fc42baf3cdc41bc8cf12e35ae78e4529c1470118 (commit) via fc6d53be1893813f5017681a211dd20d560d8c58 (commit) via 30068a6d2da1ba4b0248a270c7c958ef24a80416 (commit) via 369f6daa21bf33a09ef67b002e4cec3595eddfe7 (commit) via 8e5d40700492597d103ebdb68eab733456b66fad (commit) via 2b95d4403883ba22687ecb81520855204348a7fb (commit) via 14b0bc68e8a9f8e8fc3d27c64c7cf5f7c676cea1 (commit) via 5dfe6ca8a8686a37fea66dff3b652e7f4f7fc90c (commit) via d33472adfc6b6cdfd12f48e53ee0d6c96677717d (commit) via 4b134ca10812e550d8d012cd6096f5229d59f7c6 (commit) via 34c703da6cb01d8b41e1bfb790c3c2c625088b69 (commit) via cff068da9d13bc9fa8c04f42151b4e92bfff86a1 (commit) via b2f7c7e8b7046bf3dd99e3fb7329feb962a6bc7d (commit) via 6d4ee8c6ad7d5b04e524b2b48ffe5639028594a5 (commit) via 70a0bb6b590bcfe304fe082d421feb52e0a0d4dc (commit) via 7b6690874fa3a8afacd731b70a461d55a5b1311c (commit) via 15630549010233e9d0f0b1971d27e121cd74bdd0 (commit) via 5421cc6e55c7b3fba445c6085a05efb2a6f58505 (commit) via e572930b96d8080ec80e65cfe85aaa8c4f7b2603 (commit) via 8131c12209700f6e8cf16b09b5196da78a8066a3 (commit) via 05f53ed611f0f7442f2b3a12b2829a18db6c2b59 (commit) via 282c9750306eb544f65cfed5665eee2b84c7c770 (commit) via 823d25713dd1d6aedc605e3da2007b54da9dff2d (commit) via 596f88276cffbca82e3858da40db7e7cc7aa476e (commit) via 1bf57e9a2ee7f468c2b2c125bda35a5bcd5923ce (commit) via cc8ab1ded5dbc6c2ddb1b8c62f0e0f8f486a5f17 (commit) via 523ba8f92e3ff4c49f65b582c89b4563b1b665ad (commit) via c4a6006b2e1b42124c90ea86597be3df0a177a4e (commit) via c0931f26e3923c75a3edc114175bb88dc11c5497 (commit) via fe83b8a8d369e28dcfab42ee9f4b6d9cef3370c0 (commit) via 97f478c5a490b391f02df4e81b6bc7f99676c74c (commit) via 30452bbe7e68581cdb0cd5004e6c4d4d5c9536e8 (commit) via 64dd13dfc267b1d13f42519f220e89a4386591fd (commit) via 7722e5b8022b5177a1788a48c6c1c6d7b11315ef (commit) via 4af3e7e0d3f7f419b718a5417080c20e4bcaa8c7 (commit) via 66b0e85dcec9f7d268533208b5e4ab4630da1c44 (commit) via c906b4b52b1617e5c65c9a6ff4de98d688d2a597 (commit) via 9993d012337e2a404e9192869dd68051fe37e234 (commit) via 8a4506c0329233bd99ddc7436b6588b9c7caf13d (commit) via 236af5e336970a6b58cd17e0a2981bd96f3d09a0 (commit) via 32b40af94e919e235c21486110311647cbeecf2e (commit) via 693dca065a58bf2dd39df9cff019b0c65e15e132 (commit) via 0578b14e990e76f3c2dd9010c4cb9201bc9fa4b4 (commit) via 7e993ebf2343a5b39d6d1df29fdebc2818064ae5 (commit) via c53ed7cf577806c9d7d658dec5b70b2de00ec825 (commit) via 94a75bde2f02d90ef3a8ab4f1659117bfb3231c5 (commit) via 35fee8b77bc6f90d86b19fcacb677a2670d036e8 (commit) via 13f622ec5967f0a56d5876e7c7305c260cb4928f (commit) via 665856756517ff4eb0c31c07f5c7e1666ccd4445 (commit) via ef8575212574f5cca4426194d7428f900a573852 (commit) via 2144188dcf696a50c6dbbacc1bf66645659e1fda (commit) via 4c77202d000bab10f821a88c6da9664337f01f10 (commit) via 9b9971aac7b89596695f15ed4763d9fd2b876ca8 (commit) via 23956543da73914601924cb5e4db829082dfee83 (commit) via e2cdef47b753f599cd1eaefdb4aea1d5d3b6a0e4 (commit) via 3d14faea41888606f41466655aa1f0c6f0acf7e0 (commit) via f872121a87fe4c16ec43623b75804b39612e62ef (commit) via 499c37b59a9a6aed42c103ea6df8d6936b74504f (commit) via 67f95b96b4d5e8e19520d94bebae92db2f67af74 (commit) via 99067e2973a6bb1d3a52caafb479ebdc1a420580 (commit) via 49cd1634b2a59879329c5a285192ac581e64904c (commit) via 3649cb065699316bc8cd64b06f273c72f1806323 (commit) via 80fc77e6c14835462fca0b7adc15655ce2e4bb99 (commit) via 8a863336bb768e5e26781e904a029eb1f65ed4ec (commit) via 1a504d0763fdfd69389d9270a793c4c9da4924b0 (commit) via 152f702439a34bf20b74f472695490edb42ad56f (commit) via bccffdfdf268a84533131d6e4d6208f9873892ee (commit) via 1c582fe71858efabae951c5f3ed7dccfb23fb86e (commit) via 410da591ba7814912e11be826b20dfba9abed9f7 (commit) via 0d5bbdb0e1d193fa6f6804f2620fbdfc950c57a4 (commit) via bd9e0d4628f1265c42516f90c4f162cefa787294 (commit) via 71883406817425ea853f6a0dd7847f3e0a17dfc9 (commit) via b1a0f704950296b2363192ba91999eef3635700f (commit) via 5da7e675cd2acbbe2d2a614b17eeb2d02b5d331f (commit) via d9823cbb391e015f79687f4d17d7f9a32d27b5eb (commit) via 2e7bf1d7210ee79b93ba9ce4462e22e71097a102 (commit) via 7a26bd4d83e5549137943de5f2c7b1ae90821093 (commit) via cd46431bbd2f1dd90fbedee9a3bdbff705238c1b (commit) via e28566f7d022e672bc7032d4951112359ad66d77 (commit) via f6fc92f6711049c0d51cfe7027aa58255ae739b4 (commit) via c32ed3ef8084f209c8ce2e9e0fecc91560245373 (commit) via eef49a3d1a7e2ff70e142c7c7fd748f4625c05c9 (commit) via b2333d22e0ead2d6f354c69760b6c6e0db161f02 (commit) via 53e780858180511b194438c87d2f3a1c68804f06 (commit) via bc23328cc108d8805f1d234b86e5a6b76d4a80d5 (commit) via 80b8656cbaaf09b685c2f3c9dd96f61274ed7fb7 (commit) via 4819f490bd2bc88bccf636755abf3d50b7f3850f (commit) via e8ffc436d9d849eed52af64568d9f37aeaddbd9e (commit) via d4828b9e888339533bc77a8ab7b258c4a5f6f200 (commit) via 23f238d3456531db33456918f004dcc5ce151363 (commit) via 7d1551f618db01514123433d358ae732d47ad629 (commit) via 91baf43fa70827325272667c8e7a86c553c767dc (commit) via 1740ba0cec44bdfe9cba586892a5953a4c602228 (commit) via 8bf3b159e55b42bb084f9da1af400a285025618f (commit) via eb54c8bf087f434b0cb91b35e7cde68a69ac9193 (commit) via b90fc18880972f0c2ed280df20604d89f1d4ec38 (commit) via e2575e05e73c3b2f08a8b5f579a504ac6a45ad60 (commit) via 590d1e9a30f9180af725673fa06ea74fe822d21b (commit) via 32d2e5d6404d8ebbff89408767084d7064178a4c (commit) via 0b0732e13a9a40c9e894cc6aed1e899cff81251e (commit) via d94077e27d279c4ff0ee26bad786f89c350e2aea (commit) via 27aaeda0cdf9f69625b96e3abdb25c8fdbbb3435 (commit) via 273a49858fa9c8d73de87167618ef99d70f9731a (commit) via 670f82d437c21ec9c8f59a365336163e0381149d (commit) via 464b0089f0068838a014a8fa27ea2eef536ebada (commit) via f68f11b76de09dcb0d399814127fbf5227fe8245 (commit) via b3862264bc6009a993685ee5e9dd2879a503e36a (commit) via 091021faaa699c11dd50d9ff56d8713953666f65 (commit) via 1757d5e7cf1ce94a2351f2a32d84a5883f50c8b9 (commit) via 641754af2b76770f96d13ea2bce6b2804bb4f777 (commit) via b9f9ea2f5dd6112e56b69f1cd9271c10b3b14ed8 (commit) via 638fcdad6a0de44f6c91b503280207fc1f34ff9e (commit) via 029f3522619e8b77a7b848be23f4c13e50087d8b (commit) via 393bd0c06b64ff6076f28053cbd2fce352023c70 (commit) via 5df8a8fcf1cdd7896b38f27e65938a8fc89ec2bc (commit) via 7f3647e2ba4517be59ce531ec2297918b998fe3e (commit) via c4b0b099b884e73d883f2b8c3ea8ffc9dc678902 (commit) via 4d22acce0790d8a6f2457aaef99674790ca853e7 (commit) via ca5fd19bfb2a41fae7696d67d1f4dce5d5a9053a (commit) via 1b6c08316381961223fc3e1f9e3ba0547a53cce1 (commit) via d9a4c83b863d32a86f82ff0c4d3c99d639cc52c5 (commit) via 51f374927b3e417179af92a9be91a0f6c99b8173 (commit) via bd51a4d5570d3e1dd9aae1e45db6ae087f2b645d (commit) via b2121c33506a592a25c174b171e24e09af885bee (commit) via 8869a24691490e5cb47045c1d732a27ea8408a2e (commit) via 100d311943b10e9dba1685fbc95f08b9d7226ee9 (commit) via 35fece71d50e1883e67fcd28c69245de4335b8b5 (commit) via 3ce5b6e25ca2389c545282204b96064c00a13fab (commit) via d053f6be557fa3bedd4ccbd969103dbb51a37439 (commit) via b1a921c8c6f9e3d033629f32473c6470c360b43f (commit) via 876d1cd7b5899e7927e298a7f7344a0da48425a9 (commit) via b57dc16f06bbe31a5dad044556d12ecda138e1c3 (commit) via 9c761a554184c2ded303c4929a7023b972b2fb9f (commit) via ba14f9419d59571057d9675673bbf8b6032aa5fe (commit) via feb703b3f4d3cb21ab50905359df7123e131a7dc (commit) via 6cd5ace4db98987881c71e33dcae418fd258c38d (commit) via ae7d0cac8ce971f7108d270c1d3f8481919b1e86 (commit) via 9c5f41df36176d86afa65fc9b69b8fd6f6044547 (commit) via a4f851ffab57821a4904a9a28d8503500b77200e (commit) via 8406bb5944940a8830b37b97584dda3208a3d07d (commit) via b19839da382a4755e91d0a943b6d89d13fd74972 (commit) via 1303206d7f8de81c685f486c857d533d5bcf827d (commit) via c2cdb853dc4aa9adf98a11c506b8783ce0655f18 (commit) via 41cc895fc88dc6d69253fb29ad4ad85c3c851254 (commit) via c1e768db524407c25d14fe693a931af9cb6d9ad4 (commit) via 465fb143c87076b6416a8d0d5dd79bb016060fe3 (commit) via b9005ba76ee501a809f2657b04bb2f2590829fa3 (commit) via 5cddc23a3a0b855858e8eca93d6dd90aec00d914 (commit) via 0800b440df695c9ee66c9337cef384c48fe45b16 (commit) via 9312936603f4ed0de67aee3d1c4d714df16f995e (commit) via e94dfb0747eb8094295fb7e0a7c20162355e6bcd (commit) via 6914869aa73d6cd12121ed6b3e58e1564ef5575d (commit) via 21e20815a20606a858f626e09944f29ee5ebee82 (commit) via 61a12cfa7b25746914493cc0d94e5053a8492aa5 (commit) via 25268153a182eef28d31ed2bc03ab7c6c0ab40e3 (commit) via 773eacf5b0362c755ac47cb66d15d07558d9ce20 (commit) via 4bf8c6e8986890caa482c845d2c4a0ff238c1e28 (commit) via bc9706f8235a917f0b534f3790e2ac9981d53e94 (commit) via a1894d43936b689945b0cf2ce696904606f40c5c (commit) via 01b6bdb03c9286592871b3322ddbddc7b7350d03 (commit) via 7ef0d2976a57c6cfde60281d67111969d7285d65 (commit) via 93ef582debb0a179916965a882f4344223569219 (commit) via 811a659a779fdf93293fe1105d99e9db171a8b68 (commit) via 943c8b4393ca97b6c4805c724069028be6955b89 (commit) via 97737159383af8af7a766ad3dade8ed0d11fa6a1 (commit) via 10304ef3e85c6163f882757f58eb18f5178249ce (commit) via badd37cec86e705a190e501ab26975d352718619 (commit) via aa9e327f1e8552cd47cc8f4b9daa782930469e60 (commit) via 0a93529c56714b1da3d7106d3e0300764f8bb81c (commit) via 791c00567a7ccbae3d71e3b63ac43c0b555079dc (commit) via 1390d0efa6a03a3780541aa8100c7b52402e793d (commit) via 84a4591a7ba0c83c165cde85898086e9a4019b0d (commit) via 85642ba08c459bb2f9d1e7beffa1871c9a93ca66 (commit) via 92fab5a61707cd3b487219ea9efa0e410cde3bc4 (commit) via e03f96456f2313854efff2377134af6cbda96af8 (commit) via 5d0962b2e982eb8210df40cc23f5a47d0339e789 (commit) via f054145ed2bad0aa0f57b2a4c3ca6988b213d1a3 (commit) via 183961935e38267cf16cdcdcdfebcab07ab415d5 (commit) via f728387b9adccc88edcde44f357f869e33943c6d (commit) via 1079403cc002be65ea1c318160efc18c19965389 (commit) via 50a0d119891f6128b10e8e95074349cc3cfe2070 (commit) via 796ecec4cf37e5c97191a0cc8a0c5d308467401d (commit) via 5656ba2c217cff434621d6caf135cbda5ae92ac4 (commit) via b6370efb1efe39e62abd01e95c7957834c8bdf47 (commit) via cfad873011d6399aa88bc6ddcb4c93dda5dad9b0 (commit) via 6b1d7593a5eb7e64a38acd8bfce7bc4edca09793 (commit) via c683726541cb8d3ff769f803fd7fae65db5c6f5c (commit) via 5e0d7f77b20d74d2866e41b72697581c39f3197b (commit) via 4e9aaefbd0042f5372509cd51ef2791a68aa30b0 (commit) via c8f89a3423101b25e57bc8fd55b060ce2ac45a55 (commit) via a578ef7ed49b677ecb16a709f70c7349bdefb319 (commit) via a5721eddd18f4ba11adbc9bef0c6cb49a0cb69b4 (commit) via 73f43896e3bfcb090552f359422857a0bedd77f6 (commit) via 6defcd57e9df4f61cd0c59e3d9b66b6b071af808 (commit) via a24582147f2c74603852e12bf312eede39f56c0d (commit) via b2df3cefb124e3cab3a4bf0ba2f25fe8e1d25283 (commit) via ef878e5310ed154450b84cdedd4dd248c7697a2c (commit) via 411b642274178fe112712b11db805e6ac9e05d71 (commit) via e16631979e847a6b39db3435bea7708b9f34b36d (commit) via 9a9df97001814c87929826e6538762f3be07c4a4 (commit) via 9eb1356e381f3412f53ffe5bc68ce854330600fb (commit) via 43fa85d9a8d7aac7a70c72220abd09d39703208a (commit) via ccf946cb5cea83165cf12a18dc946f39d8a8cfff (commit) via 3e95021c775db2c483e87033ebef3d42ff99c7e0 (commit) via d1771b76856741b8743fb47dbda993f73084bdb9 (commit) via aac331e484bba9736f12602da3715c8f7e0f1a45 (commit) via 366c75fc9183e46fe151aefb40f2d55a17815cb7 (commit) via 72df25b28d68fd0b903380ceb06c6b5866eab453 (commit) via 284e6217cf8f96c7648b13274431dcf73aa084a9 (commit) via 6c63c96a22d216fb5d51c5d93646066d29e08ea1 (commit) via 492d29ea1c9a8b2c7d5193908119a4e27c045687 (commit) via ece957c859c00fbea7152a2275674d7061dc468a (commit) via 7556d4a4f6c3181204e9575c08c661a632cafb5d (commit) via f873665f447ee4e36883e3122a4e35c2cd049045 (commit) via f6162ff58ec27d86814c015f80828ff410f698e7 (commit) via 60a191edda5bb9c189df43542ab249ea530a3c73 (commit) via 65164438aaf163aee0de40bcfab87dfd58f47b6b (commit) via 61012eef8463764ccd9117dc1c9bc43cc452b7cc (commit) via e80417caef36c7d5e3d1da6a3b396a872d9d7201 (commit) via 9494d2199f5ce0cf2a4cf5628f23ae91d933955d (commit) via 68901c4d439ebceecab927932c17ea1504747c02 (commit) via 41cd1ad1b9760ba962fde607ac218b5af760dfbf (commit) via 4fd77a3d12291cd9351e1f776a5ade11f99a28ac (commit) via 2dcb2b1a4555c61d33dc9db264d824132b532f25 (commit) via beb8418f4799b50ce414b7a63ac7a2a363dc8a05 (commit) via 81fb971a3d8626d7e051ff5df807442c8d233329 (commit) via ca3fe95e469b9daec153caa2c90665f5daaec2b5 (commit) via a26de52c63a8b4da94e8e1c8b308b938b2434808 (commit) via 425bd9e1bb32b25881dd20d76678d041f7bf04f8 (commit) via f5771b1d96f844e0767a15b258b2de2d4cc52123 (commit) via 7e848b1a6030a0eab1bb830ab02f9f4eef090961 (commit) via 48c734280a17a1910ac484bd91a36792fb0041e1 (commit) via dbe40a889191708b6e32441b1c64937844645574 (commit) via a8d9763abd6c461d646034537633fb03f5eabfd1 (commit) via 527a273ac1b6221cb37f601d211093233afc7aaf (commit) via 3e572f71047489eb4f311b0fa15293a7ce83f871 (commit) via 1ec68e26c982a256df03d22dce072b88ab117a73 (commit) via faf09f0119da40d9b408021ad5665a906e00ee59 (commit) via f7e6eed5283bb5c8a3598dd986dc922b9a794f58 (commit) via 9e8915c6cee5c37637521b424d723e990e06d597 (commit) via 15c66dd626380fbd7db6538b0c21d1fe86dda6c9 (commit) via 1cf4d9513af10d419c71099ae644f07b6724642b (commit) via be9957b82fa4e09c53521335c2a7dddf6d208309 (commit) via 79639e11323e209d3dfd1355abac3b83a87c6878 (commit) via d57be0f4420d42c62bb702f69c6d2a0dd5adef6a (commit) via 98fc70d642895b7b43f196e19a004e07bd5f16e7 (commit) via 4727d6136a997875c0f4a38bc7fde365474d4822 (commit) via e85e8e5effcfa1a1834fdbf899e167da6dccd2cd (commit) via 8ef229f32be156f374b8b5e3c63dba735a81fe55 (commit) via 8e2fe09f70e721bfd8aaa0690537640a44538f25 (commit) via 87de11c05253566abb04479a4842cc934d0c822e (commit) via c214c7cfd38006369e1da13644000ce2e180a5fa (commit) via 6d74a497ba4fc2ba67142310a9fad42e035ac9a7 (commit) via d851a69aa2b4b6868c07386fd795521a0e93a09a (commit) via df88b70224175011abf2cd599d5eec6fb81a90b7 (commit) via 511aee7c3906063902415391f288460a2c116f26 (commit) via e09ab7ac788fd5509adc40b86a3631a3028c1d33 (commit) via bb3d65e427e2cf3a2fbe322443d36336e03545da (commit) via 71eef2bd8dc3a37709908bf14a95c48b80c04c42 (commit) via b072f6c163b25ec90d592ca42aeb56bc88e8da0c (commit) via c1593e4fa9901c65a32e85c3c5d3ec41598be887 (commit) via a64c9f7b850554956083678dd1ef330dd9a7cf22 (commit) via d8282f0eb10a1a5759bcca4582098a8369f508f8 (commit) via 90ad5e1d4f34d02f437ec12d1b65d7252f5b7f1c (commit) via dd2ac17449b62de57f128f670b1783bb6728eac6 (commit) via d68e53f47932eb7c374df9b90faed7aca2eed9d7 (commit) via 986b66010c684a871f5606cb4f074d4e3d829e2f (commit) via ce0dfbeaadee82ffae390e4515433d3b6b1e0084 (commit) via 95e50b2723eba05ca34e9ea69c1de63e65ce9578 (commit) via cfe6bf439228831f7bddb8160fb099d0e16215a6 (commit) via 28054d694f6794d2866d22073117897e372803f2 (commit) via 2c7b626ceef8ee50d6ef6fb575cfe55b93ef7a0f (commit) via 5b07cd848db1dbe9e3498e94bea5e69c8e438153 (commit) via 9a284c9794a7589edc01b5701efe5406a27b5b4a (commit) via 00e474c2e96f9a56f128ee29fbdc36ac32d5e14a (commit) via cc7039d31aefe14a31b5b6d8d3694e32bc22b486 (commit) via 4fa5d7b436815f58688ec9245f24fc83263364b9 (commit) via bf2d68ab8c9da89a7caec2abdd2cc27c607f4a04 (commit) via 550bdf96cae94bc3e6c0f7e7e9a6793399dd8fe6 (commit) via 446899e472025a04017064f5172105cec70eb357 (commit) via daf220f0a7322ab97390d4ff33d0b4202267117d (commit) via a07229507b48662c2d08957dca9e2d8ad16c407b (commit) via c966a859b96f78920c16e1161578405d88b425cf (commit) via 3ea9863f6b965a91d3307e8661edfc81ad3be410 (commit) via acf1419f9c52d06ee70169b85c5f8980c7359f8f (commit) via b7236fbee40060bcf5e90740a5c5706317749f91 (commit) via 9028d9432c57fc0871479960f843ef4af194d5ac (commit) via f01f1741df37f0330fbf2809df0ffddc992ff60c (commit) via eb704cb6566cc4594099f49f8a215bab4fa7bbb6 (commit) via 02e62830e26a0d3c0d47d4e09209cc04354765a6 (commit) via c1d11331c9d84541b5002314f8cee2f302dd5763 (commit) via bf36a1e7df75608045be60a5d16a1df207df3464 (commit) via ad6aff7dead678cc0fa4f786fa59c6040c6fa758 (commit) via 97c185659a35d249aa20c89674e3da2baf4b4352 (commit) via a37bfa30016370992c59105fb4fd97cd3a264149 (commit) via e992c591afd3e4f047ecad5afa49bdbde6c33eac (commit) via 64166036b3de842d3e62e9471a2813b55643e3f3 (commit) via 8a526fa69afd8ea7d2e303f80c03f9eb46211390 (commit) via 0fa9c223ddc05a4b823bc7982dce8ba3b45d903f (commit) via 7cf99fb1c72769c17eed0a62951698bf56432108 (commit) via 1424c16eab1a96de054991c346c2bbf3eac82dec (commit) via 10367c7c946a123597cbc5efaa44c18912e5e43a (commit) via 4180215b9db1549b88da2da2fcc320fe28233481 (commit) via 2f56f7c302c8d4012cc47d8bd261b151b2ddfa22 (commit) via 570dc176ff0e33525c4c1db981de87aa0dce742e (commit) via 68c14faadaf5bfd9816ac913dc8858116aa15a84 (commit) via 749bab0110ddc56835bfe70765675577e3dea05a (commit) via 3c14e5a39bb4fddd911ba49483c44a12294ae6ef (commit) via 56000a9801956afa7622249f114da778afc8887f (commit) via bcabf4207e7ba20f09e15141c6c3241862ac4aee (commit) via 928dbe07562fa842a990d1c3aa65e12343426e68 (commit) via 52059ffd6935427d02ee418be3eceeff6fd5c066 (commit) via fe978cb071b460b2d4aed2f9a71d895f84efce0e (commit) via 3bc3d82a005466a66fa22f704c90f4486ca71344 (commit) via f0673d2040a49ecebfc0d3a03993d09fb4dd3e17 (commit) via 07697489f4587e41f4f63aa526c1bd7d2fcd5494 (commit) via cdb602b17548eeebb5e700c507d734ea5f887a49 (commit) via 6f98576f29a70ed947f102015df0388bccc6aa1a (commit) via eba5ab56cf54396325f855a39654964bb9e28a9c (commit) via 96c20bc18d71ca5ae3335d48ff2b459d495032d3 (commit) via a3976a7c56ec803f6ba141576cc56afe02663a8a (commit) via 60abeae4f219a7a445d11ebaf72d2939413ffe80 (commit) via f44466fb654c587908d417b016c16c0fd27bf415 (commit) via f0666312fd86272e0234d5f7c92d8f65d5c6505e (commit) via 73920eed1d5331150d6a0e3207aa653e10f0a1ac (commit) via 0def5aaad6a89e78f09cef2b95635dc3254ce304 (commit) via 330b17b30f85b091a214c2987de5dfef1e9733ac (commit) via 2ae824de90cee5f16c444a79cc1b442eb9c2cedd (commit) via 60d1b0d6a43b984b88da499f6bbc13cf729f0447 (commit) via 1ada945d059789e05542ebf573bd9b7eab2a2654 (commit) via 389b8029b69e2a4cdbc3a23d0ee9d5b3c974bd34 (commit) via b480a4819bb85f0d8004cc0904e7a2eeb03cb2b7 (commit) via 3c12b0543695609d96f818b2a60c74b624fc0ffb (commit) via b108998791b5ac14ba97a0ca3f2e2ed8742f27bb (commit) via 043bf05a3d8e4bf7706f7c038540b893ec075051 (commit) via 74ad790c76cf890fc7f42d6dd5a4cebfde5cc0db (commit) via 27228ca23e80c31ecbf3da261224b1d2ece4be83 (commit) via 6f4a313ba49c84d9f8b266d8d90c9cedbd11b1bc (commit) via 3e29ed9f07740a848432a1825c3fb466cdb98a4a (commit) via 7366006f66f6b781832e397dd177ed8698d4fdc7 (commit) via 07875fbce7911d7e6174d6398cec2872eb489613 (commit) via 49d8f92c6e07977ede747163090b6a702f345629 (commit) via 1db365dcdff81c772d4c22e73a86971016ebb6e2 (commit) via d93c7787a0dd4261b8ac65a92a33196b62ef57b4 (commit) via c86934ceee0971a04bbfc145c7b9a53357c25c91 (commit) via 9beb7c4e1d403e1374096df3a16607132a8cfe84 (commit) via 77b64a49e24dd4b5f4c7edb5d4030fe8aa1eec44 (commit) via 06b73f4199944fb8a7d2c8874f91ed1deb7f4c44 (commit) via 532f44ed674a74edc1ef1aa6fd7fed911413e1ba (commit) via 081a1c2cede38dfb837e3d89539416fd836be4fe (commit) via 2f41223f62de5d893bd6a4bd832293c2c3e80d91 (commit) via c8071705c69a13d237aeca4709bf91deaff7e5cb (commit) via 03eddd80d7c9b406109c43c07741c9991520954b (commit) via 80c570537e380c1b8e48754c0ddbce2abcde2d00 (commit) via e3ee40059d4a4e04d10e2b5c46bacd2a810355ca (commit) via bd4d2eaad0f624bc47b2e27222480a44d1a48108 (commit) via cf424aef0af89903abdd6c4e055684929e4990af (commit) via c5cb74eeb3ea13a9fbeb0ec26b5bad10c4b92e4a (commit) via 17487d857c372c01fb84b028062eaf1cdb41048a (commit) via bb2b33b9395662e7562be34b47b9533620b583c6 (commit) via 9357a9e66e08fea2a13446a4dfba2ceaf11da827 (commit) via 99654aaf360c38a7bff69be8c175a78b83a7d263 (commit) via a127494f2dcad834743e613be4cfea39511ad5ec (commit) via e26e3344573513d33e99bca5c659bbbe3a9b647c (commit) via 7173b38a442c007a554ea200817a0eadce89c87b (commit) via bac13f5a4c05ed88d7c4639c37ad01bb7e305419 (commit) via 137c83d69fad77677cc818593f9399caa777a0c5 (commit) via fdd410ac7a07dfb47dcb992201000582a280d8b2 (commit) via ac99436572d903781c124fa3cc72d83360202b76 (commit) via 4469186b996eb84ee9341f4cdcd0f92c412b3f27 (commit) via 21613c12d1822dcb71116ce8f386ff87719e104f (commit) via ca7ae53a8669bd0a4c64d90072f42741f4c0ddd7 (commit) via 9ad55e9b25ea4423413b46be0714fc5590f85eb6 (commit) via 685080f2100373d1a45932521f9a24922a68d68f (commit) via 31593e1b96c792abba3c5268d6423975aefa56b2 (commit) via 94d15024fe3dff908ab570aaa741b1c834c856d6 (commit) via 884151a7b8f1770a823e5017c8f5025802c44f24 (commit) via 948f632f5671aa16c239507652d92f23f7713703 (commit) via cb0728165e282be2ad9b121c8c1e9da98c9784e4 (commit) via 0821d5b14efc2fb0c929ba077855cbc5e7a0932a (commit) via 10d602c7f9c043a149741acaffb5bbd32f9bff6f (commit) via 3ad797fd086ee8eb71041992877e6d169266b4b5 (commit) via ec86f43468e2591127c493d67882de59dbfd79de (commit) via ecfe5151674f7837eb05f0f05dea868586ce2848 (commit) via b615dd209febdbf5f13e1c4e7667c172d65bd777 (commit) via 7ee67ee4424a318e4c975ea61465d6e529da794b (commit) via 8090aef2bf5021f35c94193a035eb1ecd5e25e41 (commit) via d8b901edd1a9b717bd397400ce498c7a2d9504d0 (commit) via fd63f640f645878605e4b4bc33ca31fb51583ecd (commit) via 5518c738a47f0282d6fcc6768e1cde598e9538e0 (commit) via 1f10ba14bc8c53120432ccc7b2ba5605b4cee80e (commit) via f971c12fc5aca91875b2fff0a115611577d01909 (commit) via 0f8f0c57ea4742ad2d9b0598a18243331c1c06e3 (commit) via 8f3102ea1a9954ed00f84a9e3452a79e94953840 (commit) via e5b85ead638e4916ee188698e434dd1940e484e4 (commit) via cb967f0d6ce36d566d97cf37b298265434fb6db5 (commit) via bc9540e842eb5639ca59cb133adef211d252843c (commit) via a17b84dd9f9171bdfaee82f61ce6df9f65e94d0b (commit) via 5634e839cc1af4629b3baae1138b0ddeebbacd71 (commit) via be66981e1605eff305ac9c561825f4bd6801fca2 (commit) via 85c3a371b327377ba1014e8962ba41554599d3e6 (commit) via 96553a0cffb30d2ac6068eb71bed38ea7432073b (commit) via e26473a140d91672765866857e2284e4a7f105b4 (commit) via 96d67095792f5c8c0c91522820de861e54c37728 (commit) via bb6ead917c6aa8159281cac13b603e43035dcea3 (commit) via 0172ee3adcd28ffdc89f8288eb11924f4b1274d7 (commit) via 20a0ffe33a7d43ba13eff917ec3f50b4f7644f81 (commit) via df9bc4163b1331c8a4dad6830afeff4ff305a20a (commit) via 53b5af48f6591c3120fb076f078188a4f117c2b7 (commit) via 74f4df0028f256214ede2091cb102ffd496463c9 (commit) via 9035ed511099fd79bc5a76d1ac457c0a8226a324 (commit) via 97a0c6972eb9eb730df3817a95f351545a8f7cac (commit) via a47cd6e95a6eeaae01c96b89880330c4c1db0c4b (commit) via fa1824c2509a59ec6290d925865b80c30d954fb2 (commit) via c5facdc449f43f79a7db6d7ec418caac18aa5c94 (commit) via 2db9a4275ceada4aad3443dc157b96dd2e23afc0 (commit) via 3b27ef472df3b4cdcdd54629281610d594c99c97 (commit) via 1cc28231d23d8dd604d3482dd4bd46031d5a4052 (commit) via afa8d396f6a952d17b348a981dd2c56f83305611 (commit) via 60fb7e9efa12266437d28d19191e49e7f1e0013d (commit) via 5c5019c27c5a4a73ec53281b4b69044f82b179f0 (commit) via f3978e91005fc54b695779d3fc9c67f8e203d28a (commit) via 4ef9f41a9538c9c7e4e540277e437b137cb64c4c (commit) via dc049bf460bb1243aaaa48745bb8df64bbb3e1cd (commit) via 4c4ca605d5332d4d5b0112932cbf379d82bb7d15 (commit) via bb264c6411b43d08ef518df453dce7647cb9f91e (commit) via 16218fd311d470f8f3540f4badee69f2ed14d854 (commit) via f63c17760fab6fbf56ba500f7a8c746aa15b34a4 (commit) via 07df97c8578023d1c9313bcec8aceef14de3e90b (commit) via ffdf88ecd798f111b18060e6394b040a1accf7fb (commit) via c9587f88230e9df836f17c195181aaf50c3a1117 (commit) via 53cf2ee0d933ac4d95530555854a6f8d3cefc2e8 (commit) via db95bb7c5946a109e1584ab2c43c052ff39e63bd (commit) via 837914eeb43cd0231cc3c25e8644f0d6190034e6 (commit) via dfaf2c472c619338d2dbf4e3a72a251dd45c34c0 (commit) via cf18fda46276a088b0b2ee60a84f8670de2ef4c0 (commit) via 5c9352f317d63cab0ebe512a8461e5256b6a913b (commit) via d983c8c5503d680c6d4955ceb610a9beebc64460 (commit) via 8545136955641adbf35e121fbbfc8cd5fd06e4a7 (commit) via acfe0940a8c5a23111aaf44d70e7ad582c775f63 (commit) via c4ef48c6b22472f197eeefbda1d9fb295ff61a77 (commit) via f6a88844c36e2c03806563c9703b92af6ba0b345 (commit) via e3ee8ed41b6a4365897d776cc181a1bd813010c6 (commit) via 4398b0e490f5f0f0feadfbf0e38867a49fcce436 (commit) via 3a935c6cf98c47eaac4395622bfaf2ff517abd34 (commit) via e0a1e121b39ac99e76b77b73cba1db40ef75c7c8 (commit) via 45a4fb1a700abeb4b3d8315b312ab31eee8efe72 (commit) via b05e3b0dd2a257f7f0c1e23ff4c36f369438ea81 (commit) via 3133f8c11fd2e18b9f5ffd35bb26410dc61a69c5 (commit) via 497c491beac9bc95f62ccecbd9fbab98638fc1f2 (commit) via c3e3045e5ce820055e2823e8c5b03b0e99a4b514 (commit) via d4777acbc94f3fb210fad9f97133ab3e9f1ccc57 (commit) via 8b367e1771078f3cfc8c0fa2d5c5d5e9656c8fb9 (commit) via 9aca2ff83e4299875343cb07add9c0ef7e5f3188 (commit) via 03e98035a2a5d928ceb36ddd7b43369fbf72a008 (commit) via 6f9b84910f8cabf565598f499258bbea51cc06d4 (commit) via 2ec55de302e4a6c49a06c673c8262a119fa6226f (commit) via 69efdff130b843838e791065335b44d5f91f7075 (commit) via f8e5e23e3dc46042fcf5fad6013e6fa8db13ec43 (commit) via 9f2e07213aa91f1882112df3e0d227638b7a085b (commit) via 2d9afefe223de983d6e86b5de9da0e5650057ac9 (commit) via e9c1bdad269c0c3352eebcc9481ed65144001b0b (commit) via 0ed4b0bf3d2ca248778a2ffbcb2c5cafbfdd64dc (commit) via ab32a8e052b016c4065f8b991dddb4f7a4e38c38 (commit) via 67ca0b7662419d76375773e0e8aba545d0c43e34 (commit) via 49bd1d6e875d4b9ab0cdb909ae6db2bfc95f364b (commit) via 6dfb72b9068626cbbf0017df092162d11304a3b0 (commit) via 35f82954b5e46ef5f56653d4f3aa0d1236f558da (commit) via 171e6b1cf621bff93e1aea3fe76bdaa6132df9f6 (commit) via 5348a025be9a49e05b7ae4ac4081bae6e2399b65 (commit) via 576fa8831a7334ef5be41d9f3dc72a92bc227979 (commit) via 49987e5cbb94d95e844374952923b7bb8f13ca87 (commit) via 62f8d21784db0dd5f8e3717290bff32bd824cf2f (commit) via deef1eedc13aa322abdb1d76cdc3fcf6ab3b70cd (commit) via f58926a652e71cc4809758c693ff005d9fdc46e1 (commit) via ce875075f9c8acc57bb0ec516ae3ba50064e52b7 (commit) via 0a60f874dc25306c48fab8f7655813eb1bfeca8f (commit) via d5ff04826ed6ffd265d47690e0e636e2dff5e6ae (commit) via dc1d9d1fcbc719cd4377aa178703ad00b1d8a3ac (commit) via b0619670ab9822e5c116c273ba484909e608a943 (commit) via ffc0f143c74a7d49f6d1ae3f835e404ef4e56772 (commit) via 951eaaec17411eba4debe19781f6b8b54306256e (commit) via f641dd969f91a83adf319b269c2411141b0a26a9 (commit) via 9f04ac5f92a1efc97b38cb6560fc10146fad64b6 (commit) via b4eb7656c21fd8cad2eaa0d27883226127cb1620 (commit) via 66bc8739876b17b4e8b57cd1f1337814b4b734db (commit) via 451dfd384383160be5bc60f50a7920975e66f593 (commit) via fc4c425de70c3a4f7826010c0d65bfe6fbf00fb8 (commit) via 1a920511af007e7476df68f87ff42ec8be80531d (commit) via 013d031916a1f154054c3b2ccc2d35fa9ff5e397 (commit) via fa3f8d5ac61f98d5efde8dc92ba4c9f3dc12938b (commit) via 9a7e538ee10ff885d8bb49ad71da262729a1604d (commit) via dbb3fbbb1a3b387a0d33dfd5764cf92bc3da7f41 (commit) via 0e7f931f3acb65a739dffb2a4edec9e7afb1ccbe (commit) via 761e2bd47975100f96422d2cafe0d545b781205d (commit) via f0af5632f2630d173b26df4a929ba6ba5d0508e9 (commit) via 88b9e2eb547b002431ae7e4b7799f1a06241da3c (commit) via 45e813544eb076dd52fefe7b36e28b088963207d (commit) via e3001fd92063282c55ad251d58f112b10a0cf7d6 (commit) via 90092e730582d024f621c78c6b5b1e6f2348e77d (commit) via aa31c464df60c72920e849ed5cf64eef545e3014 (commit) via 63cc30e93a0a77a734ddf2f8ccf6e3b032248aea (commit) via e1fcd5757be08c23c5e72595d3cc4f5736fa7cda (commit) via 4185814eb444c3a793dcb7ef567acf3d74019d07 (commit) via b99bf4e352f8590ccee3fbe3b4b031efdfcccdab (commit) via 800eb1cebe736f6867d13e5df40a2c463a4b23ad (commit) via 34019068f0082676b31926c7ec84dba0cfb2aba5 (commit) via 8d4a54e2fb7f44c20ff3ddf42ff67db6bd08bdab (commit) via 7275e869fe708d1f5dc3774df3ae0dc68ebf9128 (commit) via b9dc5a878402036ec7f631abae7505583a52b385 (commit) via 362beea4b400bcd5aca3bb1215a77e9e749b07fe (commit) via 439b7f41b5fee5ec5902aecc8f3fd105be6270b3 (commit) via 5ae0078cd2b6b69e6119864e20987c8724916b29 (commit) via 18ad82c16379e7ed7daa3043abdacee1d934867d (commit) via e36122e9d76b35474c49aa1873e50e12c7b722b6 (commit) via b19f47add047bd9bf102088530e28c2af38393cc (commit) via 55172d69d08941ecb3bb1abd640f22abca10de47 (commit) via 0703599a49d082a957ee233fe018fb6ea7864920 (commit) via 07f107f306e422497915e62f6c3d3d6d7b20e8e1 (commit) via 7e60a48ee004387aefcef48391ec93af203c6369 (commit) via eaaf76abdc6444e07860067e01c8135303a429ca (commit) via d319a098bca9372e7d1840cd31c47d05b0c7540e (commit) via 386047969d9d36980fd6c4129b372e4a400114e0 (commit) via e7d52ed30408677f63c121e88a1493e6300b80ba (commit) via fc6b1256ee5062cda1dfdaf2173bee6563eacdb9 (commit) via d9080678121a84fc433a5f2ee141ee98512d2167 (commit) via 084910afdd2d98e3e60ff35f124549fc3c180edc (commit) via 9f615e3af0356052a475812cb5a4380a5fe51182 (commit) via b1ffba5a7fe1eb1fb97f3e81dd5cc78b59eb1fea (commit) via 01b088bc51fe37e07905d36547f4ea43904837c0 (commit) via b052c4fbf5e64a2e96452642adf433f60b185245 (commit) via b05ec7a53f8a3b0cbcb2b42772ca0e70a319d2ab (commit) via 3ac240d438dceeaa5bd8ec65dafc4619b9295b09 (commit) via 07774fccc3280323f43db9ed204f628503b34663 (commit) via c1cc6152620563bbe861cfc2fa0a796e71ca87b5 (commit) via 834f871cdc6e5d9f5bda9ce607fd3c47f41a2ade (commit) via 03a91817f163986f10cb843f58e2f2cd9186e4f0 (commit) via 77ef86547510cee3a2bff27bea9f19f0b2715bae (commit) via b677c4562dea82ffaf413e7e9311ca4b9c1c6ec6 (commit) via fe9057895e9224b764c905de470e0e38d6c5efac (commit) via c1ee941477569693777617d2f5defbba21085216 (commit) via f7de9aab902f68a79e83954d2645daf90f9eae33 (commit) via 5a19504458d7a4113ef91875a447f4e841df7598 (commit) via 0b24eb2de5a6dbefe48fd57fcf5d0e7fb24895d4 (commit) via 134cdf8ed364a702e89f9d4525a361068d502893 (commit) via 35181b3eaa305458f1a6ff04b97cf13e2ef10946 (commit) via a2c2acaf15e9cc40bae8a6eebba78aadd3a31b8e (commit) via e051a5b512a282642030720c69b5b4f9a85314ea (commit) via 5c3696f89f878a438c42b342a2f4bc004eed95e0 (commit) via 31fd9caad9fa8e13bbc132dce264f0c3bc53412f (commit) via afb778a2a85ab4ac883638e309442f454f158692 (commit) via 7d5c24b3ae60b6cfa41ebf9329b2f7832053b0f6 (commit) via 76235df10b96f85815d799b586a6bb32bc89c90f (commit) via d33501a51f46193387ff2d101752a9a878202f82 (commit) via f4abbc168227003a4836dd1a5dd558f40be96372 (commit) via aadf7753fd4cc3d9eb1cd0c089fd7a483b58f59e (commit) via 043c35779713a14e0916a1b3e31e006cd1270ee4 (commit) via 734b0e4bda4c56d0003182cdc3f5137d4bea00d4 (commit) via 989f98793c06132bb5cdc2f7807b7eee5108342f (commit) via ca4be51cd81b0bfff2ada60c98e7c67c936045b7 (commit) via dddcc5b9a8bf064875053e94d692241be5be49c8 (commit) via 1474044c6282acdc70e559e8ed10c7f17e4d6b2a (commit) via 1d5b29cfe459ceb6d0965ca3ab8936e0d72e1fd5 (commit) via e13419c472637ebc6ad1554bdc6d50f2bd793574 (commit) via 63a5fbcfa8e56cb07bcffa73dbef7518f3c0990a (commit) via 9384389406b55ffac5ea34ead9a34f23b8cdf72e (commit) via 35a1e5f3055fc28f129e4d5d0a993218d8af1baf (commit) via 1952c5cd7d3d24b9647b396731bc4808a2d63d9c (commit) via 11228d29d5146828325a7f14596b9d87f7a2edf7 (commit) via bd2e0e9e9ab61b1838167c1110c35da8b21c8f02 (commit) via f176c4b57f57c8965807256bad1cd487b92b5457 (commit) via 8dfef1bd769223b3abfffabf8bd13a9b74258231 (commit) via 2aec968d4df313f893f239a1a69aef2392a16b85 (commit) via d6c146e9ea09e050e6f05fa00312de3fe763e811 (commit) via b9d6130764916fac3d9bcfde2d672053a0ef3316 (commit) via 55325047241cf38dae3c6a577561c740a9024bf3 (commit) via 9e2dec471006de3e0489a34fbeb922fee1e302af (commit) via e584fdbc6a9b0da786c5a55855f9fd9f7e676198 (commit) via 8490fb409a37072389da7cafc3a92255e9a34c98 (commit) via 5929c344f957f93253efa4c3495a996789d48ae7 (commit) via 77f41761432a70930ea0a917a2f135b392af34f5 (commit) via 73e7610887dfd4313b66f33436bc18570d58b2ac (commit) via e9fbd0432f8ab3983b166ae0b4d3e2ab6fbc8cf3 (commit) via 119d62ffb87b8e6fc24d1cfa040586ec94f5655a (commit) via 8e2470d34f4306cc3a21fdcd8099443896a61313 (commit) via f4b78d1898203363e7f551497b6231d0f891d6f9 (commit) via 7cc78d0780858b2f4a76c2867351cbfbb339c327 (commit) via 54ebc97a0dcfd178839462f9260c91978aaab90a (commit) via 64a81db054a44e5539c4de5103125f3587de6403 (commit) via b39b8b9d90e142179709e846c15afdebd49b0fb1 (commit) via b9394193d08bef2193f805ded0af898e4c10a509 (commit) via 881d5d5db08ee6b343e1f1fc560d785fed29428e (commit) via 2abdd192f1ed671c5dcf0d6e52ebee96c8610b40 (commit) via b66d1c52ac4537484353797ce8d791c0552b3839 (commit) via 20ba1ce66d31b9dd16ed8c648f46ce32aa3a03e0 (commit) via 3c537f7fdb11f02f7082749f3f21dfdd2c2025e8 (commit) via 42d9e5288b6576b56f3f803901433b88ee863bc6 (commit) via f962539ad23759af4ba8f7eece1946fdc2f50876 (commit) via dde9acd693251ccbe28d2d9c6c8b3cdc8ca884ed (commit) via 1528345d6c4a407e0b36b3474eb458cbd04146f7 (commit) via 8962a307ae3dd59166a4a6dc4e60a4da880686cd (commit) via 3101e6373ee4bd78f7efbe21a730a4327b0ca8f6 (commit) via 518be979d905d8e8708c70149fdb3207aba53aa1 (commit) via f3853b34448594744f284fa96f26e41fd533a50d (commit) via 80bd5fab6252d1cdff1ca95096ebe9b3053c8ec3 (commit) via 23081de0180381317070db296fbe3f587b501ccf (commit) via 2cfbf2fece582c29df348104b28677c38a8301f4 (commit) via 8265ef950202a4bf0d3444802ad5d7087b4b185d (commit) via b10c5c5012c3accfefa3f3847d3eb83a788bdbbf (commit) via 570286220e28e606e199b37a06cd199cadb592ba (commit) via a7606d8083c9e217294f6e47a8d2903716c6337c (commit) via 60f79275127603876d94da4bf4e3f6212903b407 (commit) via 9910b1c8f3b0821944303fbcb4ef4c8872cf4e08 (commit) via 2d3ea0d5ba74fee0320766c4ceaa6d8f43a37a74 (commit) via 70b662892cfcf35d5addd40adf22a7354626598c (commit) via b7d2e91626b0e587f3fd5023e79b5079da6baed5 (commit) via d9d41e786a077db1b536b1124af6e135b9ad46a0 (commit) via 64d2901806c171c0d949f8fb1b29b4e5ba8cf04d (commit) via 46b87d490296235ab7c76c68816de7c402a79326 (commit) via 3a63561744873b54e13c45923fba4aaca7a2fec7 (commit) via 8e02d7f52092fe95f29d006e1df45b110490adc1 (commit) via 6d012254d46550b0930705b132ad9a49479573b6 (commit) via 43fbf91ff858af23fa03371b7bf84d4bd2cd82d2 (commit) via 907c4910c3175ce3e9fc9bfb897527ca241ffd24 (commit) via cd71915c7738f0992daefe0320b10e3b1960535c (commit) via c9ba137e2157b989b878198f94c7d5f01a937500 (commit) via 24dd580891ed5fc331758d608b16d636eabd1ad3 (commit) via aa3de2670f9f9327b25c47546c0005d4a80da546 (commit) via 6c2573b7abfc3a504b902e46169cc521b6aa5eb7 (commit) via 0c4bd9d97731e2cdff46efa7e7325e4716641a59 (commit) via 2c811c0f343426fe6b61dc89d3944a51b20a100a (commit) via b1eedac962b9d935ecb40725a614f6fa6cb0783a (commit) via 66c168ae56fa2d67f821ccae774fd25c695fd9ce (commit) via ed2b91f0d8ecc0a6ce61abe40962e132a5f90d91 (commit) via 4bdc02b207c6a3baa1f5c761874a96c1ad04da61 (commit) via ae6ae97502b183d0cdb9c298a60fa05240f230bf (commit) via 09e2d7c72040dd2d1833c140b5f04a85bc3f6a0f (commit) via 4bfb94b8648cebad2683d24ebe033ef539df1dbb (commit) via 5f4ce105edc3ebbd4b0425d41ccac0064e3cec41 (commit) via f6b3afbf2fce69c31bd738e0543c55fbd848e74a (commit) via 6779e036f5249881d6fc511b99e047c7033a9313 (commit) via cfb069a8bebfacaf00dee6446e86a856978670be (commit) via ef0b411a110cd2602cb89c3fb237baf8beb28545 (commit) via e11c72c7e4879894b9711b5c0b8247c20c6050f6 (commit) via 276d885b572b12221f639641846ab94ef9582995 (commit) via 5dd31d7995882a43fab9b35b11775499126d7bd8 (commit) via 05cdcf3d36ce579b3bf8c45badee7974b6adb88d (commit) via 82083d6dbbc0b2f6a76095582c6e7ffb3e06432a (commit) via f57d2163da62044205c3f53e0ecf186923296b63 (commit) via e700d1b279b26d4b7d86cfae70d2e022ee748068 (commit) via 9f0500621b6a4908986394eb0fac151ef097f520 (commit) via 312809f8838911dabff84d7ad3ccf341307d2b19 (commit) via b6577aab8a7e97470c5ff96000f3d0dbdb2c1ee1 (commit) via 230c609dce78f1db4fd3c860f0346ea4b6b46c58 (commit) via 6da58d3e02f50801176cfdb9006d843b5f6ab2d4 (commit) via 837ce2523fb0b81a8548624d204c857438c647ec (commit) via b09e2c591f9221d865bfe8425990a6bf9fab24e3 (commit) via 2568868e69f710e470c8698a34010daf36500a30 (commit) via ca83fa81892ab61870295cb5397c59daff1a55e0 (commit) via afa269ae41673cd5cc5f50d683a0f2d275a643e8 (commit) via 9fc1d6863b1f46fd639afc3dfbe0b4c6d809ac05 (commit) via 1a215085d4bc09f76028c323ca3729abbd822bae (commit) via cd366ee8c6ca1dfe8aa11540402904b64775b208 (commit) via fa89cc82f5ca51f3135a9f2043b85b6a16c205eb (commit) via 716db898b72787d0d342c639c421cdd97f3afe9c (commit) via 38360086aea4f956dcd4ba406318595ea11f7dea (commit) via 0f81d3f0a799c6e8c2a89d7f519916e3c9c0f65e (commit) via ea16498d5a740e2888feb2f8bce92d9565baf244 (commit) via 3d7ad9b42685b426329370cdb8bebc9cda6d8911 (commit) via df25ebbd091aebc132f97ffd6ce9cf7964a57981 (commit) via 4a0ca9ec1ee3bc18da72ce42cdd7c2959e58aa76 (commit) via ddb87a81ac5b031da67fb251b2c11a94e9834ae3 (commit) via 7a270e0c9ba0eb738a4c30258ab29c09963fcd4d (commit) via b86ac8e3a5a3117696b1760003b8e09ed13f1de9 (commit) via 912ae7dd0fa4658133d4fb77954a57c8548c37d6 (commit) via 65d9213705654383804ab8af707975f0721c4a6d (commit) via 37a3056ad4d02a5295e0288d630dea377907a60c (commit) via 15f7a26b0f42be812b0471ec09d91bad696fe26e (commit) via 61b86cb1948c47e5e6c49b25f33d11ac002c27cf (commit) via dbd1e97e32057af2841e5150daa2e2d4cb046a3b (commit) via 3f8107ab38095bb3db840f9f14a0fd339f55e06e (commit) via cc9ad334a71b0c032f711e86885fb73821f3be16 (commit) via e5fe4957b4513015b40472086f22cf8723b95773 (commit) via d1fc593cb8cfa2b4b4d9c0b8090b6b1f597008cb (commit) via 3a8b707add581af37804947536025dd3e7fc1a33 (commit) via 1b5493961ab1f65a3336b2178ba3d035a130f9f6 (commit) via 0897ec15810bca3420ea7b8a91e491ed45780202 (commit) via 877a8638ba563c667eb5358240334c473d0573a1 (commit) via 37e3922eed415bbedd2dd6e46308fe9e03417770 (commit) via 20d79870f35f646e87c43d8c4fee936b4e0ed5a6 (commit) via 3bd3aeb46126494401e2f265b55fc255d5c5b517 (commit) via 6f21bfab08368c1a6c9d950a14e3fcda121406b9 (commit) via d35b90fb6ec3374f4d5d8d19bb8e41c8b1970315 (commit) via f8313f6ec4a86ec18c065ca96261c36da34818ab (commit) via 18393a2e423a67f9cbd1c2400aeec8f119680bf8 (commit) via 5485698ae4679bd18a37f8520a17be8b760e5a18 (commit) via 76dbb86382d49feff10b3c4f5ba0e0d567ca090b (commit) via 37bc665e4e8b2386fe15680a41173bfbfb085ac4 (commit) via 43063f1e4f11bb9d3538fe9f5d1f661dbfa1cab3 (commit) via 734ae1256daf5867721f1d730c2cf9586d6efcab (commit) via 527f3840e1af8bc2e3173922ddae15d0021ed9b1 (commit) via 0c61284400e2a78e25aab1becf2b99465f76970c (commit) via f7e5394d614db4456fc0d9598bbfa936cc7941af (commit) via bb97bdd70c9a4614416767e5fc7ea8d75b24b0b8 (commit) via 743649fd80776de922475362bf3ac8b44511bb24 (commit) via 198297aafb4f7a9717be8370581b048ae9107c14 (commit) via bbbbffbbfc3fca35649896d6626ab02581df8037 (commit) via 5932be96694afe02ffbce899a644a44940f84dee (commit) via 055173ca8d1dd3d886e88392a7b2c63c5ff20bda (commit) via 717cf30c8230bcf1c7cc55353645bfc268a711d0 (commit) via 253828f102691732d014e8f1d62f9b5dc779b39c (commit) via f0e8c4c5d1bce422ac86090b76c28931b0d240bf (commit) via 53bef1c10759f1fd7faf675459871b2f4cc12e53 (commit) via 03b7960334677d33ee7410f2c819f78820c32024 (commit) via 6b8a872ff1038e2b8618ea33bb1113b78f39976d (commit) via 4b62a76e0cd716407859077467fddbb66b715a43 (commit) via 82a864f96aff83edb0c8bb21ead5c28cd10363fe (commit) via b35018fd7a627d94a24f4650b1d2e7cfca31f3e1 (commit) via 4e5cb37e7f3403d5398a323566ff9c995f0c9a81 (commit) via b01a4b043a5b08e1208b1fedd61a6f3d65a328e0 (commit) via b99e251379fd81716660e88b933f0bc015d6c6d8 (commit) via 86eafac0aad7edbc1ccea6daf53480a36339250a (commit) via ffbc46469f5fa1368251acd65da418775ab1a2ce (commit) via ddeca1dffbe346eea03b893bf3c5bc46e4439e93 (commit) via 6c1965f995bc8119c0775f2f9b648a1902e6e210 (commit) via 5b7d62376fc942a803d174789fe4464b26f09a02 (commit) via 901e4fdf1622fce9bfda3d3b8f4c9a20665f5cee (commit) via 049bb5dee8598d2910ff47c1eda3df3cb2ec6493 (commit) via 42b87c63bc5fc1daac598c07ca65b71591a65f27 (commit) via 481765cde069d29679122b4fa6ef6c5ea39413d2 (commit) via 810c102655475827a3174fb64b5e14beaa57ec3f (commit) via 569340fcf2b3344efed83f1239c9e32474c77cf8 (commit) via 5ad18f16abf3555582782a86cc1daa751ea8b9b8 (commit) via c05b575a8dfabab6af5d8586d1a5c0c67f819ac2 (commit) via 43d66c95c826441c64bacfa07095535ddea57a51 (commit) via 23283c1be02de06666e4d934b1fc499c0d72f9c2 (commit) via 3e2b0f3116a46c8a9a6ffbcb5ae4847b6601467a (commit) via 03d5b77300e7f62ba87fb4cd82d4aed83f9a3cd2 (commit) via 10ab94ebf8fdabf14954f53f1d060fd470658512 (commit) via 1c9177d9a5c3e06d3344347c8068acfb7d8ecc8b (commit) via 3cd0754799953aae30394173c0545c52c5f17481 (commit) via 3e2aa5bbd36be9cf63530e5db2f6cf3898762a22 (commit) via 63413d85873c450fa4ed2494f21fb1a65bdaf554 (commit) via 1f99f6d0689d20db44c0c7d88e8af1ebe900d187 (commit) via c4621b339e6f3153649898b254685f72df8c013d (commit) via 740bdc67c057ee8012327420848eb134e1db4211 (commit) via 0ba38529f27a815a576bc07c85ceb65f6498ef5a (commit) via 6346d5ca43719ba6fc3176c29fd58a83d439f011 (commit) via 16d8013cf7bfe6df320bdd167cd357879e4888e4 (commit) via c039f17c354e55a2b6d6a88330a9be25260ab034 (commit) via 04edc7a3d936645ab171358425a106d3b261c7b4 (commit) via cf90fd9a07e8998540bf74f293d348a6653ac120 (commit) via b4cdae6fe51e532e0b1069c6960b14a610182d14 (commit) via 2608dbf8a3ee666ac0a7d5d7c45611d489edcda5 (commit) via 07d57b544c88f230cf689cc80f5a15e1b1a0cb9a (commit) via 2ef60e94e7d10fb9dd5afaf246b960cb4fdf404e (commit) via 4c347be60a1c25f78826fbf86d416a278740145b (commit) via c54da50d66b46166e3542f64429741bd29e74eba (commit) via 6cdb25f4df143e8d98bd71bf943bbe61c702e239 (commit) via cb86fcc13bea494007a103424c8a61f1cb372717 (commit) via bf555842fccfc0e2cdc4a2f329df6358f991732c (commit) via 1e2e8c529c1cf4fcc8cbae382aa0a653d0b65da6 (commit) via 9f2850baa3ce341f0ba42bd9519cb3c1bf1287c7 (commit) via 95761b2d9c3c77933cac233b93eff371b3e52859 (commit) via f5818f7d80adb707a35f04049c841b230b36b824 (commit) via 8cc73a3902a68269626274e15d7c25bef0a61759 (commit) via fb23d554428f1d379fd8c3e959a294108fa59f88 (commit) via 6333bc0dd6e92dd5a76ba0a6890e08db2a6f7a29 (commit) via d221e7efd61fc80f6fbf862b7e32927835575329 (commit) via cd21f5daad4335b50366b838664ade64bec29957 (commit) via 2d071cfc6614b4ec30fa4ef8b8af5bdf2c177858 (commit) via ca55926c2fad07fef0e6dce8beb948167990a2e7 (commit) via 3af8af43f74936bd3c81fe57903327b7cc05a37c (commit) via 8539e4e89eb4c54bb6668582cd709765a3803588 (commit) via bafffb51c4da50881dc5d72ec9bf9b78377ac692 (commit) via a300380e12ca04a6cb900e9bfd26161b3fe56ed8 (commit) via 10b8fe5e0eac145ff075f16872d6cbef7883ec37 (commit) via c36094316505cf2628812e520b08eb42c0299613 (commit) via edabaaee81ee7ab2e38471b016e13bedbec17dde (commit) via 52db4ec2d13f511ef3dfe5b9a159869da6e4c3eb (commit) via 3d0064a95d413e7d19ff9c7f6db53fefe44a697b (commit) via cdf436294f7e0e3bd7668a81dfd5922fdd1aec14 (commit) via 514c533895543e246eea1771ea67f3c3486006a4 (commit) via 5589af0e6661abe07e9a997f6324988b4b87c72f (commit) via 6c400b59d574782afdb26eb6c021f28c31bb9f1c (commit) via e02c96a79949824bbe1da22ddfc6b50d362fb552 (commit) via 8068939ab8058b48d0c7c318d463b0c6b85741fa (commit) via 0900a05b4ce11a11fafbb691d94745bb65ac4980 (commit) via 576fd14c6861ef937a50b5a7500c8a58f8c4ea92 (commit) via 3b2f13ff2f2af1688c179c971ade19b8e9989076 (commit) via b4cfe7f88ece4b809311ff1cd688ff4fd5e77e96 (commit) via 0941db698eba22727c9a944b5da5c76ae93cc664 (commit) via 0172429c3b2656e96ac390a9cdfc441f63df41c9 (commit) via bab91cce20e052822e128c672e0570c8f3f58131 (commit) via 92fc2e6978d9a7c8324c7e851dbee59e22ec7a37 (commit) via f71f0b0d6b1214d4ee8466baa9d98f345de98cbd (commit) via 04dccad086aa9974fb66f8b5d1c1fb32d5a6ae0e (commit) via 15eec7902fb3fcee295de60109c8431e70229d27 (commit) via 08b13bdd82996fbd321111191d33233073584b98 (commit) via a0a3b04c61d7aa79e265224540930cf4057acfb3 (commit) via 1306a7421c764d1f5e2a08afdb9b5818662c9e9c (commit) via 4ac15b59f2f506ff0ad59f148275cd7406b8d765 (commit) via 3d230f71746e0b33376f8b9bca914cc5d980997a (commit) via 72c61a0d1ef445f99305859b66450da60ec6e0cb (commit) via 696025802ec3273fde5cbf82c215a3d795435c1a (commit) via 3c758495736df25d141a4ea13c7aba24f5bb9753 (commit) via bba33ab1e0f7d2ebd8f8435f92ed12e2a3c558a4 (commit) via 7e67715dd369f0a0caadaa5e528918dd65176e3b (commit) via cb3b1e65a9af9fd95dce40c4444050c30cd07a2b (commit) via b38ead219b31fed4014cd5b1078da968744b879d (commit) via 005e54bb792bc74f1168def16f35078be588871a (commit) via 4025a8c91f1f09ac37b145bf5c0bdd21cedcdc66 (commit) via f2e0d4b4ebd224797385ca22a031d74346b2475a (commit) via 6a3ca067521821b6c2ad9a836104d11e6dd760cb (commit) via 439250fbacfc212a5959b4b5a53ecfee91dfb866 (commit) via ebf3aa72243fec4bc02617673b243a63050e6127 (commit) via 77087adf50cedf78cc216ac6eb3b2863839d713c (commit) via d98b9ccbccf36563dad92f6093a93655b38bc51b (commit) via 400678a494713abf8f7ea2367f213109a2c4b886 (commit) via 9d1d54d5a7e3b634895e6e434646c706eb55c082 (commit) via b2fb95e006c29e2cbe4b30523879fe3640f906ad (commit) via 328cb676af66e9a70c5af0426282cc233f1a909b (commit) via 3368c1e5ce12ea262ab3ff7a9154472503aadedb (commit) via 491793b5cbcc9f42662a2da8427c0022d7b03f9c (commit) via e321dd9a810dd92c5f739e0e4e35ceec2a3e951a (commit) via a5cd8f05ca759fdb9b27fc98a08edb5f85369ad9 (commit) via 6bf045cd32d07ae55d7eec8ff94bd937c6bb2bce (commit) via c6e8e93a865d429546037cf5746502aa253a1f2d (commit) via ea0d6bb94c47283ce54ad62485997e2aef296d43 (commit) via 588dcc3edbde19f90e76de969dbfa7ab3e17951a (commit) via ede9f622af1f2634c1227a3ed5f5ea44929573d2 (commit) via 582511be69deb0e9d52efd6d51f860b6bee02a64 (commit) via 9c02b52532ac7864e7e19c7df1fb2e63625f3131 (commit) via 8af756ef818acb875865a21131a30e52cbcf15ce (commit) via 8a99810d42b1b4539112c7a50183f3dd807773c2 (commit) via f7ce857f51e33c66100bcf91b346ee1baf734e53 (commit) via a7b796db4fab28c2fa52bee86b97cf2b29d9c675 (commit) via 9665ffdd591e9b374b4e5f6aeffe15541346140d (commit) via 400cf8cbe9bc48068f1601ea9cd33fbd2f5de36a (commit) via c945a99f01941ccb3e73586d5e6f8d45ffa91f77 (commit) via c1a747c10948e2298083179f4e8aeed8b962e2af (commit) via a33e39599ce39ec6225d71f7da1719b544740745 (commit) via 8784d56326e72e2e6863e8443b1f97e45a46ba36 (commit) via 883ed13e4af121e28de1c0df70a8d66d94a8bc7b (commit) via 60b3033e6e2936af6fcc37cf67cade99a89940ad (commit) via 1710aab8af63e37c846efb7ed66e76dce95330ba (commit) via 3ce348af7f45f00d5acbdc4e1ef22c5f14724408 (commit) via 1c237a09afdecc5a68fd5b566abba28503333148 (commit) via 23d4663e222cbb2b9776150677683516bb7135b7 (commit) via 063bb0250defafcc55544474a2961ecbc153882e (commit) via 848cde35d61874521ad6c88a50f983d5ee7d2307 (commit) via 2279a12a44ede7a0a6d7375d90d33676fa8771ad (commit) via b597c318b86b5ad2bca1f72ee8c0fbe33cbb7dad (commit) via 3565cf8fedf2bae2b383fae66dde62c3bdae51c9 (commit) via 025ac41482555f6273dee37988734a9f88633dbc (commit) via acc018ac031c9e03e012d7d2f3871bfe6b16168d (commit) via 1e508ea5e14eab82759a3f3272cc0456b4928a53 (commit) via fa5af12a25f2143b1acd9717fea1bf680e99697f (commit) via 7c89917ffa6813f40fbb9f345411d59716e90714 (commit) via d7b24d2941fd7c99ba5843331989e6023075f0d0 (commit) via c88f5b8e495889f5d281a17bd56340d9a0e4cff6 (commit) via ea42d6f8d1e24403e533e5dfea18e94c47ac534b (commit) via 50a18af83d28d66a769af40eef7d0548e2dc0883 (commit) via 6a06d66006d33293215eaf706ee416f6a99da273 (commit) via 8d983e3645b62e72373b3ba4a9af548b82fb43bc (commit) via fdbf396f7e1cc87f408df7896c5464249f65c8e8 (commit) via 5a70a2235a5fb9a8d90110089d97a27961093a39 (commit) via e810d75b1c9bef779b29df9d2c609fd5891d5917 (commit) via 6f25f22356dcf9ddf6b375c8e967486f10855dfd (commit) via 7b496d07dfbb696ea597d3f3ec3a3dfc0646cb86 (commit) via 4fc1b9d43cbce7571264a0011c87258b78252750 (commit) via e7287c7f647870093b8ab5ffea0732ffdb8c4d66 (commit) via e749cab89d976c723ee01a3dfcfd7ec1a883f890 (commit) via ec93045b400ec68b0c5716d75f27a87533b57058 (commit) via 60ebc25751744f54ae5c00d1c9198ab64fcc5b33 (commit) via 85880250e591a51624d24db653aaace0c5ce5943 (commit) via fce10a8494efa8faec67b718f25e06d3d71694b3 (commit) via 8503d6e1e564cb5ac61bc6e3f16c0b384c76661e (commit) via 533d0af0b8a8127b6f189222fc57aa11ce7aab2c (commit) via 9c90714c2f94b4486f56fcd9dcb70e27d983f7df (commit) via 896ca0981329171639b1fe0b934393a79ef4fdfb (commit) via 82b1b41bcdc6d01fdbd94b246e24a8a8f8c2bddd (commit) via c1724c7fd39d85ccc1f94a0cd7bc25b19aa43ffd (commit) via f8ed3ac5f2600f037bff4ba01e6c92257d4a4fae (commit) via 235acbaaefaa907c863cbc99e998ee59cb289357 (commit) via 6b91c5417cb082f701fa9fca6d67e3ffb55ff73a (commit) via e1e061e77d517f1fcc6678667903b3d84c399323 (commit) via 4d29c0a8b72465d56fad76ddffb5aa64659d72b9 (commit) via cc73dbcc08beb2e965deecbfda27a6d8302bffd3 (commit) via 2aeedae260302e8a5fed878015edfb4fc5c12bb5 (commit) via eaa6a9a48207fecf3ebdba88314b0eedbdfce363 (commit) via 0300bbc7c585cdcdd7ee9046aa2edb4f9ec36bc1 (commit) via 02fe99727120efcb90ff8840af1d2c4d6312b492 (commit) via e2ada9cb46471b033671ae3629bb03376c253eea (commit) via 2f5346cd7c3cf9d7a6c550672f5deaebc30567f6 (commit) via 6ba37ab47e63dc70ddaec3d296fbf8da49eb4e79 (commit) via 4a68e3fc9ff7a2885e0d6429bab4934dff624586 (commit) via af759df025dce3dab4c9527a32c8dcf330c2804f (commit) via efd321f91c31f5f537753f99e282dbc267854fa6 (commit) via b90efa5b79ac1524ec260f8eb89d1be37e0219a7 (commit) via 32d0add0a654c1204ab71dc8a55d9374538c4b33 (commit) via 76f2b779a17de2a13e9b6c0d1a4bb0ad5699a39c (commit) via 077309e2640bb9ae0a71054fd5d8952dd9782ba1 (commit) via 14914ea545f2d5102bc56a134a28503df4e98151 (commit) via 6bf6fd090ac8b4551a4f7906310fb77d0405545a (commit) via ee3b52e917c3a19850232a6a20f5698090619fc6 (commit) via 24fbeb8dc2c20f86c9940cc62e6af192a9d11b1a (commit) via 05942d8a1b618e1c850b67ad76374f8c59743df5 (commit) via 1a667e98b749cc82920f2cfd25d07139e5e03136 (commit) via f6ef238e330bed3d4838f6d1646eac6529f9c779 (commit) via fafcc06ab29fe98d2767234dc77062d08ea0d3c7 (commit) via b35b02984b80ff231dd11dc4f3c7bdba6bef95a7 (commit) via 9d85a0ec6bc88b6d2149071af003881b6edf21b4 (commit) via 91529dc5ce73dffdf76f842c4ca2003cbddc665f (commit) via 5e05f2482b35d8ae0c64f8e69c00f3aa9b93eed3 (commit) from d1a09bf2f8e7e3f752a1bbeba135bc080bf0c865 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit c8a8413e160d935c12cbc6e484dd8b7ab80f5f62 Merge: d1a09bf fca6ae6 Author: Jan Kratochvil Date: Wed May 20 20:08:36 2015 +0200 Merge remote-tracking branch 'gdb/master' into tromey/python Conflicts: gdb/main.c commit fca6ae69c41882f5adfba05da7d932b7c8bc2153 Author: H.J. Lu Date: Wed May 20 07:55:45 2015 -0700 Skip extra relocations in .rel.plt/.rela.plt Extra relocations may be added to the .rel.plt/.rela.plt section, which are unrelated to PLT. We should skip them when retrieving PLT entry symbol values. PR binutils/18437 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip extra relocations in .rel.plt/.rela.plt. * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise. commit ce336788820b5d04700cdb9ead2ade880f5e2caa Author: Jiong Wang Date: Wed May 20 10:58:43 2015 +0100 [AArch64/BFD] Sort relocation case labels alphabetically 2015-05-19 Jiong Wang bfd/ * elfnn-aarch64.c (aarch64_tls_transition_without_check): Sort relocation case labels alphabetically. (elfNN_aarch64_final_link_relocate): Ditto. (elfNN_aarch64_tls_relax): Ditto. (elfNN_aarch64_relocate_section): Ditto. (elfNN_aarch64_gc_sweep_hook): Ditto. (elfNN_aarch64_check_relocs): Ditto. * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto. (_bfd_aarch64_elf_resolve_relocation): Ditto. commit f09c556a25af178e4fdedf76b653921b1aea5767 Author: Jiong Wang Date: Wed May 20 10:44:24 2015 +0100 [AArch64] Sort relocation case labels alphabetically 2015-05-19 Jiong. Wang gas/ * config/tc-aarch64.c (process_movw_reloc_info): Sort relocation case labels alphabetically. (md_apply_fix): Ditto. (aarch64_force_relocation): Ditto. commit 0b6e5e108599217c106f5fb63cd8ad7ec7028c5c Author: Joel Brobecker Date: Fri Feb 13 11:57:29 2015 +0100 Memory leak reading frame register during inferior event handling When using a conditional breakpoint where the condition evaluated to false a large number of times before the program stopped, a user reported that GDB's memory consumption was growing very quickly until it ran out of memory. The problem was tracked down to temporary struct values being created each time the program stops and handles an inferior event. Because the breakpoint condition usually evaluates to false, there can be a fairly large number of such events to be handled before we eventually return the prompt to the user (which is when we would normally purge such values). This patch fixes the issue by making sure that handle_inferior_event releases all new values created during its execution. gdb/ChangeLog: * infrun.c (handle_inferior_event_1): Renames handle_inferior_event. (handle_inferior_event): New function. commit 1da0522ea716f4c679cc1fe85c39459417ec2749 Author: Joel Brobecker Date: Wed May 20 09:14:30 2015 +0200 gdb/ada-lang.c: Rename local variable typename into type_name... ... to avoid a build failure when building with C++ compiler (when configured with --enable-build-with-cxx). We cannot use "typename" as it is a C++ reserved keyword. gdb/ChangeLog: * ada-lang.c (to_fixed_array_type): Rename local variable typename into type_name. commit fa0b40e5c44154f5a402bed8c31e7d8887256590 Author: GDB Administrator Date: Wed May 20 00:00:08 2015 +0000 Automatic date update in version.in commit 5fe75eec33c0f55536f09b2f3d692fb688a2c423 Author: Jan Kratochvil Date: Tue May 19 16:12:30 2015 +0200 compile: Fix ASAN crash for gdb.compile/compile.exp (gdb) PASS: gdb.compile/compile.exp: set unwindonsignal on compile code *(volatile int *) 0 = 0; Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7fba426 in _gdb_expr (__regs=0x7ffff7fb8000) at gdb command line:1 1 gdb command line: No such file or directory. ================================================================= ==10462==ERROR: AddressSanitizer: heap-use-after-free on address 0x621000cf7a3d at pc 0x0000004e46b9 bp 0x7ffdeb0f7a40 sp 0x7ffdeb0f71b8 READ of size 10 at 0x621000cf7a3d thread T0 #0 0x4e46b8 in printf_common(void*, char const*, __va_list_tag*) [clone .isra.6] (/home/jkratoch/redhat/gdb-clean-asan/gdb/gdb+0x4e46 b8) #1 0x4f645e in vasprintf (/home/jkratoch/redhat/gdb-clean-asan/gdb/gdb+0x4f645e) #2 0xe5cf00 in xstrvprintf common/common-utils.c:120 #3 0xe74192 in throw_it common/common-exceptions.c:332 #4 0xe742f6 in throw_verror common/common-exceptions.c:361 #5 0xddc89e in verror /home/jkratoch/redhat/gdb-clean-asan/gdb/utils.c:541 #6 0xe734bd in error common/errors.c:43 #7 0xafa1d6 in call_function_by_hand_dummy /home/jkratoch/redhat/gdb-clean-asan/gdb/infcall.c:1031 #8 0xe81858 in compile_object_run compile/compile-object-run.c:119 #9 0xe7733c in eval_compile_command compile/compile.c:577 #10 0xe7541e in compile_code_command compile/compile.c:153 It is obvious why that happens, dummy_frame_pop() will call compile objfile cleanup which will free that objfile and NAME then becomes a stale pointer. > Is there any reason we release OBJFILE in the dummy frame dtor? Why > don't we register a cleanup to release in OBJFILE in compile_object_run? > together with releasing compile_module? 'struct compile_module' has a > field objfile, which should be released together with > 'struct compile_module' instead of dummy_frame. (gdb) break puts Breakpoint 2 at 0x3830c6fd30: file ioputs.c, line 34. (gdb) compile code puts("hello") Breakpoint 2, _IO_puts (str=0x7ffff7ff8000 "hello") at ioputs.c:34 34 { The program being debugged stopped while in a function called from GDB. Evaluation of the expression containing the function (_gdb_expr) will be abandoned. When the function is done executing, GDB will silently stop. (gdb) bt (gdb) _ Now compile_object_run() called from line (gdb) compile code puts("hello") has finished for a long time. But we still need to have that injected code OBJFILE valid when GDB is executing it. Therefore OBJFILE is freed only from destructor of the frame #1. At the patched line of call_function_by_hand_dummy() the dummy frame destructor has not yet been run but it will be run before the fetched NAME will get used. gdb/ChangeLog 2015-05-19 Jan Kratochvil Fix ASAN crash for gdb.compile/compile.exp. * infcall.c (call_function_by_hand_dummy): Use xstrdup for NAME. commit a40635885c50f14782d80251a8966bf4dd271f76 Author: Jan Kratochvil Date: Tue May 19 14:27:06 2015 +0200 compile: gdb_stdout -> gdb_stdlog Please send debug output to gdb_stdlog. OK but gdb/compile/ is using now only gdb_stdout; the error above is due to a copy-paste. So I will send a follow-up patch to change all the other gdb/compile/ gdb_stdout strings to gdb_stdlog. gdb/ChangeLog 2015-05-19 Jan Kratochvil * compile/compile-c-symbols.c (convert_symbol_sym, gcc_convert_symbol) (gcc_symbol_address): Change gdb_stdout to gdb_stdlog. * compile/compile-object-load.c (setup_sections, compile_object_load): Likewise. * compile/compile.c (compile_to_object): Likewise. commit 84204ed7c0ccaa790dff8e124e710277d9a8abc9 Author: Pedro Alves Date: Tue May 19 10:47:27 2015 +0100 Fix gdb.base/gdbinit-history.exp when HISTSIZE is set in the environment Some buildslaves are showing that this test is failing. E.g.,: https://sourceware.org/ml/gdb-testers/2015-q2/msg04164.html The issue is that HISTSIZE is set to 1000 in the environment that runs the tests (that's the default in Fedora, set in /etc/profile). We can trivially reproduce it with: $ HISTSIZE=1000 make check RUNTESTFLAGS="gdbinit-history.exp" (...) Running /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/gdbinit-history.exp ... FAIL: gdb.base/gdbinit-history.exp: show history size FAIL: gdb.base/gdbinit-history.exp: show history size FAIL: gdb.base/gdbinit-history.exp: show commands gdb.log shows: ... (gdb) set height 0 (gdb) set width 0 (gdb) show history size The size of the command history is 1000. (gdb) FAIL: gdb.base/gdbinit-history.exp: show history size gdb/testsuite/ChangeLog: 2015-05-19 Pedro Alves * gdb.base/gdbinit-history.exp (test_gdbinit_history_setting): Save the whole env array instead of just HOME. Unset HISTSIZE in the environment while testing. Restore whole environment afterwards. commit 8f8a1b36a0962f87ab471d18e39be2c3b213034a Author: GDB Administrator Date: Tue May 19 00:00:08 2015 +0000 Automatic date update in version.in commit b4477bc81824800248d44f141aeaf63e00314a01 Author: Nick Clifton Date: Mon May 18 15:58:46 2015 +0100 Fix seg-fault in readelf when decoding corrupt IA64 unwind information. PR binutils/18420 * ia64-unwind.c (unw_decode): Add end parameter. Pass parameter on to decode functions. (unw_devode_p2_p5): Pass end paraemter to UNW_DEC_SPILL_MASK. (UNW_DEC_SPILL_MASK): Add end parameter. Check that unw_rlen does not take us beyond the end of the buffer. * ia64-unwind.h (unw_decode): Update prototype. * readelf.c (dump_ia64_unwind): Pass end pointer to unw_decode. commit 35d7c4317b85948f0a3e021d719811481d13fe45 Author: Nick Clifton Date: Mon May 18 14:36:15 2015 +0100 Fix dw-2 test for 16-bit targets. * binutils-all/dw2-3.S: Replace .int with .4byte. commit 071f0063b422ed1f51a673c817a7656bab3e152f Author: H.J. Lu Date: Mon May 18 04:17:12 2015 -0700 Remove Disp32 from AMD64 direct call/jmp * i386-opc.tbl: Remove Disp32 from AMD64 direct call/jmp. * i386-init.h: Regenerated. commit 80de0c6d618be3656fa5a82bf445e0cd1b4b16d3 Author: Jiong Wang Date: Mon May 18 10:43:43 2015 +0100 [AArch64] Remove X86-64 comments bfd/ * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Rewrite comments. commit df4227e4c6ec085abe2ca4d2a71889d7df023cb4 Author: GDB Administrator Date: Mon May 18 00:00:07 2015 +0000 Automatic date update in version.in commit 4412c033caac38b5bad1bddffc40173a9de694cf Author: Max Filippov Date: Mon May 18 02:05:57 2015 +0300 Add myself to write-after-approval list gdb/ * MAINTAINERS (Write After Approval): Add Max Filippov. commit 296730a52b06fe7dd658924acae1269a54015d52 Author: Mike Frysinger Date: Sun May 17 17:11:17 2015 +0800 sim: erc32: restore attribution commit 68880f311c1d5629c47c3ab9749061fe3138be63 Author: Chung-Lin Tang Date: Thu May 14 18:40:57 2015 +0800 ELF options may be missing from `ld --help' output nios2-linux has an emulation named "nios2linux", and happens to not include another extra emulation with a name matching *elf*. This makes nios2-linux left out of the ELF options printing targets, which is unintended. * configure.ac (AC_PROG_GREP): Check for grep program. (elf_list_options,elf_shlib_list_options,elf_plt_unwind_list_options): Enable ELF option printing for emulations containing 'TEMPLATE_NAME=elf32'. * configure: Regenerate. commit 20ef91414ed2272cc379dcf8364f5f48eeff6362 Author: GDB Administrator Date: Sun May 17 00:00:08 2015 +0000 Automatic date update in version.in commit 37442ce10aaa2f84d245631d38e25ee47e5057aa Author: Doug Evans Date: Sat May 16 12:14:26 2015 -0700 Add support for unbuffered and zero sized Guile ports. gdb/ChangeLog * NEWS: Mention support for unbuffered Guile memory ports. * scm-ports.c (ioscm_memory_port): Update comments on end, size. (ioscm_lseek_address): Improve overflow calculation. (gdbscm_memory_port_fill_input): Add assert. (gdbscm_memory_port_write): Handle unbuffered ports. Handle large writes identical to Guile's fport_write. (gdbscm_memory_port_seek): Fix seeking past end check. (gdbscm_memory_port_close): Handle closing unbuffered port. (ioscm_parse_mode_bits): Recognize "0" for unbuffered ports. (ioscm_init_memory_port): Handle unbuffered ports. (ioscm_reinit_memory_port): Ditto. (ioscm_init_memory_port): Update size calculation. (gdbscm_open_memory): Support zero sized ports. gdb/testsuite/ChangeLog * gdb.guile/scm-ports.c: New file. * gdb.guile/scm-ports.exp: Add memory port tests. gdb/doc/ChangeLog * guile.texi (Memory Ports in Guile): Document support for unbuffered memory ports. commit d976bace1c68aed43311651c1033c23b3c983094 Author: Jan Kratochvil Date: Sat May 16 16:36:44 2015 +0200 compile: Fix uninitialized variable compiler warnings gdb/ChangeLog 2015-05-16 Jan Kratochvil * compile/compile-object-load.c (get_out_value_type): Fix uninitialized variable compiler warnings. commit 25070364b0ce33eed46aa5d78ebebbec6accec7e Author: H.J. Lu Date: Sat May 16 07:00:21 2015 -0700 Don't generate PLT relocations for now binding There is no need for PLT relocations with -z now. We can use GOT relocations, which take less space, instead and replace 16-byte .plt entres with 8-byte .plt.got entries. bfd/ * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section for now binding. (elf_i386_allocate_dynrelocs): Use .plt.got section for now binding. * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got section for now binding. (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now binding. ld/testsuite/ * ld-i386/i386.exp: Run PR ld/17689 tests with -z now. * ld-x86-64/x86-64.exp: Likewise * ld-i386/pr17689now.rd: New file. * ld-x86-64/pr17689now.rd: Likewise commit 4d18dfad9edf822df205edc2c1fe3fe9f1e467b8 Author: Jan Kratochvil Date: Sat May 16 15:36:33 2015 +0200 compile: Fix detected inferior type gdb/ChangeLog 2015-05-16 Jan Kratochvil * compile/compile-object-load.c (get_out_value_type): Fix returned type. commit bbec1a5db7d3de1322cdc5a859d0c2a44ae1231f Author: Alan Modra Date: Wed May 13 14:12:38 2015 +0930 [GOLD] Add PowerPC64 -fsplit-stack support PowerPC64 ELFv1 requires a tweak to find_functions in order to return code addresses, rather than OPD entry addresses. * reloc.cc (Sized_relobj_file::find_functions): Use function_location. * powerpc.cc (Target_powerpc::do_calls_non_split): New function. (addi_12_1, addis_2_12, addis_12_1, cmpld_7_12_0): New constants. (lis_0): Rename from lis_0_0. commit 36de76f9cc2eea0bd5f1b7ce74ef60e1aa0b27c2 Author: Jan Kratochvil Date: Sat May 16 14:20:46 2015 +0200 compile: New 'compile print' It is planned the existing GDB command 'print' will be able to evaluate its expressions using the compiler. There will be some option to choose between the existing GDB evaluation and the compiler evaluation. But as an intermediate step this patch provides the expression printing feature as a new command. I can imagine it could be also called 'maintenance compile print' as in the future one should be able to use its functionality by the normal 'print' command. There was a discussion with Eli about the command name: https://sourceware.org/ml/gdb-patches/2015-03/msg00880.html As there were no other comments yet I haven't renamed it yet, before there is some confirmation about settlement on the final name. Support for the GDB '@' operator to create arrays has been submitted for GCC: [gcc patch] libcc1: '@' GDB array operator https://gcc.gnu.org/ml/gcc-patches/2015-03/msg01451.html gdb/ChangeLog 2015-05-16 Jan Kratochvil Phil Muldoon * NEWS (Changes since GDB 7.9): Add compile print. * compile/compile-c-support.c (add_code_header, add_code_footer) (c_compute_program): Add COMPILE_I_PRINT_ADDRESS_SCOPE and COMPILE_I_PRINT_VALUE_SCOPE. * compile/compile-internal.h (COMPILE_I_PRINT_OUT_ARG_TYPE) (COMPILE_I_PRINT_OUT_ARG, COMPILE_I_EXPR_VAL, COMPILE_I_EXPR_PTR_TYPE): New. * compile/compile-object-load.c: Include block.h. (get_out_value_type): New function. (compile_object_load): Handle COMPILE_I_PRINT_ADDRESS_SCOPE and COMPILE_I_PRINT_VALUE_SCOPE. Set compile_module's OUT_VALUE_ADDR and OUT_VALUE_TYPE. * compile/compile-object-load.h (struct compile_module): Add fields out_value_addr and out_value_type. * compile/compile-object-run.c: Include valprint.h and compile.h. (struct do_module_cleanup): Add fields out_value_addr and out_value_type. (do_module_cleanup): Handle COMPILE_I_PRINT_ADDRESS_SCOPE and COMPILE_I_PRINT_VALUE_SCOPE. (compile_object_run): Propagate out_value_addr and out_value_type. Pass OUT_VALUE_ADDR. * compile/compile.c: Include valprint.h. (compile_print_value, compile_print_command): New functions. (eval_compile_command): Handle failed COMPILE_I_PRINT_ADDRESS_SCOPE. (_initialize_compile): Update compile code help text. Install compile_print_command. * compile/compile.h (compile_print_value): New prototype. * defs.h (enum compile_i_scope_types): Add COMPILE_I_PRINT_ADDRESS_SCOPE and COMPILE_I_PRINT_VALUE_SCOPE. gdb/doc/ChangeLog 2015-05-16 Jan Kratochvil * gdb.texinfo (Compiling and Injecting Code): Add compile print. gdb/testsuite/ChangeLog 2015-05-16 Jan Kratochvil * gdb.compile/compile-print.c: New file. * gdb.compile/compile-print.exp: New file. commit 83d3415ef530c41af7e1ae98a7add97adb0cf5e0 Author: Jan Kratochvil Date: Sat May 16 14:20:45 2015 +0200 Code cleanup: compile: func_addr -> func_sym Currently the code fetches _gdb_expr address/types at multiple places, guessing its parameters at multiple places etc. Fetch it once, verify it has expected type and then rely on it. While the patch tries to clean up the code it is still horrible due to the missing C++ sub-classing. gdb/ChangeLog 2015-05-16 Jan Kratochvil * compile/compile-object-load.c (get_regs_type): Add parameter func_sym. Rely on its parameter count. (compile_object_load): Replace lookup_minimal_symbol_text by lookup_global_symbol_from_objfile. Verify FUNC_SYM. Set it in the return value. * compile/compile-object-load.h (struct compile_module): Replace func_addr by func_sym. * compile/compile-object-run.c: Include block.h. (compile_object_run): Reset module variable after it is freed. Use FUNC_SYM instead of FUNC_ADDR. Rely on it. commit 3a9558c494e9b461f752ce26382701d4446f0958 Author: Jan Kratochvil Date: Sat May 16 14:20:45 2015 +0200 compile: Use -Wall, not -w For a reason unknown to me GDB was using -w instead of -Wall for 'compile code'. The problem is later patch for 'compile printf' really needs some warnings to be able to catch for example missing format string parameters: (gdb) compile printf "%d\n" GCC does not seem to be able to cancel -w (there is nothing like -no-w). Besides that I think even 'compile code' can benefit from -Wall. That #ifndef change in print_one_macro() is needed otherwise we get macro-redefinition warnings for the GCC built-in macros (as -w is no longer in effect). For example, without the #ifndef/#endif one gets: compile -r -- void _gdb_expr(){int i = 5;}^M /tmp/gdbobj-xpU1yB/out4.c:4:0: warning: "__FILE__" redefined [-Wbuiltin-macro-redefined]^M /tmp/gdbobj-xpU1yB/out4.c:5:0: warning: "__LINE__" redefined^M ... It makes more sense to pick the inferior's version of the macros, hence #ifndef instead of #undef. That new testsuite XFAIL is there as if one changes the struct definition to be compliant with cv-qualifiers (to prevent the warnings): struct struct_type { - struct struct_type *selffield; + volatile struct struct_type *selffield; only then GCC/GDB will hit the crash, described in that GDB PR 18202. gdb/ChangeLog 2015-05-16 Jan Kratochvil * compile/compile-c-support.c (print_one_macro): Use #ifndef. (generate_register_struct): Use __gdb_uintptr for TYPE_CODE_PTR. (c_compute_program): Call generate_register_struct after typedefs. * compile/compile-loc2c.c (push, pushf_register_address) (pushf_register): Cast to GCC_UINTPTR. (do_compile_dwarf_expr_to_c): Use unused attribute. Add space after type. Use GCC_UINTPTR instead of void *. Remove excessive cast. (compile_dwarf_expr_to_c): Use GCC_UINTPTR instead of void *. * compile/compile.c (_initialize_compile): Enable warnings for COMPILE_ARGS. gdb/testsuite/ChangeLog 2015-05-16 Jan Kratochvil * gdb.compile/compile-ops.exp: Cast param to void. * gdb.compile/compile.exp: Complete type for _gdb_expr. (compile code struct_object.selffield = &struct_object): Add xfail. commit 5c65b58a58a4c77b1ec38b4e31549aaa090b4845 Author: Jan Kratochvil Date: Sat May 16 14:27:47 2015 +0200 compile: Distribute scope, add scope_data Provide a way to access current 'scope' during the do_module_cleanup stage and associate more data with it. gdb/ChangeLog 2015-05-16 Jan Kratochvil * cli/cli-script.c (execute_control_command): Update eval_compile_command caller. * compile/compile-object-load.c (compile_object_load): Add parameters scope and scope_data. Set them. * compile/compile-object-load.h (struct compile_module): Add fields scope and scope_data. (compile_object_load): Add parameters scope and scope_data. * compile/compile-object-run.c (struct do_module_cleanup): Add fields scope and scope_data. (compile_object_run): Propagate the fields scope and scope_data. * compile/compile.c (compile_file_command, compile_code_command): Update eval_compile_command callers. (eval_compile_command): Add parameter scope_data. Pass it plus scope. * compile/compile.h (eval_compile_command): Add parameter scope_data. * defs.h (struct command_line): Add field scope_data. commit 1c88ceb1bedc81dbfd1d076e4a49bbf533b4e238 Author: Jan Kratochvil Date: Sat May 16 14:26:06 2015 +0200 Code cleanup: Make parts of print_command_1 public The later 'compile print' command should share its behavior with the existing 'print' command. Make the needed existing parts of print_command_1 public. gdb/ChangeLog 2015-05-16 Jan Kratochvil * printcmd.c (struct format_data): Move it to valprint.h. (print_command_parse_format, print_value): New functions from ... (print_command_1): ... here. Call them. * valprint.h (struct format_data): Move it here from printcmd.c. (print_command_parse_format, print_value): New declarations. commit 0b738f2744178ad33eeb60bcd9bdfb77adb5605b Author: Jan Kratochvil Date: Sat May 16 14:25:28 2015 +0200 Add forgotten ChangeLog entry for the previous commit. commit b6de3f9642c58439c31690255c3a4326728da88d Author: Jan Kratochvil Date: Sat May 16 14:14:10 2015 +0200 compile: Add one debug message gdb/ChangeLog 2015-05-16 Jan Kratochvil * compile/compile-object-load.c (compile_object_load): Add COMPILE_DEBUG message. commit 24da9638e206f9d83c0aa0bd419e16c9d97dd76f Author: GDB Administrator Date: Sat May 16 00:00:08 2015 +0000 Automatic date update in version.in commit aa7151351ed16c5a4eb1334c9a1af1b06dbb7a99 Author: Jerome Guitton Date: Fri Mar 27 14:45:08 2015 +0100 Array indexed by non-contiguous enumeration types In Ada, index types of arrays can be enumeration types, and enumeration types can be non-contiguous. In which case the address of elements is not given by the value of the index, but by its position in the enumeration type. In other words, in this example: type Color is (Blue, Red); for Color use (Blue => 8, Red => 12, Green => 16); type A is array (Color) of Integer; type B is array (1 .. 3) of Integer; Arrays of type A and B will have the same layout in memory, even if the enumeration Color has a hole in its set of integer value. Since recently support for such a feature was in ada-lang.c, where the array was casted to a regular continuous index range. We were losing the information of index type. And this was not quite working for subranges in variable-length fields; their bounds are expressed using the integer value of the bounds, not its position in the enumeration, and there was some confusion all over ada-lang.c as to whether we had the position or the integer value was used for indexes. The idea behind this patch is to clean this up by keeping the real representation of these array index types and bounds when representing the value, and only use the position when accessing the elements or computing the length. This first patch fixes the printing of such an array. To the best of my knowledge, this feature only exists in Ada so it should only affect this language. gdb/ChangeLog: Jerome Guitton : * ada-lang.c (ada_value_ptr_subscript): Use enum position of index to get element instead of enum value. (ada_value_slice_from_ptr, ada_value_slice): Use enum position of index to compute length, but enum values to compute bounds. (ada_array_length): Use enum position of index instead of enum value. (pos_atr): Move position computation to... (ada_evaluate_subexp): Use enum values to compute bounds. * gdbtypes.c (discrete_position): ...this new function. * gdbtypes.h (discrete_position): New function declaration. * valprint.c (val_print_array_elements): Call discrete_position to handle array indexed by non-contiguous enumeration types. gdb/testsuite/ChangeLog: * gdb.ada/arr_enum_with_gap: New testcase. commit 931e5bc3e19d1e279fc28c5cf5571f812c79b8d3 Author: Jerome Guitton Date: Thu Mar 26 16:19:27 2015 +0100 Non bit-packed packed arrays as variable-length fields In the case of non bit-packed arrays, GNAT does not generate its traditional XP encoding; it is not needed. However, it still generates the so-called "implementation type" with a P suffix. This implementation type shall be skipped when looking for other descriptive types such as XA encodings for variable-length fields. Note also that there may be an intermediate typedef between the implementation type and its XA description. It shall be skipped as well. gdb/ChangeLog: Jerome Guitton * ada-lang.c (find_parallel_type_by_descriptive_type): Go through typedefs during lookup. (to_fixed_array_type): Add support for non-bit packed arrays as variable-length fields. gdb/testsuite/ChangeLog: * gdb.ada/byte_packed_arr: New testcase. commit fd8008d83ce379a8d3f3bb9c3b1a723e16c401d4 Author: H.J. Lu Date: Fri May 15 10:29:03 2015 -0700 Change pointers from char * to unsigned char * GCC 4.2 complaints: cc1: warnings being treated as errors binutils/readelf.c:12057: warning: dereferencing type-punned pointer will break strict-aliasing rules This patch silences this GCC warning. * readelf.c (dump_section_as_strings): Change pointers from char * to unsigned char *. commit 5db04b0965e3e7a9344a93de22caae3c111de2cc Author: H.J. Lu Date: Fri May 15 09:47:39 2015 -0700 Support AMD64/Intel ISAs in assembler/disassembler AMD64 spec and Intel64 spec differ in direct unconditional branches in 64-bit mode. AMD64 supports direct unconditional branches with 16-bit offset via the data size prefix, which truncates RIP to 16 bits, while the data size prefix is ignored by Intel64. This patch adds -mamd64/-mintel64 option to x86-64 assembler and -Mamd64/-Mintel64 option to x86-64 disassembler. The most permissive ISA, which is AMD64, is the default. GDB can add an option, similar to (gdb) help set disassembly-flavor Set the disassembly flavor. The valid values are "att" and "intel", and the default value is "att". to select which ISA to disassemble. binutils/ PR binutis/18386 * doc/binutils.texi: Document -Mamd64 and -Mintel64. gas/ PR binutis/18386 * config/tc-i386.c (OPTION_MAMD64): New. (OPTION_MINTEL64): Likewise. (md_longopts): Add -mamd64 and -mintel64. (md_parse_option): Handle OPTION_MAMD64 and OPTION_MINTEL64. (md_show_usage): Add -mamd64 and -mintel64. * doc/c-i386.texi: Document -mamd64 and -mintel64. gas/testsuite/ PR binutis/18386 * gas/i386/i386.exp: Run x86-64-branch-2 and x86-64-branch-3. * gas/i386/x86-64-branch.d: Also pass -Mintel64 to objdump. * gas/i386/ilp32/x86-64-branch.d: Likewise. * gas/i386/x86-64-branch-2.d: New file. * gas/i386/x86-64-branch-2.s: Likewise. * gas/i386/x86-64-branch-3.l: Likewise. * gas/i386/x86-64-branch-3.s: Likewise. ld/testsuite/ PR binutis/18386 * ld-x86-64/tlsgdesc.dd: Also pass -Mintel64 to objdump. * ld-x86-64/tlspic.dd: Likewise. * ld-x86-64/x86-64.exp (x86_64tests): Also pass -Mintel64 to objdump for tlspic.dd and tlsgdesc.dd. opcodes/ PR binutis/18386 * i386-dis.c: Add comments for '@'. (x86_64_table): Use '@' on call/jmp for X86_64_E8/X86_64_E9. (enum x86_64_isa): New. (isa64): Likewise. (print_i386_disassembler_options): Add amd64 and intel64. (print_insn): Handle amd64 and intel64. (putop): Handle '@'. (OP_J): Don't ignore the operand size prefix for AMD64 in 64-bit. * i386-gen.c (cpu_flags): Add CpuAMD64 and CpuIntel64. * i386-opc.h (AMD64): New. (CpuIntel64): Likewise. (i386_cpu_flags): Add cpuamd64 and cpuintel64. * i386-opc.tbl: Add direct call/jmp with Disp16|Disp32 for AMD64. Mark direct call/jmp without Disp16|Disp32 as Intel64. * i386-init.h: Regenerated. * i386-tbl.h: Likewise. commit 0e602686df5677fee06cbd1718b4a7aa5379cd2a Author: Nick Clifton Date: Fri May 15 17:16:31 2015 +0100 Add --decompress option to readelf to decompress sections before they are dumped. bin * readelf.c (options): Add "decompress". (usage): Mention -z/--decompress. (parse_args): Handle -z. (uncompress_section_contents): Move to earlier in the file. (dump_section_as_strings): If requested, decompress the section before dumping. (dump_section_as_bytes): Likewise. * doc/binutils.texi: Document the new option. tests * binutils-all/z.s: New test. Checks the --decompress option to readelf. * binutils-all/readelf.exp: Run the test. * binutils-all/readelf.z: Expected output from readelf. commit 4e63d0ac896b6036edd8e2c09a4dac7aa16a46d1 Author: Pedro Alves Date: Fri May 15 16:26:53 2015 +0100 Fix gdb.mi/mi-nsmoribund.exp timeouts The PPC64 buildbot has been showing timeouts in mi-nsmoribund.exp, like this: (...) -thread-info FAIL: gdb.mi/mi-nsmoribund.exp: thread state: all running except the breakpoint thread (timeout) ... and I can reproduce this on gcc110 (PPC64) on the gcc compile farm. That is, the test sends "-thread-info" to GDB, but GDB never replies back. The problem is that these machines are too fast for gdb. :-) That test has a few threads running the same tight loop, and constantly hitting a thread-specific breakpoint that needs to be stepped over. If threads trip on breakpoints fast enough that linux-nat.c's event pipe associated with SIGCHLD is constantly being written to, even if the stdin file descriptor also has an event to handle, gdb never gets to it. because linux-nat.c's pipe comes first in the set of descriptors served by the poll/select code in the event loop. Fix this by having the event loop serve file event sources in round-robin-like fashion, similarly to how its done in gdb_do_one_event. Unfortunately, the poll and the select variants each need their own fixing. Tested on x86_64 Fedora 20 (poll and select variants), and PPC64 Fedora 18. Fixes the timeout in the PPC64 machine in the compile farm that times out without this, and I won't be surprised if it fixes other random timeouts in other tests. (gdbserver's copy of the event-loop doesn't need this (yet), as it still pushes all ready events to an event queue. That is, it hasn't had 70b66289 merged yet. We should really merge both event-loop.c copies into a single shared file, but that's for another day.) gdb/ChangeLog: 2015-05-15 Pedro Alves Simon Marchi * event-loop.c (gdb_notifier) : New fields. (get_next_file_handler_to_handle_and_advance): New function. (delete_file_handler): If deleting the next file handler to handle, advance to the next file handler. (gdb_wait_for_event): Bail early if no event fired. Poll file handlers in round-robin fashion. commit 452003ef2ca3e1cf81b17d960b59b8a8c167054b Author: Pedro Alves Date: Fri May 15 16:00:42 2015 +0100 More C++ build fixing Fixes: In file included from ../../../binutils-gdb/gdb/gdbserver/server.h:61:0, from ../../../binutils-gdb/gdb/gdbserver/server.c:19: ../../../binutils-gdb/gdb/gdbserver/target.h:442:50: error: second operand to the conditional operator is of type 'void', but the third operand is neither a throw-expression nor of type 'void' (*the_target->handle_new_gdb_connection) () : 0) ^ Reported by Yuanhui Zhang. gdb/gdbserver/ChangeLog: 2015-05-15 Pedro Alves * target.h (target_handle_new_gdb_connection): Rewrite using if wrapped in do/while. commit 52e48b3661a55d5f7cc29591780b844e47157c3f Author: Pedro Alves Date: Fri May 15 16:00:41 2015 +0100 Avoid using 'private' C++ keyword as symbol gdb/ChangeLog: 2015-05-15 Pedro Alves * linux-tdep.c (linux_find_memory_regions_full): Rename local 'private' to 'priv'. commit 2465e12e99c4ffd3e56e4725729cd3016d4e2c3d Author: Pedro Alves Date: Fri May 15 16:00:40 2015 +0100 Include header for enum target_stop_reason Building in C++ mode errors with: ~~~ g++ -fpermissive (...) /home/pedro/gdb/mygit/src/gdb/gdbserver/../nat/x86-linux.c In file included from /home/pedro/gdb/mygit/src/gdb/gdbserver/../nat/x86-linux.h:23:0, from /home/pedro/gdb/mygit/src/gdb/gdbserver/../nat/x86-linux.c:21: /home/pedro/gdb/mygit/src/gdb/gdbserver/../nat/linux-nat.h:74:13: error: use of enum ‘target_stop_reason’ without previous declaration extern enum target_stop_reason lwp_stop_reason (struct lwp_info *lwp); ^ /home/pedro/gdb/mygit/src/gdb/gdbserver/../nat/linux-nat.h:74:70: error: invalid type in declaration before ‘;’ token extern enum target_stop_reason lwp_stop_reason (struct lwp_info *lwp); ^ ~~~ gdb/ChangeLog: 2015-05-15 Pedro Alves * nat/linux-nat.h: Include "target/waitstatus.h". commit 13fa0398d7dd8d2b468acf0aba5610ce014709a6 Author: Yuanhui Zhang Date: Fri May 15 16:00:40 2015 +0100 Fix a couple C++ build issues Building mingw GDB with --enable-build-with-cxx shows: ../../binutils-gdb/gdb/python/py-unwind.c:500:45: error: cannot convert 'cached_frame_info::reg_info*' to 'pyuw_prev_register(frame_info*, void**, int)::reg_info*' in initialization struct reg_info *reg_info = cached_frame->reg; ^ ../../binutils-gdb/gdb/python/py-unwind.c:501:60: error: invalid use of incomplete type 'struct pyuw_prev_register(frame_info*, void**, int)::reg_info' struct reg_info *reg_info_end = reg_info + cached_frame->reg_count; ^ ../../binutils-gdb/gdb/python/py-unwind.c:500:10: error: forward declaration of 'struct pyuw_prev_register(frame_info*, void**, int)::reg_info' struct reg_info *reg_info = cached_frame->reg; ^ ../../binutils-gdb/gdb/python/py-unwind.c:505:37: error: cannot increment a pointer to incomplete type 'pyuw_prev_register(frame_info*, void**, int)::reg_info' for (; reg_info < reg_info_end; ++reg_info) ^ ../../binutils-gdb/gdb/python/py-unwind.c:507:29: error: invalid use of incomplete type 'struct pyuw_prev_register(frame_info*, void**, int)::reg_info' if (regnum == reg_info->number) ^ ../../binutils-gdb/gdb/python/py-unwind.c:500:10: error: forward declaration of 'struct pyuw_prev_register(frame_info*, void**, int)::reg_info' struct reg_info *reg_info = cached_frame->reg; ^ ../../binutils-gdb/gdb/python/py-unwind.c:508:68: error: invalid use of incomplete type 'struct pyuw_prev_register(frame_info*, void**, int)::reg_info' return frame_unwind_got_bytes (this_frame, regnum, reg_info->data); ^ ../../binutils-gdb/gdb/python/py-unwind.c:500:10: error: forward declaration of 'struct pyuw_prev_register(frame_info*, void**, int)::reg_info' struct reg_info *reg_info = cached_frame->reg; ^ ../../binutils-gdb/gdb/python/py-unwind.c: In function 'int pyuw_sniffer(const frame_unwind*, frame_info*, void**)': ../../binutils-gdb/gdb/python/py-unwind.c:574:70: warning: invalid conversion from 'void*' to 'cached_frame_info*' [-fpermissive] reg_count * sizeof (cached_frame->reg[0])); ^ ../../binutils-gdb/gdb/python/py-unwind.c: In function 'void pyuw_on_new_gdbarch(gdbarch*)': ../../binutils-gdb/gdb/python/py-unwind.c:636:47: warning: invalid conversion from 'void*' to 'pyuw_gdbarch_data_type*' [-fpermissive] gdbarch_data (newarch, pyuw_gdbarch_data); ^ ../../binutils-gdb/gdb/python/py-unwind.c:647:29: warning: invalid conversion from 'void*' to 'const frame_data*' [-fpermissive] unwinder->unwind_data = (void *) newarch; ^ ../../binutils-gdb/gdb/python/py-unwind.c: At global scope: ../../binutils-gdb/gdb/python/py-unwind.c:699:21: error: redefinition of 'PyTypeObject pending_frame_object_type' static PyTypeObject pending_frame_object_type = ^ ../../binutils-gdb/gdb/python/py-unwind.c:96:21: error: 'PyTypeObject pending_frame_object_type' previously declared here static PyTypeObject pending_frame_object_type ^ ../../binutils-gdb/gdb/python/py-unwind.c:749:21: error: redefinition of 'PyTypeObject unwind_info_object_type' static PyTypeObject unwind_info_object_type = ^ ../../binutils-gdb/gdb/python/py-unwind.c:99:21: error: 'PyTypeObject unwind_info_object_type' previously declared here static PyTypeObject unwind_info_object_type ^ The first kind of error is caused by the embedded struct definition, so move it out of the parent struct. The second kind of error is caused by forward declaring a static global variable, which works in C, but not in C++ (or C with -fno-common). Make it using extern instead, like done in other similar cases. gdb/ChangeLog: 2015-05-15 Yuanhui Zhang * python/py-unwind.c (struct reg_info): Move out of ... (struct cached_frame_info): ... this scope. (pending_frame_object_type, unwind_info_object_type): Make extern. commit 9cd4d857bb046ad9be3c6d978b5b2aebb528eaf4 Author: Joel Brobecker Date: Fri May 8 17:11:35 2015 -0700 [Ada] problem printing negative integer values in packed arrays. Consider the following declarations: type Signed_Small is new Integer range - (2 ** 5) .. (2 ** 5 - 1); type Signed_Simple_Array is array (1 .. 4) of Signed_Small; pragma Pack (Signed_Simple_Array); SSA : Signed_Simple_Array := (-1, 2, -3, 4); GDB currently print its value incorrectly for the elements that are negative: (gdb) print ssa $1 = (65535, 2, 1048573, 4) (gdb) print ssa(1) $2 = 65535 (gdb) print ssa(2) $3 = 2 (gdb) print ssa(3) $4 = 1048573 (gdb) print ssa(4) $5 = 4 What happens is that the sign-extension is not working because we're trying to do left shift with a negative count. In ada_value_primitive_packed_val, we have a loop which populates the extra bits of the target (unpacked) value, after extraction of the data from the original (packed) value: while (ntarg > 0) { accum |= sign << accumSize; unpacked[targ] = accum & ~(~0L << HOST_CHAR_BIT); !!! -> accumSize -= HOST_CHAR_BIT; accum >>= HOST_CHAR_BIT; ntarg -= 1; targ += delta; } At each iteration, accumSize gets decremented by HOST_CHAR_BIT, which can easily cause it to become negative, particularly on little endian targets, where accumSize is at most HOST_CHAR_BIT - 1. This causes us to perform a left-shift operation with a negative accumSize at the next loop iteration, which is undefined, and acutally does not produce the effect we wanted (value left untouched) when the code is compiled with GCC. This patch fixes the issue by simply setting accumSize to zero if negative. gdb/ChangeLog: * ada-lang.c (ada_value_primitive_packed_val): Make sure accumSize is never negative. gdb/testsuite/ChangeLog: * gdb.ada/pckd_neg: New testcase. commit 8dcea93252a9ea7dff57e85220a719e2a5e8ab41 Author: H.J. Lu Date: Fri May 15 03:17:31 2015 -0700 Add -mshared option to x86 ELF assembler This patch adds -mshared option to x86 ELF assembler. By default, assembler will optimize out non-PLT relocations against defined non-weak global branch targets with default visibility. The -mshared option tells the assembler to generate code which may go into a shared library where all non-weak global branch targets with default visibility can be preempted. The resulting code is slightly bigger. This option only affects the handling of branch instructions. This Linux kernel patch is needed to create a working x86 Linux kernel if it hasn't been applied: diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S index ae6588b..b91a00c 100644 --- a/arch/x86/kernel/head_64.S +++ b/arch/x86/kernel/head_64.S @@ -339,8 +339,8 @@ early_idt_handlers: i = i + 1 .endr -/* This is global to keep gas from relaxing the jumps */ -ENTRY(early_idt_handler) +/* This is weak to keep gas from relaxing the jumps */ +WEAK(early_idt_handler) cld cmpl $2,(%rsp) # X86_TRAP_NMI -- gas/ * config/tc-i386.c (shared): New. (OPTION_MSHARED): Likewise. (elf_symbol_resolved_in_segment_p): Add relocation argument. Check PLT relocations and shared. (md_estimate_size_before_relax): Pass fragP->fr_var to elf_symbol_resolved_in_segment_p. (md_longopts): Add -mshared. (md_show_usage): Likewise. (md_parse_option): Handle OPTION_MSHARED. * doc/c-i386.texi: Document -mshared. gas/testsuite/ * gas/i386/i386.exp: Don't run pcrel for ELF targets. Run pcrel-elf, relax-4 and x86-64-relax-3 for ELF targets. * gas/i386/pcrel-elf.d: New file. * gas/i386/relax-4.d: Likewise. * gas/i386/x86-64-relax-3.d: Likewise. * gas/i386/relax-3.d: Pass -mshared to assembler. Updated. * gas/i386/x86-64-relax-2.d: Likewise. * gas/i386/relax-3.s: Add test for PLT relocation. commit d1c4b12b9d48d9266b78e2c22d70aa25830b9f8f Author: Nick Clifton Date: Fri May 15 11:21:38 2015 +0100 Fix PR18374 by making readelf and objdump ignore end-of-list markers in the .debug_loc section if there are relocations against them. PR binutils/18374 bin * dwarf.h (struct dwarf_section): Add reloc_info and num_relocs fields. (struct dwarf_section_display): Change bitfield to boolean. (reloc_at): Add prototype. * dwarf.c (display_loc_list): Ignore list terminators if there are relocs against them. (display_debug_loc): Issue a warning if there are relocs against the .debug_loc section. (display_displays): Initialise reloc_info and num_relocs fields. * objdump.c (load_specific_debug_section): Initialise reloc_info and num_relocs fields. (reloc_at): New function. * readelf.c (is_32bit_abs_reloc): Add IA64's R_IA64_DIS32LSB reloc. (reloc_at): New function. (apply_relocations): Add relocs_return and num_relocs_return parameters. Fill them in with the loaded relocs if non-NULL. (dump_section_as_bytes): Update call to apply_relocations. (load_specific_debug_section): Initialise reloc_info and num_relocs fields. tests * binutils-all/pr18374.s: New test file. * binutils-all/readelf.exp: Assemble and run the new test. * binutils-all/readelf.pr18374: Expected output from readelf. commit 4bc0608a8b693f033555aa5705fdd5fc44cb9a9a Author: Peter Bergner Date: Thu May 14 20:57:50 2015 -0500 Fix some PPC assembler errors. Remove the wait instructions for server processors, since they were never implemented. Also add the extra operands added to the tlbie and slbia instructions with ISA 2.06 and ISA 2.05 respectively. binutils/ * MAINTAINERS: Add myself as PPC maintainer. opcodes/ * ppc-opc.c (IH) New define. (powerpc_opcodes) : Do not enable for POWER7. : Add RS operand for POWER7. : Add IH operand for POWER6. gas/testsuite/ * gas/ppc/power4.d: Add a slbia test. * gas/ppc/power4.s: Likewise. * gas/ppc/power6.d: Add slbia and tlbie tests. * gas/ppc/power6.s: Likewise. * gas/ppc/power7.d: Remove wait tests. Add a tlbie test. * gas/ppc/power7.s: Likewise. commit 49a84e1373168f743fd6191035043389f0198a14 Author: GDB Administrator Date: Fri May 15 00:00:08 2015 +0000 Automatic date update in version.in commit dab394de9e41de54df5e2310e081e1c550326f5b Author: H.J. Lu Date: Thu May 14 15:58:51 2015 -0700 Don't add the zlib header to SHF_COMPRESSED section In a SHF_COMPRESSED compressed section, the raw compressed data should begin immediately after the compression header. This patch removes the extra zlib header from the SHF_COMPRESSED section. bfd/ * bfd.c (bfd_update_compression_header): Also write the zlib header if the SHF_COMPRESSED bit cleared.. (bfd_check_compression_header): Return the uncompressed size. * compress.c (decompress_contents): Don't skip the zlib header. (bfd_compress_section_contents): Properly handle ELFCOMPRESS_ZLIB, which doesn't have the zlib header. (bfd_init_section_decompress_status): Likewise. (bfd_get_full_section_contents): Updated. (bfd_is_section_compressed): Likewise. (bfd_is_section_compressed_with_header): Return the uncompressed size. * elf.c (_bfd_elf_make_section_from_shdr): Updated. * bfd-in2.h: Regenerated. binutils/ * readelf.c (uncompress_section_contents): Add a parameter for uncompressed size. Don't check the zlib header. (load_specific_debug_section): Updated. binutils/testsuite/ * binutils-all/compress.exp: Replace "$OBJDUMP -s -j .debug_info" with "$OBJDUMP -W". * binutils-all/libdw2-compressedgabi.out: Updated. gas/ 2015-05-14 H.J. Lu * write.c (compress_debug): Don't write the zlib header, which is handled by bfd_update_compression_header. commit 61a7418ccb7c2de12d4c4df79e193f32db938a11 Author: Don Breazeal Date: Thu May 14 13:11:41 2015 -0700 Fix build gdbserver build errors on arm, mips, aarch64. Fix build errors introduced by https://sourceware.org/ml/gdb-patches/2015-05/msg00281.html, which didn't account for the change of the name of the struct process_info field 'private' to 'priv' made in https://sourceware.org/ml/gdb-patches/2015-02/msg00829.html. gdb/gdbserver/ChangeLog: * linux-aarch64-low.c (aarch64_linux_new_fork): Change reference to process_info.private to process_info.priv. * linux-arm-low.c (arm_new_fork): Likewise. * linux-mips-low.c (mips_linux_new_fork): Likewise. commit 1041a03c1b4d03c39033c8bb942148dc3e4b4acc Author: Joel Brobecker Date: Tue Mar 24 13:19:10 2015 -0400 Fix gdbserver build failure on arm-android. The following patch... | proc-service, extern "C" | | libthread_db.so calls symbols in the client (GDB), through the | proc-service interface. These routines must have extern "C" linkage | so their symbol names are not mangled when GDB is built as a C++ | program. On the GDBserver side, we were missing fallback declarations for | all these symbols. | | gdb/ChangeLog: | | * gdb_proc_service.h: Wrap with EXTERN_C_PUSH/EXTERN_C_POP. | | gdb/gdbserver/ChangeLog: | 2015-02-27 Pedro Alves | | * gdb_proc_service.h: Wrap with EXTERN_C_PUSH/EXTERN_C_POP. | [!HAVE_PROC_SERVICE_H] (struct ps_prochandle): Forward declare. | [!HAVE_PROC_SERVICE_H] (ps_pdread, ps_pdwrite, ps_ptread) | ps_ptwrite, ps_lgetregs, ps_lsetregs, ps_lgetfpregs) | (ps_lsetfpregs, ps_getpid) | (ps_get_thread_area, ps_pglobal_lookup, ps_pstop, ps_pcontinue) | (ps_lstop, ps_lcontinue, ps_lgetxregsize, ps_lgetxregs) | (ps_lsetxregs, ps_plog): Declare. ... added a number of declarations which do not compile when cross- compiling GDBserver on arm-android. The problem comes from type prfpregset_t not being declared: /[...]/gdbserver/gdb_proc_service.h:98:47: error: unknown type name 'prfpregset_t' After searching through the includes of the install we have, I could not find that type being declared anywhere. So I did the same as for prgregset_t, and created the typedef if the type isn't declared. gdb/gdbserver/ChangeLog: * configure.ac: Add prfpregset_t BFD_HAVE_SYS_PROCFS_TYPE check. * configure, config.in: Regenerate. * gdb_proc_service.h [HAVE_PRFPREGSET_T] (prfpregset_t): Declare typedef. commit e3555239e04fa6dba2a165b3b52598a880474a22 Author: Patrick Palka Date: Wed May 13 16:26:48 2015 -0400 Remove buggy xterm workaround in tui_dispatch_ctrl_char() The function tui_dispatch_ctrl_char() has an old workaround (from 1999) for buggy terminals and/or ncurses library that don't return page up/down keys as single characters. Because the workaround is so old, I think the bug it is targetting is no longer relevant anymore. But more importantly, the workaround is itself buggy: it 1) performs a blocking call to wgetch() and 2) if the key returned by wgetch() does not make up a relevant key sequence it throws away the input instead of pushing it back via ungetch(). And indeed the workaround breaks Alt-key sequences under TERM=xterm because of bug #2. So this patch removes the buggy workaround and tidies up the function accordingly. I personally tested this change on a recent xterm (with TERM=xterm) in Fedora 20 and had no problems with having ncurses properly interpret page up/down keys. And Alt-key sequences now work when TERM=xterm too. gdb/ChangeLog: * tui/tui-command.c: Remove include of . (tui_dispatch_ctrl_char): Remove workaround for xterm terminals. commit fdc3b1b1ef461fb81a53c9ce95117e5f134fc828 Author: Jiong Wang Date: Thu May 14 12:46:31 2015 +0100 [AArch64] Remove BFD overflow check restrictions bfd/ * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Remove overflow check restriction. commit fd1c42387bead88edbd6043440462ada755f8d6e Author: Nick Clifton Date: Thu May 14 12:32:12 2015 +0100 Update description of the ASSERT linker script command to note its interation with PROVIDEd symbols. * ld.texinfo (ASSERT): Describe the interaction with PROVIDEd symbols. commit e6c9a083ec5ae7a45bd71682b26aae1939849388 Author: Max Filippov Date: Thu May 14 05:22:55 2015 +0300 xtensa: fix localized symbol refcounting with --gc-sections elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were made local, that results in link failure with the following message: BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line 3372 in elf_xtensa_finish_dynamic_sections elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by relocation type. Relocation types are not changed when symbol becomes local, but its PLT references are added to GOT references and plt.refcount is set to 0. Such symbol cannot be unreferences in the elf_xtensa_gc_sweep_hook and its extra references make calculated GOT relocations section size not match number of GOT relocations. Fix it by treating PLT reference as GOT reference when plt.refcount is not positive. 2015-05-14 Max Filippov bfd/ * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference as GOT reference when plt.refcount is not positive. commit d121800b7f1df96db2dc6ab1d1a86c51befde063 Author: GDB Administrator Date: Thu May 14 00:00:07 2015 +0000 Automatic date update in version.in commit 08a76f8ab86efbd5c85c9bd3979c4c06b9e84258 Author: Martin Galvan Date: Wed May 13 14:09:19 2015 -0700 dwarf2read.c (die_needs_namespace): Return 1 for DW_TAG_inlined_subroutine. gdb/ChangeLog: * dwarf2read.c (die_needs_namespace): Return 1 for DW_TAG_inlined_subroutine. commit 93b2e21d4a86e9bc0adf31071b33dc1e34603462 Author: Doug Evans Date: Wed May 13 14:07:03 2015 -0700 revert previous patch, author not set commit da0580a62bff4cdfa53ef6b491f5158cc7a5744a Author: Doug Evans Date: Wed May 13 13:55:09 2015 -0700 dwarf2read.c (die_needs_namespace): Return 1 for DW_TAG_inlined_subroutine. gdb/ChangeLog: * dwarf2read.c (die_needs_namespace): Return 1 for DW_TAG_inlined_subroutine. commit bd49952bd7fbe616e2cb488e8080502f2338aaa2 Author: Jan Kratochvil Date: Wed May 13 20:47:33 2015 +0200 Make regcache_cpy_no_passthrough static regcache_cpy_no_passthrough is no longer used for a standalone call. gdb/ChangeLog 2015-05-13 Jan Kratochvil * regcache.c (regcache_cpy_no_passthrough): New declaration. (regcache_cpy_no_passthrough): Make it static, add function comment. * regcache.h (regcache_dup, regcache_cpy): Reduce/update their comment. (regcache_cpy_no_passthrough): Remove declaration. commit 46c03469b37d2ccb6a1eaa3ea4e21c57d07246fc Author: Jan Kratochvil Date: Wed May 13 20:47:33 2015 +0200 Remove stop_registers Now stop_registers are no longer used and it can be removed. I am not much sure what 'proceed_to_finish' really means now so I make a wild guess while updating comments about it. gdb/ChangeLog 2015-05-13 Jan Kratochvil * gdbthread.h (struct thread_control_state): Update comment for proceed_to_finish. * infcall.c (run_inferior_call): Update comment about proceed_to_finish. * infcmd.c (get_return_value): Update comment about stop_registers. (finish_forward): Update comment about proceed_to_finish. * infrun.c (stop_registers): Remove. (clear_proceed_status, normal_stop): Remove stop_registers handling. * infrun.h (stop_registers): Remove. commit 8a6c40311297f60ad13827650fdde13da301b505 Author: Jan Kratochvil Date: Wed May 13 20:47:32 2015 +0200 infcall: stop_registers -> register_dummy_frame_dtor With dummy_frame destructors GDB no longer has to use global stop_registers. dummy_frame's registers can be now stored associated with their specific dummy_frame. gdb/ChangeLog 2015-05-13 Jan Kratochvil * infcall.c (struct dummy_frame_context_saver) (dummy_frame_context_saver_data_free, dummy_frame_context_saver_dtor) (dummy_frame_context_saver_drop, dummy_frame_context_saver_cleanup) (dummy_frame_context_saver_get_regs, dummy_frame_context_saver_setup): New. (call_function_by_hand_dummy): Move discard_cleanups of inf_status_cleanup before dummy_frame_push. Call dummy_frame_context_saver_setup and prepare context_saver_cleanup. Use dummy_frame_context_saver_get_regs instead of stop_registers. * infcall.h (struct dummy_frame_context_saver) (dummy_frame_context_saver_drop, dummy_frame_context_saver_cleanup) (dummy_frame_context_saver_get_regs, dummy_frame_context_saver_setup): New declarations. * infcmd.c: Include infcall.h. (get_return_value): Add parameter ctx_saver, use it instead of stop_registers. (print_return_value): Add parameter ctx_saver, pass it. (struct finish_command_continuation_args): Add field ctx_saver. (finish_command_continuation): Update print_return_value caller. (finish_command_continuation_free_arg): Free also ctx_saver. (finish_forward): Call dummy_frame_context_saver_setup. * inferior.h (struct dummy_frame_context_saver): New declaration. (get_return_value): Add parameter ctx_saver. * python/py-finishbreakpoint.c (bpfinishpy_pre_stop_hook): Update get_return_value caller. commit 109896905babca2d99e13f74bc887acf14cd1ab7 Author: Jan Kratochvil Date: Wed May 13 20:47:32 2015 +0200 register_dummy_frame_dtor: Permit multiple dtors Later patch needs two independent destructors for the same dummy_frame. Therefore the registrar has been extended to an arbitrary number of destructors. gdb/ChangeLog 2015-05-13 Jan Kratochvil * dummy-frame.c (struct dummy_frame_dtor_list): New. (struct dummy_frame): Replace dtor and dtor_data by dtor_list. (remove_dummy_frame): Process dtor_list. (pop_dummy_frame): Process dtor_list. (register_dummy_frame_dtor): Maintain dtor_list. (find_dummy_frame_dtor): Handle dtor_list. * dummy-frame.h (register_dummy_frame_dtor, find_dummy_frame_dtor): Update comments. commit 5e9705017f5b257421136b8d7752b9c793335ace Author: Jan Kratochvil Date: Wed May 13 20:47:32 2015 +0200 Call dummy_frame_dtor_ftype also from remove_dummy_frame There was now a leak-like bug that if dummy_frame "disappeared" by remove_dummy_frame then its destructor was not called. For example in the case of 'compile code' dummy frames the injected objfile would never get freed after some inferior longjmp out of the injected code. gdb/ChangeLog 2015-05-13 Jan Kratochvil * compile/compile-object-run.c (do_module_cleanup): Add parameter registers_valid. (compile_object_run): Update do_module_cleanup caller. * dummy-frame.c: Include infcall.h. (struct dummy_frame): Update dtor comment. (remove_dummy_frame): Call dtor. (pop_dummy_frame): Update dtor caller. * dummy-frame.h (dummy_frame_dtor_ftype): Add parameter registers_valid. commit 1c4eb778a28447d764235b8810d382b40b2a054c Author: Joel Brobecker Date: Wed May 13 10:48:31 2015 -0700 Document the GDB 7.9.1 release in gdb/ChangeLog gdb/ChangeLog: GDB 7.9.1 released. commit f5f85ab95ff104eae872622ab3e2ad30a2b3d47a Author: Joel Brobecker Date: Wed May 13 10:31:00 2015 -0700 gdb/NEWS: Move "Xmethods can now specify a result type" to GDB 7.9.1 section. As this change was ported to GDB 7.9.1, the NEWS entry is moved to a newly-created "Changes in GDB 7.9.1" section, matching the NEWS file which is going to be distributed with the GDB 7.9.1 release. gdb/ChangeLog: * NEWS: Create "Changes in GDB 7.9.1" section. Move news about Xmethods now being able to specify a result type to that new section. commit 5569a85f45e4df3563254cea4caa02c7cb092480 Author: John David Anglin Date: Wed May 13 17:32:01 2015 +0100 Disable the configuration of GDB for HPUX targets. * configure.ac: Disable configuration of GDB for HPUX targets. * configure: Regenerate. commit dc58915f3af581f32d575acd37e0cfe047c7990b Author: Max Filippov Date: Sun May 10 01:02:31 2015 +0300 xtensa: fix gas trampolines regression Extra condition 'abs (addr - trampaddr) < J_RANGE / 2' for trampoline selection results in regressions: when relaxable jump is little longer than J_RANGE so that single trampoline makes two new jumps, one longer than J_RANGE / 2 and one shorter, correct trampoline cannot be found. Drop that condition. 2015-05-13 Max Filippov gas/ * config/tc-xtensa.c (xtensa_relax_frag): Allow trampoline to be closer than J_RANGE / 2 to jump frag. gas/testsuite/ * gas/xtensa/trampoline.s: Add regression testcase. commit 242cd84c933640b7cc82b9783d5ebb1d963e1c0d Author: Patrick Palka Date: Wed May 13 11:57:06 2015 -0400 Add missing ChangeLog entry for previous commit commit 1e04046d0b7e0f87bc6e2fefd966c9dd89d2ce13 Author: Patrick Palka Date: Mon Apr 27 21:37:48 2015 -0400 Avoid race condition when handling a SIGWINCH signal The control variable win_resized must be cleared before responding to it. Otherwise there is a small window where another SIGWINCH might occur in between the handling of an earlier SIGWINCH and the clearing of win_resized, at which point win_resized would be set (again) by the signal handler. Shortly thereafter we would clear win_resized even though we only handled the earlier SIGWINCH but not the latest one. This chain of events is all avoided if we clear win_resized first. gdb/ChangeLog: * tui/tui-win.c (tui_async_resize_screen): Clear win_resized first before resizing the window. * tui.c (tui_enable): Likewise. commit 558e5469679897ee57ad6706074f55ff4952cf43 Author: Jan Kratochvil Date: Wed May 13 15:55:09 2015 +0200 dummy_frame_dtor_ftype vs. call_function_by_hand_dummy_dtor_ftype cleanup Both dummy_frame_dtor_ftype and call_function_by_hand_dummy_dtor_ftype represent the same type, there was some mistake/duplication during check-in. gdb/ChangeLog 2015-05-08 Jan Kratochvil * dummy-frame.c (struct dummy_frame): Use proper typedef for dtor. * dummy-frame.h (dummy_frame_dtor_ftype): Add its comment. * infcall.c (call_function_by_hand_dummy): Use proper typedef for dummy_dtor parameter. * infcall.h: Include dummy-frame.h. (call_function_by_hand_dummy_dtor_ftype): Remove. (call_function_by_hand_dummy): Use proper typedef for dummy_dtor parameter. commit ebfd00d210ca6190239140b250499e194fd5af20 Author: Patrick Palka Date: Sun Apr 26 14:13:59 2015 -0400 Fix PR gdb/17820 This patch is a comprehensive fix for PR 17820 which reports that using "set history size unlimited" inside one's gdbinit file doesn't really work. There are three small changes in this patch. The most important change this patch makes is to decode the argument of the "size" subcommand using add_setshow_zuinteger_unlimited_cmd() instead of using add_setshow_uinteger_cmd(). The new decoder takes an int * and maps unlimited to -1 whereas the old decoder takes an unsigned int * and maps unlimited to UINT_MAX. Using the new decoder simplifies our handling of unlimited and makes it easier to interface with readline which itself expects a signed-int history size. The second change is the factoring of the [stifle|unstifle]_history logic into a common function which is now used by both init_history() and set_history_size_command(). This is technically the change that fixes the PR itself. Thirdly, this patch initializes history_size_setshow_var to -2 to mean that the variable has not been set yet. Now init_history() tests for -2 instead of 0 to determine whether to give the variable a default value. This means that having "set history size 0" in one's gdbinit file will actually keep the history size at 0 and not reset it to 256. gdb/ChangeLog: PR gdb/17820 * top.c (history_size_setshow_var): Change type to signed. Initialize to -2. Update documentation. (set_readline_history_size): Define. (set_history_size_command): Use it. Remove logic for handling out-of-range sizes. (init_history): Use set_readline_history_size(). Test for a value of -2 instead of 0 when determining whether to set a default history size. (init_main): Decode the argument of the "size" command as a zuinteger_unlimited. gdb/testsuite/ChangeLog: PR gdb/17820 * gdb.base/gdbinit-history.exp: New test. * gdb.base/gdbinit-history/unlimited/.gdbinit: New file. * gdb.base/gdbinit-history/zero/.gdbinit: New file. commit e69c76f4bfaf4c1b72f020f811afe03a5f7cd831 Author: H.J. Lu Date: Wed May 13 04:47:59 2015 -0700 Revert "Add -mno-shared to x86 assembler" This reverts commit 573cc2e57db66165b390044338d3a4ad51f36bf8. commit 31955f993de7b502b7a89bba4f9c9b0a34f90b2c Author: H.J. Lu Date: Wed May 13 04:33:45 2015 -0700 Add missing ChangeLog entries for PR binutis/18386 commit aa9f7286724c2e47077f2f5456d464a961f8e8a4 Author: H.J. Lu Date: Wed May 13 03:57:46 2015 -0700 Return ELF_CLASS_BOTH by default * elfedit.c (elf_class): Return ELF_CLASS_BOTH by default. commit 6604eb5f404cb2590ee417f45cf006442f976676 Author: Andreas Krebbel Date: Wed May 13 08:19:45 2015 +0200 MAINTAINERS: Add myself as s390 and s390x maintainer. binutils/ * MAINTAINERS: Add myself as s390 and s390x maintainer. commit 5c0bbc5231dfd0331b6980252d1dae0b6d3c8812 Author: GDB Administrator Date: Wed May 13 00:00:07 2015 +0000 Automatic date update in version.in commit a3747075ae478f27bf3e0643021a85fb6cdad0e3 Author: H.J. Lu Date: Tue May 12 13:11:48 2015 -0700 Allocate the first .plt entry space only if needed Commit dd7e64d45b317128f5fe813a8da0b13b4ad046ae may optimize out i386/x86-64 JUMP_SLOT relocation. If there is no JUMP_SLOT relocation left, we don't need to the first .plt entry. This patch allocates space for the first .plt entry only if we also reserve space for a PLT slot for JUMP_SLOT relocation. bfd/ * elf32-i386.c (elf_i386_allocate_dynrelocs): Allocate space for the first .plt entry only if needed. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. ld/testsuite/ * ld-i386/i386.exp: Run pltgot-1 for Linux targets. * ld-x86-64/x86-64.exp: Likewise. * ld-i386/pltgot-1.d: New file. * ld-i386/pltgot-1.s: Likewise. * ld-x86-64/pltgot-1.d: Likewise. * ld-x86-64/pltgot-1.s: Likewise. commit 98624574ea8834b2084eb1f0ca7341feecc7329f Author: H.J. Lu Date: Tue May 12 12:47:27 2015 -0700 Also skip x86_64-*-nacl* * binutils-all/elfedit-1.d: Also skip x86_64-*-nacl*. commit 83769d0b125e2043aba13ff05a4e8d08014e08a5 Author: Doug Evans Date: Tue May 12 10:42:49 2015 -0700 tweak some comments gdb/ChangeLog: * dwarf2read.c (struct file_entry): Tweak comments. (get_debug_line_section): Tweak comments. commit 0d71eef55dc5ce12d9bfa3cefb40d81a9b5fa2e6 Author: Don Breazeal Date: Tue May 12 09:52:47 2015 -0700 Extended-remote fork event docs This patch contains the accumulated documentation changes for the rest of the extended-remote follow fork patchset. gdb/ChangeLog: * NEWS: Announce fork support in the RSP and support for fork debugging in extended mode. gdb/doc/ChangeLog: * gdb.texinfo (Forks): Note that fork debugging is supported in extended mode. (Remote Configuration): Add fork event features to table of packet settings. (Stop Reply Packets): Add fork events to list of stop reasons. (General Query Packets): Add fork events to tables of 'gdbfeatures' and 'stub features' supported in the qSupported packet, as well as to the list containing stub feature details. commit cbb8991cabdd85b7828f59c92f754c5a2101b0b6 Author: Don Breazeal Date: Tue May 12 09:52:46 2015 -0700 Extended-remote fork catch This patch implements catchpoints for fork events on extended-remote Linux targets. Implementation appeared to be straightforward, requiring four new functions in remote.c to implement insert/remove of fork/vfork catchpoints. These functions are essentially stubs that just return 0 ('success') if the required features are enabled. If the fork events are being reported, then catchpoints are set and hit. However, there are some extra issues that arise with catchpoints. 1) Thread creation reporting -- fork catchpoints are hit before the follow_fork has been completed. When stopped at a fork catchpoint in the native implementation, the new process is not 'reported' until after the follow is done. It doesn't show up in the inferiors list or the threads list. However, in the gdbserver case, an 'info threads' while stopped at a fork catchpoint will retrieve the new thread info from the target and add it to GDB's data structures, prior to the follow operations. Because of this premature report, things on the GDB side eventually get very confused. So in remote.c:remote_update_thread_list, we check to see if there are any pending fork parent threads. If there are we remove the related fork child thread from the thread list sent by the target. 2) Kill process before fork is followed -- on the native side in linux-nat.c:linux_nat_kill, there is some code to handle the case where a fork has occurred but follow_fork hasn't been called yet. It does this by using the last status to determine if a follow is pending, and if it is, to kill the child task. The use of last_status is fragile in situations like non-stop mode where other events may have occurred after the fork event. This patch identifies a fork parent in remote.c:extended_remote_kill in a way similar to that used in thread creation reporting above. If one is found, it kills the new child as well. Tested on x64 Ubuntu Lucid, native, remote, extended-remote. Tested the case of killing the forking process before the fork has been followed manually. gdb/ChangeLog: * remote.c (remote_insert_fork_catchpoint): New function. (remote_remove_fork_catchpoint): New function. (remote_insert_vfork_catchpoint): New function. (remote_remove_vfork_catchpoint): New function. (pending_fork_parent_callback): New function. (remove_new_fork_child): New function. (remote_update_thread_list): Call remote_notif_get_pending_events and remove_new_fork_child. (extended_remote_kill): Kill fork child when killing the parent before follow_fork completes. (init_extended_remote_ops): Initialize target vector with new fork catchpoint functions. commit c269dbdb603216de2be52f07f26e65ead7e11c7b Author: Don Breazeal Date: Tue May 12 09:52:45 2015 -0700 Extended-remote follow vfork This patch implements follow-fork for vfork on extended-remote Linux targets. The implementation follows the native implementation as much as possible. Most of the work is done on the GDB side in the existing code now in infrun.c. GDBserver just has to report the events and do a little bookkeeping. Implementation includes: * enabling VFORK events by adding ptrace options for VFORK and VFORK_DONE to linux-low.c:linux_low_ptrace_options. * handling VFORK and VFORK_DONE events in linux-low.c:handle_extended_wait and reporting them to GDB. * including VFORK and VFORK_DONE events in the predicate linux-low.c:extended_event_reported. * adding support for VFORK and VFORK_DONE events in RSP by adding stop reasons "vfork" and "vforkdone" to the 'T' Stop Reply Packet in both gdbserver/remote-utils.c and gdb/remote.c. Tested on x64 Ubuntu Lucid, native, remote, extended-remote. gdb/gdbserver/ChangeLog: * linux-low.c (handle_extended_wait): Handle PTRACE_EVENT_FORK and PTRACE_EVENT_VFORK_DONE. (linux_low_ptrace_options, extended_event_reported): Add vfork events. * remote-utils.c (prepare_resume_reply): New stop reasons "vfork" and "vforkdone" for RSP 'T' Stop Reply Packet. * server.h (report_vfork_events): Declare global variable. gdb/ChangeLog: * remote.c (remove_vfork_event_p): New function. (remote_follow_fork): Add vfork event type to event checking. (remote_parse_stop_reply): New stop reasons "vfork" and "vforkdone" for RSP 'T' Stop Reply Packet. commit 3a8a0396bed4e9dd87c2df0f68386a0f04dfc824 Author: Don Breazeal Date: Tue May 12 09:52:44 2015 -0700 Arch-specific remote follow fork This patch implements the architecture-specific pieces of follow-fork for remote and extended-remote Linux targets, which in the current implementation copyies the parent's debug register state into the new child's data structures. This is required for x86, arm, aarch64, and mips. This follows the native implementation as closely as possible by implementing a new linux_target_ops function 'new_fork', which is analogous to 'linux_nat_new_fork' in linux-nat.c. In gdbserver, the debug registers are stored in the process list, instead of an architecture-specific list, so the function arguments are process_info pointers instead of an lwp_info and a pid as in the native implementation. In the MIPS implementation the debug register mirror is stored differently from x86, ARM, and aarch64, so instead of doing a simple structure assignment I had to clone the list of watchpoint structures. Tested using gdb.threads/watchpoint-fork.exp on x86, and ran manual tests on a MIPS board and an ARM board. Aarch64 hasn't been tested. gdb/gdbserver/ChangeLog: * linux-aarch64-low.c (aarch64_linux_new_fork): New function. (the_low_target) : Initialize new member. * linux-arm-low.c (arm_new_fork): New function. (the_low_target) : Initialize new member. * linux-low.c (handle_extended_wait): Call new target function new_fork. * linux-low.h (struct linux_target_ops) : New member. * linux-mips-low.c (mips_add_watchpoint): New function extracted from mips_insert_point. (the_low_target) : Initialize new member. (mips_linux_new_fork): New function. (mips_insert_point): Call mips_add_watchpoint. * linux-x86-low.c (x86_linux_new_fork): New function. (the_low_target) : Initialize new member. commit de0d863ec3fda88e488cee568f943c7998b68862 Author: Don Breazeal Date: Tue May 12 09:52:43 2015 -0700 Extended-remote Linux follow fork This patch implements basic support for follow-fork and detach-on-fork on extended-remote Linux targets. Only 'fork' is supported in this patch; 'vfork' support is added n a subsequent patch. This patch depends on the previous patches in the patch series. Sufficient extended-remote functionality has been implemented here to pass gdb.base/multi-forks.exp, as well as gdb.base/foll-fork.exp with the catchpoint tests commented out. Some other fork tests fail with this patch because it doesn't provide the architecture support needed for watchpoint inheritance or fork catchpoints. The implementation follows the same general structure as for the native implementation as much as possible. This implementation includes: * enabling fork events in linux-low.c in initialize_low and linux_enable_extended_features * handling fork events in gdbserver/linux-low.c:handle_extended_wait - when a fork event occurs in gdbserver, we must do the full creation of the new process, thread, lwp, and breakpoint lists. This is required whether or not the new child is destined to be detached-on-fork, because GDB will make target calls that require all the structures. In particular we need the breakpoint lists in order to remove the breakpoints from a detaching child. If we are not detaching the child we will need all these structures anyway. - as part of this event handling we store the target_waitstatus in a new member of the parent lwp_info structure, 'waitstatus'. This is used to store extended event information for reporting to GDB. - handle_extended_wait is given a return value, denoting whether the handled event should be reported to GDB. Previously it had only handled clone events, which were never reported. * using a new predicate in gdbserver to control handling of the fork event (and eventually all extended events) in linux_wait_1. The predicate, extended_event_reported, checks a target_waitstatus.kind for an extended ptrace event. * implementing a new RSP 'T' Stop Reply Packet stop reason: "fork", in gdbserver/remote-utils.c and remote.c. * implementing new target and RSP support for target_follow_fork with target extended-remote. (The RSP components were actually defined in patch 1, but they see their first use here). - remote target routine remote_follow_fork, which just sends the 'D;pid' detach packet to detach the new fork child cleanly. We can't just call target_detach because the data structures for the forked child have not been allocated on the host side. Tested on x64 Ubuntu Lucid, native, remote, extended-remote. gdb/gdbserver/ChangeLog: * linux-low.c (handle_extended_wait): Implement return value, rename argument 'event_child' to 'event_lwp', handle PTRACE_EVENT_FORK, call internal_error for unrecognized event. (linux_low_ptrace_options): New function. (linux_low_filter_event): Call linux_low_ptrace_options, use different argument fo linux_enable_event_reporting, use return value from handle_extended_wait. (extended_event_reported): New function. (linux_wait_1): Call extended_event_reported and set status to report fork events. (linux_write_memory): Add pid to debug message. (reset_lwp_ptrace_options_callback): New function. (linux_handle_new_gdb_connection): New function. (linux_target_ops): Initialize new structure member. * linux-low.h (struct lwp_info) : New member. * lynx-low.c: Initialize new structure member. * remote-utils.c (prepare_resume_reply): Implement stop reason "fork" for "T" stop message. * server.c (handle_query): Call handle_new_gdb_connection. * server.h (report_fork_events): Declare global flag. * target.h (struct target_ops) : New member. (target_handle_new_gdb_connection): New macro. * win32-low.c: Initialize new structure member. gdb/ChangeLog: * linux-nat.c (linux_nat_ptrace_options): New function. (linux_init_ptrace, wait_lwp, linux_nat_filter_event): Call linux_nat_ptrace_options and use different argument to linux_enable_event_reporting. (_initialize_linux_nat): Delete call to linux_ptrace_set_additional_flags. * nat/linux-ptrace.c (current_ptrace_options): Rename to supported_ptrace_options. (additional_flags): Delete variable. (linux_check_ptrace_features): Use supported_ptrace_options. (linux_test_for_tracesysgood, linux_test_for_tracefork): Likewise, and remove additional_flags check. (linux_enable_event_reporting): Change 'attached' argument to 'options'. Use supported_ptrace_options. (ptrace_supports_feature): Change comment. Use supported_ptrace_options. (linux_ptrace_set_additional_flags): Delete function. * nat/linux-ptrace.h (linux_ptrace_set_additional_flags): Delete function prototype. * remote.c (remote_fork_event_p): New function. (remote_detach_pid): New function. (remote_detach_1): Call remote_detach_pid, don't mourn inferior if doing detach-on-fork. (remote_follow_fork): New function. (remote_parse_stop_reply): Handle new "T" stop reason "fork". (remote_pid_to_str): Print "process" strings for pid/0/0 ptids. (init_extended_remote_ops): Initialize to_follow_fork. commit ddcbc3975fffffdb5bb3bfb05b1f0ef3d67be3ee Author: Don Breazeal Date: Tue May 12 09:52:42 2015 -0700 Clone remote breakpoints This patch implements gdbserver routines to clone the breakpoint lists of a process, duplicating them for another process. In gdbserver, each process maintains its own independent breakpoint list. When a fork call creates a child, all of the breakpoints currently inserted in the parent process are also inserted in the child process, but there is nothing to describe them in the data structures related to the child. The child must have a breakpoint list describing them so that they can be removed (if detaching) or recognized (if following). Implementation is a mechanical process of just cloning the lists in several new functions in gdbserver/mem-break.c. Tested by building, since none of the new functions are called yet. This was tested with another patch in the series that implements follow-fork. gdb/gdbserver/ChangeLog: * mem-break.c (APPEND_TO_LIST): Define macro. (clone_agent_expr): New function. (clone_one_breakpoint): New function. (clone_all_breakpoints): New function. * mem-break.h: Declare new functions. commit 89245bc05692aaa107fa2884c032da21682edc72 Author: Don Breazeal Date: Tue May 12 09:52:41 2015 -0700 Identify remote fork event support This patch implements a mechanism for GDB to determine whether fork events are supported in gdbserver. This is a preparatory patch for remote fork and exec event support. Two new RSP packets are defined to represent fork and vfork event support. These packets are used just like PACKET_multiprocess_feature to denote whether the corresponding event is supported. GDB sends fork-events+ and vfork-events+ to gdbserver to inquire about fork event support. If the response enables these packets, then GDB knows that gdbserver supports the corresponding events and will enable them. Target functions used to query for support are included along with each new packet. In order for gdbserver to know whether the events are supported at the point where the qSupported packet arrives, the code in nat/linux-ptrace.c had to be reorganized. Previously it would test for fork/exec event support, then enable the events using the pid of the inferior. When the qSupported packet arrives there may not be an inferior. So the mechanism was split into two parts: a function that checks whether the events are supported, called when gdbserver starts up, and another that enables the events when the inferior stops for the first time. Another gdbserver change was to add some global variables similar to multi_process, one per new packet. These are used to control whether the corresponding fork events are enabled. If GDB does not inquire about the event support in the qSupported packet, then gdbserver will not set these "report the event" flags. If the flags are not set, the events are ignored like they were in the past. Thus, gdbserver will never send fork event notification to an older GDB that doesn't recognize fork events. Tested on Ubuntu x64, native/remote/extended-remote, and as part of subsequent patches in the series. gdb/gdbserver/ChangeLog: * linux-low.c (linux_supports_fork_events): New function. (linux_supports_vfork_events): New function. (linux_target_ops): Initialize new structure members. (initialize_low): Call linux_check_ptrace_features. * lynx-low.c (lynx_target_ops): Initialize new structure members. * server.c (report_fork_events, report_vfork_events): New global flags. (handle_query): Add new features to qSupported packet and response. (captured_main): Initialize new global variables. * target.h (struct target_ops) : New member. : New member. (target_supports_fork_events): New macro. (target_supports_vfork_events): New macro. * win32-low.c (win32_target_ops): Initialize new structure members. gdb/ChangeLog: * nat/linux-ptrace.c (linux_check_ptrace_features): Change from static to extern. * nat/linux-ptrace.h (linux_check_ptrace_features): Declare. * remote.c (anonymous enum): : New enumeration constants. (remote_protocol_features): Add table entries for new packets. (remote_query_supported): Add new feature queries to qSupported packet. (_initialize_remote): Exempt new packets from the requirement to have 'set remote' commands. commit 15eddee17fd772021fc3a331904e8f6b55b354c7 Author: Jiong Wang Date: Tue May 12 13:47:15 2015 +0100 [AArch64] Add R_AARCH64_P32_LD32_GOTPAGE_LO14 to elf header 2015-05-12 Jiong. Wang include/ * elf/aarch64.h (R_AARCH64_P32_LD32_GOTPAGE_LO14): New enumeration. commit 835205d078aa3b78180da1512f8019ab064032e7 Author: Gary Benson Date: Tue May 12 11:57:52 2015 +0100 Locate executables on remote stubs without multiprocess extensions This commit allows GDB to determine filenames of main executables when debugging using remote stubs without multiprocess extensions. The qXfer:exec-file:read packet is extended to allow an empty annex, with the meaning that the remote stub should supply the filename of whatever it thinks is the current process. gdb/ChangeLog: * remote.c (remote_add_inferior): Call exec_file_locate_attach for fake PIDs as well as real ones. (remote_pid_to_exec_file): Send empty annex if PID is fake. gdb/doc/ChangeLog: * gdb.texinfo (General Query Packets): Document qXfer:exec-file:read with empty annex. gdb/gdbserver/ChangeLog: * server.c (handle_qxfer_exec_file): Use current process if annex is empty. commit 5b155b955ab0f4b6db3a5edb049f8e4d5a712f4a Author: Stephen Kitt Date: Tue May 12 11:16:03 2015 +0100 Enables the -t abbreviated form of the --temp-prefix command line option for dlltool. * dlltool.c (main): Accept -t as an abbreviation for --temp-prefix. commit fb4048adf7e4c6cbf8f45b4436ab7982a6d685e6 Author: GDB Administrator Date: Tue May 12 00:00:07 2015 +0000 Automatic date update in version.in commit 70cead076728d1bc0d905b32fcb0c44c25f00ccc Author: H.J. Lu Date: Mon May 11 14:20:37 2015 -0700 Remove Disp16|Disp32 from 64-bit direct branches Disp16 and Disp32 aren't supported by direct branches in 64-bit mode. This patch removes them from 64-bit direct branches. * opcodes/i386-opc.tbl (call): Remove Disp16|Disp32 from 64-bit direct branch. (jmp): Likewise. * i386-tbl.h: Regenerated. commit e83c417475ba1a0a4b0ef81c99382ac78dfde7f1 Author: H.J. Lu Date: Mon May 11 12:29:27 2015 -0700 Allow mixing target and not-target directives Mixing target and not-target directives can be used to run for x86_64-*-* target while skipping x86_64-*-gnux32 target. This patch allows mixing target and not-target directives. It is used to skip elfedit-1 for x86_64-*-gnux32. * binutils-all/elfedit-1.d: Skip x86_64-*-gnux32. * lib/utils-lib.exp (run_dump_test): Allow mixing target and not-target directives. commit 5197d474361b4748e0339ae60e6dc9975f2313df Author: H.J. Lu Date: Mon May 11 12:01:57 2015 -0700 Default e_machine to EM_IAMCU for i?86-*-elfiamcu This patch sets the default ELF output format of assembler and linker to EM_IAMCU when binutils is configured to i?86-*-elfiamcu target. gas/ * configure.tgt (arch): Set to iamcu for i386-*-elfiamcu target. * config/tc-i386.c (i386_mach): Support iamcu. (i386_target_format): Likewise. ld/ * configure.tgt: Support i[3-7]86-*-elfiamcu target. ld/testsuite/ * ld-i386/i386.exp (iamcu_tests): Run iamcu-4. * ld-i386/iamcu-4.d: New file. commit 7e0a81123db953de03f6482f7c10f306407d348e Author: H.J. Lu Date: Mon May 11 11:27:34 2015 -0700 Add Intel MCU support to ld -m elf_iamcu must be passed to i386 linker to generate Intel MCU binary. ld/ * Makefile.am (ALL_EMULATION_SOURCES): Add eelf_iamcu.c. (eelf_iamcu.c): New. * configure.tgt (targ_extra_emuls): Add elf_iamcu if elf_i386 is enabled in BFD. * Makefile.in: Regenerated. * emulparams/elf_iamcu.sh: New file. ld/testsuite/ * ld-i386/abs-iamcu.d: New file. * ld-i386/dummy.s: Likewise. * ld-i386/foo.s: Likewise. * ld-i386/iamcu-1.d: Likewise. * ld-i386/iamcu-2.d: Likewise. * ld-i386/iamcu-3.d: Likewise. * ld-i386/start.s: Likewise. * ld-i386/i386.exp (iamcu_tests): New. Run iamcu_tests. commit 814860358c2e4194d372018dd1ae78b5c95a44d0 Author: H.J. Lu Date: Mon May 11 11:11:19 2015 -0700 Add Intel MCU support to gas -march=iamcu must be passed to i386 assembler to generate Intel MCU object file. gas/ * config/tc-i386.c (cpu_arch): Add iamcu. (i386_align_code): Handle PROCESSOR_IAMCU. (i386_arch): Likewise. (i386_mach): Likewise. (i386_target_format): Likewise. (valid_iamcu_cpu_flags): New function. (check_cpu_arch_compatible): Only allow Intel MCU instructions when targeting Intel MCU. (set_cpu_arch): Call valid_iamcu_cpu_flags to check if CPU flags are valid for Intel MCU. (md_parse_option): Likewise. * tc-i386.h (ELF_TARGET_IAMCU_FORMAT): New. (processor_type): Add PROCESSOR_IAMCU. * doc/c-i386.texi: Document iamcu. gas/testsuite/ * gas/i386/i386.exp: Run iamcu-1, iamcu-2, iamcu-3, iamcu-inval-1, iamcu-inval-2 and iamcu-inval-3. * gas/i386/iamcu-1.d: New file. * gas/i386/iamcu-1.s: Likewise. * gas/i386/iamcu-2.d: Likewise. * gas/i386/iamcu-2.s: Likewise. * gas/i386/iamcu-3.d: Likewise. * gas/i386/iamcu-3.s: Likewise. * gas/i386/iamcu-inval-1.l: Likewise. * gas/i386/iamcu-inval-1.s: Likewise. * gas/i386/iamcu-inval-2.l: Likewise. * gas/i386/iamcu-inval-2.s: Likewise. * gas/i386/iamcu-inval-3.l: Likewise. * gas/i386/iamcu-inval-3.s: Likewise. commit 7b6d09fbc60b12c196b25a9ebbb77ddc24e06334 Author: H.J. Lu Date: Mon May 11 10:47:55 2015 -0700 Add Intel MCU support to opcodes * configure.ac: Support bfd_iamcu_arch. * disassemble.c (disassembler): Support bfd_iamcu_arch. * i386-gen.c (cpu_flag_init): Add CPU_IAMCU_FLAGS and CPU_IAMCU_COMPAT_FLAGS. (cpu_flags): Add CpuIAMCU. * i386-opc.h (CpuIAMCU): New. (i386_cpu_flags): Add cpuiamcu. * configure: Regenerated. * i386-init.h: Likewise. * i386-tbl.h: Likewise. commit 3d875af5759b6ac3d0a722ce8b598426c26bf46c Author: H.J. Lu Date: Mon May 11 10:41:00 2015 -0700 Add init_dwarf_regnames_iamcu * dwarf.c (dwarf_regnames_iamcu): New. (init_dwarf_regnames_iamcu): Likewise. (init_dwarf_regnames): Call init_dwarf_regnames_iamcu for EM_IAMCU. * dwarf.h (init_dwarf_regnames_iamcu): New. * objdump.c (dump_dwarf): Call init_dwarf_regnames_iamcu for bfd_arch_iamcu. commit bf64a9511f73684c4880fd1818928fdfa1725c4f Author: H.J. Lu Date: Mon May 11 10:30:32 2015 -0700 Add Intel MCU support to bfd bfd/ * Makefile.am (ALL_MACHINES): Add cpu-iamcu.lo. (ALL_MACHINES_CFILES): Likewise. * archures.c (bfd_mach_iamcu): New. (bfd_mach_i386_iamcu): Likewise. (bfd_mach_i386_iamcu_intel_syntax): Likewise. (bfd_iamcu_arch): Likewise. (bfd_archures_list): Add &bfd_iamcu_arch. * config.bfd (targ_selvecs): Add iamcu_elf32_vec to i386_elf32_vec. (targ_archs): Add bfd_iamcu_arch if needed. * configure.ac: Support iamcu_elf32_vec. * cpu-iamcu.c: New file. * elf32-i386.c (elf32_iamcu_elf_object_p): New function. Add support for iamcu_elf32_vec and elf32_iamcu_bed. * targets.c (iamcu_elf32_vec): New. (_bfd_target_vector): Add iamcu_elf32_vec. * Makefile.in: Regenerated. * bfd-in2.h: Likewise. * configure: Likewise. binutils/testsuite/ * binutils-all/objdump.exp (cpus_expected): Append iamcu. commit 6c14750f48f179e0fed8abc34010de3e05ec2a54 Author: H.J. Lu Date: Mon May 11 09:57:20 2015 -0700 Add EM_386/EM_IAMCU support to elfedit.c binutils/ * elfedit.c (enum elfclass): New. (input_elf_class): Change type to enum elfclass. (output_elf_class): New. (elf_class): Change return type to enum elfclass. Support EM_386 and EM_IAMCU. (update_elf_header): Check if input and output ELF classes match. (elf_machine): Support EM_386 and EM_IAMCU. (main): Update input_elf_class. Set output_elf_class. * doc/binutils.texi: Update elfedit. binutils/testsuite/ * binutils-all/elfedit-5.d: New file. * binutils-all/elfedit.exp: Run elfedit-5. commit 22abe5566abcf48d81c4b485de722f2634d394f2 Author: H.J. Lu Date: Mon May 11 08:52:43 2015 -0700 Rename EM_486 to EM_IAMCU bfd/ * elfcode.h (elf_object_p): Replace EM_486 with EM_IAMCU. binutils/ * dwarf.c (init_dwarf_regnames): Replace EM_486 with EM_IAMCU. * readelf.c (guess_is_rela): Likewise. (dump_relocations): Likewise. (get_machine_name): Likewise. (get_elf_section_flags): Likewise. (process_section_headers): Likewise. (is_32bit_abs_reloc): Likewise. (is_32bit_pcrel_reloc): Likewise. include/elf/ * common.h (EM_486): Renamed to ... (EM_IAMCU): This. commit 415158ef391683a5248eabe498693c34836c3a38 Author: GDB Administrator Date: Mon May 11 00:00:08 2015 +0000 Automatic date update in version.in commit 4b71eec62785db0fe5f02b0da95f18b7b4a33df1 Author: H.J. Lu Date: Sun May 10 06:44:12 2015 -0700 Replace input_bfd and output_bfd with abfd The first argument to bfd_get_8/bfd_put_8 isn't used. But we should use something real. Replace input_bfd and output_bfd with abfd. * elf32-i386.c (elf_i386_convert_mov_to_lea): Replace input_bfd and output_bfd with abfd. * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise. commit 4c082a81dfebcca45e4ee8cb90490ab733b8e017 Author: Siva Chandra Date: Sat Apr 25 07:04:40 2015 -0700 [Python] Add methods reference_value and const_value to gdb.Value. gdb/ChangeLog: * NEWS (Python Scripting): Mention the new gdb.Value methods. * python/py-value.c (valpy_reference_value): New function. (valpy_const_value): Likewise. (value_object_methods): Add new methods. * value.c (make_cv_value): New function. * value.h (make_cv_value): Declare. gdb/doc/ChangeLog: * python.texi (Values From Inferior): Add descriptions of new methods gdb.Value.reference_value and gdb.Value.const_value. gdb/testsuite/ChangeLog: * gdb.python/py-xmethods.cc: Enhance test case. * gdb.python/py-xmethods.exp: New tests. * gdb.python/py-xmethods.py (A_indexoper): New xmethod worker function. (B_indexoper): Likewise. (global_dm_list) : Add new xmethod worker functions. commit 10a52f094ebbbed3f9d1b28a2ded94e43d500133 Author: GDB Administrator Date: Sun May 10 00:00:08 2015 +0000 Automatic date update in version.in commit a72d2af2c76f82cc8a198919f73585e11d0a4c60 Author: H.J. Lu Date: Fri May 8 17:13:30 2015 -0700 Ignore 0x66 prefix for call/jmp/jcc in 64-bit mode The operand size prefix (0x66) is ignored for 32-bit PC-relative call, jmp and jcc in 64-bit mode. gas/testsuite/ PR binutis/18386 * gas/i386/i386.exp: Run x86-64-jump. * gas/i386/x86-64-branch.d: Updated. * gas/i386/ilp32/x86-64-branch.d: Likewise. * gas/i386/x86-64-branch.s: Add tests for the operand size prefix with call, jmp and jb. * gas/i386/x86-64-jump.d: New file. * gas/i386/x86-64-jump.s: Likewise. ld/testsuite/ PR binutis/18386 * ld-x86-64/tlsgdesc.dd: Updated. * ld-x86-64/tlspic.dd: Likewise. opcodes/ PR binutis/18386 * i386-dis.c (X86_64_E8): New. (X86_64_E9): Likewise. Update comments on 'T', 'U', 'V'. Add comments for '^'. (dis386): Replace callT/jmpT with X86_64_E8/X86_64_E9. (x86_64_table): Add X86_64_E8 and X86_64_E9. (mod_table): Replace {T|} with ^ on Jcall/Jmp. (putop): Handle '^'. (OP_J): Ignore the operand size prefix in 64-bit. Don't check REX_W. commit 504374b503c194bef5c6bcf432e6ef8481322880 Author: GDB Administrator Date: Sat May 9 00:00:08 2015 +0000 Automatic date update in version.in commit afa6c9abf2c12c8e6155d088ea45e5091ca79c57 Author: Sandra Loosemore Date: Fri May 8 12:43:39 2015 -0700 Avoid segfault on missing directory table. 2015-05-08 Yao Qi Sandra Loosemore gdb/ * dwarf2read.c (setup_type_unit_groups): Do NULL pointer check to 'lh->include_dirs' before accessing to it. (psymtab_include_file_name): Likewise. (dwarf_decode_lines_1): Likewise. (dwarf_decode_lines): Likewise. (file_file_name): Likewise. commit 35d54293c3a0fb5e8cd3a82a1e2a6e0481b615af Author: Sandra Loosemore Date: Fri May 8 12:34:52 2015 -0700 Fix register save offset for nios2 signal handler trampolines. 2015-05-08 Sandra Loosemore gdb/ * nios2-linux-tdep.c (NIOS2_SIGRETURN_TRAMP_ADDR): Define. (NIOS2_SIGRETURN_REGSAVE_OFFSET): Define. (nios2_linux_rt_sigreturn_init): Adjust base address of register save area. commit 21e94bd9f0888034c094e02c75d382d75340326c Author: Sandra Loosemore Date: Fri May 8 12:32:43 2015 -0700 Use PTRACE_GETREGSET/SETREGSET in nios2 gdbserver. 2015-05-08 Sandra Loosemore gdb/gdbserver/ * linux-nios2-low.c: Include elf/common.h. Adjust comments. Remove HAVE_PTRACE_GETREGS conditionals. (nios2_regsets): Use PTRACE_GETREGSET and PTRACE_SETREGSET instead of PTRACE_GETREGS and PTRACE_SETREGS. commit b73c49b7f6691cf1debb14dbce5b3222a7190314 Author: Sandra Loosemore Date: Fri May 8 12:24:41 2015 -0700 Revert to using "trap 31" for breakpoints on nios2. 2015-05-08 Sandra Loosemore gdb/ * nios2-tdep.c (nios2_breakpoint_from_pc): Revert to using "trap 31" as the breakpoint instruction on all targets. commit f7797074a5dc314f8922d2e90c1a4ea04b189c36 Author: Sergio Durigan Junior Date: Fri May 8 13:19:19 2015 -0400 Fix coredump-filter.exp by correctly unsetting array In my last commit to make gdb.base/coredump-filter.exp be more robust regarding using arrays in the global namespace, I cleared the "coredump_var_addr" array like this: set coredump_var_addr "" # use coredump_var_addr as an array... This causes DejaGNU to complain because the variable is first set as non-array, and the used as an array. The correct way to do this is to unset the variable using: unset -nocomplain coredump_var_addr # use coredump_var_addr as an array... The "-nocomplain" part is necessary because if the variable doesn't exist "unset" will not error. Tested on Fedora 20 x86_64. gdb/testsuite/ChangeLog: 2015-05-08 Sergio Durigan Junior * gdb.base/coredump-filter.exp: Correctly unset "coredump_var_addr" array. commit 519b5f619baa43f000ad18c079017bea8e7fc06a Author: Joel Brobecker Date: Tue Sep 16 14:32:09 2014 -0400 libiberty/mkstemps.c: Include if not available. Attempting to build libiberty on LynxOS-178 fails trying to compile mkstemps.c with the following error: mkstemps.c:84:18: error: storage size of 'tv' isn't known struct timeval tv; ^ This file would normally include to get the type's definition, but unfortunately LynxOS-178 does not want us to use , only . The configure script correctly finds this out and generates a config.h file where HAVE_SYS_TIME_H is undefined: /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_TIME_H */ This patch fixes the build issue by falling back on including if could not be included (and provided that HAVE_TIME_H is defined, of course). libiberty/ChangeLog: * mkstemps.c: #include if HAVE_TIME_H is defined but not HAVE_SYS_TIME_H. commit a4674e4efc0c93abd2865d5cf97da710fa3affae Author: Pedro Alves Date: Fri May 8 18:06:46 2015 +0100 Fix sequential gdb test runs Sequential test runs are stopping prematurely like this: $ make check RUNTESTFLAGS="non-existing-program.exp server-exec-info.exp" Running /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.server/non-existing-program.exp ... Running /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.server/server-exec-info.exp ... can not find channel named "exp6" while executing "match_max [match_max -d]" (procedure "default_gdb_init" line 26) invoked from within "default_gdb_init $test_file_name" (procedure "gdb_init" line 83) invoked from within "${tool}_init $test_file_name" (procedure "runtest" line 18) invoked from within "runtest $test_name" ("foreach" body line 42) invoked from within ... make[2]: *** [check-single] Error 1 make[2]: Leaving directory `/home/pedro/gdb/mygit/build/gdb/testsuite' make[1]: *** [check] Error 2 make[1]: Leaving directory `/home/pedro/gdb/mygit/build/gdb/testsuite' make: *** [check] Error 2 default_gdb_init has this: # Unlike most tests, we have a small number of tests that generate # a very large amount of output. We therefore increase the expect # buffer size to be able to contain the entire test output. This # is especially needed by gdb.base/info-macros.exp. match_max -d 65536 # Also set this value for the currently running GDB. match_max [match_max -d] It's the second match_max that is erroring. As that call does not specify an explicit channel name with -i, expect defaults to $spawn_id, which is pointing at a channel that is already gone. (If the spawn_id variable is not set, match_max defaults to $user_spawn_id / stdin/out). gdb/testsuite/ChangeLog: 2015-05-08 Pedro Alves * gdb.server/non-existing-program.exp: Unset spawn_id. commit ae8714c2712ef9a179cfa9158a289bd400c0ad97 Author: Nick Clifton Date: Fri May 8 17:28:26 2015 +0100 Change ARM symbol name verification code so that it only triggers when the form "name = val" is used. PR gas/18347 * config/tc-arm.h (TC_EQUAL_IN_INSN): Define. * config/tc-arm.c (arm_tc_equal_in_insn): New function. Move the symbol name checking code to here from... (md_undefined_symbo): ... here. commit dd9f02a0ca7a9873717933345e393edb3d5da6bc Author: Jan Kratochvil Date: Fri May 8 17:58:21 2015 +0200 Remove unused declaration of print_return_value. gdb/ChangeLog 2015-05-08 Jan Kratochvil * infcmd.c (print_return_value): Remove unused declaration. commit 6ad395a7a64c9b49dab32a9178a8a07a96c17885 Author: Joel Brobecker Date: Fri Mar 20 13:57:36 2015 -0400 Problem printing record with array whose upper bound is record component Consider the following declarations... type Obj_T (Selected_Flights_Length : Natural) is record Selected_Flights : Flights.List.T (1 .. Selected_Flights_Length); end record; Broken : Obj_T; ... which defines a variable named "broken" which is a discrimated record where broken.Selected_Flights is an array whose upper bound is stored in the record's Selected_Flights_Length component. Trying to print the value of that object currently fails: (gdb) print broken cannot find reference address for offset property Looking at the debugging info, we see that variable "Broken" is a reference... <1><8e3>: Abbrev Number: 21 (DW_TAG_const_type) <8e4> DW_AT_type : <0x8e8> <1><8e8>: Abbrev Number: 22 (DW_TAG_reference_type) <8e9> DW_AT_byte_size : 8 <8ea> DW_AT_type : <0x7ec> ... to ... <1><7ec>: Abbrev Number: 12 (DW_TAG_structure_type) <7ed> DW_AT_name : (indirect string, offset: 0xc6d): reprod__obj_t <7f1> DW_AT_decl_file : 2 <7f2> DW_AT_decl_line : 15 <7f3> DW_AT_GNAT_descriptive_type: <0x87e> <7f7> DW_AT_sibling : <0x87e> ... which has 2 members, the first one being the discriminant... <2><7fb>: Abbrev Number: 9 (DW_TAG_member) <7fc> DW_AT_name : (indirect string, offset: 0xc98): selected_flights_length <800> DW_AT_decl_file : 2 <801> DW_AT_decl_line : 15 <802> DW_AT_type : <0x807> <806> DW_AT_data_member_location: 0 ... and the second one being the one that causes trouble... <2><83d>: Abbrev Number: 9 (DW_TAG_member) <83e> DW_AT_name : (indirect string, offset: 0xd17): selected_flights <842> DW_AT_decl_file : 2 <843> DW_AT_decl_line : 17 <844> DW_AT_type : <0x815> <848> DW_AT_data_member_location: 4 The second field's type is an array.... <2><815>: Abbrev Number: 14 (DW_TAG_array_type) <816> DW_AT_name : (indirect string, offset: 0xd2f): reprod__obj_t__T5sP <81a> DW_AT_GNAT_descriptive_type: <0x7e1> <81e> DW_AT_type : <0x748> <822> DW_AT_sibling : <0x830> ... whose uppper bound is a reference to <0x7fb>... <3><826>: Abbrev Number: 15 (DW_TAG_subrange_type) <827> DW_AT_type : <0x830> <82b> DW_AT_upper_bound : <0x7fb> <3><82f>: Abbrev Number: 0 Because the upper bound is dynamic, we try to resolve it. As it happens, the upper-bound resolution for this range type works fine. What breaks is when we try to resolve this range type's target type, which is: <2><830>: Abbrev Number: 16 (DW_TAG_subrange_type) <831> DW_AT_upper_bound : <0x7fb> <835> DW_AT_name : (indirect string, offset: 0xc7b): reprod__obj_t__T4s___XDLU_1__selected_flights_length <839> DW_AT_type : <0x766> <83d> DW_AT_artificial : 1 It is actually pretty much the same as the first subrange type, so you might ask why this is causing trouble, when the resolution of the previous DIE worked like a charm??? Well, for that, we need to backtrack a bit, and notice that, ahead of the DW_TAG_structure_type's DIE, there is the following DIE: <1><7e1>: Abbrev Number: 6 (DW_TAG_typedef) <7e2> DW_AT_name : (indirect string, offset: 0xbae): reprod__obj_t__T5s <7e6> DW_AT_decl_file : 2 <7e7> DW_AT_decl_line : 17 <7e8> DW_AT_type : <0x849> ... and that DIE references an array type... <2><849>: Abbrev Number: 14 (DW_TAG_array_type) <84a> DW_AT_name : (indirect string, offset: 0xbae): reprod__obj_t__T5s <84e> DW_AT_GNAT_descriptive_type: <0x864> <852> DW_AT_type : <0x748> <856> DW_AT_sibling : <0x864> ... whose subrange is... <3><85a>: Abbrev Number: 15 (DW_TAG_subrange_type) <85b> DW_AT_type : <0x830> <85f> DW_AT_upper_bound : <0x7fb> ... where the subrange's base type is the DW_TAG_subrange_type DIE that is causing problem. In summary, we process the typedef first, which causes us to process the second subrange BEFORE we process the struct DIE itself, and therefore the struct's discriminent (DW_TAG_member #1). As a result, while trying to handle the reference to that DW_TAG_member #1 as the upper bound of the second range type, we do... case DW_AT_data_member_location: { [...] baton->referenced_type = get_die_type (target_die->parent, target_cu); ... where target_die->parent (DW_TAG_member #1) hasn't been processed yet, and thus get_die_type returns NULL. This is what later causes us problems trying to find the right address to use as the base address for our field, which then triggers the error message we are seeing. This patch fixes the issue by calling read_type_die instead of get_die_type. If the DIE has already been processed, then this is the same as get_die_type. If not, the it'll get the parent die to be read, and then get its type. gdb/ChangeLog: * dwarf2read.c (attr_to_dynamic_prop) : Use read_type_die isntead of get_die_type. Tested on x86_64-linux, no regression. No testcase, unfortunately, as the reproducer was given to us by a customer, and it's been otherwise surprisingly difficult to reproduce the same error outside of that reproducer. commit 8344af1e7bffd13add24bd02bc462d9389294fd2 Author: Joel Brobecker Date: Fri Jan 30 08:51:19 2015 -0500 [Ada] error trying to call function when parameter is aligner type. We observed on x86-windows that trying to call a function from GDB leads to a mysterious "Invalid cast" error. This can be observed in gdb.ada/float_param.exp: (gdb) call set_long_double(1, global_small_struct, 4.0) Invalid cast. This happens because the 3rd parameter, a Long_Long_Float, is actually passed wrapped inside a PAD structure. As documented in GNAT's exp_dbug.ads, PAD types are simple wrappers that GNAT uses to handle types with size or alignment constraints. We already support those when printing an object encapsulated in a PAD type, but not when trying to pass an argument that is wrapped inside a PAD type. As a result, what happens is that call_function_by_hand ends up with an argument with a type that looks incompatible with the expected type of the argument. The error comes when trying to push the arguments in inferior memory, while trying to coerce each one of them to their expected types (in value_arg_coerce). Note that the problem is not specific to Windows, but so far, this is the only platform where we've seen this happen. gdb/ChangeLog: * ada-lang.c (ada_convert_actual): Add handling of formals passed inside an aligner type. Tested on x86-windows (AdaCore testsuite) and x86_64-linux (official testsuite as well as AdaCore's testsuite). commit 80b0912bff495fd51e34050637357aeb243eefbb Author: Joel Brobecker Date: Fri May 8 07:19:42 2015 -0700 gdb/copyright.py: Remove sim/erc32 files from NOT_FSF_LIST. Now that the erc32 files have been updated to contain an FSF copyright header, these files should no longer be in the exclude list. gdb/ChangeLog: * copyright.py (NOT_FSF_LIST): Remove sim/erc32 entries. commit 17d88f73c0e38b80a4c9180ab7ae5383f9d0fb05 Author: Joel Brobecker Date: Fri May 8 07:11:38 2015 -0700 Switch erc32 simulator copyright headers to FSF. Permission was granted by Jiri Gaisler, who has a copyright assignment on file for GDB. sim/erc32/ChangeLog: * configure.ac: Add copyright header. * erc32.c: Change copyright holder to FSF. Reformat. * exec.c, float.c, func.c, interf.c, sis.c, sis.h: Likewise. * help.c, startsim: Add copyright header. commit df2eb078c0a88a44c49de7045a1c163f380a7efc Author: Siva Chandra Date: Sat Apr 25 17:10:30 2015 -0700 [PR python/18291] Fix printing of "disabled" status of xmethod matchers. gdb/ChangeLog: PR python/18291 * python/lib/gdb/command/xmethods.py (print_xm_info): Fix typo. Print xmethod matcher status. gdb/testsuite/ChangeLog: PR python/18291 * gdb.python/py-xmethods.exp: Add tests. commit 573cc2e57db66165b390044338d3a4ad51f36bf8 Author: H.J. Lu Date: Fri May 8 05:04:12 2015 -0700 Add -mno-shared to x86 assembler On ELF target, the assembler normally generates code which can go into a shared library where non-weak symbols can be preempted. The -mno-shared option tells the assembler to generate code not for a shared library, where non-weak symbols won't be preempted. The resulting code is slightly smaller. This option mainly affects the handling of branch instructions. gas/ * config/tc-i386.c (no_shared): New. (OPTION_MNO_SHARED): Likewise. (elf_symbol_resolved_in_segment_p): Check no_shared. (md_longopts): Add mno-shared. (md_parse_option): Handle OPTION_MNO_SHARED. (md_show_usage): Add -mno-shared. * doc/c-i386.texi: Document -mno-shared. gas/testsuite/ * gas/i386/i386.exp: Run relax-4 and x86-64-relax-3. * gas/i386/relax-4.d: New file. * gas/i386/x86-64-relax-3.d: Likewise. commit 422349a385c2ccfc1e66f5c65560e5bd5fc97953 Author: Yao Qi Date: Fri May 8 12:37:48 2015 +0100 Fix PR 18208: update /proc/pid/coredump_filter by c code Hi, We see some fails in gdb.base/coredump-filter.exp when we do remote gdbserver testing, like what I did for arm/aarch64 linux testing or run it with board file remote-gdbserver-on-localhost $ make check RUNTESTFLAGS='--target_board=remote-gdbserver-on-localhost coredump-filter.exp' we find that this line in the test doesn't work as expected, remote_exec target "sh -c \"echo $filter_flag > /proc/$ipid/coredump_filter\"" although such pattern has been used in gdb testsuite somewhere else, but the special thing here is that we redirect the output to /proc/$ipid/coredump_filter on the remote target. DejaGNU will redirect the output from the remote target to local, and looks tcl gets confused by these two redirection. After trying pass different parameters to remote_exec and hacking remote_exec/rsh_exec/local_exec, I got no success, I decide to give up, and try to update /proc/$ipid/coredump_filter by the c code directly. This patch adds a c function set_coredump_filter to update coredump_filter, and GDB calls it. gdb/testsuite: 2015-05-08 Yao Qi PR gdb/18208 * gdb.base/coredump-filter.c (set_coredump_filter): New function. * gdb.base/coredump-filter.exp (do_save_core): Call inferior function set_coredump_filter, and remove remote_exec call. Remove argument ipid. Callers update. (top level): Don't get inferior's PID. commit 45614f153407762d83e8ecaf271b9b6e524c62db Author: Yao Qi Date: Fri May 8 12:29:13 2015 +0100 [gdbserver] Disable conditional breakpoints on no-hardware-single-step targets GDBserver steps over breakpoint if the condition is false, but if target doesn't support hardware single step, the step over is very simple, if not incorrect, in linux-arm-low.c: /* We only place breakpoints in empty marker functions, and thread locking is outside of the function. So rather than importing software single-step, we can just run until exit. */ static CORE_ADDR arm_reinsert_addr (void) { struct regcache *regcache = get_thread_regcache (current_thread, 1); unsigned long pc; collect_register_by_name (regcache, "lr", &pc); return pc; } and linux-mips-low.c does the same. GDBserver sets a breakpoint at the return address of the current function, resume and wait the program hits the breakpoint in order to achieve "breakpoint step over". What if program hits other user breakponits during this "step over"? It is worse if the arm/thumb interworking is considered. Nowadays, GDBserver arm backend unconditionally inserts arm breakpoint, /* Define an ARM-mode breakpoint; we only set breakpoints in the C library, which is most likely to be ARM. If the kernel supports clone events, we will never insert a breakpoint, so even a Thumb C library will work; so will mixing EABI/non-EABI gdbserver and application. */ (const unsigned char *) &arm_breakpoint, (const unsigned char *) &arm_eabi_breakpoint, note that the comments are no longer valid as C library can be compiled in thumb mode. When GDBserver steps over a breakpoint in arm mode function, which returns to thumb mode, GDBserver will insert arm mode breakpoint by mistake and the program will crash. GDBserver alone is unable to determine the arm/thumb mode given a PC address. See how GDB does it in arm-tdep.c:arm_pc_is_thumb. After thinking about how to teach GDBserver inserting right breakpoint (arm or thumb) for a while, I reconsider it from a different direction that it may be unreasonable to run target-side conditional breakpoint for targets without hardware single step. Pedro also pointed this out here https://sourceware.org/ml/gdb-patches/2015-04/msg00337.html This patch is to add a new target_ops hook supports_conditional_breakpoints, and only reply ";ConditionalBreakpoints+" if it is true. On linux targets, supports_conditional_breakpoints returns true if target has hardware single step, on other targets, (win32, lynx, nto, spu), set it to NULL, because conditional breakpoint is a linux-specific feature. gdb/gdbserver: 2015-05-08 Yao Qi * linux-low.c (linux_supports_conditional_breakpoints): New function. (linux_target_ops): Install new target method. * lynx-low.c (lynx_target_ops): Install NULL hook for supports_conditional_breakpoints. * nto-low.c (nto_target_ops): Likewise. * spu-low.c (spu_target_ops): Likewise. * win32-low.c (win32_target_ops): Likewise. * server.c (handle_query): Check target_supports_conditional_breakpoints. * target.h (struct target_ops) : New field. (target_supports_conditional_breakpoints): New macro. commit 2492f0d005f0390eabb3deb58aa7db7fcd716763 Author: Andreas Arnez Date: Fri May 8 12:50:47 2015 +0200 S390: Fix for inadvertently setting 24-bit mode in fill_gregset On 64-bit S390 platforms, for programs compiled with -m31, it could happen that GDB inadvertently cleared the inferior's 31-bit addressing mode bit and left the inferior running in 24-bit addressing mode. In particular this occurred with checkpoint.exp, when the "restore" command needed to create a new regcache copy: At the time when the PSWM register was copied over, the addressing mode bit was taken from the PSWA register, which was still zero since it had not been copied yet. And when the PSWA register was copied, the addressing mode was not updated again. The fix affects fill_gregset, where the bits "belonging" to each of the PSWA and PSWM registers are now carefully separated. The addressing mode bit is no longer touched when writing PSWM, and -- more importantly -- it *is* written when writing PSWA. gdb/ChangeLog: * s390-linux-nat.c (fill_gregset): Avoid relying on the PSWA register in the regcache when treating the PSWM register, and vice versa. commit 63fc80ce17311913e41ccb671641310e4ce29eaf Author: Andreas Arnez Date: Fri May 8 12:50:47 2015 +0200 Skip watch_thread_num.exp on targets without access watchpoints Since watch_thread_num.exp was changed to use access watchpoints, the test case fails on s390 and s390x, since those targets do not support access watchpoints. This patch skips the test case on such targets. gdb/testsuite/ChangeLog: * gdb.base/watch_thread_num.exp: Skip test on targets without access watchpoints. commit 7a261c91c8970fbcad7b00dc3e9c646319e74c50 Author: GDB Administrator Date: Fri May 8 00:00:08 2015 +0000 Automatic date update in version.in commit b084df0b8d1262fb1e969c74bcc5c61e262a6199 Author: H.J. Lu Date: Thu May 7 09:13:39 2015 -0700 Optimize branches to non-weak symbols with visibility Branches to global non-weak symbols defined in the same segment with non-default visibility can be optimized the same way as branches to local symbols. gas/ * config/tc-i386.c (elf_symbol_resolved_in_segment_p): New. (md_estimate_size_before_relax): Use it. gas/testsuite/ * gas/i386/i386.exp: Run relax-3 and x86-64-relax-2. * gas/i386/relax-3.d: New file. * gas/i386/relax-3.s: Likewise. * gas/i386/x86-64-relax-2.d: Likewise. commit 1c56a84d9bac1f6a451a89d2c6af3d7078c4290e Author: Gary Benson Date: Thu May 7 15:41:43 2015 +0100 Remove unused td_ta_map_id2thr code linux-thread-db.c initializes td_ta_map_id2thr but never uses it. This commit removes this dead code. gdb/ChangeLog: * linux-thread-db.c (struct thread_db_info) : Remove field. (try_thread_db_load_1): Remove initialization for the above. commit 74850322e4882a195c92d5968defd93fe3deb75e Author: Gary Benson Date: Thu May 7 14:52:59 2015 +0100 Remove unused td_thr_validate code linux-thread-db.c initializes td_thr_validate but never uses it. This commit removes this dead code. gdb/ChangeLog: * linux-thread-db.c (struct thread_db_info) : Remove field. (try_thread_db_load_1): Remove initialization for the above. commit 187032dbb8cc15a4a13243a89b32ba8c51e95a4e Author: GDB Administrator Date: Thu May 7 00:00:08 2015 +0000 Automatic date update in version.in commit e26efa4066a5076f59427c927cc51c52b6b92f35 Author: Jan Kratochvil Date: Wed May 6 20:59:19 2015 +0200 compile: Support relocation to GNU-IFUNCs Calling memcpy() could fail as memcpy() from libc is GNU-IFUNC. gdb/ChangeLog 2015-05-06 Jan Kratochvil * compile/compile-object-load.c (compile_object_load): Support mst_text_gnu_ifunc. commit 851c90917fff745b94e29c1fec4f3d00ca36f598 Author: Jan Kratochvil Date: Wed May 6 20:57:41 2015 +0200 Code cleanup: compile: Constify some parameters gdb/ChangeLog 2015-05-06 Jan Kratochvil * compile/compile.c (compile_to_object): Make the cmd_string parameter const. Use new variables for the const compatibility. (eval_compile_command): Make the cmd_string parameter const. * compile/compile.h (eval_compile_command): Make the cmd_string parameter const. commit 80ad801e90b5bd389ec156d37e28228fcbca128c Author: Pedro Alves Date: Wed May 6 18:50:03 2015 +0100 PR server/18081: gdbserver crashes when providing an unexisting binary $ ./gdbserver :1234 blah Process blah created; pid = 16471 Cannot exec blah: No such file or directory. Child exited with status 127 Killing process(es): 16471 ../../../../src/binutils-gdb/gdb/gdbserver/linux-low.c:920: A problem internal to GDBserver has been detected. kill_wait_lwp: Assertion `res > 0' failed. GDBserver shouldn't even be trying to kill that process. GDBserver kills or detaches from all processes on exit, and due to a missing mourn_inferior call, GDBserver tries to kill the process that it had already seen exit. Tested on x86_64 Fedora 20. New test included. I emulated what Windows outputs by hacking an error call in linux_create_inferior. gdb/gdbserver/ChangeLog: 2015-05-06 Pedro Alves PR server/18081 * server.c (start_inferior): If the process exits, mourn it. gdb/testsuite/ChangeLog: 2015-05-06 Pedro Alves PR server/18081 * gdb.server/non-existing-program.exp: New file. commit f218b647aa21168473b973e3459258ba21ba8fbc Author: Joel Brobecker Date: Wed May 6 10:40:52 2015 -0700 Get rid of deprecated_init_ui_hook This hook is no longer used, and can therefore be eliminated. gdb/ChangeLog: * defs.h (deprecated_init_ui_hook): Delete. Remove associated comment. * top.c (deprecated_init_ui_hook): Delete. (gdb_init): Remove handling of deprecated_init_ui_hook. * interps.c (clear_interpreter_hooks): Remove handling of deprecated_init_ui_hook. * main.c (captured_main): Update comment. commit b30a0bc387d63a28362bb08c351da32b50228530 Author: Joel Brobecker Date: Sat May 2 04:46:47 2015 -0700 Make the "info dll" command available on all platform. The "info dll", an alias of the "info sharedlibrary" command, is currently only defined in windows native versions. This patch makes it universally available by moving the alias declaration to solib.c, and adjusts the documentation accordingly. Making it universally available has two benefits: - Windows users moving to a Unix platforms are still able to use the same command for getting the list of shared libraries; - Unix to Windows cross debuggers now provide that command also. gdb/ChangeLog: * solib.c (_initialize_solib): Add "info dll" alias creation. * windows-nat.c (set_windows_aliases): Delete. (_initialize_windows_nat): Remove deprecated_init_ui_hook assignment. * NEWS: Add news entry about "info dll" now being available on all platforms. gdb/doc/ChangeLog: * gdb.texinfo (Files): Add "info dll" documentation. (Cygwin Native): Remove "info dll" documentation. commit 0d495746bb7ac93f3270443cae4117d6ae69ea05 Author: Jose E. Marchesi Date: Fri May 1 10:16:59 2015 -0700 gas: typo in comment fixed. gas/ChangeLog: 2015-05-06 Jose E. Marchesi * config/tc-sparc.c: Typo in comment fixed. commit 9e85c798e3f1314711e0a1c7f85780d52c6f9c75 Author: Jose E. Marchesi Date: Fri May 1 10:14:11 2015 -0700 gas: added tests for the sparc natural instructions. gas/ChangeLog: 2015-05-06 Jose E. Marchesi * gas/sparc/natural-32.d: Test ldn, ldna, stn, stna, slln, srln, sran, casn, casna and clrn. * gas/sparc/natural-32.s: Likewise. * gas/sparc/natural.s: Likewise. * gas/sparc/natural.d: Likewise. commit f9911bebcab64889ec7ab3571305081741aa03e4 Author: Jose E. Marchesi Date: Thu Apr 30 17:17:20 2015 -0700 gas: support for the sparc %ncc condition codes register. gas/ChangeLog: 2015-05-06 Jose E. Marchesi * config/tc-sparc.c (sparc_ip): Support the %ncc "natural" condition codes * doc/c-sparc.texi (Sparc-Regs): Document %ncc. gas/testsuite/ChangeLog: 2015-05-06 Jose E. Marchesi * gas/sparc/natural.s: New file. * gas/sparc/natural-32.s: Likewise. * gas/sparc/natural.d: Likewise. * gas/sparc/natural-32.d: Likewise. * gas/sparc/sparc.exp (sparc_elf_setup): Run the tests natural and natural-32. commit 9ac47a43ffc8e3c73867b9953145a8e7a227132d Author: Toni Spets Date: Wed May 6 14:18:34 2015 +0100 Skip discarded resource sections when building a PE resource table. PR ld/18372 * peXXigen.c (rsrc_process_section): Skip discarded resource sections. commit ed1fcdd119b422267d0ae54f216bd3f63cdc6425 Author: Nick Clifton Date: Wed May 6 13:13:10 2015 +0100 Update GAS documentation to note that dollar local labels are only supported on some targets. * doc/as.texinfo (Dollar Local Labels): Note that these are only supported on some targets. commit 448eb63d72d960524ffe169f08419daf590b86d7 Author: Renlin Li Date: Wed May 6 12:18:19 2015 +0100 [AArch64] Record instruction alignment for .inst directive 2015-05-06 Renlin Li gas/ * config/tc-aarch64.c (mapping_state): Recording alignment before exit. gas/testsuite/ * gas/aarch64/codealign_1.s: New. * gas/aarch64/codealign_1.d: New. commit 03bbcd1c7a7b76888969861686788c34858f4f67 Author: GDB Administrator Date: Wed May 6 00:00:09 2015 +0000 Automatic date update in version.in commit 7c5127443be1d3d0477b3b1d25875023992409bc Author: Joel Brobecker Date: Fri Jan 30 16:33:04 2015 +0400 Further document ada-lang.c::value_assign_to_component & fix whitespaces. This patch improves the documentation of ada-lang.c's value_assign_to_component to publish the fact that it also works with not_lval values. And touching this area of the code showed that there were a number of whitespace issues, as well as a formatting issue of the main comment (no leading '*' on each line). This patch fixes those while at it. No functional change, however. gdb/ChangeLog: * ada-lang.c (value_assign_to_component): Reformat and improve documentation. Remove all trailing spaces. commit 0fa7fe506c242b459c4c05d331e7c7d66fb52390 Author: Joel Brobecker Date: Tue Apr 21 10:34:04 2015 -0700 out of line functions nested inside inline functions. This patch improves the handling of out-of-line functions nested inside functions that have been inlined. Consider for instance a situation where function Foo_O224_021 has a function Child1 declared in it, which itself has a function Child2 nested inside Child1. After compiling the program with optimization on, Child1 gets inlined, but not Child2. After inserting a breakpoint on Child2, and running the program until reaching that breakpoint, we get the following backtrace: % gdb foo_o224_021 (gdb) break foo_o224_021.child1.child2 (gdb) run [...] Breakpoint 1, foo_o224_021 () at foo_o224_021.adb:28 28 Child1; (gdb) bt #0 0x0000000000402400 in foo_o224_021 () at foo_o224_021.adb:28 #1 0x00000000004027a4 in foo_o224_021.child1 () at foo_o224_021.adb:23 #2 0x00000000004027a4 in foo_o224_021 () at foo_o224_021.adb:28 GDB reports the wrong function name for frame #0. We also get the same kind of error in the "Breakpoint 1, foo_o224_021 () [...]" message. In both cases, the function name should be foo_o224_021.child1.child2, and the parameters should be "s=...". What happens is that the inlined frame handling does not handle well the case where an inlined function is calling an out-of-line function which was declared inside the inlined function's scope. In particular, looking first at the inlined-frame sniffer when applying to frame #0: /* Calculate DEPTH, the number of inlined functions at this location. */ depth = 0; cur_block = frame_block; while (BLOCK_SUPERBLOCK (cur_block)) { if (block_inlined_p (cur_block)) depth++; cur_block = BLOCK_SUPERBLOCK (cur_block); } What happens is that cur_block starts as the block associated to child2, which is not inlined. We shoud be stopping here, but instead, we keep walking the superblock chain, which takes us all the way to Foo_O224_021's block, via Child2's block. And since Child1 was inlined, we end up with a depth count of 1, wrongly making GDB think that frame #0 is an inlined frame. Same kind of issue inside skip_inline_frames. The fix is to stop checking for inlined frames as soon as we see a block corresponding to a function which is not inlined. This is the behavior we now obtain: (gdb) run [...] Breakpoint 1, foo_o224_021.child1.child2 (s=...) at foo_o224_021.adb:9 9 function Child2 (S : String) return Boolean is (gdb) bt #0 0x0000000000402400 in foo_o224_021.child1.child2 (s=...) at foo_o224_021.adb:9 #1 0x00000000004027a4 in foo_o224_021.child1 () at foo_o224_021.adb:23 #2 0x00000000004027a4 in foo_o224_021 () at foo_o224_021.adb:28 gdb/ChangeLog: * inline-frame.c (inline_frame_sniffer, skip_inline_frames): Stop counting inlined frames as soon as an out-of-line function is found. gdb/testsuite/ChangeLog: * gdb.ada/out_of_line_in_inlined.exp: Add run and "bt" tests. commit 3ea89b92fb0765075a27a3a0239552ae880722ff Author: Pierre-Marie de Rodat Date: Mon Apr 20 17:53:00 2015 +0200 DWARF: cannot break on out-of-line function nested inside inlined function. Consider the following code, which defines a function, Child2, which is itself nested inside Child1: procedure Foo_O224_021 is O1 : constant Object_Type := Get_Str ("Foo"); procedure Child1 is O2 : constant Object_Type := Get_Str ("Foo"); function Child2 (S : String) return Boolean is -- STOP begin for C of S loop Do_Nothing (C); if C = 'o' then return True; end if; end loop; return False; end Child2; R : Boolean; begin R := Child2 ("Foo"); R := Child2 ("Bar"); R := Child2 ("Foobar"); end Child1; begin Child1; end Foo_O224_021; On x86_64-linux, when compiled at -O2, GDB is unable to insert a breakpoint on Child2: % gnatmake -g -O2 foo_o224_021 % gdb foo_o224_021 (gdb) b child2 Function "child2" not defined. (gdb) b foo_o224_021.child1.child2 Function "foo_o224_021.child1.child2" not defined. The problem is caused by the fact that GDB did not create a symbol for Child2, and this, in turn, is caused by the fact that the compiler decided to inline Child1, but not Child2. The DWARF debugging info first provides an abstract instance tree for Child1... <3><1b7b>: Abbrev Number: 29 (DW_TAG_subprogram) <1b7c> DW_AT_name : (indirect string, offset: 0x23f8): foo_o224_021__child1 <1b82> DW_AT_inline : 1 (inlined) <1b83> DW_AT_sibling : <0x1c01> ... where that subprogram is given the DW_AT_inline attribute. Inside that function there is a lexical block which has no PC range (corresponding to the fact that this is the abstract tree): <4><1b87>: Abbrev Number: 30 (DW_TAG_lexical_block) ... inside which our subprogram Child2 is described: <5><1b92>: Abbrev Number: 32 (DW_TAG_subprogram) <1b93> DW_AT_name : (indirect string, offset: 0x2452): foo_o224_021__child1__child2 <1b99> DW_AT_type : <0x1ab1> <1b9d> DW_AT_low_pc : 0x402300 <1ba5> DW_AT_high_pc : 0x57 [...] Then, later on, we get the concrete instance tree, starting at: <3><1c5e>: Abbrev Number: 41 (DW_TAG_inlined_subroutine) <1c5f> DW_AT_abstract_origin: <0x1b7b> <1c63> DW_AT_entry_pc : 0x4025fd <1c6b> DW_AT_ranges : 0x150 ... which refers to Child1. One of that inlined subroutine children is the concrete instance of the empty lexical block we saw above (in the abstract instance tree), which gives the actual address range for this inlined instance: <5><1c7a>: Abbrev Number: 43 (DW_TAG_lexical_block) <1c7b> DW_AT_abstract_origin: <0x1b87> <1c7f> DW_AT_ranges : 0x180 This is the DIE which provides the context inside which we can record Child2. But unfortunately, GDB does not take the abstract origin into account when handling lexical blocks, causing it to miss the fact that this block contains some symbols described in the abstract instance tree. This is the first half of this patch: modifying GDB to follow DW_AT_abstract_origin attributes for lexical blocks. But this not enough to fix the issue, as we're still unable to break on Child2 with just that change. The second issue can be traced to the way inherit_abstract_dies determines the list of DIEs to inherit from. For that, it iterates over all the DIEs in the concrete instance tree, and finds the list of DIEs from the abstract instance tree that are not referenced from the concrete instance tree. As it happens, there is one type of DIE in the concrete instance tree which does reference Child2's DIE, but in fact does otherwise define a concrete instance of the reference DIE; that's (where <0x1b92> is Child2's DIE): <6><1d3c>: Abbrev Number: 35 (DW_TAG_GNU_call_site) <1d3d> DW_AT_low_pc : 0x4026a4 <1d45> DW_AT_abstract_origin: <0x1b92> So, the second part of the patch is to modify inherit_abstract_dies to ignore DW_TAG_GNU_call_site DIEs when iterating over the concrete instance tree. This patch also includes a testcase which can be used to reproduce the issue. Unfortunately, for it to actually pass, a smal patch in GCC is also necessary to make sure that GCC provides lexical blocks' DW_AT_abstract_origin attributes from the concrete tree back to the abstract tree. We hope to be able to submit and integrate that patch in the GCC tree soon. Meanwhile, a setup_xfail has been added. gdb/ChangeLog: 2014-05-05 Pierre-Marie de Rodat * dwarf2read.c (inherit_abstract_dies): Skip DW_TAG_GNU_call_site dies while inheriting children of an abstract DIE into a scope. (read_lexical_block_scope): Inherit abstract DIE's for lexical scopes. gdb/testsuite/ChangeLog: * gdb.ada/out_of_line_in_inlined: New testcase. commit 2478d075da8f728137bbdaa68b049051c74f4254 Author: Joel Brobecker Date: Thu Apr 30 23:04:25 2015 +0200 compare object sizes before comparing them with value_contents_eq This is an issue which I noticed while working on trying to print an array of variant records. For instance, trying to print "A1", an array of elements whose size is variable, defined as follow (see gdb.ada/var_rec_arr testcase): subtype Small_Type is Integer range 0 .. 10; type Record_Type (I : Small_Type := 0) is record S : String (1 .. I); end record; function Ident (R : Record_Type) return Record_Type; type Array_Type is array (Integer range <>) of Record_Type; A1 : Array_Type := (1 => (I => 0, S => <>), 2 => (I => 1, S => "A"), 3 => (I => 2, S => "AB")); The debugger sometimes prints the array as follow: (gdb) print A1 $1 = ((i => 0, s => ""), (i => 0, s => ""), (i => 0, s => "")) The problem happens inside the part of the loop printing the array's elements, while trying to count the number of consecutive elements that have the same value (in order to replace them by the "" message when the number exceeds a threshold). In particular, in ada-valprint.c::val_print_packed_array_elements: elttype = TYPE_TARGET_TYPE (type); eltlen = TYPE_LENGTH (check_typedef (elttype)); while (...) { if (!value_contents_eq (v0, value_embedded_offset (v0), v1, value_embedded_offset (v1), eltlen)) break; The value comparison is performed using value_contents_eq but makes the assumption that elttype is not dynamic, which is not always true. In particular, in the case above, elttype is dynamic and therefore its TYPE_LENGTH changes from element to element. As it happens in this case, the eltlen is zero, which causes the call to value_contents_eq to return true, and therefore GDB thinks all 3 elements of the array are equal. This patch fixes the issue by making sure that both v0 and v1, which are values whose type we expect to be resolved, have identical lengths. If not, then the two elements of the array cannot possibly have the same value and we do not even need to do the binary comparison. Unfortunately, this is still not enough to get GDB to print the correct value for our array, because the assumption that v0 and v1 have a type which has been resolved is actually not met. So, the second part of the patch modifies the function that constructed the values to make sure dynamic types do get resolved. gdb/ChangeLog: * ada-valprint.c (val_print_packed_array_elements): Delete variable "len". Add a type-length check when comparing two consecutive elements of the array. Use the element's actual length in call to value_contents_eq. * ada-lang.c (ada_value_primitive_packed_val): Always return a value whose type has been resolved. commit 87b8eff03fa5cd49c4829656c3d36bb3386dd6be Author: Joel Brobecker Date: Tue Apr 21 08:32:52 2015 -0700 testsuite/gdb.ada/var_rec_arr: New testcase. gdb/testsuite/ChangeLog: * gdb.ada/var_rec_arr: New testcase. commit fc958966e47f622d738088509bacd0573a9db2c7 Author: Joel Brobecker Date: Tue Apr 14 11:55:57 2015 -0700 GDB crash trying to subscript array of variant record. Consider the following declarations: subtype Small_Type is Integer range 0 .. 10; type Record_Type (I : Small_Type := 0) is record S : String (1 .. I); end record; A2 : Array_Type := (1 => (I => 2, S => "AB"), 2 => (I => 1, S => "A"), 3 => (I => 0, S => <>)); Compiled with -fgnat-encodings=minimal, and trying to print one element of our array, valgrind reports an invalid memory access. On certain GNU/Linux boxes, malloc even reports it as well, and causes GDB to crash. (gdb) print a2(1) *** glibc detected *** /[...]/gdb: malloc(): memory corruption: 0x0a30ba48 *** [crash] The invalid memory access occurs because of a simple buffer overflow in ada_value_primitive_packed_val. When this function is called, it is given a bit_size of 128 (or 16 bytes), which corresponds to the stride of our array. But the actual size of each element depends on its value. In particular, A2(1) is a record whose size is only 6 bytes. What happens in our example is that we start building a new value (v) where the element is to be unpacked, with any of its dynamic properties getting resolved as well. We then unpack the data into this value's buffer: unpacked = (unsigned char *) value_contents (v); [...] nsrc = len; [...] while (nsrc > 0) { [...] unpacked[targ] = accum & ~(~0L << HOST_CHAR_BIT); [...] targ += delta; [...] nsrc -= 1; [...] } In the loop above, targ starts at zero (for LE architectures), and len is 16. With delta being +1, we end up iterating 16 times, writing 16 bytes into a 6-bytes buffer. This patch fixes the issue by adjusting BIT_SIZE and recomputing LEN after having resolved our type if the resolved type turns out to be smaller than bit_size. gdb/ChangeLog: * ada-lang.c (ada_value_primitive_packed_val): Recompute BIT_SIZE and LEN if the size of the resolved type is smaller than BIT_SIZE * HOST_CHAR_BIT. commit ca34b84ff68f5823e215a4d0b44b92f35cbb74a5 Author: Joel Brobecker Date: Thu Apr 2 11:09:15 2015 -0700 [Ada] array of variant record subscripting Consider the following (Ada) array... A1 : Array_Type := (1 => (I => 0, S => <>), 2 => (I => 1, S => "A"), 3 => (I => 2, S => "AB")); ... where Array_Type is declared as follow: subtype Small_Type is Integer range 0 .. 10; type Record_Type (I : Small_Type := 0) is record S : String (1 .. I); end record; type Array_Type is array (Integer range <>) of Record_Type; Trying to print the value of each element individually does not always work. Printing the value of the first one does: (gdb) p a1(1) $1 = (i => 0, s => "") But printing the value of the subsequent ones often does not. For instance: (gdb) p a1(2) $2 = (i => 1, s => "") <<<--- s should be "A" (gdb) p a1(3) $3 = (i => 2, s => "") <<<--- s should be "AB" I traced the problem to ada_value_primitive_packed_val, which is trying to perform the array subscripting by extracting the value of the corresponding array element into a buffer where the contents is now byte-aligned. The element type that ada_value_primitive_packed_val gets passed is a dynamic type. As it happens, that dynamic type can get resolved thanks to: v = value_at (type, value_address (obj)); type = value_type (v); However, obj represents the array, so the address given in the call to value_at represents the value of the first element. As a result, the solution of component S's upper bound always gets resolved based on the value of component I in the first element of the array, whose value is 0, thus leading to GDB mistakely resolving the element type where S's upper bound is always 0. The proper fix would be to systematically resolve the element type first. But, this requires us to extract-and-realign the element's value so as to be able to pass it as "valaddr" to resolve_dynamic_type. In the meantime, it's easy to make the situation a little better by passing "value_address (obj) + offset" as the object address. This only works when BIT_OFFSET is nul, but that should be the case when the element type is anything but a scalar, which seems to be the only situation where it seems important to resolve the type now. And we're not that worse off otherwise. But we'll try to find a better solution in a separate patch. gdb/ChangeLog: * ada-lang.c (ada_value_primitive_packed_val): Use a more correct address in call to value_at. Adjust call to value_address accordingly. commit 62c67f3c1a10e4082641bafb7e7fd80c93b526b4 Author: Joel Brobecker Date: Wed Apr 1 15:46:54 2015 -0700 [Ada] Resolve dynamic type before trying to print it. This is another required step towards trying to print the value of an array of variant records. For instance: A1 : Array_Type := (1 => (I => 0, S => <>), 2 => (I => 1, S => "A"), 3 => (I => 2, S => "AB")); ... where Array_Type is an array of records whose size is variable: subtype Small_Type is Integer range 0 .. 10; type Record_Type (I : Small_Type := 0) is record S : String (1 .. I); end record; type Array_Type is array (Integer range <>) of Record_Type; What happens is that the ada-valprint modules gets passed an array whose element type is not resolved yet (since each element of the array needs to be resolved separately). the module then recurses, and eventually gets called with the first element of the array. But because the element hasn't been resolved yet, we end up having trouble printing its value soon after. This patch fixes the issue by calling resolve_dynamic_type before trying to print it. With this patch, GDB is finally able to print the complete value for variable "A1": (gdb) p a1 $1 = ((i => 0, s => ""), (i => 1, s => "A"), (i => 2, s => "AB")) gdb/ChangeLog: * ada-valprint.c (ada_val_print_1): Resolve TYPE before trying to print it. commit c3345124196f9d0439db35c16b5d24d1a305ccdd Author: Joel Brobecker Date: Wed Apr 1 10:00:13 2015 -0700 Add valaddr support in dynamic property resolution. This is the second part of enhancing the debugger to print the value of arrays of records whose size is variable when only standard DWARF info is available (no GNAT encoding). For instance: subtype Small_Type is Integer range 0 .. 10; type Record_Type (I : Small_Type := 0) is record S : String (1 .. I); end record; type Array_Type is array (Integer range <>) of Record_Type; A1 : Array_Type := (1 => (I => 0, S => <>), 2 => (I => 1, S => "A"), 3 => (I => 2, S => "AB")); Currently, GDB prints the following output: (gdb) p a1 $1 = ( The error happens while the ada-valprint module is trying to print the value of an element of our array. Because of the fact that the array's element (type Record_Type) has a variant size, the DWARF info for our array provide the array's stride: <1><749>: Abbrev Number: 10 (DW_TAG_array_type) <74a> DW_AT_name : (indirect string, offset: 0xb6d): pck__T18s <74e> DW_AT_byte_stride : 16 <74f> DW_AT_type : <0x6ea> And because our array has a stride, ada-valprint treats it the same way as packed arrays (see ada-valprint.c::ada_val_print_array): if (TYPE_FIELD_BITSIZE (type, 0) > 0) val_print_packed_array_elements (type, valaddr, offset_aligned, 0, stream, recurse, original_value, options); The first thing that we should notice in the call above is that the "valaddr" buffer and the associated offset (OFFSET_ALIGNED) is passed, but that the corresponding array's address is not. This can be explained by looking inside val_print_packed_array_elements, where we see that the function unpacks each element of our array from the buffer alone (ada_value_primitive_packed_val), and then prints the resulting artificial value instead: v0 = ada_value_primitive_packed_val (NULL, valaddr + offset, (i0 * bitsize) / HOST_CHAR_BIT, (i0 * bitsize) % HOST_CHAR_BIT, bitsize, elttype); [...] val_print (elttype, value_contents_for_printing (v0), value_embedded_offset (v0), 0, stream, recurse + 1, v0, &opts, current_language); Of particular interest, here, is the fact that we call val_print with a null address, which is OK, since we're providing a buffer instead (value_contents_for_printing). Also, providing an address might not always possible, since packing could place elements at boundaries that are not byte-aligned. Things go south when val_print tries to see if there is a pretty-printer that could be applied. In particular, one of the first things that the Python pretty-printer does is to create a value using our buffer, and the given address, which in this case is null (see call to value_from_contents_and_address in gdbpy_apply_val_pretty_printer). value_from_contents_and_address, in turn immediately tries to resolve the type, using the given address, which is null. But, because our array element is a record containing an array whose bound is the value of one of its elements (the "s" component), the debugging info for the array's upper bound is a reference... <3><71a>: Abbrev Number: 7 (DW_TAG_subrange_type) <71b> DW_AT_type : <0x724> <71f> DW_AT_upper_bound : <0x703> ... to component "i" of our record... <2><703>: Abbrev Number: 5 (DW_TAG_member) <704> DW_AT_name : i <706> DW_AT_decl_file : 2 <707> DW_AT_decl_line : 6 <708> DW_AT_type : <0x6d1> <70c> DW_AT_data_member_location: 0 ... where that component is located at offset 0 of the start of the record. dwarf2_evaluate_property correctly determines the offset where to load the value of the bound from, but then tries to read that value from inferior memory using the address that was given, which is null. See case PROP_ADDR_OFFSET in dwarf2_evaluate_property: val = value_at (baton->offset_info.type, pinfo->addr + baton->offset_info.offset); This triggers a memory error, which then causes the printing to terminate. Since there are going to be situations where providing an address alone is not going to be sufficient (packed arrays where array elements are not stored at byte boundaries), this patch fixes the issue by enhancing the type resolution to take both address and data. This follows the same principle as the val_print module, where both address and buffer ("valaddr") can be passed as arguments. If the data has already been fetched from inferior memory (or provided by the debugging info in some form -- Eg a constant), then use that data instead of reading it from inferior memory. Note that this should also be a good step towards being able to handle dynamic types whose value is stored outside of inferior memory (Eg: in a register). With this patch, GDB isn't able to print all of A1, but does perform a little better: (gdb) p a1 $1 = ((i => 0, s => , (i => 1, s => , (i => 2, s => ) There is another issue which is independent of this one, and will therefore be patched separately. gdb/ChangeLog: * dwarf2loc.h (struct property_addr_info): Add "valaddr" field. * dwarf2loc.c (dwarf2_evaluate_property): Add handling of pinfo->valaddr. * gdbtypes.h (resolve_dynamic_type): Add "valaddr" parameter. * gdbtypes.c (resolve_dynamic_struct): Set pinfo.valaddr. (resolve_dynamic_type_internal): Set pinfo.valaddr. Add handling of addr_stack->valaddr. (resolve_dynamic_type): Add "valaddr" parameter. Set pinfo.valaddr field. * ada-lang.c (ada_discrete_type_high_bound): Update call to resolve_dynamic_type. (ada_discrete_type_low_bound): Likewise. * findvar.c (default_read_var_value): Likewise. * value.c (value_from_contents_and_address): Likewise. commit 75ea58593b839653b6d2bc69571a8a73e8adebe4 Author: Joel Brobecker Date: Tue Mar 31 07:59:35 2015 -0700 preserve the bit stride when resolving an array type. Consider the following (Ada) variable... A1 : Array_Type := (1 => (I => 0, S => <>), 2 => (I => 1, S => "A"), 3 => (I => 2, S => "AB")); ... where Array_Type is an array of records whose size is variable: subtype Small_Type is Integer range 0 .. 10; type Record_Type (I : Small_Type := 0) is record S : String (1 .. I); end record; type Array_Type is array (Integer range <>) of Record_Type; Trying to print the value of this array currently results in the following error: (gdb) p a1 Cannot access memory at address 0x61c000 What happens in this case, is that the compiler describes our array as an array with a specific stride (and bounds being static 1..3): <1><749>: Abbrev Number: 10 (DW_TAG_array_type) <74a> DW_AT_name : (indirect string, offset: 0xb6d): pck__T18s <74e> DW_AT_byte_stride : 16 <74f> DW_AT_type : <0x6ea> <2><757>: Abbrev Number: 11 (DW_TAG_subrange_type) <758> DW_AT_type : <0x75e> <75c> DW_AT_upper_bound : 3 This is because we cannot use, in this case, the size of the record to determine that stride, since the size of the record depends on its contents. So the compiler helps us by providing that stride. The problems start when trying to resolve that type. Because the elements contained in that array type are dynamic, the array itself is considered dynamic, and thus we end up creating a resolved version of that array. And during that resolution, we were not handling the case where the array had a stride. See gdbtypes.c::resolve_dynamic_array... return create_array_type (copy_type (type), elt_type, range_type); As a result, we created an array whose stride was based on the size of elt_type, which a record whose size isn't static and irrelevant regardless. This patch fixes is by calling create_array_type_with_stride instead. As it happens, there is another issue for us to be able to print the value of our array, but those are independent of this patch and will be handled separately. For now, the patch allows us to get rid of the first error, and the output is now: (gdb) p a1 $1 = ( gdb/ChangeLog: * gdbtypes.c (resolve_dynamic_array): Use create_array_type_with_stride instead of create_array_type. commit c7ad08e6e5ff0768f5f0aeed12864a7bab588386 Author: Renlin Li Date: Tue May 5 17:48:18 2015 +0100 [AARCH64] Positively emit symbols for alignment 2015-05-05 Renlin Li gas/ * config/tc-aarch64.c (aarch64_init_frag): Always generate mapping symbols. gas/testsuite/ * gas/aarch64/mapping_5.d: New. * gas/aarch64/mapping_5.s: New. * gas/aarch64/mapping_6.d: New. * gas/aarch64/mapping_6.s: New. commit 837a17b36c9e297f4bf33727e25dfa9f38360c17 Author: Nick Clifton Date: Tue May 5 13:38:00 2015 +0100 Add support to the MSP430 linker for the automatic placement of code and data into either low or high memory regions. gas * config/tc-msp430.c (MAX_OP_LEN): Increase to 4096. (msp430_make_init_symbols): New function. (msp430_section): Call it. (msp430_frob_section): Likewise. ld * emulparams/msp430elf.sh (TEMPLATE_NAME): Change to msp430. * scripttempl/msp430.sc (.text): Add .lower.text and .either.text. (.data): Add .lower.data and .either.data. (.bss): Add .lower.bss and .either.bss. (.rodata): Add .lower.rodata and .either.rodata. * emultempl/msp430.em: New file. Implements a new orphan placement algorithm that divides sections between lower and upper memory regions. * Makefile.am (emsp430elf.c): Depend upon msp430.em. *emsp430X.c): Likewise. * Makefine.in: Regenerate. commit b76f99d702c3501ac320396ea06bc7f9237173c3 Author: Max Filippov Date: Fri May 1 11:39:12 2015 +0300 xtensa: optimize trampolines relaxation Currently every fixup in the current segment is checked when relaxing trampoline frag. This is very expensive. Make a searchable array of fixups pointing at potentially oversized jumps at the beginning of every relaxation pass and only check subset of this cache in the reach of single jump from the trampoline frag currently being relaxed. Original profile: % time self children called name ----------------------------------------- 370.16 593.38 12283048/12283048 relax_segment 98.4 370.16 593.38 12283048 xtensa_relax_frag 58.91 269.26 2691463834/2699602236 xtensa_insnbuf_from_chars 68.35 68.17 811266668/813338977 S_GET_VALUE 36.85 29.51 2684369246/2685538060 xtensa_opcode_decode 28.34 8.84 2684369246/2685538060 xtensa_format_get_slot 12.39 5.94 2691463834/2699775044 xtensa_format_decode 0.03 4.60 4101109/4101109 relax_frag_for_align 0.18 1.76 994617/994617 relax_frag_immed 0.07 0.09 24556277/24851220 new_logical_line 0.06 0.00 12283048/14067410 as_where 0.04 0.00 7094588/15460506 xtensa_format_num_slots 0.00 0.00 1/712477 xtensa_insnbuf_alloc ----------------------------------------- Same data, after optimization: % time self children called name ----------------------------------------- 0.51 7.47 12283048/12283048 relax_segment 58.0 0.51 7.47 12283048 xtensa_relax_frag 0.02 4.08 4101109/4101109 relax_frag_for_align 0.18 1.39 994617/994617 relax_frag_immed 0.01 0.98 555/555 xtensa_cache_relaxable_fixups 0.21 0.25 7094588/16693271 xtensa_insnbuf_from_chars 0.06 0.12 24556277/24851220 new_logical_line 0.06 0.00 7094588/15460506 xtensa_format_num_slots 0.02 0.04 7094588/16866079 xtensa_format_decode 0.05 0.00 12283048/14067410 as_where 0.00 0.00 1/712477 xtensa_insnbuf_alloc 0.00 0.00 93808/93808 xtensa_find_first_cached_fixup ----------------------------------------- 2015-05-02 Max Filippov gas/ * config/tc-xtensa.c (cached_fixupS, fixup_cacheS): New typedefs. (struct cached_fixup, struct fixup_cache): New structures. (fixup_order, xtensa_make_cached_fixup), (xtensa_realloc_fixup_cache, xtensa_cache_relaxable_fixups), (xtensa_find_first_cached_fixup, xtensa_delete_cached_fixup), (xtensa_add_cached_fixup): New functions. (xtensa_relax_frag): Cache fixups pointing at potentially oversized jumps at the beginning of every relaxation pass. Only check subset of this cache in the reach of single jump from the trampoline frag currently being relaxed. commit e1765cdae248853eeaa56459057cf0c712c70922 Author: GDB Administrator Date: Tue May 5 00:00:07 2015 +0000 Automatic date update in version.in commit 44b3de870e9ae54a6e4b55277040f9b267d026e8 Author: GDB Administrator Date: Mon May 4 00:00:08 2015 +0000 Automatic date update in version.in commit 01a97082d0e93bd3ae7811908ce5466fc37101ec Author: GDB Administrator Date: Sun May 3 00:00:07 2015 +0000 Automatic date update in version.in commit efc6fa128f00d61014f56530724767ea048bf594 Author: Cary Coutant Date: Sat May 2 08:40:09 2015 -0700 Change Section_id type to use Relobj* instead of Object*. 2015-04-29 Cary Coutant Rafael Ávila de Espíndola gold/ * gc.h (Garbage_collection::is_section_garbage): Change Object* to Relobj*. (Garbage_collection::add_reference): Likewise. (Garbage_collection::gc_process_relocs): Likewise. Don't push object/shndx pair onto *secvec for dynamic objects. Don't follow relocations pointing to dynamic objects for GC. * icf.cc (Icf::find_identical_sections): Change Object* to Relobj*. (Icf::unfold_section): Likewise. (Icf::is_section_folded): Likewise. (Icf::get_folded_section): Likewise. * icf.h: (Icf::get_folded_section): Likewise. (Icf::unfold_section): Likewise. (Icf::is_section_folded): Likewise. (Icf::section_has_function_pointers): Likewise. (Icf::set_section_has_function_pointers): Likewise. * object.h (Section_id): Likewise. (Const_section_id): Likewise. * output.cc (Output_section::update_section_layout): Likewise. * output.h: (Output_section_lookup_maps::find_relaxed_input_section): Likewise. * plugin.cc (update_section_order): Likewise. (unique_segment_for_sections): Likewise. * powerpc.cc (Powerpc_relobj::add_reference): Likewise. (Target_powerpc::do_gc_add_reference): Likewise. (Target_powerpc::gc_process_relocs): Likewise. (Target_powerpc::do_gc_add_reference): Likewise. * symtab.cc (Symbol_table::is_section_folded): Likewise. (Symbol_table::gc_mark_symbol): Likewise. * symtab.h: (Symbol_table::is_section_folded): Likewise. * target.h: (Sized_target::gc_add_reference): Likewise. (Sized_target::do_gc_add_reference): Likewise. commit 0138c3463da05ebddc8d864f6f251df48c454adc Author: GDB Administrator Date: Sat May 2 00:00:08 2015 +0000 Automatic date update in version.in commit d62de9aa697946c9205bb973075ecefaf14195d7 Author: DJ Delorie Date: Fri May 1 15:08:07 2015 -0400 Fix typos in previous patch. * config/rl78-parse.y (MULU): Remove ISA_G14. (MULH, DIVHU, DIVWU, MACHI, MACH): Update error strings. commit f7d13551023d7a1aaa89a36f6a4bb197de165109 Author: H.J. Lu Date: Fri May 1 09:10:03 2015 -0700 Sync filenames.h with gcc Merge with gcc: 2014-11-11 Anthony Brandon Manuel López-Ibáñez PR driver/36312 * filenames.h: Add prototype for canonical_filename_eq. commit e81d5d059b485b37a6f8cfb44e563ad8b702df07 Author: H.J. Lu Date: Fri May 1 08:33:55 2015 -0700 Configure zlib with --enable-host-shared for shared bfd When bfd is configured as a shared library, we need to configure zlib with --enable-host-shared since zlib is used by bfd. PR ld/18355 * Makefile.def: Add extra_configure_flags to host zlib. * configure.ac (extra_host_zlib_configure_flags): New. Set to --enable-host-shared When bfd is to be built as shared library. AC_SUBST. * Makefile.in: Regenerated. * configure: Likewise. commit 00923338dec84505addaf9cdeca2e9c844757824 Author: H.J. Lu Date: Fri May 1 08:29:16 2015 -0700 Remove i386_elf_emit_arch_note This x86 assembler patch: https://sourceware.org/ml/binutils/2001-11/msg00344.html generates a .note section for .arch directive so that GDB can tell which architecture an i386 binary belongs: https://sourceware.org/ml/binutils/2001-11/msg00271.html However, x86 assembly code can have any instructions. A .note section doesn't help. This patch removes it. gas/ * config/tc-i386.c (i386_elf_emit_arch_note): Removed. * config/tc-i386.h (md_end): Likewise. (i386_elf_emit_arch_note): Likewise. gas/testsuite/ * gas/i386/i386.exp: Run note. * gas/i386/note.d: New file. * gas/i386/note.s: Likewise. commit b633b7258d319687ac625da1f1b9be20e3bdaedb Author: H.J. Lu Date: Fri May 1 05:02:30 2015 -0700 Support ix86-*-elf* bfd/ * config.bfd: Support i[3-7]86-*-elf*. gas/ * configure.tgt: Support i386-*-elf*. commit d6ad7351474f5959bbccb4031cbe7590567fd67a Author: GDB Administrator Date: Fri May 1 00:00:08 2015 +0000 Automatic date update in version.in commit 0952813b0b27abe7f53a8048c0218883412e54cd Author: DJ Delorie Date: Thu Apr 30 15:25:49 2015 -0400 Make RL78 disassembler and simulator respect ISA for mul/div [gas] * config/rl78-defs.h (rl78_isa_g10): New. (rl78_isa_g13): New. (rl78_isa_g14): New. * config/rl78-parse.y (ISA_G10): New. (ISA_G13): New. (ISA_G14): New. (MULHU, MULH, MULU, DIVHU, DIVWU, MACHU, MACH): Use them. * config/tc-rl78.c (rl78_isa_g10): New. (rl78_isa_g13): New. (rl78_isa_g14): New. [gdb] * rl78-tdep.c (rl78_analyze_prologue): Pass RL78_ISA_DEFAULT to rl78_decode_opcode [include] * dis-asm.h (print_insn_rl78_g10): New. (print_insn_rl78_g13): New. (print_insn_rl78_g14): New. (rl78_get_disassembler): New. * opcode/rl78.h (RL78_Dis_Isa): New. (rl78_decode_opcode): Add ISA parameter. [opcodes] * disassemble.c (disassembler): Choose suitable disassembler based on E_ABI. * rl78-decode.opc (rl78_decode_opcode): Take ISA parameter. Use it to decode mul/div insns. * rl78-decode.c: Regenerate. * rl78-dis.c (print_insn_rl78): Rename to... (print_insn_rl78_common): ...this, take ISA parameter. (print_insn_rl78): New. (print_insn_rl78_g10): New. (print_insn_rl78_g13): New. (print_insn_rl78_g14): New. (rl78_get_disassembler): New. [sim] * rl78/cpu.c (g14_multiply): New. * rl78/cpu.h (g14_multiply): New. * rl78/load.c (rl78_load): Decode ISA completely. * rl78/main.c (main): Expand -M to include other ISAs. * rl78/rl78.c (decode_opcode): Decode based on ISA. * rl78/trace.c (rl78_disasm_fn): New. (sim_disasm_init): Reset it. (sim_disasm_one): Get correct disassembler for ISA. commit b49f93f6995a5d23c752db103902314d4e23f761 Author: H.J. Lu Date: Thu Apr 30 08:36:17 2015 -0700 Use "else if" on cpu_arch_isa * config/tc-i386.c (i386_target_format): Use "else if" on cpu_arch_isa. commit 153a27763ccc9979fdb5f342e21eb1666c8f117b Author: Nick Clifton Date: Thu Apr 30 15:57:41 2015 +0100 Fix handling of relocs for the MeP target. bfd PR 18317 * elf32-mep.c (MEPREL): Use bfd_elf_generic_reloc instead of mep_reloc. (mep_reloc): Delete unused function. bin * readelf.c (get_machine_flags): Add description of MeP flags. tests * binutils-all/objdump.exp (cpus_expected): Add MeP CPU names. commit 914082d11b5de9509491615cce448ce937e91515 Author: H.J. Lu Date: Thu Apr 30 06:52:34 2015 -0700 Undef elf_backend_post_process_headers for Solaris * elf32-i386.c (elf_backend_post_process_headers): Undef for Solaris 2. commit 8b2d793ce5ee03336d6c1d1f30b8d296cbe443de Author: Nick Clifton Date: Thu Apr 30 11:17:55 2015 +0100 GAS ARM: Warn if the user creates a symbol with the same name as an instruction. PR gas/18347 gas * config/tc-arm.c (md_undefined_symbol): Issue a warning message (if enabled) when the user creates a symbol with the same name as an ARM instruction. (flag_warn_syms): New static variable. (arm_opts): Add mwarn-syms and mno-warn-syms. * doc/c-arm.texi (ARM Options): Document the -m[no-]warn-syms options. tests * gas/arm/pr18347.s: New file: Test case. * gas/arm/pr18347.l: New file: Expected assembler output. * gas/arm/pr18347.d: New file: Test driver. commit 7ce98c164ed42df085c1b3e08c5261e02320149b Author: Nick Clifton Date: Thu Apr 30 10:13:53 2015 +0100 Adds documentation of GAS's .zero directive. PR gas/18353 * doc/as.texinfo (Zero): Add documentation of the .zero pseudo-op. commit 5fccc63539a111f4087522316819cc8a4b28c6b0 Author: Yao Qi Date: Thu Apr 30 10:08:10 2015 +0100 Skip setting HW watchpoint if skip_hw_watchpoint_multi_tests in gdb.base/break-idempotent.exp Hi, I see this fails below on arm linux native testing and remote testing with "set remote hardware-watchpoint-limit 1", rwatch global^M There are not enough available hardware resources for this watchpoint.^M (gdb) FAIL: gdb.base/break-idempotent.exp: always-inserted off: rwatch: twice: rwatch global gdb.base/break-idempotent.exp sets two breakpoints/watchpoints on the same address. GDB isn't smart enough calculate these two HW watchpoints can fit in one HW debug register, so the error message above isn't necessary (there is one HW watchpoint register on arm). Because target_ops interface can_use_hardware_watchpoint doesn't pass enough information to the target backend. Note that if I don't "set remote hardware-watchpoint-limit 1" in remote testing, this test passes without fails. However without "set remote hardware-watchpoint-limit 1", many other watchpoint tests fail. This patch is to add a check to skip_hw_watchpoint_multi_tests for rwatch and awatch. We can add such check for watch as well, but GDB is able to switch to software watchpoint if HW resource isn't available, it doesn't cause any fail, I decide not to skip. gdb/testsuite: 2015-04-30 Yao Qi * gdb.base/break-idempotent.exp: If skip_hw_watchpoint_multi_tests returns true, skip the tests on "rwatch" and "awatch". commit 42d38f42dc1cdee90052db9aab54da8149ea2ee3 Author: Yao Qi Date: Thu Apr 30 09:55:06 2015 +0100 Skip gdb.base/relativedebug.exp if libc doesn't have debug info Hi, I see the fail in gdb.base/relativedebug.exp on aarch64 box on which glibc doesn't have debug info, bt^M #0 0x0000002000061a88 in raise () from /lib/aarch64-linux-gnu/libc.so.6^M #1 0x0000002000064efc in abort () from /lib/aarch64-linux-gnu/libc.so.6^M #2 0x0000000000400640 in handler (signo=14) at ../../../binutils-gdb/gdb/testsuite/gdb.base/relativedebug.c:25^M #3 ^M #4 0x00000020000cc478 in ?? () from /lib/aarch64-linux-gnu/libc.so.6^M #5 0x0000000000400664 in main () at ../../../binutils-gdb/gdb/testsuite/gdb.base/relativedebug.c:32^M (gdb) FAIL: gdb.base/relativedebug.exp: pause found in backtrace if glibc has debug info, this test doesn't fail. In sysdeps/unix/sysv/linux/generic/pause.c, __libc_pause calls __syscall_pause, static int __syscall_pause (void) { sigset_t set; int rc = INLINE_SYSCALL (rt_sigprocmask, 4, SIG_BLOCK, NULL, &set, _NSIG / 8); if (rc == 0) rc = INLINE_SYSCALL (rt_sigsuspend, 2, &set, _NSIG / 8); return rc; } int __libc_pause (void) { if (SINGLE_THREAD_P) return __syscall_pause (); <--- tail call int oldtype = LIBC_CANCEL_ASYNC (); int result = __syscall_pause (); LIBC_CANCEL_RESET (oldtype); return result; } and GDB unwinder is confused by the GCC optimized code, (gdb) disassemble pause Dump of assembler code for function pause: 0x0000007fb7f274c4 <+0>: stp x29, x30, [sp,#-32]! 0x0000007fb7f274c8 <+4>: mov x29, sp 0x0000007fb7f274cc <+8>: adrp x0, 0x7fb7fd2000 0x0000007fb7f274d0 <+12>: ldr w0, [x0,#364] 0x0000007fb7f274d4 <+16>: stp x19, x20, [sp,#16] 0x0000007fb7f274d8 <+20>: cbnz w0, 0x7fb7f274e8 0x0000007fb7f274dc <+24>: ldp x19, x20, [sp,#16] 0x0000007fb7f274e0 <+28>: ldp x29, x30, [sp],#32 0x0000007fb7f274e4 <+32>: b 0x7fb7f27434 <---- __syscall_pause 0x0000007fb7f274e8 <+36>: bl 0x7fb7f5e080 Note that the program stops in __syscall_pause, but its symbol is stripped in glibc, so GDB doesn't know where the program stops. __syscall_pause is a tail call in __libc_pause, so it returns to main instead of __libc_pause. As a result, the backtrace is like, #0 0x0000007fb7ebca88 in raise () from /lib/aarch64-linux-gnu/libc.so.6 #1 0x0000007fb7ebfefc in abort () from /lib/aarch64-linux-gnu/libc.so.6 #2 0x0000000000400640 in handler (signo=14) at ../../../binutils-gdb/gdb/testsuite/gdb.base/relativedebug.c:25 #3 #4 0x0000007fb7f27478 in ?? () from /lib/aarch64-linux-gnu/libc.so.6 <-- [in __syscall_pause] #5 0x0000000000400664 in main () at ../../../binutils-gdb/gdb/testsuite/gdb.base/relativedebug.c:32 looks GDB does nothing wrong here. I looked back at the test case gdb.base/relativedebug.exp, which was added https://sourceware.org/ml/gdb-patches/2006-10/msg00305.html This test was indented to test the problem that "backtraces no longer display some libc functions" after separate debug info is installed. IOW, it makes few sense to test against libc which doesn't have debug info at all, such as my case. This patch is to tweak the test case to catch the output of "info shared", if "(*)" is found for libc.so, which means libc doesn't have debug info, then skip the test. gdb/testsuite: 2015-04-30 Yao Qi * gdb.base/relativedebug.exp: Invoke gdb command "info sharedlibrary", and if libc.so doesn't have debug info, skip the test. commit 97bf273d5d185d9e888bf56d776769d5e98e906f Author: GDB Administrator Date: Thu Apr 30 00:00:08 2015 +0000 Automatic date update in version.in commit 2ce1cdbf84ce883b992bc8ffec3d29b4da229b72 Author: Doug Evans Date: Wed Apr 29 13:24:21 2015 -0700 PR python/18285 gdb/ChangeLog: PR python/18285 * NEWS: Document new gdb.XMethodWorker.get_result_type method. * eval.c (evaluate_subexp_standard) : Handle EVAL_AVOID_SIDE_EFFECTS for xmethods. * extension-priv.h (struct extension_language_ops) : New member. * extension.c (get_xmethod_result_type): New function. * extension.h (get_xmethod_result_type): Declare. * python/py-xmethods.c (get_result_type_method_name): New static global. (py_get_result_type_method_name): Ditto. (gdbpy_get_xmethod_result_type): New function. (gdbpy_initialize_xmethods): Initialize py_get_result_type_method_name. * python/python-internal.h (gdbpy_get_xmethod_result_type): Declare. * python/python.c (python_extension_ops): Add gdbpy_get_xmethod_result_type. * python/lib/gdb/xmethod.py (XMethodWorker): Add get_result_type. * valarith.c (value_x_binop): Handle EVAL_AVOID_SIDE_EFFECTS for xmethods. (value_x_unop): Ditto. * value.c (result_type_of_xmethod): New function. * value.h (result_type_of_xmethod): Declare. gdb/testsuite/ChangeLog: * gdb.python/py-xmethods.exp: Add ptype tests. * gdb.python/py-xmethods.py (E_method_char_worker): Add get_result_type method. gdb/doc/ChangeLog: * python.texi (Xmethod API) : Document. (Writing an Xmethod): Add get_result_type to example. commit 99b2a2dd3cd91ee45aba56a90b52be943001e8f4 Author: Nick Clifton Date: Wed Apr 29 17:09:05 2015 +0100 Fix an internal error in GAS when assembling a bogus piece of source code. gas PR 18256 * config/tc-arm.c (encode_arm_cp_address): Issue an error message if the operand is neither a register nor a vector. tests * gas/arm/pr18256.s: New file: Test case. * gas/arm/pr18256.l: New file: Expected assembler output. * gas/arm/pr18256.d: New file: Test driver. commit 43c1d34c319626747c6765253294eb458a7bd93d Author: H.J. Lu Date: Wed Apr 29 08:43:22 2015 -0700 Link the last *normal against libfoozlib.so Link the last zlibnormal gnunormal and gabinormal against libfoozlib.so so that their only differences are DWARF debug sections. PR ld/18354 * ld-elf/compress.exp (run_tests): Link the last zlibnormal, gnunormal and gabinormal against libfoozlib.so. commit 716f14132a51daae1224d93f9b1be4f018112b74 Author: H.J. Lu Date: Wed Apr 29 08:04:53 2015 -0700 Fix 18354 commit f9d3ecaa788c7969002f08459471a54a61b3c07f Author: Nick Clifton Date: Wed Apr 29 16:24:52 2015 +0100 Updated translations for various binutils components. gold * po/fi.po: Updated Finnish translation. opcodes * po/fr.po: Updated French translation. gprof * po/da.po: Update Danish translation. commit f24a38c5143e6515c91888223af045d2acaeebf0 Author: Luis Machado Date: Wed Apr 29 12:22:24 2015 -0300 Use software watchpoints if hardware watchpoints are not available when testing gdb.base/watch-bitfields.exp There are targets GDB thinks support hardware watchpoints, but in reality they don't. Though it may seem that hardware watchpoint creation was successful, the actual insertion of such watchpoint will fail when GDB moves the inferior. (gdb) watch -location q.a^M Hardware watchpoint 2: -location q.a^M (gdb) PASS: gdb.base/watch-bitfields.exp: -location watch against bitfields: watch -location q.a watch -location q.e^M Hardware watchpoint 3: -location q.e^M (gdb) PASS: gdb.base/watch-bitfields.exp: -location watch against bitfields: watch -location q.e print q.a^M $1 = 0^M (gdb) PASS: gdb.base/watch-bitfields.exp: -location watch against bitfields: q.a: 0->1: print expression before continue^M Continuing.^M Warning:^M Could not insert hardware watchpoint 2.^M Could not insert hardware watchpoint 3.^M Could not insert hardware breakpoints:^M You may have requested too many hardware breakpoints/watchpoints.^M ^M (gdb) FAIL: gdb.base/watch-bitfields.exp: -location watch against bitfields: q.a: 0->1: continue This leads to a number of FAILs: FAIL: gdb.base/watch-bitfields.exp: -location watch against bitfields: q.a: 0->1: continue FAIL: gdb.base/watch-bitfields.exp: -location watch against bitfields: q.a: 0->1: print expression after FAIL: gdb.base/watch-bitfields.exp: -location watch against bitfields: q.e: 0->5: continue FAIL: gdb.base/watch-bitfields.exp: -location watch against bitfields: q.e: 0->5: print expression after FAIL: gdb.base/watch-bitfields.exp: -location watch against bitfields: q.a: 1->0: print expression before FAIL: gdb.base/watch-bitfields.exp: -location watch against bitfields: q.a: 1->0: continue FAIL: gdb.base/watch-bitfields.exp: -location watch against bitfields: q.e: 5->4: print expression before FAIL: gdb.base/watch-bitfields.exp: -location watch against bitfields: q.e: 5->4: continue FAIL: gdb.base/watch-bitfields.exp: -location watch against bitfields: q.e: 5->4: print expression after FAIL: gdb.base/watch-bitfields.exp: -location watch against bitfields: continue until exit FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 0->4: continue FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 0->4: print expression after FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 4->10: print expression before FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 4->10: continue FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 4->10: print expression after FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 10->3: print expression before FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 10->3: continue FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 10->3: print expression after FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 3->2: print expression before FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 3->2: continue FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 3->2: print expression after FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 2->1: print expression before FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 2->1: continue FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 2->1: print expression after FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 1->0: print expression before FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: q.d + q.f + q.g: 1->0: continue FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: continue until exit We can avoid these errors/FAILs by checking the board data and switching to software watchpoints if the board does not support hardware watchpoints. gdb/testsuite/ChangeLog: 2015-04-29 Luis Machado * gdb.base/watch-bitfields.exp: Switch to software watchpoints if the target does not support hardware watchpoints. commit ecbf2b3c4f5ee6c00cf058b87fa49708d4030d7f Author: Luis Machado Date: Wed Apr 29 12:09:40 2015 -0300 Handle memory write errors on gdb.base/break-always.exp This is another case of the testcase not handling memory write errors that happen on some targets (QEMU) when GDB attempts to modify an address that should contain a breakpoint, for example. The following patch handles this and prevents spurious failures from happening. It also adds a foreach loop to avoid duplication of code and hardcoded patterns. gdb/testsuite/ChangeLog: 2015-04-29 Luis Machado * gdb.base/break-always.exp: Abort testing if writing to memory causes an error. commit 0a13382c8e708fd9eb15dbc81cedc35e6670090c Author: Nick Clifton Date: Wed Apr 29 16:02:02 2015 +0100 Fix problems in the sim sources discovered by running the cppcheck static analysis tool. erc32 PR 18273 * sis.c (main): Remove unreachable code. m68hc11 * gencode.c (gen_fetch_operands): Remove unreachable code. ppc * hw_htab.c (htab_map_binary): Fix overlap check. common * sim-fpu.c (INLINE_SIM_FPU): Fix static analysis warning by increasing parenthesis around casts to signed values. commit 998d2a3ef31378d3d980972dc68f4926b720a7e9 Author: Gary Benson Date: Wed Apr 29 15:20:22 2015 +0100 Allow passing fd == NULL to exec_file_find and solib_find This commit allows NULL to be passed as the int *fd argument to exec_file_find and solib_find to simplify use cases where the caller does not require the file to be opened. gdb/ChangeLog: * solib.c (solib_find_1): Allow fd argument to be NULL. (exec_file_find): Update comment. (solib_find): Likewise. * exec.c (exec_file_locate_attach): Use NULL as fd argument to exec_file_find to avoid having to close the opened file. * infrun.c (follow_exec): Likewise. commit a93d5cb1976818c8d34133fd8798b3df76269f80 Author: Nick Clifton Date: Wed Apr 29 12:26:46 2015 +0100 Add support for absolute PE/x86 relocations. PR 17099 * coff-i386.c (coff_i386_rtype_to_howto): Allow absolute PCRLONG relocs. commit 5d239759c00a60a00986427b46c4f32e7fe3d616 Author: Nick Clifton Date: Wed Apr 29 11:10:45 2015 +0100 Updates the description of GAS's .set directive, to note that for some targets a symbolic value can only be set once. * doc/as.texinfo (Set): Note that a symbol cannot be set multiple times if the expression is not constant and the target uses linker relaxation. commit 9081b64dc1b85a63466962adbc92d1c3e560a659 Author: Jiong Wang Date: Wed Apr 29 11:04:17 2015 +0100 [ARM] Update ld testcases 2015-04-29 Renlin Li ld/testsuite/ * ld-arm/ifunc-10.dd: Adjust expected output. * ld-arm/ifunc-2.dd: Likewise. commit 34f5f757b389e8fb3eab64f816e484c2cc434292 Author: Doug Evans Date: Tue Apr 28 22:14:23 2015 -0700 PR python/18299 gdb/ChangeLog: PR python/18299 * python/lib/gdb/printing.py (register_pretty_printer): Handle name or __name__ attributes. Handle gdb module as first argument. gdb/testsuite/ChangeLog: * gdb.python/py-pp-maint.py: Move "replace" testing to ... * gdb.python/py-pp-registration.exp: ... here. New file. * gdb.python/py-pp-registration.c: New file. * gdb.python/py-pp-registration.py: New file. commit 69b4374a87e5029ac4831c7a4471815514df662f Author: Doug Evans Date: Tue Apr 28 21:53:54 2015 -0700 PR python/18089 gdb/ChangeLog: PR python/18089 * python/py-prettyprint.c (print_children): Verify result of children iterator. Provide better error message. * python/python-internal..h (gdbpy_print_python_errors_p): Declare. * python/python.c (gdbpy_print_python_errors_p): New function. gdb/testsuite/ChangeLog: * gdb.python/py-bad-printers.c: New file. * gdb.python/py-bad-printers.py: New file. * gdb.python/py-bad-printers.exp: New file. commit 5e7cf0784c9b543b1870b974a78244c40105c523 Author: Doug Evans Date: Tue Apr 28 21:23:24 2015 -0700 * gdbtypes.h (struct cplus_struct_type) : Fix comment. gdb/ChangeLog: * gdbtypes.h (struct cplus_struct_type) : Fix comment. commit 59fb7612ddee9219817a0c33b7d533b3d1c2aa41 Author: Sasha Smundak Date: Tue Apr 28 17:41:09 2015 -0700 Add gdb.Type.optimized_out method. gdb/ChangeLog: * NEWS: Mention gdb.Type.optimized_out method. * python/py-type.c (typy_optimized_out): New function. gdb/doc/ChangeLog: * python.texi: New method documented. gdb/testsuite/ChangeLog: * gdb.python/py-type.exp: New test. commit 521f2feb982e5e0b7065f5096590c3a92c7c9ec0 Author: GDB Administrator Date: Wed Apr 29 00:00:08 2015 +0000 Automatic date update in version.in commit a13eab064f93565e9af407a8a9e84f8558acd27e Author: Andreas Schwab Date: Tue Apr 28 20:32:06 2015 +0200 Eat newlines inside INPUT statements in linker scripts ld/ PR ld/18344 * ldlex.l (INPUTLIST): Increment lineno on newline. commit cea6e4f13a8df0eddbcdf643a4fc4727cbf770a7 Author: John Baldwin Date: Tue Apr 28 11:30:23 2015 -0400 Use "gdb_wait.h" instead of . gdb/ChangeLog: * fbsd-nat.c: Include "gdb_wait.h" instead of . commit f9c1b181a7e4985fbd7eb80365abe5a9ed7197a2 Author: Renlin Li Date: Tue Apr 28 17:10:26 2015 +0100 [ARM]Positively emit symbols for alignment 2015-04-28 Renlin Li gas/ * config/tc-arm.c (arm_init_frag): Always emit mapping symbols. gas/testsuite/ * gas/arm/thumb2_vpool_be.d: Adjust the desired output. * gas/arm/vldconst_be.d: Ditto. commit 24b73f8e74857245c0a7ea07c2a360237abcdfc0 Author: Patrick Palka Date: Thu Apr 23 19:28:32 2015 -0400 Disable readline's SIGWINCH handler We no longer need it as we handle SIGWINCH ourselves. Also move the call to init_page_info() from initialize_utils() to the latter function's only caller, gdb_init(). gdb/ChangeLog: * utils.c (init_page_info): Set rl_catch_sigwinch to zero. (initialize_utils): Move call of init_page_info() to ... * top.c (gdb_init): ... here. commit a88d0bb33c28bc51c0f53cdd5c42d00217a1d771 Author: Patrick Palka Date: Thu Apr 23 18:36:58 2015 -0400 Update our idea of our terminal's dimensions even outside of TUI When in the CLI, GDB's "width" and "height" variables are not kept in sync when the underlying terminal gets resized. This patch fixes this issue by making sure sure to update GDB's "width" and "height" variables in the !tui_active case of our SIGWINCH handler. gdb/ChangeLog: * tui/tui-win.c (tui_sigwinch_handler): Remove now-stale comment. (tui_sigwinch_handler): Still update our idea of the terminal's width and height even when TUI is not active. commit d6e5e7f7fd90baad9cbfaa5a187b5f0b1a0b8cf6 Author: Patrick Palka Date: Thu Apr 23 18:31:38 2015 -0400 Introduce function for directly updating GDB's screen dimensions ... to replace the roundabout pattern of execute_command ("set width %d"); execute_command ("set height %d"); for doing the same thing. gdb/ChangeLog: * utils.h (set_screen_width_and_height): Declare. * utils.c (set_screen_width_and_height): Define. * tui/tui-win.c (tui_update_gdb_sizes): Use it. commit ff862be47e7acf51e4abaf0f121d5961adb1845a Author: Gary Benson Date: Tue Apr 28 12:21:32 2015 +0100 Use exec_file_find to prepend gdb_sysroot in follow_exec This commit updates follow_exec to use exec_file_find to prefix the new executable's filename with gdb_sysroot rather than doing it longhand. gdb/ChangeLog: * infrun.c (solist.h): New include. (follow_exec): Use exec_file_find to prefix execd_pathname with gdb_sysroot. commit da7119c99c41f60cb178b0b9729d9f7880f33c86 Author: Nick Clifton Date: Tue Apr 28 11:22:57 2015 +0100 Fix compile time warnings about a local variable being used before it is set. PR 18313 * cond.c (s_if): Stop compile time warning about stopc being used before it is set. (s_ifc): Likewise. commit 2631b16a570626a276f1ce6528ff1cd2cc90ce76 Author: Andy Wingo Date: Tue Apr 28 11:15:47 2015 +0200 Fix py-parameter.exp and scm-parameter.exp path matching gdb/testsuite/ChangeLog: * gdb.python/py-parameter.exp: * gdb.guile/scm-parameter.exp: Escape the path that we are matching against, as it might contain characters that are special to regular expressions. commit faa2211d4d3dad3f381164cdb29d27b9108760ea Author: Alan Modra Date: Tue Apr 28 16:45:34 2015 +0930 Tidy PowerPC gold find_global_entry uses Completely removing the assert probably wasn't the best idea, so reinstate it for allocated sections. Also cope with debug info potentially referring to a missing plt call stub. And a tidy. find_global_entry now returns an Address, so make temps holding the return value of type Address, and compare against invalid_address. * powerpc.cc (Target_powerpc::do_dynsym_value): Use Address rather than unsigned int for find_global_entry result temp. Compare against invalid_address. (Target_powerpc::do_plt_address_for_global): Likewise. (Target_powerpc::Relocate::relocate): Likewise. Don't assert on plt call stub existence for debug info. Do assert for plt and global entry stub existence if an alloc section. commit 6ec65f28db6b718b505e2ee5c34a274ba07397ae Author: Alan Modra Date: Tue Apr 28 13:28:29 2015 +0930 PowerPC gold assertion on missing global entry stub Global entry stubs are used on ELFv2 to provide addresses for functions not defined in a non-PIC executable but whose address is taken, in much the same way as PLT stub code is used on other targets to provide function addresses. We don't want to insert a global entry stub just because (bogus) debug info refers to the address of a non-local function, but we also don't want gold to die. * powerpc.cc (Target_powerpc::Relocate::relocate): Don't assert on missing global entry stub due to bogus debug info. commit 2eb639cbe4baa33545ca008d6054ea5db1d8f6a8 Author: Patrick Palka Date: Sat Apr 25 10:29:29 2015 -0400 TUI: avoid calling strcpy() on identical string objects In tui_set_source_content(), when offset == 0 the source and destination pointers of the call to strcpy() are actually the same. In this case not only is strcpy() unnecessary but it is also UB when the two strings overlap. gdb/ChangeLog: * tui/tui-source.c (tui_set_source_content): Avoid calling strcpy() when offset is 0. commit 9720679936fc4f710d718f13d903c7826e048a36 Author: Patrick Palka Date: Sat Apr 25 21:59:02 2015 -0400 Fix PR gdb/18155 For no good reason the function tui_free_window() is freeing the locator window when we pass it an SRC_WIN or a DISASSEM_WIN. This behavior doesn't make much sense because the locator window is always visible and its contents do not change when the main window changes. This behavior triggers the above PR because when we switch from one TUI window to another (in the PR, from the src window to the asm window) we call tui_free_window() on the previously active window (in the PR, the src window). The function then frees the src window along with the locator window and later we segfault when the now-active asm window tries to query the locator window about the inferior's PC. This patch fixes this apparently wrong behavior by changing tui_free_window() to not free the locator window when we pass it an SRC_WIN or a DISASSEM_WIN. gdb/ChangeLog: PR gdb/18155 * tui/tui-data.c (tui_free_window): Don't free the locator window when passed an SRC_WIN or a DISASSEM_WIN. commit 63ed81829ea8819bc96b288f95230876b0060b14 Author: Patrick Palka Date: Fri Apr 24 08:26:50 2015 -0400 Make type-safe the 'content' field of struct tui_gen_win_info The 'content' field of struct tui_gen_win_info currently has type void ** but the field always stores an object of type tui_win_content. Instead of unnecessarily casting to and from void ** we should just give the field the type tui_win_content in the first place. This patch does this and also eliminates all now-redundant casts involving the 'content' struct field that I could find. gdb/ChangeLog: * tui/tui-data.h (struct tui_win_element): Forward-declare. (tui_win_content): Move declaration. (struct tui_gen_win_info): Give 'content' field the type tui_win_content. * tui/tui-data.c (init_content_element): Remove redundant and erroneous casts. (tui_add_content_elements): Remove erroneous cast. * tui/tui-disasm.c (tui_set_disassem_content): Remove redundant casts. (tui_get_begin_asm_address): Likewise. * tui/tui-regs.c (tui_show_registers): Likewise. (tui_show_register_group): Likewise. (tui_display_registers_from): Likewise. (tui_check_register_values): Likewise. * tui/tui-source.c (tui_set_source_content): Likewise. (tui_set_source_content_nil): Likewise. (tui_source_is_displayed): Likewise. * tui/tui-stack.c (tui_show_locator_content): Likewise. (tui_set_locator_fullname): Likewise. (tui_set_locator_info): Likewise. (tui_show_frame_info): Likewise. * tui/tui-winsource.c (tui_clear_source_content): Likewise. (tui_show_source_line): Likewise. (tui_horizontal_source_scroll): Likewise. (tui_update_breakpoint_info): Likewise. (tui_set_exec_info_content): Likewise. (tui_show_exec_info_content): Likewise. (tui_alloc_source_buffer): Likewise. (tui_line_is_displayed): Likewise. (tui_addr_is_displayed): Likewise. commit d84f2dd3257a3062637059e4f8a85ee22d94865b Author: GDB Administrator Date: Tue Apr 28 00:00:08 2015 +0000 Automatic date update in version.in commit d2b41ca0f9c5641a6b8f42c8013ba042cf5ba120 Author: John Baldwin Date: Sat Apr 18 01:00:06 2015 -0400 Add support for catching exec events on FreeBSD. FreeBSD kernels that support fork tracing always stop a process to report events for exec. Such a process will have the PL_FLAG_EXEC flag set in the pl_flags field of the ptrace_lwpinfo struct returned by PT_LWPINFO. The structure does not include the pathname passed to exec, so use fbsd_pid_to_exec_file to query the pathname of the process' executable. gdb/ChangeLog: * fbsd-nat.c: (fbsd_wait) [PL_FLAG_EXEC]: Report TARGET_WAITKIND_EXECD event if PL_FLAG_EXEC is set. [PL_FLAG_EXEC] (fbsd_insert_exec_catchpoint): New function. [PL_FLAG_EXEC] (fbsd_remove_exec_catchpoint): New function. (fbsd_nat_add_target) [PL_FLAG_EXEC]: Set "to_insert_exec_catchpoint" to "fbsd_insert_exec_catchpoint". Set "to_remove_exec_catchpoint" to "fbsd_remove_exec_catchpoint". commit e58e05d677d33da3646721bdd225ec6e90424000 Author: John Baldwin Date: Fri Apr 17 16:20:47 2015 -0400 Enable fork tracing for native FreeBSD targets. Enable PT_FOLLOW_FORK on all processes. When this is enabled, both the parent and child process stop when a fork or vfork occurs. A target operation for wait uses PT_LWPINFO to fetch more detailed information about the state of a stopped process. A parent process sets the PL_FLAG_FORKED flag in the pl_flags field of the structure returned by PT_LWPINFO as well as the pid of the new child process. The child process sets the PL_FLAG_CHILD flag in the pl_flags field. When a fork is detected, the wait hook waits for both processes to report their respective events. It then reports the fork to GDB as a single TARGET_WAITKIND_FORKED or TARGET_WAITKIND_VFORKED event. The kernel does not guarantee the order the events are reported in. If the parent process' event is reported first, then the wait hook explicitly waits for the child process. If the child process' event is reported first, the event is recorded on an internal list of pending child events and the wait hook waits for another event. Later when the parent process' event is reported, the parent will use the previously-recorded child process event instead of explicitly waiting on the child process. To distinguish vfork events from fork events, the external process structure for the child process is extracted from the kernel. The P_PPWAIT flag is set in the ki_flags field of this structure if the process was created via vfork, but it is not set for a regular fork. gdb/ChangeLog: * fbsd-nat.c: [PT_LWPINFO] New variable super_wait. [TDP_RFPPWAIT] New variable fbsd_pending_children. [TDP_RFPPWAIT] (fbsd_remember_child): New function. [TDP_RFPPWAIT] (fbsd_is_child_pending): New function. [TDP_RFPPWAIT] (fbsd_fetch_kinfo_proc): New function. [PT_LWPINFO] (fbsd_wait): New function. [TDP_RFPPWAIT] (fbsd_follow_fork): New function. [TDP_RFPPWAIT] (fbsd_insert_fork_catchpoint): New function. [TDP_RFPPWAIT] (fbsd_remove_fork_catchpoint): New function. [TDP_RFPPWAIT] (fbsd_insert_vfork_catchpoint): New function. [TDP_RFPPWAIT] (fbsd_remove_vfork_catchpoint): New function. [TDP_RFPPWAIT] (fbsd_enable_follow_fork): New function. [TDP_RFPPWAIT] (fbsd_post_startup_inferior): New function. [TDP_RFPPWAIT] (fbsd_post_attach): New function. (fbsd_nat_add_target) [PT_LWPINFO] Set "to_wait" to "fbsd_wait". [TDP_RFPPWAIT] Set "to_follow_fork" to "fbsd_follow_fork". Set "to_insert_fork_catchpoint" to "fbsd_insert_fork_catchpoint". Set "to_remove_fork_catchpoint" to "fbsd_remove_fork_catchpoint". Set "to_insert_vfork_catchpoint" to "fbsd_insert_vfork_catchpoint". Set "to_remove_vfork_catchpoint" to "fbsd_remove_vfork_catchpoint". Set "to_post_startup_inferior" to "fbsd_post_startup_inferior". Set "to_post_attach" to "fbsd_post_attach". commit 8f60fe014dd0afdc1013fc22a3ef5ba01e94e331 Author: John Baldwin Date: Fri Apr 17 14:02:03 2015 -0400 Add fbsd_nat_add_target. Add a wrapper for add_target in fbsd-nat.c to override target operations common to all native FreeBSD targets. gdb/ChangeLog: * fbsd-nat.c (fbsd_pid_to_exec_file): Mark static. (fbsd_find_memory_regions): Mark static. (fbsd_nat_add_target): New function. * fbsd-nat.h: Export fbsd_nat_add_target and remove prototypes for fbsd_pid_to_exec_file and fbsd_find_memory_regions. * amd64fbsd-nat.c (_initialize_amd64fbsd_nat): Use fbsd_nat_add_target. * i386fbsd-nat.c (_initialize_i386fbsd_nat): Likewise. * ppcfbsd-nat.c (_initialize_ppcfbsd_nat): Likewise. * sparc64fbsd-nat.c (_initialize_sparc64fbsd_nat): Likewise. commit 7a2a1c793578a8468604e661dda025ecb8d0bd20 Author: Han Shen Date: Mon Apr 27 15:01:44 2015 -0700 [gold] Rename '--fix-cortex-a53' to '--fix-cortex-a53-843419'. Keep gold consistent with bfd erratum-fixing option names, so as to ease life in Makefile/scripts. gold/ * options.h (--fix-cortex-a53-843419): Rename option. * aarch64.cc (AArch64_relobj::do_count_local_symbols): Use renamed option. (AArch64_relobj::scan_sections_for_stubs): Use renamed option. commit cfbf0e3c5b637d66b2b1aeadecae9c187b825b2f Author: Rafael Ávila de Espíndola Date: Mon Apr 27 14:33:02 2015 -0400 If a range is missing, assume the input address is mapped. When Output_section::is_input_address_mapped is called we have entries for all dropped ranges, but not for all ranges. commit 4fff86c517abb5ba454befe0ec0f284f720dde00 Author: Peter Bergner Date: Mon Apr 27 11:06:54 2015 -0500 opcodes/ * ppc-opc.c (DCBT_EO): New define. (powerpc_opcodes) : Enable for POWER8 and later. : Likewise. : Likewise. : Likewise. : Do not enable for POWER7 and later. : Likewise. : Default to the two operand form of the instruction for all "old" cpus. For "new" cpus, use the operand ordering that matches whether the cpu is server or embedded. : Likewise. gas/testsuite/ * gas/ppc/a2.s: Fixup test case due to dcbt/dcbtst embedded operand ordering change. * gas/ppc/a2.d: Likewise. * gas/ppc/476.d: Likewise. * gas/ppc/booke.s: Remove invalid 3 operand dcbt tests. * gas/ppc/booke.d: Likewise. * gas/ppc/power7.s: Remove lbarx, lharx, stbcx., sthcx., waitrsv and waitimpl tests. * gas/ppc/power7.d: Likewise. commit 5fbae7d108f4b885228cc657449905543c42c85a Author: Gary Benson Date: Mon Apr 27 11:46:13 2015 +0100 Do not manipulate "target:" filenames as local paths This commit alters two places that manipulate object file filenames to detect "target:" filenames and to not attempt to manipulate them as paths on the local filesystem: - allocate_objfile is updated to not attempt to expand "target:" filenames with gdb_abspath. - load_auto_scripts_for_objfile is updated to not attempt to load auto-load scripts for object files with "target:" filenames. gdb/ChangeLog: * objfiles.c (allocate_objfile): Do not attempt to expand name if name is a "target:" filename. * auto-load.c (load_auto_scripts_for_objfile): Do not attempt to load auto-load scripts for objfiles with "target:" filenames. commit 180d40b903774d6c7bd8110ce4f77a2f5fb06e7a Author: Senthil Kumar Selvaraj Date: Mon Apr 27 14:26:04 2015 +0530 sim: avr: Fix 'multiple definition of sim_{read,write}' This patch does whatever was done in https://sourceware.org/ml/gdb-patches/2015-04/msg00437.html to fix broken gdb build for the AVR target. commit eb9d6cc91a423f7825a46317e1882e2e9297c76f Author: Renlin Li Date: Mon Apr 27 11:36:12 2015 +0100 [AArch64] Don't try to align insn in non-executale section 2015-04-27 Renlin Li gas/ * config/tc-aarch64.c (s_aarch64_inst): Don't align code for non-text section. (md_assemble): Likewise, move the align code outside the loop. commit 417c80f9e456477935cdc74461d35630dfdbfdff Author: Andreas Arnez Date: Mon Apr 27 11:38:47 2015 +0200 S390: Vector ABI support With the S390 vector ABI, vector registers are used for passing vector arguments and for returning a vector. Support this ABI in inferior function calls and when setting or retrieving a function's return value. gdb/ChangeLog: * s390-linux-tdep.c: Include "elf/s390.h" and "elf-bfd.h". (enum s390_vector_abi_kind): New enum. (struct gdbarch_tdep): New field. (s390_effective_inner_type): Add parameter min_size. Stop unwrapping if the inner type is smaller than min_size. (s390_function_arg_float): Adjust call to s390_effective_inner_type. (s390_function_arg_vector): New function. (s390_function_arg_integer): Adjust comment. (struct s390_arg_state): New field. (s390_handle_arg): Add parameter 'is_unnamed'. Pass vector arguments according to vector ABI when appropriate. (s390_push_dummy_call): Initialize the argument state's field 'vr'. Adjust calls to s390_handle_arg. (s390_register_return_value): Handle vector return values. (s390_return_value): Apply the "register" return value convention to a vector when appropriate. (s390_gdbarch_init): Initialize tdep->vector_abi. * NEWS: Announce S390 vector ABI support. commit 4e65a17e62c7c2f3c0409d9769cca2e916a88379 Author: Andreas Arnez Date: Mon Apr 27 11:38:47 2015 +0200 S390: Re-arrange implementation of s390_return_value Move related logic in the implementation of s390_return_value closer together. This makes it easier to read and extend. gdb/ChangeLog: * s390-linux-tdep.c (s390_return_value_convention): Remove function. Inline its logic... (s390_return_value): ...here. Instead, move the handling of the "register" return value convention... (s390_register_return_value): ...here. New function. commit 80f75320167acb66486124c6b03e715596e9c789 Author: Andreas Arnez Date: Mon Apr 27 11:38:46 2015 +0200 S390: Restructure s390_push_dummy_call Simplify the structure of s390_push_dummy_call and its various helper functions. This reduces the code and makes it easier to extend. The new code should be functionally equivalent to the old one, except that copies created by the caller are now always aligned on an 8-byte boundary. gdb/ChangeLog: * s390-linux-tdep.c (is_float_singleton): Remove function. Move the "singleton" part of the logic... (s390_effective_inner_type): ...here. New function. (is_float_like): Remove function. Inline its logic... (s390_function_arg_float): ...here. (is_pointer_like, is_integer_like, is_struct_like): Remove functions. Inline their logic... (s390_function_arg_integer): ...here. (s390_function_arg_pass_by_reference): Remove function. (extend_simple_arg): Remove function. (alignment_of): Remove function. (struct s390_arg_state): New structure. (s390_handle_arg): New function. (s390_push_dummy_call): Move parameter placement logic to the new function s390_handle_arg. Call it for calculating the stack area sizes first, and again for actually writing the parameters. commit 6dbc9c045741c27435b9b23246c2113221b26c2f Author: Andreas Arnez Date: Mon Apr 27 11:38:46 2015 +0200 S390: For zero, let is_power_of_two() return false This fixes a minor issue with the helper function is_power_of_two(), which returned non-zero ("true") if the argument was zero. This led to a wrong decision when passing a zero-sized struct in an inferior function call. gdb/ChangeLog: * s390-linux-tdep.c (is_power_of_two): Add comment. Return false if the argument is zero. commit 9e19566105546654ab24b2b58c890fd7e2b9e00c Author: Pierre-Marie de Rodat Date: Mon Apr 27 11:06:07 2015 +0200 [Ada] Cache all static structures and reset cache during resolution Currently, ada-lang.c:template_to_static_fixed_type (working on structure types only) caches its result into the unused TYPE_TARGET_TYPE field. This introduces inconsistencies when the input type is specialized, for instance during type resolution: the cached static fixed type is copied along with the original type, but it's no longer adapted to the copy once the copy is modified: template_to_static_fixed_type has to compute another static fixed type for it. This change first introduces a cache reset during type resolution for structure types so that this inconsistency does not happen anymore. It also makes template_to_static_fixed_type smarter with respect to types that do not need static fixed copies so that less computations is done in general. This inconsistency was spotted thanks to code reading, not because of any sort of failure and we did not manage to exhibit a failure yet, so no testcase for this. gdb/ChangeLog: * ada-lang.c (template_to_static_fixed_type): Return input type when it is already fixed. Cache the input type itself when not creating a static fixed copy. Make it explicit that we never molestate the input type. * gdbtypes.c (resolve_dynamic_struct): Reset the TYPE_TARGET_TYPE field for resolved copies. commit 460efde16c5ce834f03d1a7525e453b508cb43da Author: Joel Brobecker Date: Mon Apr 27 11:04:47 2015 +0200 [Ada] Preserve typedef layer when getting struct element Consider the following declarations: type Int_Access is access Integer; type Record_Type is record IA : Int_Access; end record; R : Record_Type; Printing the type name of "R.IA" yields: (gdb) whatis r.ia type = access integer It should be: (gdb) whatis r.ia type = bar.int_access Looking at the debugging info, field "r.ia" is defined as a typedef which has the name of the field type: .uleb128 0x3 # (DIE (0x4e) DW_TAG_typedef) .long .LASF4 # DW_AT_name: "bar__int_access" .long 0x8b # DW_AT_type ... with the typedef's target type being an anonymous pointer type: .uleb128 0x7 # (DIE (0x8b) DW_TAG_pointer_type) .byte 0x8 # DW_AT_byte_size .long 0x91 # DW_AT_type What happens here is that a couple of function in ada-lang.c always start by stripping all typedef layers when handling struct fields, with the effect of making us lose the type name in this case. We did not understand this at the time the code was written, but typedefs should be stripped only when we know we do not need them. So this patch, adjust the code to avoid the stripping while handling the fields, and adds it back in the lone place which handles the result of processing and didn't know how to handle typedefs struct fields yet. gdb/ChangeLog: * ada-lang.c (ada_is_tagged_type): Add call to ada_check_typedef. (ada_lookup_struct_elt_type): Remove calls to ada_check_typedef. (template_to_static_fixed_type): Call ada_check_typedef only when necessary. gdb/testsuite/ChangeLog: * gdb.ada/rec_comp: New testcase. commit 643f7afb0d7f63dcff873d3cbfd7ed3eaf94197f Author: Andreas Krebbel Date: Mon Apr 27 10:32:23 2015 +0200 S/390: z13 use GNU attribute to indicate vector ABI bfd/ * elf-s390-common.c (elf_s390_merge_obj_attributes): New function. * elf32-s390.c (elf32_s390_merge_private_bfd_data): Call elf_s390_merge_obj_attributes. * elf64-s390.c (elf64_s390_merge_private_bfd_data): New function. binutils/ * readelf.c (display_s390_gnu_attribute): New function. (process_s390_specific): New function. (process_arch_specific): Call process_s390_specific. gas/ * doc/as.texinfo: Document Tag_GNU_S390_ABI_Vector. include/elf/ * s390.h: Define Tag_GNU_S390_ABI_Vector. commit 3b78cfe1033fafa6ca36c69cf8587c1bd96996ca Author: Andreas Krebbel Date: Mon Apr 27 10:29:16 2015 +0200 S/390: Fixes for z13 instructions. opcodes/ * s390-opc.c: New instruction type VV0UU2. * s390-opc.txt: Fix instruction types for VFCE, VLDE, VFSQ, WFK, and WFC. gas/testsuite/ * gas/s390/zarch-z13.d: Fix tests for VFCE, VLDE, VFSQ, WFK, and WFC. * gas/s390/zarch-z13.s: Likewise. commit 963a4320b49a3c55af02b36a492a10ba04a08e8a Author: Andreas Krebbel Date: Mon Apr 27 10:24:24 2015 +0200 S/390: Fix gotreloc_31-1 testcase. Since we changed the default arch for objdump to zarch the following testcase needs to check for the real instruction mnemonics instead of just bytes. This fixes the following testsuite fail on s390x: FAIL: GOT: symbol address load from got to larl commit 4b9bfa2be0636852ba3bd1a19a484c15ef6e181a Author: GDB Administrator Date: Mon Apr 27 00:00:07 2015 +0000 Automatic date update in version.in commit 2d369d8e973f1507689a7f200c16e154ec5d6c79 Author: Sergio Durigan Junior Date: Sun Apr 26 15:34:29 2015 -0400 Clear variable "coredump_var_addr" before using it on gdb.base/coredump-filter.exp This commit is a continuation of the fix committed on: commit 8cd8f2f8ac49276437b7da37f275706ea1c1c925 Author: Sergio Durigan Junior Date: Mon Apr 13 02:40:08 2015 -0400 Rename variable "addr" to "coredump_var_addr" in gdb.base/coredump-filter.exp Pedro pointed out that this fix was not complete, because the testsuite could be run several times in a row (for example), which means that it is not enough to just make the variable name unique: it also needs to be cleared out if it is global. This commit does that. It is actually just a commit made to make things totally correct; this specific test does not fail if you run it several times in a row. gdb/testsuite/ChangeLog: 2015-04-26 Sergio Durigan Junior * gdb.base/coredump-filter.exp: Clear variable "coredump_var_addr" before using it. commit 36cca014bbfab0dec9c1ec2450762381df95261b Author: GDB Administrator Date: Sun Apr 26 00:00:07 2015 +0000 Automatic date update in version.in commit e0f80dc1935f1ce48c7cb0e7974bb499aabb6da6 Author: GDB Administrator Date: Sat Apr 25 00:00:07 2015 +0000 Automatic date update in version.in commit 44bd1acd55dcc15322a5c2d33442cd219ca320c7 Author: Alan Modra Date: Fri Apr 24 19:19:37 2015 +0930 Non-alloc sections don't belong in PT_LOAD segments Taking them out showed a bug in the powerpc64 backend with .branch_lt being removed from output_bfd but not from previously set up segment section maps. Removing the bfd sections meant their sh_flags (and practically everything else) remaining zero, ie. not SHF_ALLOC, triggering complaints about "`.branch_lt' can't be allocated in segment". include/elf/ * internal.h (ELF_SECTION_IN_SEGMENT_1): Ensure PT_LOAD and similar segments only contain alloc sections. ld/ * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation): Call gld${EMULATION_NAME}_map_segments regardless of need_laying_out. ld/testsuite/ * ld-powerpc/tocnovar.d: Revert last change. commit b53b1bedbd90044714fc456843cadccce0f208f3 Author: Jiong Wang Date: Fri Apr 24 23:25:28 2015 +0100 [AArch64] PR18270, fix handling of GOT entry for local symbol 2015-04-24 Jiong. Wang bfd/ PR ld/18270 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic): Count local symbol for GOT_NORMAL for both sgot/srelgot section. (elfNN_aarch64_final_link_relocate): Relocate against GOT entry address and generate necessary runtime relocation for GOT entry. commit 69b52ab8c566575e4749acf0a04090491009af95 Author: H.J. Lu Date: Fri Apr 24 15:02:56 2015 -0700 Copy is_linker_input to archive member We must copy is_linker_input to archive member. PR binutils/18209 * archive.c (_bfd_get_elt_at_filepos): Also copy is_linker_input. commit 6faec16b1c633a8043791e0d15d7e7f1c8d448c1 Author: Andrew Burgess Date: Thu Apr 23 22:18:55 2015 +0100 gdb: Add internationalization support to a few strings. Spotted a few strings that were missing internationalization support. gdb/ChangeLog: * cli/cli-dump.c (srec_dump_command): Add internationalization mark ups. (ihex_dump_command): Likewise. (tekhex_dump_command): Likewise. (binary_dump_command): Likewise. (binary_append_command): Likewise. commit cf75d6c37e15e321e82e7f4ceebcf847b4f057fc Author: Andrew Burgess Date: Wed Apr 22 22:52:36 2015 +0100 gdb: Add support for dumping to verilog hex format. Extend the gdb 'dump' command to allow creating output in verilog hex format. Add some tests to cover new functionality. As bfd does not currently support reading in verilog hex formats the tests only cover the 'dump' command, not the 'restore' command. gdb/ChangeLog: * cli/cli-dump.c (verilog_cmdlist): New variable. (dump_verilog_memory): New function. (dump_verilog_value): New function. (verilog_dump_command): New function. (_initialize_cli_dump): Add new commands to support verilog dump format. * NEWS: Add entry for "dump verilog". gdb/doc/ChangeLog: * gdb.texinfo (Dump/Restore Files): Add detail about verilog dump format. gdb/testsuite/ChangeLog: * gdb.base/dump.exp: Add *.verilog files to all_files list. Add new tests for verilog output. commit dcbd20eb1499db937785881aca2f9584a330723c Author: Jiong Wang Date: Fri Apr 24 22:35:04 2015 +0100 [AArch64] Improve PC-relative relocation check for shared library 2015-04-24 Jiong. Wang bfd/ * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Reject PC-relative relocation for external symbol. ld/testsuite/ * ld-aarch64/pcrel.s: New testcase. * ld-aarch64/pcrel_pic_defiend_local.d: New expect file. * ld-aarch64/pcrel_pic_undefined.d: Ditto. * ld-aarch64/aarch64-elf.exp: Run them. commit d9e88e902134b6febeef7156ecb6341a593b8c54 Author: DJ Delorie Date: Fri Apr 24 17:17:02 2015 -0400 Fix typo commit 08e2f2bbb4a4db51ad8476af6963998c9f6350e7 Author: DJ Delorie Date: Fri Apr 24 17:05:13 2015 -0400 Change msp430 emulation to msp430elf * Makefile.am (msp430): Rename primary emulation to msp430elf. (emsp430.c): Rename to emsp430elf.c, update dependencies (emsp430X.c): Update dependencies. * Makefile.in: Likewise. * configure.tgt (msp430-*-*): Rename primary emulation to msp430elf. * emulparame/msp430.sh: Rename to msp430elf.sh. * emulparams/msp430X.sh: Update. commit faade85139b04a1de96fb78aab6ad5c25b826d01 Author: Jim Wilson Date: Fri Apr 24 13:38:25 2015 -0700 gas thunderx support gas/ * config/tc-aarch64.c (aarch64_cpus): Add CRC and CRYPTO features for thunderx. commit 897c3d327e2d60d996252c0a5cb13da3f40e9b9f Author: Doug Evans Date: Fri Apr 24 11:16:12 2015 -0700 * python.texi (Xmethods In Python): Fix name of method to call the xmethod. gdb/doc/ChangeLog: * python.texi (Xmethods In Python): Fix name of method to call the xmethod. commit de13ef81f041f7f51687ef1873c74e853b97e73a Author: Nick Clifton Date: Fri Apr 24 17:13:22 2015 +0100 Fix compile time warning messages about variables being used before they are initialised. PR 18313 bin * ieee.c (ieee_read_cxx_class): Initialise the varargs variable. * readelf.c (uncompress_section_contents): Zero initialise the zstream structure. bfd * compress.c (decompress_contents): Zero initialse the z_stream structure. commit 7a5c933c7c2c3926b13a047c64f2af1d3ce8e1db Author: Richard Earnshaw Date: Fri Apr 24 15:51:49 2015 +0100 [ARM]: Don't tail-pad over-aligned functions to the alignment boundary. 2015-04/24 Richard Earnshaw gas/ * config/tc-arm.h (arm_min): New function. (SUB_SEGMENT_ALIGN): Define. gas/testsuite/ * gas/arm/align64.d: Delete trailing padding NOPs. ld/testsuite/ * ld-arm/armthumb-lib.d: Regenerate expected output. * ld-arm/armthumb-lib.d: Likewise. * ld-arm/armthumb-lib.sym: Likewise. * ld-arm/cortex-a8-fix-b-rel-arm.d: Likewise. * ld-arm/cortex-a8-fix-b-rel-thumb.d: Likewise. * ld-arm/cortex-a8-fix-b.d: Likewise. * ld-arm/cortex-a8-fix-bcc-rel-thumb.d: Likewise. * ld-arm/cortex-a8-fix-bcc.d: Likewise. * ld-arm/cortex-a8-fix-bl-rel-arm.d: Likewise. * ld-arm/cortex-a8-fix-bl-rel-plt.d: Likewise. * ld-arm/cortex-a8-fix-bl-rel-thumb.d: Likewise. * ld-arm/cortex-a8-fix-bl.d: Likewise. * ld-arm/cortex-a8-fix-blx-bcond.d: Likewise. * ld-arm/cortex-a8-fix-blx-rel-arm.d: Likewise. * ld-arm/cortex-a8-fix-blx-rel-thumb.d: Likewise. * ld-arm/cortex-a8-fix-blx.d: Likewise. * ld-arm/cortex-a8-fix-hdr.d: Likewise. * ld-arm/farcall-mixed-app-v5.d: Likewise. * ld-arm/farcall-mixed-app.d: Likewise. * ld-arm/farcall-mixed-lib-v4t.d: Likewise. * ld-arm/farcall-mixed-lib.d: Likewise. * ld-arm/mixed-app-v5.d: Likewise. * ld-arm/mixed-app.d: Likewise. * ld-arm/mixed-lib.d: Likewise. commit de7669bfa507d78f7abfe3d219b5aee9f346235e Author: Nick Clifton Date: Fri Apr 24 15:43:21 2015 +0100 Fix typos in sim sources exposed by static analysis. bfin PR 18273 * bfin-sim.c (decode_dsp32alu_0): Remove spurious check for s == 1. erc32 PR 18273 * exec.c (add32): Fix typo in check for overflow. igen PR 18273 * misc.c (a2i): Fix typos checking for uppercase letters. commit 63c72d1ae497cdf43db5347464a97164e720b83f Author: Nick Clifton Date: Fri Apr 24 15:31:36 2015 +0100 Fix typo in check for valid register number in RX sim. PR sim/18273 * reg.c (put_reg): Fix check for valid register number. commit b1fa9dd630eeb0a8282207cbbe399a25b2491412 Author: Nick Clifton Date: Fri Apr 24 15:17:13 2015 +0100 Extend test for local labels to include fake symbols and local labels with a numeric suffix. * elf.c (_bfd_elf_is_local_label_name): Extend test for assembler local labels to include local labels with a numeric suffix and fake symbols. commit 8cd00c5973529c6f7ed42bc361ca05eb3672ab99 Author: Pierre-Marie de Rodat Date: Fri Apr 24 16:13:19 2015 +0200 Fix printing for GNAT stuff for types that do not have descr. types gdb/ChangeLog: 2015-04-24 Pierre-Marie de Rodat * gdbtypes.c (print_gnat_stuff): Do not recurse on the descriptive type when there is none. commit 9361e6307bd1cf4f8f7c9de5375719ede8caa0cb Author: H.J. Lu Date: Fri Apr 24 05:40:23 2015 -0700 Define SEC_MEP_VLIW in bfd/section.c Bits in section flags should only be defined in bfd/section.c. This patch moves SEC_MEP_VLIW to bfd/section.c. bfd/ PR binutils/18316 * section.c (SEC_MEP_VLIW): New. * bfd-in2.h: Regenerated. include/elf/ PR binutils/18316 * mep.h (SEC_MEP_VLIW): Removed. commit 8dbe7ca5a5755274fca1d3021ad648a1575e66cb Author: Yao Qi Date: Fri Apr 24 11:00:14 2015 +0100 A new board file remote-gdbserver-on-localhost.exp This patch is to add a new board file that does real remote gdbserver testing on localhost. This board file can be used to reproduce PR 18208. gdb/testsuite 2015-04-24 Yao Qi * boards/remote-gdbserver-on-localhost.exp: New file. commit 30d72bc3359e12d10b53310963d62dae0978cbe5 Author: Nick Clifton Date: Fri Apr 24 10:15:41 2015 +0100 Skip the compressed1d test for targets which do not use the elf32.em linker emulation file. * ld-elf/compressed1d.d: Add notarget for ELF based targets that do not use elf.em. commit 04651c084ee01f1889553d81f62bfe3d26e1df0c Author: Hans-Peter Nilsson Date: Fri Apr 24 06:10:19 2015 +0200 Correct ld-elf/compressed1e.d to use notarget and for cris-elf, not cris-*. Don't XPASS cris-linux which *does* support -shared. And xfail is for bugs, notarget is for not-applicable. commit 005db9f99bda55139778b28813606715f879f7de Author: H.J. Lu Date: Thu Apr 23 18:58:46 2015 -0700 Xfail cris and frv for ld-elf/compressed1e.d cris and frv don't support -shared. * ld-elf/compressed1e.d: Only run for Linux/gnu. Xfail cris and frv. commit ef1f8ff8cdb43a042f8af1e92753371dc958a452 Author: GDB Administrator Date: Fri Apr 24 00:00:07 2015 +0000 Automatic date update in version.in commit 3e19fb8f990e4ce8a08f9cf2817cd9e9398648d5 Author: H.J. Lu Date: Thu Apr 23 16:37:44 2015 -0700 Delay setting up compressed debug section names When we set up st_name for output section name in elf_fake_sections, we don't know if the compressed DWARF debug section will be smaller. We may end up with compressed DWARF debug sections which are bigger than the uncompressed ones. This patch delays setting up st_name for output DWARF debug section to _bfd_elf_assign_file_positions_for_non_load which will compress the output debug section. We also postpone placement of shstrtab section after DWARF debug sections have been compressed. The net effect is .shstrtab section is now placed after .symtab and .strtab sections. bfd/ PR ld/18277 * compress.c (bfd_compress_section_contents): Remove the write_compress argument. (bfd_init_section_compress_status): Updated. (bfd_compress_section): Likewise. * elf.c (_bfd_elf_set_reloc_sh_name): New. (_bfd_elf_init_reloc_shdr): Add delay_st_name_p. Set sh_name to (unsigned int) -1 if delay_st_name_p is TRUE. Use _bfd_elf_set_reloc_sh_name. (elf_fake_sections): Don't rename DWARF debug section for linker output if it will be compressed. Instead, set delay_st_name_p to TRUE and pass it to _bfd_elf_init_reloc_shdr. (assign_section_numbers): Call _bfd_elf_strtab_addref only if sh_name != (unsigned int) -1. Don't finalize nor assign shstrtab section here. Delay setting output section names to _bfd_elf_write_object_contents. (_bfd_elf_compute_section_file_positions): Update comments on sh_offset for shstrtab section. (assign_file_positions_for_non_load_sections): Set sh_offset to -1 for shstrtab section. (assign_file_positions_except_relocs): Likewise. (_bfd_elf_assign_file_positions_for_non_load): Set up sh_name when compressing DWARF debug sections. Place shstrtab section after DWARF debug sections have been compressed. (_bfd_elf_write_object_contents): Setting sh_name for output sections. ld/testsuite/ PR ld/18277 * ld-elf/compressed1d.d: New. * ld-elf/compressed1e.d: Likewise. commit ece794d9c43addc2a347c01f5cd753b9171d028a Author: Matthew Fortune Date: Thu Apr 23 20:09:13 2015 +0100 Improve warning messages for la/dla gas/ * config/tc-mips.c (macro): State the recommended way of creating 32-bit or 64-bit addresses. gas/testsuite/ * gas/mips/dla-warn.l: New file. * gas/mips/dla-warn.s: New file. * gas/mips/la-warn.l: New file. * gas/mips/la-warn.s: New file. * gas/mips/mips.exp: Run new tests. commit a100d66fb42044153dc0e93c96d7944dab0cc674 Author: Sriraman Tallam Date: Thu Apr 23 13:56:40 2015 -0700 Add option --weak-unresolved-symbols to treat unresolved symbols as weak ref. This patch adds option --weak-unresolved-symbols to treat unresolved symbols as weak references. This is helpful when we want the link to succeed with unresolved symbols and the dynamic loader to not complain at run-time. Option --warn-unresolved-symbols lets the link succeed but could fail at run-time with unresolved symbol warnings especially when the unresolved symbols have GOT entries and dynamic relocations against them, like when -fPIE is used. commit 65eb8c79be0c71f9b52d14563c0817fc5ca33c0d Author: Sriraman Tallam Date: Thu Apr 23 13:48:24 2015 -0700 Add option --weak-unresolved-symbols to treat unresolved as weak references. This patch adds option --weak-unresolved-symbols to treat unresolved symbols as weak references. This is helpful when we want the link to succeed with unresolved symbols and the dynamic loader to not complain at run-time. Option --warn-unresolved-symbols lets the link succeed but could fail at run-time with unresolved symbol warnings especially when the unresolved symbols have GOT entries and dynamic relocations against them, like when -fPIE is used. 2015-04-23 Sriraman Tallam * options.h (--weak-unresolved-symbols): New option. * symtab.cc (Symbol_table::sized_write_globals): Change symbol binding to weak with new option. * symtab.h (is_weak_undefined): Check for new option. (is_strong_undefined): Check for new option. * testsuite/Makefile.am (weak_unresolved_symbols_test): New test. * testsuite/Makefile.in: Regenerate. * testsuite/weak_unresolved_symbols_test.cc: New file. commit 2ca4ff6d5b2217faba14b80f88189a42520dcf8f Author: Matthew Fortune Date: Thu Apr 23 20:10:50 2015 +0100 Fix r6-branch-constraints test when run with n64 as default ABI gas/testsuite/ * gas/mips/mips.exp: Require o32 for r6-branch-constraints. commit f6fe1ccd62e4492aabda6a9a9d12da438d0ebf2b Author: H.J. Lu Date: Thu Apr 23 07:58:05 2015 -0700 Don't change compressed input debug section names Change compressed input debug section name for objdump is very confusing. But we need to change it for linker so that linker will consider the input section as a debug section. This patch delays section rename to elf_fake_sections for objcopy and avoids it for objdump. bfd/ PR binutils/18209 * bfd.c (bfd): Add is_linker_input. * elf.c (convert_debug_to_zdebug): New. (convert_zdebug_to_debug): Likewise. (_bfd_elf_make_section_from_shdr): Don't convert .debug_* to .zdebug_* here. Use convert_zdebug_to_debug. Set SEC_ELF_RENAME. (_bfd_elf_init_reloc_shdr): Pass a pointer to section name instead of a pointer to section. (elf_fake_sections): Rename the section name if SEC_ELF_RENAME is set. * section.c (SEC_ELF_RENAME): New. * bfd-in2.h: Regenerated. binutils/ PR binutils/18209 * objcopy.c (setup_section): Copy compress status. binutils/testsuite/ PR binutils/18209 * binutils-all/compress.exp: Replace dw2-3.W with dw2-3gabi.W on zlib-gabi output. * binutils-all/dw2-1.W: Convert section names to .zdebug_*. * binutils-all/dw2-3.W: Likewise. * binutils-all/objdump.W: Likewise. * binutils-all/dw2-3gabi.W: New file. ld/ PR binutils/18209 * ldfile.c (ldfile_try_open_bfd): Set is_linker_input to 1. commit 4ef9fb2f075daec3885c63aa2056075bdd94384b Author: Pedro Alves Date: Thu Apr 23 15:48:27 2015 +0100 Fix gdb.base/interrupt.exp racy fail against gdbserver Currently, against gdbserver, interrupt.exp occasionaly fails like this: ERROR: Process no longer exists UNRESOLVED: gdb.base/interrupt.exp: send end of file The problem is that we see gdbserver exiting before we match gdb's output: expect: does "\r\n\r\nChild exited with status 0\r\nGDBserver exiting\r\n" (spawn_id exp8) match regular expression "end of file"? Gate "end of file"? gate=no expect: read eof expect: set expect_out(spawn_id) "exp8" expect: set expect_out(buffer) "\r\n\r\nChild exited with status 0\r\nGDBserver exiting\r\n" Fix this by removing $inferior_spawn_id from the set of spawn ids expect is watching as soon as we see the "end of file" string out of the inferior spawn id, using an indirect spawn id list. Tested on x86-64 Fedora 20, native and gdbserver (both target remote and extended-remote). gdb/testsuite/ChangeLog: 2015-04-23 Pedro Alves * gdb.base/interrupt.exp: Use an indirect spawn id list holding $inferior_spawn_id instead of $inferior_spawn_id directly. On "end of file", remove $inferior_spawn_id from the indirect list. commit 0a8031692eac62e2b3d74789d56cdfb38a5f91b0 Author: Pedro Alves Date: Thu Apr 23 15:48:27 2015 +0100 gdb.base/interrupt.exp: Rename saw_eof to saw_end_of_file To avoid confusion between "end of file" string matching and eof matching, as in process exit. gdb/testsuite/ChangeLog: 2015-04-23 Pedro Alves * gdb.base/interrupt.exp: Rename saw_eof to saw_end_of_file. commit 749ef8f891fb921cf7ad57062deae6fa8c13b501 Author: Pedro Alves Date: Thu Apr 23 15:48:26 2015 +0100 gdb_test_multiple match eof of any spawn_id Since silent handling of eof is usually the wrong thing to do, this patch makes gdb_test_multiple handle it for all $any_spawn_id. Currently, against gdbserver, interrupt.exp occasionaly fails like this: FAIL: gdb.base/interrupt.exp: send end of file gdb.log with expect debug output enabled shows: expect: does "\r\n\r\nChild exited with status 0\r\nGDBserver exiting\r\n" (spawn_id exp8) match regular expression "end of file"? Gate "end of file"? gate=no expect: read eof expect: set expect_out(spawn_id) "exp8" expect: set expect_out(buffer) "\r\n\r\nChild exited with status 0\r\nGDBserver exiting\r\n" FAIL: gdb.base/interrupt.exp: send end of file Note "expect: read eof" for spawn_id=exp8. exp8 is inferior_spawn_id/gdbserver_spawn_id. That means expect/gdb_test_multiple saw gdbserver exit before we got the expected gdb output. Since there's no explicit pattern for "eof", expect (and thus gdb_test_multiple) just returns. After this commit, we get instead: ERROR: Process no longer exists UNRESOLVED: gdb.base/interrupt.exp: send end of file Note that before we still got an FAIL because $saw_inferior_exit is 0 when we get to: gdb_assert { $saw_eof && $saw_inferior_exit } $msg Fixing the fail (now unresolved) will be the subject of a separate patch. gdb/testsuite/ChangeLog: 2015-04-23 Pedro Alves * lib/gdb.exp (gdb_test_multiple): Match eof/full_buffer/timeout on $any_spawn_id instead of only on $gdb_spawn_id. commit 04d824a468650c632d228b977006139f17d646a4 Author: Jan Beulich Date: Thu Apr 23 16:42:40 2015 +0200 x86: disambiguate disassembly of certain AVX512 insns Certain conversion operations as well as vfpclassp{d,s} are ambiguous when the input operand is in memory and no broadcast is being used. While in Intel mode this gets resolved by printing suitable operand size modifiers, AT&T mode need mnemonic suffixes to be added. gas/testsuite/ 2015-04-23 Jan Beulich * gas/i386/avx512dq.d: Add 'z' suffix to vfpclassp{d,s} non- register, non-broadcast cases. * gas/i386/x86-64-avx512dq.d: Likewise. * gas/i386/avx512dq_vl.d: Add 'x' and 'y' suffixes to vcvt{,u}qq2ps and vfpclassp{d,s} non-register, non-broadcast cases. * gas/i386/x86-64-avx512dq_vl.d: Likewise. * gas/i386/avx512f_vl.d: Add 'x' and 'y' suffixes to vcvt{,t}pd2{,u}dq and vcvtpd2ps non-register, non-broadcast cases. * gas/i386/x86-64-avx512f_vl.d: Likewise. opcodes/ 2015-04-23 Jan Beulich * i386-dis.c (putop): Extend "XY" handling to AVX512. Handle "XZ". * i386-dis-evex.h.c (vcvtpd2ps, vcvtqq2ps, vcvttpd2udq, vcvtpd2udq, vcvtuqq2ps, vcvttpd2dq, vcvtpd2dq): Add %XY. (vfpclasspd, vfpclassps): Add %XZ. commit af508cb92f8fa7eed6c7f2bd3a49d42701db5900 Author: Jan Beulich Date: Thu Apr 23 16:41:21 2015 +0200 x86: don't require operand size specification for AVX512 broadcasts Certain conversion operations as well as vfpclassp{d,s} are ambiguous when the input operand is in memory. That ambiguity, however, doesn't apply when using broadcasts (the destination operand size can be induced from the broadcast specifier). gas/ 2015-04-23 Jan Beulich * config/tc-i386.c (match_mem_size): Also allow no size specification when broadcasting. gas/testsuite/ 2015-04-23 Jan Beulich * gas/i386/avx512dq.s: Drop 'z' suffix from vfpclassp{d,s} in some AT&T and all Intel cases. * gas/i386/x86-64-avx512dq.s: Likewise. * gas/i386/avx512dq_vl.s: Drop 'x' and 'y' suffixes from vcvt{,u}qq2ps and vfpclassp{d,s} in some AT&T and all Intel cases. * gas/i386/x86-64-avx512dq_vl.s: Likewise. * gas/i386/avx512f_vl.s: Drop 'x' and 'y' suffixes from vcvt{,t}pd2{,u}dq and vcvtpd2ps in some AT&T and all Intel cases. * gas/i386/x86-64-avx512f_vl.s: Likewise. commit 8900d71e388043726fece2695b9b0ffc9a0d7afb Author: Patrick Palka Date: Wed Apr 22 19:25:55 2015 -0400 Explicitly call rl_resize_terminal() in TUI's SIGWINCH handler In readline 6.3, the semantics of SIGWINCH handling has changed. When a SIGWINCH signal is raised, readline's rl_sigwinch_handler() now does not immediately call rl_resize_terminal(). Instead it sets a flag that is checked by RL_CHECK_SIGNALS() at a point where readline has control, and calls rl_resize_terminal() if said flag is set. This change is item (c) in https://cnswww.cns.cwru.edu/php/chet/readline/CHANGES c. Fixed a bug that caused readline to try and run code to modify its idea of the screen size in a signal handler context upon receiving a SIGWINCH. This change in behavior is important to us because TUI's tui_sigwinch_handler() relies on the assumption that by the time it's called, readline will have updated its knowledge of the terminal dimensions via rl_resize_terminal(). Since this assumption no longer holds true, TUI's SIGWINCH handling does not work correctly with readline 6.3. To fix this issue this patch makes TUI explicitly call rl_resize_terminal() in tui_async_resize_screen() at the point where current terminal dimensions are needed. (We could call it in tui_sigwinch_handler too, but since readline avoids doing it, we are probably safer off avoiding to call it in signal handler context as well.) After this change, SIGWINCH handling continues to work properly with both readline 6.2 and 6.3. Since we no longer need it, we could now explicitly disable readline's SIGWINCH handler by setting rl_catch_sigwinch to zero early on in the program startup but I can't seem to find a good spot to place this assignment (the first call to rl_initialize() occurs in tui_initialize_readline() so the assignment should occur before then), and the handler is harmless anyway. gdb/ChangeLog: * tui/tui-win.c (tui_async_resize_screen): Call rl_resize_terminal(). commit 2ab52ca58f97a5a852f63df16ac64cfe8534210f Author: Alan Modra Date: Wed Apr 22 11:31:18 2015 +0930 Accept odd result in ld-powerpc/tocnovar testcase I didn't commit this with the relro and powerpc .TOC. changes, thinking that something should be done about the odd result of .shstrtab appearing in PT_GNU_RELRO. On looking at it further, I think that changing readelf would be wrong, so let's just accept the results. Real binaries will always have other sections past .got, so PT_GNU_RELRO won't finish past the end of loaded sections. * ld-powerpc/tocnovar.d: Adjust. commit a27e685fa0a6480bdb07e3be359558524cec89b7 Author: Alan Modra Date: Tue Apr 21 19:18:24 2015 +0930 Align .TOC. for PowerPC64 This change, with prerequisite 0e5fabeb, provides a toc base aligned to 256 bytes rather than 8 bytes. This is necessary for a minor gcc optimisation, allowing use of d-form instructions to correctly access toc-relative items larger than 8 bytes. bfd/ * elf64-ppc.c (TOC_BASE_ALIGN): Define. (ppc64_elf_next_toc_section): Align multi-got toc base. (ppc64_elf_set_toc): Likewise initial toc base and .TOC. symbol. ld/ * emulparams/elf64ppc.sh (GOT): Align. ld/testsuite/ * ld-powerpc/ambiguousv1b.d: Update for aligned .got. * ld-powerpc/defsym.d: Likewise. * ld-powerpc/elfv2-2exe.d: Likewise. * ld-powerpc/elfv2exe.d: Likewise. * ld-powerpc/elfv2so.d: Likewise. * ld-powerpc/relbrlt.d: Likewise. * ld-powerpc/tls.g: Likewise. * ld-powerpc/tlsexe.d: Likewise. * ld-powerpc/tlsexe.g: Likewise. * ld-powerpc/tlsexe.r: Likewise. * ld-powerpc/tlsexetoc.d: Likewise. * ld-powerpc/tlsexetoc.g: Likewise. * ld-powerpc/tlsexetoc.r: Likewise. * ld-powerpc/tlsso.d: Likewise. * ld-powerpc/tlsso.g: Likewise. * ld-powerpc/tlsso.r: Likewise. * ld-powerpc/tlstoc.g: Likewise. * ld-powerpc/tlstocso.d: Likewise. * ld-powerpc/tlstocso.g: Likewise. * ld-powerpc/tlstocso.r: Likewise. * ld-powerpc/tocopt.d: Likewise. * ld-powerpc/tocopt2.d: Likewise. * ld-powerpc/tocopt3.d: Likewise. * ld-powerpc/tocopt4.d: Likewise. * ld-powerpc/tocopt5.d: Likewise. commit 19947f5fbb8f9153d9681ebc9981cc7bb056e741 Author: GDB Administrator Date: Thu Apr 23 00:00:07 2015 +0000 Automatic date update in version.in commit dfc0f57b741c12a94520c9ec7f726755eac1d2de Author: Joel Brobecker Date: Wed Apr 22 12:35:54 2015 -0700 libiberty/setenv.c: Do not declare environ if defined as a macro. Otherwise, it causes a build warning on some platforms such as MinGW. libiberty/ChangeLog (Eli Zaretskii ): * setenv.c : Declare only if not a macro. commit f16eab5ffbd9128410241abc48edcd5871c91137 Author: Jon Turney Date: Wed Apr 15 21:41:25 2015 +0100 windows-nat: Don't change current_event.dwThreadId in handle_output_debug_string() Using the 'catch-signal' test from the testsuite, on x86_64 Cygwin: $ ./gdb testsuite/outputs/gdb.base/catch-signal/catch-signal.exe [...] (gdb) catch signal Catchpoint 1 (standard signals) (gdb) r [...] Catchpoint 1 (signal SIGHUP), main () at ../../../gdb/testsuite/gdb.base/catch-signal.c:40 40 raise (SIGHUP); /* second HUP */ (gdb) c Continuing. main () at ../../../gdb/testsuite/gdb.base/catch-signal.c:40 40 raise (SIGHUP); /* second HUP */ Failed to resume program execution (ContinueDebugEvent failed, error 87) (gdb) This error occurs because when handle_output_debug_string processes a Cygwin signal message, it re-writes current_event.dwThreadId to reflect the thread that the signal will be delivered to, which can be different to the thread reporting the signal. Altering current_event.dwThreadId() will cause ContinueDebugEvent() to be applied to the wrong thread and fail. So, rather than re-writing the thread id in current_event, use the thread id by returning it. With this patch applied this test now yields the expected result: $ ./gdb testsuite/outputs/gdb.base/catch-signal/catch-signal.exe [...] (gdb) catch signal Catchpoint 1 (standard signals) (gdb) r [...] Catchpoint 1 (signal SIGHUP), main () at ../../../gdb/testsuite/gdb.base/catch-signal.c:40 40 raise (SIGHUP); /* second HUP */ (gdb) c Continuing. Catchpoint 1 (signal SIGHUP), main () at ../../../gdb/testsuite/gdb.base/catch-signal.c:42 42 raise (SIGHUP); /* third HUP */ (gdb) gdb/ChangeLog: 2015-04-22 Jon Turney * windows-nat.c (handle_output_debug_string): Don't change current_event.dwThreadId. (get_windows_debug_event): Use thread_id, rather than relying on current_event.dwThreadId being changed. commit 68ffc90245e2e51ba5f096f166ae49262d461b5e Author: Jon Turney Date: Wed Apr 15 21:37:11 2015 +0100 windows-nat: Report an error if ContinueDebugEvent() fails Using the 'catch-signal' test from the testsuite, on x86_64 Cygwin: $ ./gdb testsuite/outputs/gdb.base/catch-signal/catch-signal.exe [...] (gdb) catch signal Catchpoint 1 (standard signals) (gdb) r [...] Catchpoint 1 (signal SIGHUP), main () at ../../../gdb/testsuite/gdb.base/catch-signal.c:40 40 raise (SIGHUP); /* second HUP */ (gdb) c Continuing. [hangs] This is due to a defect in the way Cygwin signals are handled: When handle_output_debug_string processes a Cygwin signal message, it re-writes current_event.dwThreadId to reflect the thread that the signal will be delivered to. Subsequently, the call to ContinueDebugEvent will fail, because we're trying to resume the wrong thread. GDB is then stuck waiting forever for another event that will never come. This patch doesn't fix the problem, it just adds appropriate error handling. Using error() seems appropriate here, if ContinueDebugEvent() fails, the inferior is in an unknown state and we will probably not be debugging it anymore. With this patch applied, resuming the execution of the program now yields: $ ./gdb testsuite/outputs/gdb.base/catch-signal/catch-signal.exe [...] (gdb) catch signal Catchpoint 1 (standard signals) (gdb) r [...] Catchpoint 1 (signal SIGHUP), main () at ../../../gdb/testsuite/gdb.base/catch-signal.c:40 40 raise (SIGHUP); /* second HUP */ (gdb) c Continuing. main () at ../../../gdb/testsuite/gdb.base/catch-signal.c:40 40 raise (SIGHUP); /* second HUP */ Failed to resume program execution (ContinueDebugEvent failed, error 87) (gdb) gdb/ChangeLog: 2015-04-22 Jon Turney * windows-nat.c (windows_continue): Report an error if ContinueDebugEvent() fails. commit 23942819fca67effa062a9639be5df3fb074b322 Author: Jon Turney Date: Tue Apr 14 21:05:21 2015 +0100 windows-nat: Fix misspelling in debug output gdb/ChangeLog: 2015-04-16 Jon Turney * windows-nat.c (windows_resume): Fix misspelling in debug output. commit e6ad66bd097f17ec32c03462dd65b7f833fd49ab Author: Jon Turney Date: Tue Apr 14 19:28:44 2015 +0100 windows-nat: Cleanups in get_windows_debug_event gdb/ChangeLog: 2015-04-16 Jon Turney * windows-nat.c (get_windows_debug_event): Replace retval with thread_id throughout. Update stale comment. commit 776704b9178cce5741e96555ceca514d84824815 Author: Jon Turney Date: Tue Apr 14 19:42:07 2015 +0100 windows-nat: Don't use ternary conditional operator in get_windows_debug_event gdb/ChangeLog: 2015-04-16 Jon Turney * windows-nat.c (get_windows_debug_event): Don't use ternary conditional operator. commit 0e5fabeb2c4b90857403995e14550210fe1cae71 Author: Alan Modra Date: Wed Apr 22 22:46:19 2015 +0930 Rewrite relro adjusting code The linker tries to put the end of the last section in the relro segment exactly on a page boundary, because the relro segment itself must end on a page boundary. If for any reason this can't be done, padding is inserted. Since the end of the relro segment is typically between .got and .got.plt, padding effectively increases the size of the GOT. This isn't nice for targets and code models with limited GOT addressing. The problem with the current code is that it doesn't cope very well with aligned sections in the relro segment. When making .got aligned to a 256 byte boundary for PowerPC64, I found that often the initial alignment attempt failed and the fallback attempt to be less than adequate. This is a particular problem for PowerPC64 since the distance between .got and .plt affects the size of plt call stubs, leading to "stubs don't match calculated size" errors. So this rewrite takes a direct approach to calculating a new relro base. Starting from the last section in the segment, we calculate where it must start to position its end on the boundary, or as near as possible considering alignment requirements. The new start then becomes the goal for the previous section to end, and so on for all sections. This of course ignores the possibility that user scripts will place . = ALIGN(xxx); in the relro segment, or provide section address expressions. In those cases we might fail, but the old code probably did too, and a fallback is provided. ld/ * ldexp.h (struct ldexp_control): Delete dataseg.min_base. Add data_seg.relro_offset. * ldexp.c (fold_binary ): Don't set min_base. (fold_binary ): Do set relro_offset. * ldlang.c (lang_size_sections): Rewrite code adjusting relro segment base to line up last section on page boundary. ld/testsuite/ * ld-x86-64/pr18176.d: Update. commit d5597ebccca6761fb641b7fc99b6e8b56fbac6e2 Author: H.J. Lu Date: Wed Apr 22 05:24:54 2015 -0700 i386: Allow copy relocs for building PIE This patch allows copy relocs for R_386_GOTOFF relocations in PIE. For extern int glob_a; int foo () { return glob_a; } compiler now can optimize it from call __x86.get_pc_thunk.ax addl $_GLOBAL_OFFSET_TABLE_, %eax movl glob_a@GOT(%eax), %eax movl (%eax), %eax ret to call __x86.get_pc_thunk.ax addl $_GLOBAL_OFFSET_TABLE_, %eax movl glob_a@GOTOFF(%eax), %eax ret bfd/ PR ld/18289 * elf32-i386.c (elf_i386_link_hash_entry): Add gotoff_ref. (elf_i386_link_hash_newfunc): Initialize gotoff_ref to 0. (elf_i386_create_dynamic_sections): Always allow copy relocs for building executables. (elf_i386_copy_indirect_symbol): Also copy gotoff_ref. (elf_i386_check_relocs): Set gotoff_ref for R_386_GOTOFF. (elf_i386_adjust_dynamic_symbol): Also allocate copy relocs for PIE and R_386_GOTOFF. (elf_i386_relocate_section): Allow R_386_GOTOFF in executable. ld/testsuite/ PR ld/18289 * ld-i386/copyreloc-lib.c: New file. * ld-i386/copyreloc-main.S: Likewise. * ld-i386/copyreloc-main.out: Likewise. * ld-i386/copyreloc-main1.rd: Likewise. * ld-i386/copyreloc-main2.rd: Likewise. * ld-i386/dummy.c: Likewise. * ld-i386/pr17689.out: Likewise. * ld-i386/pr17689.rd: Likewise. * ld-i386/pr17689a.c: Likewise. * ld-i386/pr17689b.S: Likewise. * ld-i386/pr17827.rd: Likewise. * ld-i386/pr17827ver.rd: Likewise. * ld-i386/i386.exp: Run copyreloc tests. commit 712e55b92481d89d01877a0668d8140029feca88 Author: GDB Administrator Date: Wed Apr 22 00:00:13 2015 +0000 Automatic date update in version.in commit 8aae434443df61440ff5228f5c8fe3e5d4a38798 Author: Pierre Muller Date: Tue Apr 21 22:10:08 2015 +0200 Fix pascal behavior for class fields with testcase Problem reported as PR pascal/17815 Part 1/3: Remember the case pattern that allowed finding a field of this. File gdb/p-exp.y modified This is the fix in the pascal parser (p-exp.y), to avoid the error that GDB does find normal variables case insensitively, but not fields of this, inside a class or object method. Part 2/3: Add "class" option for pascal compiler File gdb/testsuite/lib/pascal.exp This part of the patch series is unchanged. It adds class option to pascal compiler which adds the required command line option to accept pascal class types. Part 3/3: New file: gdb/testsuite/gdb.pascal/case-insensitive-symbols.exp New file: gdb/testsuite/gdb.pascal/case-insensitive-symbols.pas Here is an updated version of this test, using Pedro's suggestions. Test to check that PR 17815 is fixed. commit 819843c7029916120aa2929f80e0d7276177a7fb Author: Gary Benson Date: Tue Apr 21 12:07:54 2015 +0100 Introduce new shared function fileio_to_host_openflags This commit introduces a new shared function to replace identical functions in GDB and gdbserver. commit 43236bb2551a9783ff0de5e95bf75f905300eb06 Author: Mike Frysinger Date: Tue Apr 21 03:05:57 2015 -0400 sim: mcore: clean up printf warnings These printf statements are showing "word" objects which are typedefed from long, so make sure to use l with %x when printing them to avoid warnings from gcc. commit f63036b811550ef12ab849ab55b35cd92403fda1 Author: Mike Frysinger Date: Tue Apr 21 02:55:29 2015 -0400 sim: mcore: convert to common memory/verbose functions Re-use the existing memory core that handles reads/writes. The verbose command is converted to the common --verbose flag since only a few call sites use it now. commit e53e5aab53a455c791fff754d72fd17cbbc6b4a8 Author: Mike Frysinger Date: Tue Apr 21 02:50:38 2015 -0400 sim: mcore: drop watchpoint/dumpmem/clearstats support In preparation for converting to the common memory framework, the custom commands get in our way. But when we realize that gdb support has been dropped for mcore, it makes things a bit easier: the main runner does not let you run arbitrary commands once simulation starts. So lets disable watchpoint support until it can be converted to the common watchpoint logic. There's already an ifdef to let us do that. We straight up drop support for the dumpmem command (no other sim supports this, and if it's a feature people want, we can add a common func) and the clearstats command (not a big deal -- just restart your simulation). We leave in place the verbose check points as a follow up commit will cut that over to common logic. commit 767e68f1b93be396e0cf1296a11584dd725b9569 Author: Mike Frysinger Date: Tue Apr 21 02:30:21 2015 -0400 sim: mcore: switch to common syscall handling Now that libgloss has a header tracking the syscalls for this arch, we can update the database to include it for the symbolic constants/maps. Then we can switch the mcore syscall callbacks over to the common ones. commit 248d23e82bc9430cdb6424a5b6b48999cf4001db Author: Mike Frysinger Date: Tue Apr 21 02:24:34 2015 -0400 sim: gennltvals.sh: handle split out newlib source tree Since newlib no longer shares the same repo as binutils/gdb, we have to go searching further afield to locate the sources. We still look at the top level for newlib, but if that is not found, we also try up one dir outside of this source tree. It sucks, but better than the status quo (no workie). commit 0bca7f99d8fa254b5e35a211ee306a46b95adc65 Author: Kevin Buettner Date: Mon Apr 20 23:37:44 2015 -0700 Extend rl78 prologue analyzer to recognize more complicated prologues This patch extends the rl78 prologue analyzer so that it can recognize this kind of prologue: 0x119f
: movw ax, sp 0x11a1 : subw ax, #0x1fa6 0x11a4 : movw sp, ax The test case for gdb.base/miscexprs.exp is now compiled to generate that sequence instead of a much longer and more inefficient sequence. gdb/ChangeLog: * rl78-tdep.c (RL78_SP_ADDR): Define. (opc_reg_to_gdb_regnum): New static function. (rl78_analyze_prologue): Recognize instructions forming slightly more interesting prologues. commit 4b889c3013d7d45e2775781c3904b657419db2fa Author: Ian Coolidge Date: Mon Apr 20 18:04:07 2015 -0700 Ensure that dynamically loaded libraries won't use separate copies of GNU_UNIQUE symbols. gold/ * symtab.cc (Symbol::should_add_dynsym_entry): Return true for GNU_UNIQUE. commit efdacec57ccde20bb53045e2930ef02e7e49416b Author: GDB Administrator Date: Tue Apr 21 00:00:08 2015 +0000 Automatic date update in version.in commit e97029632cfacf9d8b65e2cf3051a932f19f9ebf Author: H.J. Lu Date: Mon Apr 20 12:37:14 2015 -0700 Always set up sh_name in assign_section_numbers commit 9ad5cbcfb23cb74d34bd04f88f4e47c0f5de5155 added the initial support for more than 64k ELF sections with holes for reserved section indices in section header table and set entries of reserved section indices in section header table to index 0: for (secn = 1; secn < section_number; ++secn) - i_shdrp[secn]->sh_name = _bfd_elf_strtab_offset (elf_shstrtab (abfd), - i_shdrp[secn]->sh_name); - + if (i_shdrp[secn] == NULL) + i_shdrp[secn] = i_shdrp[0]; + else + i_shdrp[secn]->sh_name = _bfd_elf_strtab_offset (elf_shstrtab (abfd), + i_shdrp[secn]->sh_name); commit 4fbb74a6055f7d48f09c44064073d3b1e99c6642 removed holes in section header table. Check for i_shdrp[secn] == NULL is no longer needed now. This patch removes it. * elf.c (assign_section_numbers): Always set up sh_name. commit be59ad3d96fa78d97193698eb7c6309489493712 Author: H.J. Lu Date: Mon Apr 20 09:55:34 2015 -0700 Don't hardcode offset of .shstrtab section There is no requirement on placement of section name section, .shstrtab. This patch removes hardcoded offsets of .shstrtab sections. binutils/testsuite/ * binutils-all/i386/compressed-1b.d: Don't hardcode offset of .shstrtab section. * binutils-all/i386/compressed-1c.d: Likewise. * binutils-all/readelf.s-64: Likewise. * binutils-all/x86-64/compressed-1b.d: Likewise. * binutils-all/x86-64/compressed-1c.d: Likewise. gas/testsuite/ * gas/i386/ilp32/x86-64-unwind.d: Don't hardcode offset of .shstrtab section. * gas/i386/x86-64-unwind.d: Likewise. * gas/ia64/alias-ilp32.d: Likewise. * gas/ia64/alias.d: Likewise. * gas/ia64/group-1.d: Likewise. * gas/ia64/group-2.d: Likewise. * gas/ia64/secname-ilp32.d: Likewise. * gas/ia64/secname.d: Likewise. * gas/ia64/unwind-ilp32.d: Likewise. * gas/ia64/unwind.d: Likewise. * gas/mmix/bspec-1.d: Likewise. * gas/mmix/byte-1.d: Likewise. * gas/mmix/loc-1.d: Likewise. * gas/mmix/loc-2.d: Likewise. * gas/mmix/loc-3.d: Likewise. * gas/mmix/loc-4.d: Likewise. * gas/mmix/loc-5.d: Likewise. * gas/tic6x/scomm-directive-4.d: Likewise. ld/testsuite/ * ld-mmix/bspec1.d: Don't hardcode offset of .shstrtab section. * ld-mmix/bspec2.d: Likewise. * ld-mmix/local1.d: Likewise. * ld-mmix/local3.d: Likewise. * ld-mmix/local5.d: Likewise. * ld-mmix/local7.d: Likewise. * ld-mmix/undef-3.d: Likewise. * ld-sh/sh64/crangerel1.rd: Likewise. * ld-sh/sh64/crangerel2.rd: Likewise. * ld-tic6x/common.d: Likewise. * ld-tic6x/shlib-1.rd: Likewise. * ld-tic6x/shlib-1b.rd: Likewise. * ld-tic6x/shlib-1r.rd: Likewise. * ld-tic6x/shlib-1rb.rd: Likewise. * ld-tic6x/shlib-app-1.rd: Likewise. * ld-tic6x/shlib-app-1b.rd: Likewise. * ld-tic6x/shlib-app-1r.rd: Likewise. * ld-tic6x/shlib-app-1rb.rd: Likewise. * ld-tic6x/shlib-noindex.rd: Likewise. * ld-tic6x/static-app-1.rd: Likewise. * ld-tic6x/static-app-1b.rd: Likewise. * ld-tic6x/static-app-1r.rd: Likewise. * ld-tic6x/static-app-1rb.rd: Likewise. * ld-x86-64/ilp32-4.d: Likewise. * ld-x86-64/split-by-file-nacl.rd: Likewise. * ld-x86-64/split-by-file.rd: Likewise. commit e06efbf1c8198e25ef36a9787862f9720a94ba7b Author: H.J. Lu Date: Mon Apr 20 08:50:01 2015 -0700 Iterate ELF sections by pointer Iterate ELF sections by pointer without section counter. It removes "i++". * elf.c (assign_file_positions_for_non_load_sections): Iterate sections by pointer. (_bfd_elf_assign_file_positions_for_non_load): Likewise. commit d3b47e2bd4f2924e965c586d3bf4d0b0cc6b40cc Author: H.J. Lu Date: Mon Apr 20 08:05:13 2015 -0700 Silence texinfo 5.1 warnings This patch silences texinfo 5.1 warnings by using @subsection and sorting entries in Machine Dependencies menu. * doc/as.texinfo (Bundle directives): Shorten menu entry and use @subsection. (CFI directives): Use @subsection. (SH-Dependent, SH64-Dependent): Moved after SCORE-Dependent. * doc/c-i386.texi (i386-Mnemonics): Use @subsection. commit e771e4be1393b629bc243e2b5ee1e91850334d5a Author: Pierre-Marie de Rodat Date: Mon Apr 20 16:06:50 2015 +0200 Revert "Do not consider reference types as dynamic" This reverts commit 961f41602529c9cd4f88af6c02fb61fb55100e27. Note that the revert is partial: it keeps the new testcases gdb.ada/funcall_ref.exp. commit ee715b5a6c88dcd7d81a44e57cb4dfe4790a4259 Author: Pierre-Marie de Rodat Date: Mon Apr 20 16:04:28 2015 +0200 Revert "gdbtypes.c: remove the usuned "top_level" parameter" This reverts commit 25755e2b85e2bd5b313ea87f32000bf9a47dbbf8. commit 1586c8fbaf0116931ffacd1746a6540c81c2d438 Author: Gary Benson Date: Mon Apr 20 11:35:29 2015 +0100 Fix three test failures with extended remote targets This commit fixes three gdb.base/attach.exp failures when using extended remote targets. The failures occurred because GDB now locates and loads files when attaching on remote targets if the remote target supports qXfer:exec-file:read; the filenames were shown but with "target:" prefixes which the test has been updated to handle. gdb/testsuite/ChangeLog: * gdb.base/attach.exp: Fix three extended remote failures. commit 3cdf408c30480ce06ce5c7b156aab4c4601840e7 Author: GDB Administrator Date: Mon Apr 20 00:00:07 2015 +0000 Automatic date update in version.in commit e31d7699a0b116025b48f1ab5214eddd2e56ef9f Author: Gabriel Krisman Bertazi Date: Sun Apr 19 19:34:08 2015 -0300 Remove duplicated xmalloc in update_dprintf_command_list Code in update_dprintf_command_list performed a duplicated memory allocation which caused an obvious memory leak. This removes the duplication. gdb/ 2015-04-19 Gabriel Krisman Bertazi * breakpoint.c (update_dprintf_command_list): Remove duplicated xmalloc. commit 110f91128cf3e047eb1e04d346c27d71cc33fb9c Author: Thomas Schwinge Date: Mon Apr 20 00:31:54 2015 +0200 [GDB] Hurd: Robustify the reply_mig_hack.awk script. ..., so that it also works with the GNU MIG 1.5 just released. gdb/ * reply_mig_hack.awk: Robustify parsing. commit d214e5e79e38b18bc3786b3e8ba0e55fdbba294b Author: Thomas Schwinge Date: Mon Apr 20 00:22:32 2015 +0200 [GDB] Hurd: Simplify the reply_mig_hack.awk script. gdb/ * reply_mig_hack.awk: Don't bother to declare an intermediate function pointer variable. ... allowing us to simplify the parsing a little bit. And, instead of "warning: initialization from incompatible pointer type", we now get "warning: function called through a non-compatible type". Oh well. commit d3e9b40afb8e7bd09522044951cdce4710676c3e Author: Jiri Gaisler Date: Fri Apr 3 22:35:48 2015 +0200 sim/erc32: Switched emulated memory to host endian order. Change data ordering in emulated memory from target order (big endian) to host order. Improves performance and simplifies most memory operations. Requires some byte twisting during stores on little endian hosts (intel). Also removed support for little-endian binaries. commit 09b29ece9abb652983d4718aac0ff666d62d6790 Author: GDB Administrator Date: Sun Apr 19 00:00:08 2015 +0000 Automatic date update in version.in commit 3ebe2863f79e04d841e6b97594ec032d2bfad1b8 Author: Mike Frysinger Date: Sat Apr 18 04:38:33 2015 -0400 sim: clean up duplicate sim-engine hooks Now that we've unified sim-cpu, we can delete the duplicate sim-engine hooks -- these targets defined these only because they didn't fully implement the sim-cpu callbacks. commit e8d3a34fee495d7d44e6bf8e13d472b33f847635 Author: Mike Frysinger Date: Sat Apr 18 04:22:25 2015 -0400 sim: trim old USING_SIM_BASE_H define This doesn't appear to have been used since 1998, but wasn't cleaned up since. So much for being "quick" ;). commit 20bca71d82598a015de0991196e45f0b5f7ead81 Author: Mike Frysinger Date: Sat Apr 18 04:19:56 2015 -0400 sim: unify SIM_CPU definition Since every target typedefs this the same way, move it to the common code. We have to leave Blackfin behind here for now because of inter-dependencies on types and headers: sim-base.h includes sim-model.h which needs types in machs.h which needs types in bfim-sim.h which needs SIM_CPU. commit 7e83aa92f2d986ba60f124287a9fd1e534fbbcf8 Author: Mike Frysinger Date: Sat Apr 18 04:08:56 2015 -0400 sim: unify sim_cia definition Almost every target defines sim_cia the same way -- either using the address_word type directly, or a type of equivalent size. The only odd one out is sh64 (who has 32bit address_word and 64bit cia), and even that case doesn't seem to make sense. We'll put off clean up though of sh64 and at least set up a sensible default for everyone. commit b9a7202de81202af1337d2cef22db5e3b5bca665 Author: GDB Administrator Date: Sat Apr 18 00:00:07 2015 +0000 Automatic date update in version.in commit 8f61baf802b597c11fec288f840d9f7feb18eb0e Author: Doug Evans Date: Fri Apr 17 10:57:45 2015 -0700 solib-svr4.c (svr4_exec_displacement): Rename outer "displacement". gdb/ChangeLog: * solib-svr4.c (svr4_exec_displacement): Rename outer "displacement" to "exec_displacement" to avoid confusion with inner use of the name. commit 4277535cdc6ce6998cdc273bbe454f9ca2c23037 Author: Rafael Ávila de Espíndola Date: Fri Apr 17 11:51:36 2015 -0400 Use LIFO instead of FIFO to implement gc's transitive closure. FIFO is harder to implement and has less locality than LIFO. It is also not necessary to implement a transitive closure, a LIFO works just as well. commit a4ea36c6cb13d100aacab3a90762597cef471b35 Author: Richard Earnshaw Date: Fri Apr 17 16:10:43 2015 +0100 Merge include/partition.h from GCC. 2015-03-19 Richard Biener * partition.h (struct partition_elem): Re-order elements to avoid padding. commit a2d5a9d76f2366ed93095fc5a63eafa06b22f808 Author: Max Filippov Date: Fri Apr 17 02:52:50 2015 +0300 gdbserver/xtensa: fix typo in XCHAL_HAVE_LOOPS This fixes lbeg/lend/lcount registers handling through gdbserver. 2015-04-17 Max Filippov gdb/gdbserver/ * linux-xtensa-low.c (xtensa_fill_gregset) (xtensa_store_gregset): Check XCHAL_HAVE_LOOPS instead of XCHAL_HAVE_LOOP. commit deb44829ecc1dd38275af0fcf91acd319e227a89 Author: Max Filippov Date: Fri Apr 17 03:07:41 2015 +0300 gdbserver/xtensa: drop xtensa_usrregs_info xtensa_usrregs_info refers to undefined variables xtensa_num_regs and xtensa_regmap. Drop xtensa_usrregs_info and replace pointer to usrregs in regs_info with NULL since all registers are read/set through regsets. 2015-04-17 Max Filippov gdb/gdbserver/ * linux-xtensa-low.c (xtensa_usrregs_info): Remove. (regs_info): Replace usrregs pointer with NULL. commit dbbf180a8176d59eb04d20a681c0e77e2b0551a5 Author: Yao Qi Date: Fri Apr 17 13:52:44 2015 +0100 return zero in arm_linux_can_use_hw_breakpoint if HW point isn't supported This patch is to cherry-pick part of Pedro's patch here https://sourceware.org/ml/gdb-patches/2015-04/msg00527.html in which zero is returned if the HW point isn't supported. In arm-linux native gdb testing on a board doesn't support HW breakpoint, without this patch, the output in gdb.base/breakpoint-in-ro-region.exp is like: (gdb) hbreak *0x83bc^M Hardware breakpoints used exceeds limit.^M (gdb) PASS: gdb.base/breakpoint-in-ro-region.exp: probe hbreak support (support) with this patch, the output becomes: (gdb) hbreak *0x83bc^M No hardware breakpoint support in the target.^M (gdb) PASS: gdb.base/breakpoint-in-ro-region.exp: probe hbreak support (no support) As a result, the following fails are fixed. -FAIL: gdb.base/breakpoint-in-ro-region.exp: always-inserted off: auto-hw on: step in ro region (cannot insert hw break) -FAIL: gdb.base/breakpoint-in-ro-region.exp: always-inserted off: auto-hw on: thread advanced -FAIL: gdb.base/breakpoint-in-ro-region.exp: always-inserted on: auto-hw on: step in ro region (cannot insert hw break) -FAIL: gdb.base/breakpoint-in-ro-region.exp: always-inserted on: auto-hw on: thread advanced gdb: 2015-04-17 Pedro Alves * arm-linux-nat.c (arm_linux_can_use_hw_breakpoint): Return zero if HW point of TYPE isn't supported. commit 059790a0c8f4672da9ed5a6289d1fd9edc0f169f Author: Yao Qi Date: Fri Apr 17 13:45:53 2015 +0100 Update comments to target_can_use_hardware_watchpoint The return value of target_can_use_hardware_watchpoint isn't well documented, so this patch is to update the comments to reflect the fact. This patch also removes a trailing ";" which is picked up from Pedro's patch https://sourceware.org/ml/gdb-patches/2015-04/msg00527.html gdb: 2015-04-17 Yao Qi Pedro Alves * target.h (target_can_use_hardware_watchpoint): Update comments. Remove trailing ";". commit ef7a936968ec4cdeadd19b0ccb213403adc26390 Author: Senthil Kumar Selvaraj Date: Fri Apr 17 20:55:54 2015 +0930 Fix avr compiler warning declaration of "link" shadows a global declaration * config/tc-avr.c (create_record_for_frag): Rename link to prop_rec_link. commit 1b6e6f5c7ffba559a681d11852acf38ef48dceff Author: Gary Benson Date: Fri Apr 17 09:47:30 2015 +0100 Access executable from remote system when first inferior appears This commit modifies remote_add_inferior to take an extra argument try_open_exec. If this is nonzero, remote_add_inferior will attempt to open this inferior's executable as the main executable if no main executable is open already. Callers are updated appropriately. With this commit, remote debugging can now be initiated using only a "target remote" or "target extended-remote" command; no "set sysroot" or "file" commands are required, e.g. bash$ gdb -q (gdb) target remote | gdbserver - /bin/sh Remote debugging using | gdbserver - /bin/sh Process /bin/sh created; pid = 32166 stdin/stdout redirected Remote debugging using stdio Reading symbols from target:/bin/bash... One testcase required updating as a result of this commit. The test checked that GDB's "info files" command does not crash if no main executable is open, and relied on GDB's inability to access the main executable over the remote protocol. The test was updated to inhibit this new behavior. gdb/ChangeLog: * remote.c (remote_add_inferior): New argument try_open_exec. If nonzero, attempt to open the inferior's executable file as the main executable if no main executable is open already. All callers updated. * NEWS: Mention that GDB now supports automatic location and retrieval of executable + files from remote targets. gdb/doc/ChangeLog: * gdb.texinfo (Connecting to a Remote Target): Mention that GDB can access program files from remote targets that support qXfer:exec-file:read and Host I/O packets. gdb/testsuite/ChangeLog: * gdb.server/server-exec-info.exp: Inhibit GDB from accessing the main executable over the remote protocol. commit e57f1de3b37e17e1c80515f6e80ecb4ccd1bf0fb Author: Gary Benson Date: Fri Apr 17 09:47:30 2015 +0100 Implement qXfer:exec-file:read in gdbserver This commit implements the "qXfer:exec-file:read" packet in gdbserver. gdb/gdbserver/ChangeLog: * target.h (struct target_ops) : New field. * linux-low.c (linux_target_ops): Initialize pid_to_exec_file. * server.c (handle_qxfer_exec_file): New function. (qxfer_packets): Add exec-file entry. (handle_query): Report qXfer:exec-file:read as supported packet. commit c78fa86a213db1bdef328437ac262a4f54577827 Author: Gary Benson Date: Fri Apr 17 09:47:30 2015 +0100 Implement remote_pid_to_exec_file using qXfer:exec-file:read This commit adds a new packet "qXfer:exec-file:read" to the remote protocol that can be used to obtain the pathname of the file that was executed to create a process on the remote system. Support for this packet is added to GDB and remote_ops.to_pid_to_exec_file is implemented using it. gdb/ChangeLog: * target.h (TARGET_OBJECT_EXEC_FILE): New enum value. * remote.c (PACKET_qXfer_exec_file): Likewise. (remote_protocol_features): Register the "qXfer:exec-file:read" feature. (remote_xfer_partial): Handle TARGET_OBJECT_EXEC_FILE. (remote_pid_to_exec_file): New function. (init_remote_ops): Initialize to_pid_to_exec_file. (_initialize_remote): Register new "set/show remote pid-to-exec-file-packet" command. * NEWS: Announce new qXfer:exec-file:read packet. gdb/doc/ChangeLog: * gdb.texinfo (Remote Configuration): Document the "set/show remote pid-to-exec-file-packet" command. (General Query Packets): Document the qXfer:exec-file:read qSupported features. Document the qXfer:exec-file:read packet. commit e0d86d2cbd168e083f3d077b8cfe67c3d03c1e5f Author: Gary Benson Date: Fri Apr 17 09:47:30 2015 +0100 Introduce linux_proc_pid_to_exec_file This commit introduces a new function linux_proc_pid_to_exec_file that shared Linux code can use to discover the filename of the executable that was run to create a process on the system. gdb/ChangeLog: * nat/linux-procfs.h (linux_proc_pid_to_exec_file): New declaration. * nat/linux-procfs.c (linux_proc_pid_to_exec_file): New function, factored out from... * linux-nat.c (linux_child_pid_to_exec_file): ...here. commit a9a5a3d1d27fc443934ed4919f69b34144288cf0 Author: Gary Benson Date: Fri Apr 17 09:47:30 2015 +0100 Use gdb_sysroot for main executable on attach This commit updates exec_file_locate_attach to use exec_file_find to compute the full pathname of the main executable in some cases. The net effect of this is that the main executable's path will be prefixed with gdb_sysroot in the same way that shared library paths currently are. gdb/ChangeLog: * exec.c (solist.h): New include. (exec_file_locate_attach): Prefix absolute executable paths with gdb_sysroot if set. * NEWS: Mention that executable paths may be prepended with sysroot. gdb/doc/ChangeLog: * gdb.texinfo (set sysroot): Document that "set sysroot" also applies to executable paths if supplied to GDB as absolute. commit af1900b01b378126d8826591be7b7ec0d18271d7 Author: Gary Benson Date: Fri Apr 17 09:47:30 2015 +0100 Introduce exec_file_find This commit adds a new function, exec_file_find, which computes the full pathname of the main executable in much the same way solib_find does for pathnames of shared libraries. The bulk of the existing solib_find was moved into a new static function solib_find_1, with exec_file_find and solib_find being small wrappers for solib_find_1. gdb/ChangeLog: * solist.h (exec_file_find): New declaration. * solib.c (solib_find_1): New function, factored out from... (solib_find): ...here. (exec_file_find): New function. commit a10de6046fbd50e99742af428a815dcd94e2fba8 Author: Gary Benson Date: Fri Apr 17 09:47:30 2015 +0100 Introduce exec_file_locate_attach This commit adds a new function, exec_file_locate_attach, which works like exec_file_attach except that, instead of a filename argument, it takes an integer process ID and attempts to determine the executable filename from that. gdb/ChangeLog: * gdbcore.h (exec_file_locate_attach): New declaration. * exec.c (exec_file_locate_attach): New function, factored out from... * infcmd.c (attach_command_post_wait): ...here. commit 92209ddfdc725c51d0368716ee316193deb24e8a Author: Mike Frysinger Date: Thu Apr 2 00:51:25 2015 -0400 gdb: add myself to blackfin/write-after-approval commit c85fc61074e9fab1bafbae97ea4628c7bffaaf76 Author: Mike Frysinger Date: Sun Apr 12 05:49:31 2015 -0400 sim: microblaze: switch to common memory functions Re-use the existing memory core that handles reads/writes. This drops support for the dumpmem command, but gdb itself has support for dumping memory regions. The verbose command is converted to the common --verbose flag since only two call sites use it now. Support for the clearstats command is dropped entirely, but no other sim really does this, and the same thing can be done by reloading. If it's important (clearing cycle stats) to someone, we can add a common function for it. commit 034685f9ce92cf6dfb6656745365b6a5904a8e84 Author: Mike Frysinger Date: Thu Apr 16 02:11:12 2015 -0400 sim: replace CIA_{GET,SET} with CPU_PC_{GET,SET} The CIA_{GET,SET} macros serve the same function as CPU_PC_{GET,SET} except the latter adds a layer of indirection via the sim state. This lets models set up different functions at runtime and doesn't reach so directly into the arch-specific cpu state. It also doesn't make sense to have two sets of macros that do exactly the same thing, so lets standardize on the one that gets us more. commit 27b97b40bca216097d16d53fa9408a70cd281479 Author: Mike Frysinger Date: Fri Apr 17 02:16:10 2015 -0400 sim: arm/cr16/d10v/h8300/microblaze/sh: fill out sim-cpu pc fetch/store helpers This makes the common sim-cpu logic work. commit 0fdc66e16e44210dd7468eb78a9c658d6f0b2b65 Author: GDB Administrator Date: Fri Apr 17 00:00:07 2015 +0000 Automatic date update in version.in commit 5019d64a1ff6847a87f5af04bd7b8bc28f1dd9df Author: Han Shen Date: Thu Apr 16 15:17:08 2015 -0700 [gold] The first patch to address cortex-a53 erratum-843419. It implemented scanning the binary and reporting occurrences to users when '--fix-cortex-a53' is turned on. With this, gold users will be able to see if or not there are such erratum occurrences in the output binary. Also included in the CL is reading/recording mapping symbols, which is needed during scan. gold/ChangeLog: * aarch64.cc (AArch64_insn_utilities): New utility class. (AArch64_relobj::Mapping_symbol_position): New struct. (AArch64_relobj::Mapping_symbol_info): New typedef. (AArch64_relobj::do_count_local_symbols): New function overriding parent's implementation. (AArch64_relobj::mapping_symbol_info_): New member (AArch64_relobj::scan_erratum_843419): New method. (Target_aarch64::scan_erratum_843419_span): New method. (Target_aarch64::is_erratum_843419_sequence): New method. * options.h (fix_cortex_a53): New option. commit e797481d53d846c8adb51576385fdf7f8cb272ac Author: Pedro Alves Date: Thu Apr 16 12:23:26 2015 +0100 Fix {mi-tracepoint-changed, mi-tsv-changed}.exp with native-extended-gdbserver Fixes: -FAIL: gdb.trace/mi-tracepoint-changed.exp: reconnect: break-info 1 +PASS: gdb.trace/mi-tracepoint-changed.exp: reconnect: tracepoint created +PASS: gdb.trace/mi-tracepoint-changed.exp: reconnect: tracepoint on marker is installed +PASS: gdb.trace/mi-tracepoint-changed.exp: reconnect: break-info 1 -FAIL: gdb.trace/mi-tsv-changed.exp: upload: tsv1 created -FAIL: gdb.trace/mi-tsv-changed.exp: upload: tsv2 created +PASS: gdb.trace/mi-tsv-changed.exp: upload: tsv1 created +PASS: gdb.trace/mi-tsv-changed.exp: upload: tsv2 created These tests do something like this: #0 - start gdb/gdbserver normally #1 - setup some things in the debug session #2 - disconnect from gdbserver #3 - restart gdb #4 - reconnect to gdbserver The problem is that the native-extended-gdbserver board always spawns a new gdbserver instance in #3 (and has gdb connect to that). So when the test gets to #4, it connects to that new instance instead of the old one: (gdb) spawn ../gdbserver/gdbserver --multi :2354 Listening on port 2354 target extended-remote localhost:2354 Remote debugging using localhost:2354 ... spawn ../gdbserver/gdbserver --multi :2355 Listening on port 2355 47-target-select extended-remote localhost:2355 =tsv-created,name="trace_timestamp",initial="0"\n 47^connected (gdb) ... 47-target-select extended-remote localhost:2355 47^connected (gdb) FAIL: gdb.trace/mi-tsv-changed.exp: upload: tsv1 created FAIL: gdb.trace/mi-tsv-changed.exp: upload: tsv2 created testsuite/ChangeLog: 2015-04-16 Pedro Alves * boards/native-extended-gdbserver.exp (mi_gdb_start): Don't start a new gdbserver if gdbserver_reconnect_p is set. commit 1ca99c4299f4deed8765fbb1eb4f9aea40d919b6 Author: Pedro Alves Date: Thu Apr 16 14:26:59 2015 +0100 Fix gdbserver_reconnect_p handling Commit 6423214f (testsuite: Don't use expect_background to reap gdbserver) broke a couple tests that set gdbserver_reconnect_p and restart gdb before reconnecting, because a gdb_exit (e.g., through clean_restart) exits gdbserver unconditionally. Fixes, with --target_board=native-gdbserver: -FAIL: gdb.trace/mi-tracepoint-changed.exp: reconnect: break-info 1 +PASS: gdb.trace/mi-tracepoint-changed.exp: reconnect: tracepoint created +PASS: gdb.trace/mi-tracepoint-changed.exp: reconnect: tracepoint on marker is installed +PASS: gdb.trace/mi-tracepoint-changed.exp: reconnect: break-info 1 -FAIL: gdb.trace/mi-tsv-changed.exp: upload: tsv1 created -FAIL: gdb.trace/mi-tsv-changed.exp: upload: tsv2 created +PASS: gdb.trace/mi-tsv-changed.exp: upload: tsv1 created +PASS: gdb.trace/mi-tsv-changed.exp: upload: tsv2 created gdb/testsuite/ 2015-04-16 Pedro Alves * lib/gdbserver-support.exp (gdb_exit): If gdbserver_reconnect_p is set, don't exit gdbserver. commit 8550d3b32f4ac17bdb9e4768bb905da181b77ded Author: Yao Qi Date: Thu Apr 16 13:48:10 2015 +0100 Honour software single step in fallback of displaced stepping Hi, When I run gdb.threads/non-stop-fair-events.exp on arm-linux target, I see the following message in the debugging log, displaced: breakpoint is gone: Thread 22518, step(1)^M Sending packet: $vCont;s:p57f3.57f6#9d... ^^^^^^^^^ GDB sends vCont;s by mistake, and GDBserver fails on assert. GDB doesn't consider software single step in infrun.c:displaced_step_fixup, /* Go back to what we were trying to do. */ step = currently_stepping (tp); if (debug_displaced) fprintf_unfiltered (gdb_stdlog, "displaced: breakpoint is gone: %s, step(%d)\n", target_pid_to_str (tp->ptid), step); target_resume (ptid, step, GDB_SIGNAL_0); The patch is to let GDB consider software single step here. It fixes fails in gdb.threads/non-stop-fair-events.exp on arm. gdb: 2015-04-16 Yao Qi * infrun.c (maybe_software_singlestep): Declare. (displaced_step_fixup): Call maybe_software_singlestep. commit af9fd6f863c9f184e2c84d8a4707b3ec7b8ca67b Author: Andreas Arnez Date: Thu Apr 16 13:03:48 2015 +0200 s390-vregs.exp: Avoid compile errors with older GCCs and on 31-bit targets The test case s390-vregs.exp yields compile errors on 31-bit targets as well as when using a GCC that defaults to an older "-march=". This patch fixes these issues. gdb/testsuite/ChangeLog: * gdb.arch/s390-vregs.S (change_vrs): Replace exrl by an appropriate .insn, such that an older assembler can be used. * gdb.arch/s390-vregs.exp: Add the compile flag -mzarch, to enable the z/Architecture instruction set on 31-bit targets as well. commit 04ff1e612ece7915c5c0f94c84f90f55e4c50059 Author: Andreas Arnez Date: Thu Apr 16 13:03:47 2015 +0200 GDB tests for Go language support: remove unnecessary first breakpoint On s390x targets some of the Go test cases fail because the first breakpoint happens to be at the same spot as the breakpoint at main.main. When such a test case tries to continue to the first breakpoint, the program runs until the end instead, and the test fails like this: FAIL: gdb.go/handcall.exp: Going to first breakpoint (the program exited) This patch removes all the handling related to the first breakpoint in those cases. After applying the patch, the tests run successfully on s390x. gdb/testsuite/ChangeLog: * gdb.go/handcall.exp: Remove all logic related to the first breakpoint and rely on go_runto_main instead. * gdb.go/strings.exp: Likewise. * gdb.go/unsafe.exp: Likewise. * gdb.go/hello.exp: Likewise. Also rename the remaining breakpoint marker to "breakpoint 1". * gdb.go/handcall.go: Remove comment "set breakpoint 1 here". * gdb.go/strings.go: Likewise. * gdb.go/unsafe.go: Likewise. * gdb.go/hello.go: Likewise. Also remove the second occurrence of "set breakpoint 2 here" and rename the remaining breakpoint marker to "breakpoint 1". commit 4c0cab1e212bd0f25879b00393bbb60e114ac724 Author: Mike Frysinger Date: Thu Apr 16 02:07:33 2015 -0400 sim: avr/mcore/moxie: fill out sim-cpu pc fetch/store helpers This makes the common sim-cpu logic work. commit 04be4e9eda6742d82fced4a3fc88b01f6cadc183 Author: GDB Administrator Date: Thu Apr 16 00:00:08 2015 +0000 Automatic date update in version.in commit 09708981e919a887e8b2966e57b6df9ce8c7941f Author: H.J. Lu Date: Wed Apr 15 15:58:45 2015 -0700 Remove the unused PREFIX_UD_XXX Remove the unused PREFIX_UD_XXX. Invalid opcodes should be handled by prefix_table. * i386-dis.c (PREFIX_UD_SHIFT): Removed. (PREFIX_UD_REPZ): Likewise. (PREFIX_UD_REPNZ): Likewise. (PREFIX_UD_DATA): Likewise. (PREFIX_UD_ADDR): Likewise. (PREFIX_UD_LOCK): Likewise. commit 30b3dd9d4701834573e6a6c071941c25d825cab8 Author: Doug Evans Date: Wed Apr 15 14:04:35 2015 -0700 Make info fun|var|types interruptable for psyms. gdb/ChangeLog: * psymtab.c (psym_expand_symtabs_matching): Add QUIT call. commit 61d96d7e2e0a44336fc53eb79ccb59b41705cdb3 Author: Doug Evans Date: Wed Apr 15 13:25:42 2015 -0700 Make info fun|var|types interruptable. "info fun foo" can be a pain when it's not interruptable, especially if you're not exactly sure of what you're looking for and provide something that matches too much. gdb/ChangeLog: * dwarf2read.c (dw2_expand_symtabs_matching): Add some QUIT calls. commit 3888916da84288994be10d6ae1a2db5b45b3f8f8 Author: H.J. Lu Date: Wed Apr 15 11:28:16 2015 -0700 Check dp->prefix_requirement instead This patch removes prefix_requirement and checks dp->prefix_requirement instead. * i386-dis.c (prefix_requirement): Removed. (print_insn): Don't set prefix_requirement. Check dp->prefix_requirement instead of prefix_requirement. commit f24bcbaa5a6e30556e2da20bfd78e7823741475a Author: H.J. Lu Date: Wed Apr 15 09:53:13 2015 -0700 Handle invalid prefixes for rdrand and rdseed This patch puts rdrand and rdseed in prefix_table so that invalid prefixes for rdrand and rdseed are handled properly. gas/testsuite/ PR binutils/17898 * gas/i386/prefix.s: Add rdrand/rdseed prefix tests. * gas/i386/prefix.d: Updated. opcodes/ PR binutils/17898 * i386-dis.c (PREFIX_0FC7_REG_6): Renamed to ... (PREFIX_MOD_0_0FC7_REG_6): This. (PREFIX_MOD_3_0FC7_REG_6): New. (PREFIX_MOD_3_0FC7_REG_7): Likewise. (prefix_table): Replace PREFIX_0FC7_REG_6 with PREFIX_MOD_0_0FC7_REG_6. Add PREFIX_MOD_3_0FC7_REG_6 and PREFIX_MOD_3_0FC7_REG_7. (mod_table): Replace PREFIX_0FC7_REG_6 with PREFIX_MOD_0_0FC7_REG_6. Use PREFIX_MOD_3_0FC7_REG_6 and PREFIX_MOD_3_0FC7_REG_7. commit 507bd32558eb1c0054b7989d52ac1ab25cc5b0ac Author: H.J. Lu Date: Wed Apr 15 09:24:45 2015 -0700 Replace mandatory_prefix with prefix_requirement * i386-dis.c (PREFIX_MANDATORY_REPZ): Removed. (PREFIX_MANDATORY_REPNZ): Likewise. (PREFIX_MANDATORY_DATA): Likewise. (PREFIX_MANDATORY_ADDR): Likewise. (PREFIX_MANDATORY_LOCK): Likewise. (PREFIX_MANDATORY): Likewise. (PREFIX_UD_SHIFT): Set to 8 (PREFIX_UD_REPZ): Updated. (PREFIX_UD_REPNZ): Likewise. (PREFIX_UD_DATA): Likewise. (PREFIX_UD_ADDR): Likewise. (PREFIX_UD_LOCK): Likewise. (PREFIX_IGNORED_SHIFT): New. (PREFIX_IGNORED_REPZ): Likewise. (PREFIX_IGNORED_REPNZ): Likewise. (PREFIX_IGNORED_DATA): Likewise. (PREFIX_IGNORED_ADDR): Likewise. (PREFIX_IGNORED_LOCK): Likewise. (PREFIX_OPCODE): Likewise. (PREFIX_IGNORED): Likewise. (Bad_Opcode): Replace PREFIX_MANDATORY with 0. (dis386_twobyte): Replace PREFIX_MANDATORY with PREFIX_OPCODE. (three_byte_table): Likewise. (mod_table): Likewise. (mandatory_prefix): Renamed to ... (prefix_requirement): This. (prefix_table): Replace PREFIX_MANDATORY with PREFIX_OPCODE. Update PREFIX_90 entry. (get_valid_dis386): Check prefix_requirement to see if a prefix should be ignored. (print_insn): Replace mandatory_prefix with prefix_requirement. commit f0fba320ab5effaff5255b5526a37f0987637e3e Author: Renlin Li Date: Wed Apr 15 17:44:03 2015 +0100 [ARM] Disassembles SSAT and SSAT16 instructions incorrectly for Thumb-2 2015-04-15 Renlin Li opcodes/: * arm-dis.c (thumb32_opcodes): Define 'D' format control code, use it for ssat and ssat16. (print_insn_thumb32): Add handle case for 'D' control code. gas/testsuite/: * gas/arm/arch7em.d: Adjust required ssat and ssat16 immediate field. * gas/arm/thumb32.d: Likewise. commit 6282837972a5c7b89968319caf821fcbd2a166bb Author: Romain Naour Date: Tue Apr 14 23:07:34 2015 +0200 gdbserver: fix uClibc build whithout MMU. Since commit d86d4aafd4fa22fa4cccb83253fb187b03f97f48, the pid must be retrieved from current_thread. The change has not been made in the function linux_read_offsets(). Fixes: http://autobuild.buildroot.net/results/9e4/9e4df085319e346803c26c65478accb27eb950ae/build-end.log 2015-04-14 Romain Naour (tiny change) * linux-low.c (linux_read_offsets): Remove get_thread_lwp. Signed-off-by: Romain Naour commit 40d2f8d62e5474d984fb41e0229763ab93213fdb Author: Simon Marchi Date: Wed Apr 15 11:54:33 2015 -0400 Some Python 3 fixes Some missing parentheses and one itertools.imap (Py2) vs map (Py3) issue. gdb/ChangeLog: * python/lib/gdb/command/unwinders.py: Add parentheses. gdb/testsuite/ChangeLog: * gdb.python/py-framefilter.py (ErrorFilter.filter): Use map function if itertools.imap is not present. * gdb.python/py-objfile.exp: Add parentheses. * gdb.python/py-type.exp: Same. * gdb.python/py-unwind-maint.py: Same. commit 6bbbba9ba5bcde0b2f4613e1bec3226cf567dcf9 Author: Yao Qi Date: Wed Apr 15 15:09:53 2015 +0100 [arm] Update displaced stepping debug message When I "set debug displaced 1" to fix fail in gdb.base/disp-step-syscall.exp, the debug message is wrong. This patch is to fix it. gdb: 2015-04-15 Yao Qi * arm-linux-tdep.c (arm_linux_copy_svc): Update debug message. commit 2bb2dcab455295cc23dec46f0150b15892ab4933 Author: Yao Qi Date: Wed Apr 15 14:55:04 2015 +0100 Fix code indentation gdb: 2015-04-15 Yao Qi * arm-linux-tdep.c (arm_linux_copy_svc): Fix indentation. commit 41f071ef337ac55b7bd5366ef003fe47b809cdee Author: Yao Qi Date: Wed Apr 15 14:34:03 2015 +0100 [arm] Fix fails in gdb.base/disp-step-syscall.exp Hi, I see this fail on arm-linux target, FAIL: gdb.base/disp-step-syscall.exp: fork: single step over fork final pc which is caused by the PC isn't expected after displaced stepping the svc instruction. The code is: => 0xb6ead9a4 <__libc_do_syscall+4>: svc 0 0xb6ead9a6 <__libc_do_syscall+6>: pop {r7, pc} 0xb6ead9a8: nop.w^M 0xb6ead9ac: nop.w after single step svc instruction, pc should be 0xb6ead9a6, but the actual value of pc is 0xb6ead9a8. The problem is illustrated by turning on debug message of displaced stepping, stepi^M displaced: stepping Thread 12031 now^M displaced: saved 0x8574: 02 bc 6a 46 04 b4 01 b4 df f8 10 c0 4d f8 04 cd 03 48 04 4b ff f7 d2 ef ff f7 e8 ef 0d 87 00 00 ^M displaced: process thumb insn df00 at b6ead9a4^M displaced: copying svc insn df00^M displaced: read r7 value 00000078^M displaced: sigreturn/rt_sigreturn SVC call not in signal trampoline frame^M displaced: writing insn df00 at 00008574^M displaced: copy 0xb6ead9a4->0x8574: displaced: check mode of b6ead9a4 instead of 00008574^M displaced: displaced pc to 0x8574^M displaced: run 0x8574: 00 df 01 de ^M displaced: restored Thread 12031 0x8574^M displaced: PC is apparently 00008576 after SVC step (within scratch space)^M displaced: writing pc b6ead9a8 <----- WRONG ADDRESS GDB writes the wrong address back to pc because GDB thinks the instruction size is 4, which isn't true for thumb instruction. This patch is to replace 4 with dsc->insn_size. gdb: 2015-04-15 Yao Qi * arm-linux-tdep.c (arm_linux_cleanup_svc): Use dsc->insn_size instead of 4. commit 8cbc97c629061306efb30aa83440bec7380c584e Author: Yao Qi Date: Wed Apr 15 14:04:40 2015 +0100 Fix fails in gdb.dwarf2/dynarr-ptr.exp I see many fails in gdb.dwarf2/dynarr-ptr.exp on arm-linux target, started from this print foo.three_ptr.all^M Cannot access memory at address 0x107c8^M (gdb) FAIL: gdb.dwarf2/dynarr-ptr.exp: print foo.three_ptr.all print foo.three_ptr.all(1)^M Cannot access memory at address 0x107c8 It turns out that ":$ptr_size" is used incorrectly. array_ptr_label: DW_TAG_pointer_type { {DW_AT_byte_size :$ptr_size } ^^^^^^^^^^ {DW_AT_type :$array_label} } Since the FORM isn't given, and it starts with the ":", it is regarded as a label reference by dwarf assembler. The generated asm file on x86_64 is .uleb128 6 /* Abbrev (DW_TAG_pointer_type) */ .4byte 8 - .Lcu1_begin <----- WRONG .4byte .Llabel2 - .Lcu1_begin Looks .Lcu1_begin is 0 on x86_64 and that is why this test passes on x86_64. On arm, .Lcu1_begin is an address somewhere, and the value of DW_AT_byte_size is a very large number, so memory read request of such large length failed. This patch is to remove ":" and set the form explicitly. The generated asm file on x86_64 becomes .uleb128 6 /* Abbrev (DW_TAG_pointer_type) */ .byte 8 .4byte .Llabel2 - .Lcu1_begin gdb/testsuite: 2015-04-15 Yao Qi * gdb.dwarf2/dynarr-ptr.exp (assemble): Use $ptr_size instead of ":$ptr_size" and set its form explicitly. commit ea556d2590ae9ffea09fdbaceb6abdbe4e921464 Author: H.J. Lu Date: Wed Apr 15 05:25:58 2015 -0700 Mention --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] binutils/ * NEWS: Mention --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]. gas/ * NEWS: Mention --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]. ld/ * NEWS: Mention --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]. commit 45fd756cafe258b9792b86e1f5df823ec0b848b4 Author: Yao Qi Date: Wed Apr 15 12:46:58 2015 +0100 Increase timeout in watch-bitfields.exp for software watchpoint I see the following two timeout fails on pandaboard (arm-linux target), FAIL: gdb.base/watch-bitfields.exp: -location watch against bitfields: continue until exit (timeout) FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: continue until exit (timeout) In this test, more than one watchpoint is used, so the following watchpoint requests fall back to software watchpoint, so that GDB will single step all the way and it is very slow. This patch is to copy the fix from [PATCH] GDB/testsuite: Correct gdb.base/watchpoint-solib.exp timeout tweak https://sourceware.org/ml/gdb-patches/2014-07/msg00716.html I find the left-over of this patch review is to factor out code into a procedure, so I do that in this patch. Re-run tests watch-bitfields.exp, watchpoint-solib.exp, sigall-reverse.exp, and until-precsave.exp on pandaboard, no regression. gdb/testsuite: 2015-04-15 Pedro Alves Yao Qi * gdb.base/watch-bitfields.exp (test_watch_location): Increase timeout by factor of 4. (test_regular_watch): Likewise. * gdb.base/watchpoint-solib.exp: Use with_timeout_factor. * gdb.reverse/sigall-reverse.exp: Likewise. * gdb.reverse/until-precsave.exp: Likewise. * lib/gdb.exp (with_timeout_factor): New proc. (gdb_expect): Move some code to ... (get_largest_timeout): ... here. New procedure. commit 78e9aa70febc3985a2c88dbc0c7a87d214231c3d Author: Mike Frysinger Date: Wed Apr 15 02:13:23 2015 -0400 sim: unify sim-cpu usage Now that all the targets are utilizing CPU_PC_{FETCH,STORE}, and the cpu state is multicore, and the STATE_CPU defines match, we can move it all to the common code. commit f95f4ed2c4680fea68399691481b277ece11570e Author: Mike Frysinger Date: Wed Apr 15 01:22:34 2015 -0400 sim: cris/frv/h8300/iq2000/lm32/m32r/sh64: standardize cpu state This sets up the sim_state structure and the cpu member to match what we do in most other sims, and what the common code suggests. This is a step to unifying on the sim-cpu.o object. commit 0ce398f106dac65c3a1d2f7d254213fa652af089 Author: H.J. Lu Date: Tue Apr 14 22:01:25 2015 -0700 Add --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] This patch adds --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] to ld for ELF targets to support generating compressed DWARF debug sections. We always generate .zdebug_* section since section names have been finalized and they can't be changed easily when compression is being performed. bfd/ * bfd-in.h (compressed_debug_section_type): New. * compress.c (bfd_compress_section_contents): Add an argument for linker write compression and always generate .zdebug_* section when linking. (bfd_init_section_compress_status): Pass FALSE to bfd_compress_section_contents. (bfd_compress_section): New function. * elf.c (elf_fake_sections): For linking, set SEC_ELF_COMPRESS on DWARF debug sections if COMPRESS_DEBUG is set and rename section if COMPRESS_DEBUG_GABI_ZLIB isn't set. (assign_file_positions_for_non_load_sections): Set sh_offset to -1 if SEC_ELF_COMPRESS is set. (assign_file_positions_except_relocs): Likwise. (_bfd_elf_assign_file_positions_for_relocs): Renamed to ... (_bfd_elf_assign_file_positions_for_non_load): This. Change return time to bfd_boolean. Compress the section if SEC_ELF_COMPRESS is set. (_bfd_elf_write_object_contents): Updated. (_bfd_elf_set_section_contents): Write section contents to the buffer if SEC_ELF_COMPRESS is set. * merge.c: Include "elf-bfd.h". (sec_merge_emit): Add arguments for contents and offset. Write to contents with offset if contents isn't NULL. (_bfd_write_merged_section): Write section contents to the buffer if SEC_ELF_COMPRESS is set. Pass contents and output_offset to sec_merge_emit. * elflink.c (bfd_elf_final_link): Allocate the buffer for output section contents if SEC_ELF_COMPRESS is set. * section.c (SEC_ELF_COMPRESS): New. * bfd-in2.h: Regenerated. gas/ * as.h (compressed_debug_section_type): Removed. include/ * bfdlink.h (bfd_link_info): Add compress_debug. ld/ * ld.texinfo: Document --compress-debug-sections=. * ldmain.c (main): Set BFD_COMPRESS on output_bfd if COMPRESS_DEBUG is set. Set BFD_COMPRESS_GABI on output_bfd for COMPRESS_DEBUG_GABI_ZLIB. * lexsup.c (elf_static_list_options): Add --compress-debug-sections=. * emultempl/elf32.em (OPTION_COMPRESS_DEBUG): New. (xtra_long): Add "compress-debug-sections". (gld${EMULATION_NAME}_handle_option): Handle OPTION_COMPRESS_DEBUG. ld/testsuite/ * ld-elf/compress.exp (build_tests): Add tests for --compress-debug-sections=. (run_tests): Likewise. Add additonal tests for --compress-debug-sections=. * ld-elf/gabiend.rt: New file. * ld-elf/gabinormal.rt: Likewise. * ld-elf/gnubegin.rS: Likewise. * ld-elf/gnunormal.rS: Likewise. * ld-elf/zlibbegin.rS: Likewise. * ld-elf/zlibnormal.rS: Likewise. commit ecd272101d27ed8d654cbab9972aa05c124f981c Author: Alan Modra Date: Wed Apr 15 11:59:10 2015 +0930 xfail pr18223 test for tic6x Fails due to warning: generating a shared library containing non-PIC/PID code * ld-gc/pr18223.d: xfail tic6x. commit a644aa893248fc27c50140f9022c3a7472e0cb53 Author: Hans-Peter Nilsson Date: Wed Apr 15 04:11:18 2015 +0200 Fix typo in last ChangeLog. commit ec5b9462e068fba2a571ab3f3943c48250048d3c Author: Hans-Peter Nilsson Date: Wed Apr 15 04:08:21 2015 +0200 Adjust src-release.sh for sim using the gdb create-version.sh. * sim-release.sh (tar_compress): If there's a fifth parameter, use that in the getver call instead of $tool. (sim_release): Pass gdb as fifth parameter to tar_compress. (SIM_SUPPORT_DIRS): Add gdb/common/create-version.sh. commit 95b57adeb751b56a1192867f9f1e1be2fad608dd Author: Alan Modra Date: Wed Apr 15 11:24:30 2015 +0930 Fix typo in commit 6ff71e76 * elf32-rl78.c (rl78_elf_relocate_section): Typo fix. commit 69cb14a0d7eebe90e60e911c9ab311553079c6d1 Author: GDB Administrator Date: Wed Apr 15 00:00:07 2015 +0000 Automatic date update in version.in commit 6ff71e768112317de1236a429e7c88c9d3e32116 Author: Nick Clifton Date: Tue Apr 14 16:23:33 2015 +0100 Adds support to the RL78 port for linker relaxation affecting .debug sections. gas * config/tc-rl78.h (TC_LINKRELAX_FIXUP): Define. (TC_FORCE_RELOCATION_SUB_SAME): Define. (DWARF2_USE_FIXED_ADVANCE_PC): Define. * gas/lns/lns.exp: Add RL78 to list of targets using DW_LNS_fixed_advance_pc. bfd * elf32-rl78.c (RL78_OP_REL): New macro. (rl78_elf_howto_table): Use it for complex relocs. (get_symbol_value): Handle the cases when the info or status arguments are NULL. (get_romstart): Cache the status returned by get_symbol_value. (get_ramstart): Likewise. (RL78_STACK_PUSH): Generate an error message if the stack overflows. (RL78_STACK_POP): Likewise for underflows. (rl78_compute_complex_reloc): New function. Contains the basic processing code for all RL78 complex relocs. (rl78_special_reloc): New function. Provides special reloc handling for complex relocs. (rl78_elf_relocate_section): Use rl78_compute_complex_reloc. (rl78_offset_for_reloc): Likewise. binutils* readelf.c (target_specific_reloc_handling): Add code to handle RL78 complex relocs. commit 9e811bc379ef78f0e2beadda9ed3ce6679ded7ea Author: Luis Machado Date: Tue Apr 14 09:22:53 2015 -0300 Harden gdb.base/bp-permanent.exp Reinstate test message and replace hardcoded test command with a variable. gdb/testsuite/ChangeLog: 2015-04-14 Luis Machado * gdb.base/bp-permanent.exp (test): Reinstate correct test message. commit 326a5c7e368d49251ad48b2091388d8f424bfc54 Author: Gary Benson Date: Tue Apr 14 12:35:30 2015 +0100 Zero supplied stat buffers in functions that pretend to stat GDB has five places where it pretends to stat for bfd_openr_iovec. Four of these only set the incoming buffer's st_size, leaving the other fields unchanged, which is to say very likely populated with random values from the stack. remote_bfd_iovec_stat was fixed in 0a93529c56714b1da3d7106d3e0300764f8bb81c; this commit fixes the other four. gdb/ChangeLog: * jit.c (mem_bfd_iovec_stat): Zero supplied buffer. * minidebug.c (lzma_stat): Likewise. * solib-spu.c (spu_bfd_iovec_stat): Likewise. * spu-linux-nat.c (spu_bfd_iovec_stat): Likewise. commit 889c2a67967f7047c245779a0a0fd8ba8796846e Author: H.J. Lu Date: Tue Apr 14 04:12:55 2015 -0700 Add -z noextern-protected-data to ld for ELF/x86 Address of protected data defined in the shared library may be external, i.e., due to copy relocation. By default, linker backend checks if relocations against protected data symbols are valid for building shared library and issues an error if relocation isn't allowed. The new option override linker backend default. When -z noextern-protected-data is used, updates on protected data symbols by another module won't be visibile to the resulting shared library. This option is specific to ELF/i386 and ELF/x86-64. bfd/ PR ld/pr17709 * elflink.c (_bfd_elf_adjust_dynamic_copy): Check info->extern_protected_data when warning copy relocs against protected symbols. (_bfd_elf_symbol_refs_local_p): Check info->extern_protected_data when checking protected non-function symbols. include/ PR ld/pr17709 * bfdlink.h (bfd_link_info): Add extern_protected_data. ld/ PR ld/pr17709 * ld.texinfo: Document "-z noextern-protected-data". * ldmain.c (main): Initialize link_info.extern_protected_data to -1. * lexsup.c (elf_shlib_list_options): Add "-z [no]extern-protected-data". * emulparams/elf32_x86_64.sh: Source extern_protected_data.sh. * emulparams/elf_i386.sh: Likewise. * emulparams/elf_i386_be.sh: Likewise. * emulparams/elf_i386_chaos.sh: Likewise. * emulparams/elf_i386_ldso.sh: Likewise. * emulparams/elf_i386_vxworks.sh: Likewise. * emulparams/elf_k1om.sh: Likewise. * emulparams/elf_l1om.sh: Likewise. * emulparams/elf_x86_64.sh: Source extern_protected_data.sh. (PARSE_AND_LIST_OPTIONS): Renamed to ... (PARSE_AND_LIST_OPTIONS_BNDPLT): This. (PARSE_AND_LIST_ARGS_CASE_Z): Renamed to ... (PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT): This. (PARSE_AND_LIST_OPTIONS): Append $PARSE_AND_LIST_OPTIONS_BNDPLT. (PARSE_AND_LIST_ARGS_CASE_Z): Append $PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT. * emulparams/extern_protected_data.sh: New file. ld/testsuite/ PR ld/pr17709 * ld-i386/i386.exp: Run protected6b. * ld-i386/protected6b.d: New file. * ld-x86-64/protected6b.d: Likewise. * ld-x86-64/x86-64.exp: Run protected6b. commit 887bddbcad907021f4cb98168cd51f2631e6cfc8 Author: Mike Frysinger Date: Mon Apr 13 23:16:46 2015 -0400 sim: ppc: fix up version script The common sim code has switched to using gdb directly; update the ppc copy too. commit af6407fc3c57a6fc9af11bab876d0865265197cf Author: GDB Administrator Date: Tue Apr 14 00:00:08 2015 +0000 Automatic date update in version.in commit dd177e81b4d58a520b1a16e1c992a4ea94ab7de5 Author: Stan Shebs Date: Fri Apr 10 11:06:52 2015 -0700 * MAINTAINERS: Update my email address. diff --git a/gdb/MAINTAINERS b/gdb/MAINTAINERS index a67a1a8..0fdd8e5 100644 --- a/gdb/MAINTAINERS +++ b/gdb/MAINTAINERS @@ -156,7 +156,7 @@ Doug Evans dje@google.com Daniel Jacobowitz drow@false.org Mark Kettenis kettenis@gnu.org Yao Qi yao.qi@arm.com -Stan Shebs stan@codesourcery.com +Stan Shebs stanshebs@google.com Ulrich Weigand Ulrich.Weigand@de.ibm.com Elena Zannoni elena.zannoni@oracle.com Eli Zaretskii eliz@gnu.org @@ -631,7 +631,7 @@ Keith Seitz keiths@redhat.com Carlos Eduardo Seo cseo@linux.vnet.ibm.com Ozkan Sezer sezeroz@gmail.com Marcus Shawcroft marcus.shawcroft@arm.com -Stan Shebs stan@codesourcery.com +Stan Shebs stanshebs@google.com Joel Sherrill joel.sherrill@oarcorp.com Mark Shinwell shinwell@codesourcery.com Craig Silverstein csilvers@google.com commit 97de3545ca6b690031cc00983346ed72f11e78a2 Author: John Baldwin Date: Sat Feb 21 16:43:30 2015 -0500 Add support for the x86 XSAVE extended state on FreeBSD/x86. Recognize NT_X86_XSTATE notes in FreeBSD process cores. Recent FreeBSD versions include a note containing the XSAVE state for each thread in the process when XSAVE is in use. The note stores a copy of the current XSAVE mask in a reserved section of the machine-defined XSAVE state at the same offset as Linux's NT_X86_XSTATE note. For native processes, use the PT_GETXSTATE_INFO ptrace request to determine if XSAVE is enabled, and if so the active XSAVE state mask (that is, the value of %xcr0 for the target process) as well as the size of XSAVE state area. Use the PT_GETXSTATE and PT_SETXSTATE requests to fetch and store the XSAVE state, respectively, in the BSD x86 native targets. In addition, the FreeBSD amd64 and i386 native targets now include "read_description" target methods to determine the correct x86 target description for the current XSAVE mask. On FreeBSD amd64 this also properly returns an i386 target description for 32-bit binaries which allows the 64-bit GDB to run 32-bit binaries. Note that the ptrace changes are in the BSD native targets, not the FreeBSD-specific native targets since that is where the other ptrace register accesses occur. Of the other BSDs, NetBSD and DragonFly use XSAVE in the kernel but do not currently export the extended state via ptrace(2). OpenBSD does not currently support XSAVE. bfd/ChangeLog: * elf.c (elfcore_grok_note): Recognize NT_X86_XSTATE on FreeBSD. (elfcore_write_xstatereg): Use correct note name on FreeBSD. gdb/ChangeLog: * amd64-tdep.c (amd64_target_description): New function. * amd64-tdep.h: Export amd64_target_description and tdesc_amd64. * amd64bsd-nat.c [PT_GETXSTATE_INFO]: New variable amd64bsd_xsave_len. (amd64bsd_fetch_inferior_registers) [PT_GETXSTATE_INFO]: Handle x86 extended save area. (amd64bsd_store_inferior_registers) [PT_GETXSTATE_INFO]: Likewise. * amd64bsd-nat.h: Export amd64bsd_xsave_len. * amd64fbsd-nat.c (amd64fbsd_read_description): New function. (_initialize_amd64fbsd_nat): Set "to_read_description" to "amd64fbsd_read_description". * amd64fbsd-tdep.c (amd64fbsd_core_read_description): New function. (amd64fbsd_supply_xstateregset): New function. (amd64fbsd_collect_xstateregset): New function. Add "amd64fbsd_xstateregset". (amd64fbsd_iterate_over_regset_sections): New function. (amd64fbsd_init_abi): Set "xsave_xcr0_offset" to "I386_FBSD_XSAVE_XCR0_OFFSET". Add "iterate_over_regset_sections" gdbarch method. Add "core_read_description" gdbarch method. * i386-tdep.c (i386_target_description): New function. * i386-tdep.h: Export i386_target_description and tdesc_i386. * i386bsd-nat.c [PT_GETXSTATE_INFO]: New variable i386bsd_xsave_len. (i386bsd_fetch_inferior_registers) [PT_GETXSTATE_INFO]: Handle x86 extended save area. (i386bsd_store_inferior_registers) [PT_GETXSTATE_INFO]: Likewise. * i386bsd-nat.h: Export i386bsd_xsave_len. * i386fbsd-nat.c (i386fbsd_read_description): New function. (_initialize_i386fbsd_nat): Set "to_read_description" to "i386fbsd_read_description". * i386fbsd-tdep.c (i386fbsd_core_read_xcr0): New function. (i386fbsd_core_read_description): New function. (i386fbsd_supply_xstateregset): New function. (i386fbsd_collect_xstateregset): New function. Add "i386fbsd_xstateregset". (i386fbsd_iterate_over_regset_sections): New function. (i386fbsd4_init_abi): Set "xsave_xcr0_offset" to "I386_FBSD_XSAVE_XCR0_OFFSET". Add "iterate_over_regset_sections" gdbarch method. Add "core_read_description" gdbarch method. * i386fbsd-tdep.h: New file. commit 0d2a7a932244fab27d6c4ce211ea8f7708a1a9cc Author: Doug Evans Date: Mon Apr 13 12:50:17 2015 -0700 Fix reading of .debug_str_offsets{,.dwo} twice. PR binutils/18218 * readelf.c (printable_section_name): Constify sec argument. (apply_relocations): Ditto. New arg "size". All callers updated. (load_specific_debug_section): Constify sec argument. Remove side-effect of modifying sec->sh_size. commit 0ff6fcb2f0f2e3c0de3708ec41fb849d1461c9d7 Author: Luis Machado Date: Mon Apr 13 14:45:56 2015 -0300 Harden gdb.base/bp-permanent.exp This testcase does not work as expected in QEMU (aarch64 QEMU in my case). It fails when trying to manually write the breakpoint instruction to a certain PC address. (gdb) p /x addr_bp[0] = buffer[0]^M Cannot access memory at address 0x400834^M (gdb) PASS: gdb.base/bp-permanent.exp: always_inserted=off, sw_watchpoint=0: setup: p /x addr_bp[0] = buffer[0] p /x addr_bp[1] = buffer[1]^M Cannot access memory at address 0x400835^M (gdb) PASS: gdb.base/bp-permanent.exp: always_inserted=off, sw_watchpoint=0: setup: p /x addr_bp[1] = buffer[1] p /x addr_bp[2] = buffer[2]^M Cannot access memory at address 0x400836^M (gdb) PASS: gdb.base/bp-permanent.exp: always_inserted=off, sw_watchpoint=0: setup: p /x addr_bp[2] = buffer[2] p /x addr_bp[3] = buffer[3]^M Cannot access memory at address 0x400837^M (gdb) PASS: gdb.base/bp-permanent.exp: always_inserted=off, sw_watchpoint=0: setup: p /x addr_bp[3] = buffer[3] The following patch prevents a number of failures by detecting this and bailing out in case the target has such a restriction. Writing to .text from within the program isn't any better. It just leads to a SIGSEGV. Before the patch: === gdb Summary === After the patch: === gdb Summary === gdb/testsuite/ChangeLog: 2015-04-13 Luis Machado * gdb.base/bp-permanent.exp (test): Handle the case of being unable to write to the .text section. commit 7578d5f72c4abb6b49b0394bc810192b06088705 Author: Luis Machado Date: Mon Apr 13 14:42:48 2015 -0300 Harden gdb.base/coredump-filter.exp This testcase seems to assume the target is running Linux, so bare metal, simulators and other debugging stubs running different OS' will have a hard time executing some of the commands the testcase issues. Even restricting the testcase to Linux systems (which the patch below does), there are still problems with, say, QEMU not providing PID information when "info inferior" is issued. As a consequence, the subsequent tests will either fail or will not make much sense. The attached patch checks if PID information is available. If not, it just bails out and avoids running into a number of failures. gdb/testsuite/ChangeLog: 2015-04-13 Luis Machado * gdb.base/coredump-filter.exp: Restrict test to Linux systems only. Handle the case of targets that do not provide PID information. commit 2efe15c42872987ed5123f3a3952c8b379554840 Author: Yao Qi Date: Mon Apr 13 12:36:56 2015 +0100 Catch exception in lib/gdbserver-support.exp:gdb_exit I see the error when I run gdb-sigterm.exp with native-gdbserver on x86_64-linux. infrun: prepare_to_wait^M Cannot execute this command while the target is running.^M Use the "interrupt" command to stop the target^M and then try again.^M gdb.base/gdb-sigterm.exp: expect eof #0: got eof gdb.base/gdb-sigterm.exp: expect eof #0: stepped 12 times ERROR OCCURED: : spawn id exp8 not open while executing "expect { -i exp8 -timeout 10 -re "$gdb_prompt $" { exp_continue } -i "$server_spawn_id" eof { wait -i $expect_out(spawn_id) unse..." ("uplevel" body line 1) invoked from within In gdb-sigterm.exp, SIGTERM is sent to GDB and it exits. However, Dejagnu or tcl doesn't know this. This patch is to catch the exception, but error messages are still shown in the console and gdb.log. In order to avoid this, we also replace gdb_expect with expect. gdb/testsuite: 2015-04-13 Yao Qi * lib/gdbserver-support.exp (gdb_exit): Catch exception and use expect instead of gdb_expect. commit f0bf6bfd70fd550a0b01f8bef938a205702b0465 Author: H.J. Lu Date: Mon Apr 13 04:58:16 2015 -0700 Don't check object claimed by plugin When ELF linker backend searchs the symbol table of an archive element, it should skip the object which has been claimed by plugin. PR ld/18250 * elflink.c (elf_link_is_defined_archive_symbol): Return FALSE if the object has been claimed by plugin. commit 8cd8f2f8ac49276437b7da37f275706ea1c1c925 Author: Sergio Durigan Junior Date: Mon Apr 13 02:40:08 2015 -0400 Rename variable "addr" to "coredump_var_addr" in gdb.base/coredump-filter.exp This commit renames the global array variable "addr" to an unique name "coredump_var_addr" in the test gdb.base/coredump-filter.exp. This is needed because global arrays can have name conflicts between tests. For example, this specific test was conflicting with dmsym.exp, causing errors like: ERROR: tcl error sourcing ../../../../../binutils-gdb/gdb/testsuite/gdb.base/dmsym.exp. ERROR: can't set "addr": variable is array while executing "set addr "0x\[0-9a-zA-Z\]+"" (file "../../../../../binutils-gdb/gdb/testsuite/gdb.base/dmsym.exp" line 45) invoked from within "source ../../../../../binutils-gdb/gdb/testsuite/gdb.base/dmsym.exp" ("uplevel" body line 1) invoked from within "uplevel #0 source ../../../../../binutils-gdb/gdb/testsuite/gdb.base/dmsym.exp" invoked from within "catch "uplevel #0 source $test_file_name"" This problem was reported by Yao Qi at: Message-Id: <1428666671-12926-1-git-send-email-qiyaoltc@gmail.com> gdb/testsuite/ChangeLog: 2015-04-13 Sergio Durigan Junior * gdb.base/coredump-filter.exp: Rename variable "addr" to "coredump_var_addr" to avoid naming conflict with other testcases. commit bf12d44ee075e694a2b0dca87b9e9ca0e685d319 Author: Mike Frysinger Date: Mon Apr 13 02:38:57 2015 -0400 sim: fix the PKGVERSION define This should be SIM, not GDB. commit a542beff945c1a416f85309d57b21d4a18422883 Author: Mike Frysinger Date: Mon Apr 13 02:33:26 2015 -0400 sim: options: add --version support The old run frontend had a --version option, but the new common sim-options file does not. Restore support for that so we can get version info out of `run` when using the new frontend. commit 8c32ba22334b8be1c2cf412a789deeded786e1f5 Author: Mike Frysinger Date: Fri Apr 10 19:40:54 2015 -0400 sim: switch to gdb version script Since the local create-version.sh already points directly into the gdb source tree, we might as well use the gdb script directly too. commit 64f14c970716647f0761e921141873c75071100f Author: Mike Frysinger Date: Mon Apr 13 02:13:48 2015 -0400 sim: mn10300: convert to sim-cpu Make cpu allocation fully dynamic so we can leverage the common sim-cpu and its APIs. commit 14c9ad2edb6e0bb0b560fa45699b83d85aa28b94 Author: Mike Frysinger Date: Mon Apr 13 02:11:24 2015 -0400 sim: v850: convert to sim-cpu Make cpu allocation fully dynamic so we can leverage the common sim-cpu and its APIs. commit 7bebb329bbad32b948939c5f437b2b4eebe7e9fd Author: Mike Frysinger Date: Mon Apr 13 02:09:55 2015 -0400 sim: mips: convert to sim-cpu Make cpu allocation fully dynamic so we can leverage the common sim-cpu and its APIs. commit bea3f671c5734eb96a02055fbaa0c938ad535b66 Author: Mike Frysinger Date: Mon Apr 13 02:07:23 2015 -0400 sim: m68hc11: convert to sim-cpu Make cpu allocation fully dynamic so we can leverage the common sim-cpu and its APIs. commit 8ac57fbde478b8e8fb0ba169f620d713be319260 Author: Mike Frysinger Date: Mon Apr 13 01:56:13 2015 -0400 sim: mips: fix prototype warnings Convert a bunch of old style prototypes and tweak various casts to match the function signatures. commit 65f9096890a7bd7a7ea2655dcfb0e0a2589a753b Author: Mike Frysinger Date: Mon Apr 13 01:54:33 2015 -0400 sim: ft32: fix ft32_pc_get logic commit d34f5e83d404d28d6a264fb09ac3cec79bf7bead Author: GDB Administrator Date: Mon Apr 13 00:00:08 2015 +0000 Automatic date update in version.in commit a9d9677441e54816aa76ffd1736419ec096b4ef1 Author: Hans-Peter Nilsson Date: Mon Apr 13 01:54:43 2015 +0200 Do unset_currtarget_info ldscript for all simulator testsuites. sim/testsuite: * sim-defs.exp (sim_init): Unset target ldscript here. sim/testsuite/sim/mips: * basic.exp: Don't unset target ldscript here. commit e787f858a43c9a6b54a74cec24f954b52619433e Author: Mike Frysinger Date: Sun Apr 12 05:47:39 2015 -0400 sim: arm/mips: fix sim_read/sim_write linkage errors With sim-hrw.o being built & linked in the common list, some people are getting linking errors now for these targets. Move the main objects that provide these functions before the common list to avoid that. commit 29f1a5934a1b4b3b22aaeee2c4c471fbd95f0ba2 Author: Mike Frysinger Date: Sun Apr 12 05:13:23 2015 -0400 sim: ft32: delete sim_read/sim_write funcs The common sim-hrw.o provides both of these, so simply use them. commit 48d96f80be260f0c8dbece14f886a0f1c1166d82 Author: H.J. Lu Date: Sat Apr 11 17:05:04 2015 -0700 Revert the last 2 commits on pagesize_m1 commit e46c4f6cc80e078ef5f7dd0a7dcc01740bea3e65 Author: GDB Administrator Date: Sun Apr 12 00:00:08 2015 +0000 Automatic date update in version.in commit 263b1a3c1f9be7a3bafdb26d69f808974f886680 Author: H.J. Lu Date: Sat Apr 11 16:49:09 2015 -0700 Don't call getpagesize more than once commit 2c008f9a5b65fe8d9379e761b056fabeb34a5da6 Author: H.J. Lu Date: Sat Apr 11 15:12:08 2015 -0700 Initialize pagesize_m1 in bfd_cache_init There is no need to check and initialize pagesize_m1 in cache_bmmap. * cache.c (cache_bmmap): Move pagesize_m1 ... to (pagesize_m1): Here. (bfd_cache_init): Initialize pagesize_m1. commit fd5a150943c9a99a568ea6459a5d70a24dee3755 Author: H.J. Lu Date: Sat Apr 11 12:06:33 2015 -0700 Remove an extra ';' * plugin.c (plugin_load_plugins): Removed an extra ';'. commit 4f45d44599b232266c49ff470868efe6771832a0 Author: Jan Kratochvil Date: Sat Apr 11 19:49:03 2015 +0200 Remove --xdb Pedro Alves: The commands that enables aren't even documented in the manual. Judging from that, I assume that only wdb users would ever really be using the --xdb switch. I think it's time to drop "support" for the --xdb switch too. I looked through the commands that that exposes, the only that looked potentially interesting was "go", but then it's just an alias for "tbreak+jump", which can easily be done with "define go...end". I'd rather free up the "go" name for something potentially more interesting (either run control, or maybe even unrelated, e.g., for golang). gdb/ChangeLog 2015-04-11 Jan Kratochvil * NEWS (Changes since GDB 7.9): Add removed -xdb. * breakpoint.c (command_line_is_silent): Remove xdb_commands conditional. (_initialize_breakpoint): Remove xdb_commands for bc, ab, sb, db, ba and lb. * cli/cli-cmds.c (_initialize_cli_cmds): Remove xdb_commands for v and va. * cli/cli-decode.c (find_command_name_length): Remove xdb_commands conditional. * defs.h (xdb_commands): Remove declaration. * f-valprint.c (_initialize_f_valprint): Remove xdb_commands for lc. * guile/scm-cmd.c (command_classes): Remove xdb from comment. * infcmd.c (run_no_args_command, go_command): Remove. (_initialize_infcmd): Remove xdb_commands for S, go, g, R and lr. * infrun.c (xdb_handle_command): Remove. (_initialize_infrun): Remove xdb_commands for lz and z. * main.c (xdb_commands): Remove variable. (captured_main): Remove "xdb" from long_options. (print_gdb_help): Remove --xdb from help. * python/py-cmd.c (gdbpy_initialize_commands): Remove xdb from comment. * source.c (_initialize_source): Remove xdb_commands for D, ld, / and ?. * stack.c (backtrace_full_command, args_plus_locals_info) (current_frame_command): Remove. (_initialize_stack): Remove xdb_commands for t, T and l. * symtab.c (_initialize_symtab): Remove xdb_commands for lf and lg. * thread.c (_initialize_thread): Remove xdb_commands condition. * tui/tui-layout.c (tui_toggle_layout_command) (tui_toggle_split_layout_command, tui_handle_xdb_layout): Remove. (_initialize_tui_layout): Remove xdb_commands for td and ts. * tui/tui-regs.c (tui_scroll_regs_forward_command) (tui_scroll_regs_backward_command): Remove. (_initialize_tui_regs): Remove xdb_commands for fr, gr, sr, +r and -r. * tui/tui-win.c (tui_xdb_set_win_height_command): Remove. (_initialize_tui_win): Remove xdb_commands for U and w. * utils.c (pagination_on_command, pagination_off_command): Remove. (initialize_utils): Remove xdb_commands for am and sm. gdb/doc/ChangeLog 2015-04-11 Jan Kratochvil * gdb.texinfo (Mode Options): Remove -xdb. commit e3c0e327923e27c7d96e6e44e22e10998ff158d7 Author: H.J. Lu Date: Sat Apr 11 07:34:49 2015 -0700 Replace SYMBOLIC_BIND with SYMBOL_REFERENCES_LOCAL When checking R_386_GOTOFF/R_X86_64_GOTOFF64 for building shared library, we should check SYMBOL_REFERENCES_LOCAL instead of SYMBOLIC_BIND to cover more cases. bfd/ * elf32-i386.c (elf_i386_relocate_section): Replace SYMBOLIC_BIND with SYMBOL_REFERENCES_LOCAL when checking R_386_GOTOFF against protected data symbol when building shared library. * elf64-x86-64.c (elf_x86_64_relocate_section): Check R_X86_64_GOTOFF64 against undefined symbol and replace SYMBOLIC_BIND with SYMBOL_REFERENCES_LOCAL when checking R_X86_64_GOTOFF64 against protected data symbol when building shared library. ld/testsuite/ * ld-i386/i386.exp: Run protected6a. * ld-i386/protected6.d: Renamed to ... * ld-i386/protected6a.d: This. * ld-x86-64/hidden4.d: New file. * ld-x86-64/hidden4.s: Likewise. * ld-x86-64/hidden5.d: Likewise. * ld-x86-64/hidden5.s: Likewise. * ld-x86-64/protected6.d: Renamed to ... * ld-x86-64/protected6a.d: This. * ld-x86-64/x86-64.exp: Run hidden4, hidden5, protected6a, protected7a and protected7b. commit fbed9c2759d43ea6991264c2e963660b5e9202d1 Author: GDB Administrator Date: Sat Apr 11 00:00:08 2015 +0000 Automatic date update in version.in commit 3d9499950a94df8577fa01ba98ec0d58f07fd9c0 Author: H.J. Lu Date: Fri Apr 10 14:02:23 2015 -0700 Check GOTOFF reloc against protected data on x86 R_386_GOTOFF/R_X86_64_GOTOFF64 relocation shouldn't be used against protected data symbol on x86 since with copy relocation, address of protected data defined in the shared library may be external. This patch will break building shared libraries with protected data symbols using GCCs older than GCC 5 without the bug fix for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65248 GCC backport request should be made in the GCC bug report above. bfd/ PR ld/pr17709 * elf32-i386.c (elf_i386_relocate_section): Also check R_386_GOTOFF against protected data symbol when building shared library. * elf64-x86-64.c (elf_x86_64_relocate_section): Also check R_X86_64_GOTOFF64 against protected data symbol when building shared library. ld/testsuite/ PR ld/pr17709 * ld-i386/protected6.d: New file. * ld-i386/protected6.s: Likewise. * ld-x86-64/protected6.d: Likewise. * ld-x86-64/protected6.s: Likewise. * ld-x86-64/protected7.d: Likewise. * ld-x86-64/protected7.s: Likewise. * ld-x86-64/protected7a.d: Likewise. * ld-x86-64/protected7b.d: Likewise. commit 9ee417720b2f25c56a9738569b63f686cbc8584f Author: Pedro Alves Date: Mon Mar 9 19:02:30 2015 +0000 Cleanup signal-while-stepping-over-bp-other-thread.exp gdb/testsuite/ChangeLog: 2015-04-10 Pedro Alves * gdb.threads/signal-while-stepping-over-bp-other-thread.exp: Use gdb_test_sequence and gdb_assert. commit 07473109e11e41d979c33b839551ac1c6f8495b9 Author: Pedro Alves Date: Fri Apr 10 19:23:24 2015 +0100 step-over-trips-on-watchpoint.exp: Don't put addresses in test messages Diffing test results, I noticed: -PASS: gdb.threads/step-over-trips-on-watchpoint.exp: displaced=on: with thread-specific bp: next: b *0x0000000000400811 thread 1 +PASS: gdb.threads/step-over-trips-on-watchpoint.exp: displaced=on: with thread-specific bp: next: b *0x00000000004007d1 thread 1 gdb/testsuite/ChangeLog: 2015-04-10 Pedro Alves * gdb.threads/step-over-trips-on-watchpoint.exp (do_test): Use test messages that don't include the breakpoint address. commit f74839702efcea048ac61374b1539ae81e7c86cc Author: H.J. Lu Date: Thu Mar 5 06:34:39 2015 -0800 Add extern_protected_data and set it for x86 Re-apply: commit ca3fe95e469b9daec153caa2c90665f5daaec2b5 With copy relocation, address of protected data defined in the shared library may be external. This patch adds extern_protected_data and changes _bfd_elf_symbol_refs_local_p to return false for protected data if extern_protected_data is true. This patch will break building shared libraries with protected data symbols using GCCs older than GCC 5 without the bug fix for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65248 GCC backport request should be made in the GCC bug report above. To get correct run-time behavior on Linux, glibc 2.22 or above are required, which have the bug fix for https://sourceware.org/bugzilla/show_bug.cgi?id=17711 Backports for glibc 2.21, 2.20, 2.19 and 2.18 are on hjl/pr17711/2.21, hjl/pr17711/2.20, hjl/pr17711/2.19 and hjl/pr17711/2.18 branches, respectively, at https://sourceware.org/git/?p=glibc.git;a=summary bfd/ PR ld/pr15228 PR ld/pr17709 * elf-bfd.h (elf_backend_data): Add extern_protected_data. * elf32-i386.c (elf_backend_extern_protected_data): New. Defined to 1. * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise. * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on copy relocs against protected symbols if extern_protected_data is true. (_bfd_elf_symbol_refs_local_p): Don't return true on protected non-function symbols if extern_protected_data is true. * elfxx-target.h (elf_backend_extern_protected_data): New. Default to 0. (elfNN_bed): Initialize extern_protected_data with elf_backend_extern_protected_data. ld/testsuite/ PR ld/pr15228 PR ld/pr17709 * ld-i386/i386.exp (i386tests): Add a test for PR ld/17709. * ld-i386/pr17709-nacl.rd: New file. * ld-i386/pr17709.rd: Likewise. * ld-i386/pr17709a.s: Likewise. * ld-i386/pr17709b.s: Likewise. * ld-i386/protected3.d: Updated. * ld-i386/protected3.s: Likewise. * ld-x86-64/pr17709-nacl.rd: New file. * ld-x86-64/pr17709.rd: Likewise. * ld-x86-64/pr17709a.s: Likewise. * ld-x86-64/pr17709b.s: Likewise. * ld-x86-64/protected3.d: Updated. * ld-x86-64/protected3.s: Likewise. * ld-x86-64/x86-64.exp (x86_64tests): Add a test for PR ld/17709. commit de3db44c87a30c67deb38fa9d43d2db3bc98c161 Author: Yao Qi Date: Fri Apr 10 16:23:13 2015 +0100 [arm] watchpoint-reuse-slot.exp: skip setting HW points on some address Hi, ARM linux kernel has some requirements on the address/length setting for HW breakpoints/watchpoints, but watchpoint-reuse-slot.exp doesn't consider them and sets HW points on various addresses. Many fails are causes as a result: stepi^M Warning:^M Could not insert hardware watchpoint 20.^M Could not insert hardware breakpoints:^M You may have requested too many hardware breakpoints/watchpoints.^M ^M (gdb) FAIL: gdb.base/watchpoint-reuse-slot.exp: always-inserted off: watch x watch: : width 2, iter 2: base + 1: stepi advanced watch *(buf.byte + 2 + 1)@2^M Hardware watchpoint 388: *(buf.byte + 2 + 1)@2^M Warning:^M Could not insert hardware watchpoint 388.^M Could not insert hardware breakpoints:^M You may have requested too many hardware breakpoints/watchpoints.^M ^M (gdb) FAIL: gdb.base/watchpoint-reuse-slot.exp: always-inserted on: watch x watch: : width 2, iter 2: base + 1: watch *(buf.byte + 2 + 1)@2 This patch is to reflect kernel requirements in watchpoint-reuse-slot.exp in order to skip some tests. gdb/testsuite: 2015-04-10 Yao Qi * gdb.base/watchpoint-reuse-slot.exp (valid_addr_p): Return false for some offset and width combinations which aren't supported by linux kernel. commit cb71640d030500888726d54a310c434a4d23b7b3 Author: Pedro Alves Date: Fri Apr 10 13:08:32 2015 +0100 PPC64: Fix step-over-trips-on-watchpoint.exp with displaced stepping on PPC64 currently fails this test like: FAIL: gdb.threads/step-over-trips-on-watchpoint.exp: displaced=on: no thread-specific bp: step: step FAIL: gdb.threads/step-over-trips-on-watchpoint.exp: displaced=on: no thread-specific bp: next: next FAIL: gdb.threads/step-over-trips-on-watchpoint.exp: displaced=on: no thread-specific bp: continue: continue (the program exited) FAIL: gdb.threads/step-over-trips-on-watchpoint.exp: displaced=on: with thread-specific bp: step: step FAIL: gdb.threads/step-over-trips-on-watchpoint.exp: displaced=on: with thread-specific bp: next: next FAIL: gdb.threads/step-over-trips-on-watchpoint.exp: displaced=on: with thread-specific bp: continue: continue (the program exited) The problem is that PPC is a non-continuable watchpoints architecture and the displaced stepping code isn't coping with that correctly. On such targets/architectures, a watchpoint traps _before_ the instruction executes/completes. On a watchpoint trap, the PC points at the instruction that triggers the watchpoint (side effects haven't happened yet). In order to move past the watchpoint, GDB needs to remove the watchpoint, single-step, and reinsert the watchpoint, just like when stepping past a breakpoint. The trouble is that if GDB is stepping over a breakpoint with displaced stepping, and the instruction under the breakpoint triggers a watchpoint, we get the watchpoint SIGTRAP, expecting a finished (hard or software) step trap. Even though the thread's PC hasn't advanced yet (must remove watchpoint for that), since we get a SIGTRAP, displaced_step_fixup thinks the single-step finished successfuly anyway, and calls gdbarch_displaced_step_fixup, which then adjusts the thread's registers incorrectly. The fix is to cancel the displaced step if we trip on a watchpoint. handle_inferior_event then processes the watchpoint event, and starts a new step-over, here: ... /* At this point, we are stopped at an instruction which has attempted to write to a piece of memory under control of a watchpoint. The instruction hasn't actually executed yet. If we were to evaluate the watchpoint expression now, we would get the old value, and therefore no change would seem to have occurred. ... ecs->event_thread->stepping_over_watchpoint = 1; keep_going (ecs); return; ... but this time, since we have a watchpoint to step over, watchpoints are removed from the target, so the step-over succeeds. The keep_going/resume changes are necessary because if we're stepping over a watchpoint, we need to remove it from the target - displaced stepping doesn't help, the copy of the instruction in the scratch pad reads/writes to the same addresses, thus triggers the watchpoint too... So without those changes we keep triggering the watchpoint forever, never making progress. With non-stop that means we'll need to pause all threads momentarily, which we can't today. We could avoid that by removing the watchpoint _only_ from the thread that is moving past the watchpoint, but GDB is not prepared for that today either. For remote targets, that would need new packets, so good to be able to step over it in-line as fallback anyway. gdb/ChangeLog: 2015-04-10 Pedro Alves * infrun.c (displaced_step_fixup): Switch to the event ptid earlier. If the thread stopped for a watchpoint and the target/arch has non-continuable watchpoints, cancel the displaced step. (resume): Don't start a displaced step if in-line step-over info is valid. commit c79d856c88fbc58584d811c04b4812618aa6ac7b Author: Pedro Alves Date: Fri Apr 10 15:22:38 2015 +0100 Test step-over-{lands-on-breakpoint|trips-on-watchpoint}.exp with displaced stepping These tests exercise the infrun.c:proceed code that needs to know to start new step overs (along with switch_back_to_stepped_thread, etc.). That code is tricky to get right in the multitude of possible combinations (at least): (native | remote) X (all-stop | all-stop-but-target-always-in-non-stop) X (displaced-stepping | in-line step-over). The first two above are properties of the target, but the different step-over-breakpoint methods should work with any target that supports them. This patch makes sure we always test both methods on all targets. Tested on x86-64 Fedora 20. gdb/testsuite/ChangeLog: 2015-04-10 Pedro Alves * gdb.threads/step-over-lands-on-breakpoint.exp (do_test): New procedure, factored out from ... (top level): ... here. Add "set displaced-stepping" testing axis. * gdb.threads/step-over-trips-on-watchpoint.exp (do_test): New parameter "displaced". Use it. (top level): Use foreach and add "set displaced-stepping" testing axis. commit ebc90b50ce6377bf822c918eaf7c55bcd451ba45 Author: Pedro Alves Date: Fri Apr 10 13:11:32 2015 +0100 Make gdb.threads/step-over-trips-on-watchpoint.exp effective on !x86 This test is currently failing like this on (at least) PPC64 and s390x: FAIL: gdb.threads/step-over-trips-on-watchpoint.exp: no thread-specific bp: step: step FAIL: gdb.threads/step-over-trips-on-watchpoint.exp: no thread-specific bp: next: next FAIL: gdb.threads/step-over-trips-on-watchpoint.exp: with thread-specific bp: step: step FAIL: gdb.threads/step-over-trips-on-watchpoint.exp: with thread-specific bp: next: next gdb.log: (gdb) PASS: gdb.threads/step-over-trips-on-watchpoint.exp: no thread-specific bp: step: set scheduler-locking off step wait_threads () at ../../../src/gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.c:49 49 return 1; /* in wait_threads */ (gdb) FAIL: gdb.threads/step-over-trips-on-watchpoint.exp: no thread-specific bp: step: step The problem is that the test assumes that both the "watch_me = 1;" and the "other = 1;" lines compile to a single instruction each, which happens to be true on x86, but no necessarily true everywhere else. The result is that the test doesn't really test what it wants to test. Fix it by looking for the instruction that triggers the watchpoint. gdb/ChangeLog: 2015-04-10 Pedro Alves * gdb.threads/step-over-trips-on-watchpoint.c (child_function): Remove comment. * gdb.threads/step-over-trips-on-watchpoint.exp (do_test): Find both the address of the instruction that triggers the watchpoint and the address of the instruction immediately after, and use those addresses for the test. Fix comment. commit 11e6e4c72cce2961f80e282cc4d859e7c266e17d Author: H.J. Lu Date: Fri Apr 10 04:15:53 2015 -0700 Add a testcase for PR ld/18223 PR ld/18223 * ld-gc/gc.exp: Run pr18223. * ld-gc/pr18223.d: New file. * ld-gc/pr18223.s: Likewise. commit 030aeb759908d7bcf1b87f3599bfa482a90ab6c1 Author: H.J. Lu Date: Fri Apr 10 03:54:41 2015 -0700 Use bfd_alloc for compressed section contents Compressed section contents should be bfd_alloced to avoid memory leak. This patch replaces bfd_malloc and free with bfd_alloc and bfd_release on compressed buffer in bfd_compress_section_contents. There is still a very small memory leak when compressed section isn't smaller. * compress.c (bfd_compress_section_contents): Replace bfd_malloc and free with bfd_alloc and bfd_release on compressed buffer. Release buffer if compressed section isn't smaller. commit 8f572e5c0f71fd6641768985855b2e0955a78f51 Author: Pedro Alves Date: Fri Apr 10 10:55:09 2015 +0100 Fix gdb.base/sigstep.exp with displaced stepping on software single-step targets TL;DR: When stepping over a breakpoint with displaced stepping, the core must be notified of all signals, otherwise the displaced step fixup code confuses a breakpoint trap in the signal handler for the expected trap indicating the displaced instruction was single-stepped normally/successfully. Detailed version: Running sigstep.exp with displaced stepping on, against my x86 software single-step branch, I got: FAIL: gdb.base/sigstep.exp: step on breakpoint, to handler: performing step FAIL: gdb.base/sigstep.exp: next on breakpoint, to handler: performing next FAIL: gdb.base/sigstep.exp: continue on breakpoint, to handler: performing continue Turning on debug logs, we see: (gdb) step infrun: clear_proceed_status_thread (process 32147) infrun: proceed (addr=0xffffffffffffffff, signal=GDB_SIGNAL_DEFAULT) infrun: resume (step=1, signal=GDB_SIGNAL_0), trap_expected=1, current thread [process 32147] at 0x400842 displaced: stepping process 32147 now displaced: saved 0x400622: 49 89 d1 5e 48 89 e2 48 83 e4 f0 50 54 49 c7 c0 displaced: %rip-relative addressing used. displaced: using temp reg 2, old value 0x3615eafd37, new value 0x40084c displaced: copy 0x400842->0x400622: c7 81 1c 08 20 00 00 00 00 00 displaced: displaced pc to 0x400622 displaced: run 0x400622: c7 81 1c 08 LLR: Preparing to resume process 32147, 0, inferior_ptid process 32147 LLR: PTRACE_CONT process 32147, 0 (resume event thread) linux_nat_wait: [process -1], [TARGET_WNOHANG] LLW: enter LNW: waitpid(-1, ...) returned 32147, No child processes LLW: waitpid 32147 received Alarm clock (stopped) LLW: PTRACE_CONT process 32147, Alarm clock (preempt 'handle') LNW: waitpid(-1, ...) returned 0, No child processes LLW: exit (ignore) sigchld infrun: target_wait (-1.0.0, status) = infrun: -1.0.0 [process -1], infrun: status->kind = ignore infrun: TARGET_WAITKIND_IGNORE infrun: prepare_to_wait linux_nat_wait: [process -1], [TARGET_WNOHANG] LLW: enter LNW: waitpid(-1, ...) returned 32147, No child processes LLW: waitpid 32147 received Trace/breakpoint trap (stopped) CSBB: process 32147 stopped by software breakpoint LNW: waitpid(-1, ...) returned 0, No child processes LLW: trap ptid is process 32147. LLW: exit infrun: target_wait (-1.0.0, status) = infrun: 32147.32147.0 [process 32147], infrun: status->kind = stopped, signal = GDB_SIGNAL_TRAP infrun: TARGET_WAITKIND_STOPPED displaced: restored process 32147 0x400622 displaced: fixup (0x400842, 0x400622), insn = 0xc7 0x81 ... displaced: restoring reg 2 to 0x3615eafd37 displaced: relocated %rip from 0x400717 to 0x400937 infrun: stop_pc = 0x400937 infrun: delayed software breakpoint trap, ignoring infrun: no line number info infrun: stop_waiting 0x0000000000400937 in __dso_handle () 1: x/i $pc => 0x400937: and %ah,0xa0d64(%rip) # 0x4a16a1 (gdb) FAIL: gdb.base/sigstep.exp: displaced=on: step on breakpoint, to handler: performing step What should have happened is that the breakpoint hit in the signal handler should have been presented to the user. But note that "preempt 'handle'" -- what happened instead is that displaced_step_fixup confused the breakpoint in the signal handler for the expected SIGTRAP indicating the displaced instruction was single-stepped normally/successfully. This should be affecting all software single-step targets in the same way. The fix is to make sure the core sees all signals when displaced stepping, just like we already must see all signals when doing an stepping over a breakpoint in-line. We now get: infrun: target_wait (-1.0.0, status) = infrun: 570.570.0 [process 570], infrun: status->kind = stopped, signal = GDB_SIGNAL_ALRM infrun: TARGET_WAITKIND_STOPPED displaced: restored process 570 0x400622 infrun: stop_pc = 0x400842 infrun: random signal (GDB_SIGNAL_ALRM) infrun: signal arrived while stepping over breakpoint infrun: inserting step-resume breakpoint at 0x400842 infrun: resume (step=0, signal=GDB_SIGNAL_ALRM), trap_expected=0, current thread [process 570] at 0x400842 LLR: Preparing to resume process 570, Alarm clock, inferior_ptid process 570 LLR: PTRACE_CONT process 570, Alarm clock (resume event thread) infrun: prepare_to_wait linux_nat_wait: [process -1], [TARGET_WNOHANG] LLW: enter LNW: waitpid(-1, ...) returned 0, No child processes LLW: exit (ignore) infrun: target_wait (-1.0.0, status) = infrun: -1.0.0 [process -1], infrun: status->kind = ignore sigchld infrun: TARGET_WAITKIND_IGNORE infrun: prepare_to_wait linux_nat_wait: [process -1], [TARGET_WNOHANG] LLW: enter LNW: waitpid(-1, ...) returned 570, No child processes LLW: waitpid 570 received Trace/breakpoint trap (stopped) CSBB: process 570 stopped by software breakpoint LNW: waitpid(-1, ...) returned 0, No child processes LLW: trap ptid is process 570. LLW: exit infrun: target_wait (-1.0.0, status) = infrun: 570.570.0 [process 570], infrun: status->kind = stopped, signal = GDB_SIGNAL_TRAP infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x400717 infrun: BPSTAT_WHAT_STOP_NOISY infrun: stop_waiting Breakpoint 3, handler (sig=14) at /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/sigstep.c:35 35 done = 1; Hardware single-step targets already behave this way, because the Linux backends (both native and gdbserver) always report signals to the core if the thread was single-stepping. As mentioned in the new comment in do_target_resume, we can't fix this by instead making the displaced_step_fixup phase skip fixing up the PC if the single step stopped somewhere we didn't expect. Here's what the backtrace would look like if we did that: Breakpoint 3, handler (sig=14) at /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/sigstep.c:35 35 done = 1; 1: x/i $pc => 0x400717 : movl $0x1,0x200943(%rip) # 0x601064 (gdb) bt #0 handler (sig=14) at /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/sigstep.c:35 #1 #2 0x0000000000400622 in _start () (gdb) FAIL: gdb.base/sigstep.exp: displaced=on: step on breakpoint, to handler: backtrace gdb/ChangeLog: 2015-04-10 Pedro Alves * infrun.c (displaced_step_in_progress): New function. (do_target_resume): Advise target to report all signals if displaced stepping. gdb/testsuite/ChangeLog: 2015-04-10 Pedro Alves * gdb.base/sigstep.exp (breakpoint_to_handler) (breakpoint_to_handler_entry): New parameter 'displaced'. Use it. Test "backtrace" in handler. (breakpoint_over_handler): New parameter 'displaced'. Use it. (top level): Add new "displaced" test axis to breakpoint_to_handler, breakpoint_to_handler_entry and breakpoint_over_handler. commit d07a1b059d790af3da88b9c750925d5a8db51250 Author: Alan Modra Date: Fri Apr 10 10:09:34 2015 +0930 Downgrade linker error on protected symbols in .dynbss to a warning PR ld/18222 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't report an error on adding a protected visibility variable to .dynbss. commit 8d2ea2a80abad66250f2f4a1d38e3b8c796147f8 Author: Alan Modra Date: Thu Apr 9 21:36:24 2015 +0930 Revert "Add extern_protected_data and set it for x86" This reverts commit ca3fe95e469b9daec153caa2c90665f5daaec2b5. commit 8d707a12ef51ba5f4c3c6a52532e903da7a56b8b Author: Pedro Alves Date: Fri Apr 10 10:36:23 2015 +0100 gdb/18216: displaced step+deliver signal, a thread needs step-over, crash The problem is that with hardware step targets and displaced stepping, "signal FOO" when stopped at a breakpoint steps the breakpoint instruction at the same time it delivers a signal. This results in tp->stepped_breakpoint set, but no step-resume breakpoint set. When the next stop event arrives, GDB crashes. Irrespective of whether we should do something more/different to step past the breakpoint in this scenario (e.g., PR 18225), it's just wrong to assume there'll be a step-resume breakpoint set (and was not the original intention). gdb/ChangeLog: 2015-04-10 Pedro Alves PR gdb/18216 * infrun.c (process_event_stop_test): Don't assume a step-resume is set if tp->stepped_breakpoint is true. gdb/testsuite/ChangeLog: 2015-04-10 Pedro Alves PR gdb/18216 * gdb.threads/multiple-step-overs.exp: Remove expected eof. commit ef713951c571c8490ca57c17c88785c6df1ed840 Author: Yao Qi Date: Fri Apr 10 10:33:01 2015 +0100 [arm] Fix displaced stepping for thumb alu reg instruction Recent patch series "V2 All-stop on top of non-stop" causes a SIGSEGV in the test case, > -PASS: gdb.base/info-shared.exp: continue to breakpoint: library function #4 > +FAIL: gdb.base/info-shared.exp: continue to breakpoint: library function #4 > > continue^M > Continuing.^M > ^M > Program received signal SIGSEGV, Segmentation fault.^M > 0x40021564 in ?? () gdb/testsuite/gdb.base/info-shared-solib1.so^M > (gdb) FAIL: gdb.base/info-shared.exp: continue to breakpoint: library function #4 and an ARM displaced stepping bug is exposed. It can be reproduced by the modified gdb.arch/arm-disp-step.exp as below, continue^M Continuing.^M ^M Program received signal SIGSEGV, Segmentation fault.^M 0xa713cfcc in ?? ()^M (gdb) FAIL: gdb.arch/arm-disp-step.exp: continue to breakpoint: continue to test_add_rn_pc_end This patch is to fix it. gdb: 2015-04-10 Yao Qi * arm-tdep.c (install_alu_reg): Update comment. (thumb_copy_alu_reg): Remove local variable rn. Update debugging message. Use r2 instead of r1 in the modified instruction. gdb/testsuite: 2015-04-10 Yao Qi * gdb.arch/arm-disp-step.S (main): Call test_add_rn_pc. (test_add_rn_pc): New function. * gdb.arch/arm-disp-step.exp (test_add_rn_pc): New proc. (top level): Invoke test_add_rn_pc. commit 906d60cf467b2d5a20ff04dbc4805a84ef313229 Author: Pedro Alves Date: Fri Apr 10 10:07:02 2015 +0100 PR13858 - Can't do displaced stepping with no symbols Running break-interp.exp with the target always in non-stop mode trips on PR13858, as enabling non-stop also enables displaced stepping. The problem is that when GDB doesn't know where the entry point is, it doesn't know where to put the displaced stepping scratch pad. The test added by this commit exercises this. Without the fix, we get: (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=on: break *$pc set displaced-stepping on (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=on: set displaced-stepping on stepi 0x00000000004005be in ?? () Entry point address is not known. (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=on: stepi p /x $pc $2 = 0x4005be (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=on: get after PC FAIL: gdb.base/step-over-no-symbols.exp: displaced=on: advanced The fix switches all GNU/Linux ports to get the entry point from AT_ENTRY in the target auxiliary vector instead of from symbols. This is currently only done by PPC when Cell debugging is enabled, but I think all archs should be able to do the same. Note that ppc_linux_displaced_step_location cached the result, I'm guessing to avoid constantly re-fetching the auxv out of remote targets, but that's no longer necessary nowadays, as the auxv blob is itself cached in the inferior object. The ppc_linux_entry_point_addr global is obviously bad for multi-process too nowadays. Tested on x86-64 (-m64/-m32), PPC64 (-m64/-m32) and S/390 GNU/Linux. Yao tested the new test on ARM as well. gdb/ChangeLog: 2015-04-10 Pedro Alves PR gdb/13858 * amd64-linux-tdep.c (amd64_linux_init_abi_common): Install linux_displaced_step_location as gdbarch_displaced_step_location hook. * arm-linux-tdep.c (arm_linux_init_abi): Likewise. * i386-linux-tdep.c (i386_linux_init_abi): Likewise. * linux-tdep.c (linux_displaced_step_location): New function, based on ppc_linux_displaced_step_location. * linux-tdep.h (linux_displaced_step_location): New declaration. * ppc-linux-tdep.c (ppc_linux_entry_point_addr): Delete. (ppc_linux_inferior_created, ppc_linux_displaced_step_location): Delete. (ppc_linux_init_abi): Install linux_displaced_step_location as gdbarch_displaced_step_location hook, even without Cell/B.E.. (_initialize_ppc_linux_tdep): Don't install ppc_linux_inferior_created as inferior_created observer. * s390-linux-tdep.c (s390_gdbarch_init): Install linux_displaced_step_location as gdbarch_displaced_step_location hook. gdb/testsuite/ 2015-04-10 Pedro Alves PR gdb/13858 * gdb.base/step-over-no-symbols.exp: New file. commit 8c3fff59dc5cbf86c354770ad66cb146f4fa0143 Author: Alan Modra Date: Fri Apr 10 18:21:32 2015 +0930 Correct setting of elf_list_options * configure.ac: Set elf_list_options etc. in proper case. * configure: Regenerate. commit e7a8570f75694284ea5bc909f095004f4ef938c6 Author: Jan Kratochvil Date: Fri Apr 10 10:34:51 2015 +0200 doc patch: compile: missing bits gdb/doc/ChangeLog 2015-04-10 Jan Kratochvil Eli Zaretskii * gdb.texinfo (Compiling and Injecting Code): Describe set debug compile, show debug compile. New subsection Compilation options for the compile command. New subsection Compiler search for the compile command. commit 080bb7bbe9d06424be5a989ae87160d655d22e2e Author: Nick Clifton Date: Fri Apr 10 08:26:07 2015 +0100 Add documentation about the interation of the ARM assembler's -EB option and the linker's --be8 option. PR binutils/18198 * ld.texinfo (--be8): Add a note about the interaction of this option with the assembler's -EB option. * doc/c-arm.texi (ARM Options): Add a note about the interaction of the -EB option with the linker's --be8 option. commit 6166ed9330a9afd41859d5a716cb9019c338a8ca Author: Alan Modra Date: Thu Apr 9 18:38:03 2015 +0930 Mark _init and _fini for --gc-sections gold marks _init and _fini via symbol, ld marks them via section (default scripts set .init and .fini section KEEP). This makes it possible for people to write their own _init and not bother to put the function into the right section. PR ld/18223 * ldlang.c (lang_process): Add _init and _fini to gc_sym_list. commit 4f0d8f2d9f95ae5620e70c8b490fe6f534ffd5ce Author: GDB Administrator Date: Fri Apr 10 00:00:08 2015 +0000 Automatic date update in version.in commit a6a177507c8b677e79b3440e36091cb0270c55b8 Author: Cary Coutant Date: Thu Apr 9 15:47:13 2015 -0700 Allow gold to resolve defined TLS symbols in a PIE link. This patch fixes Symbol::final_value_is_known so that a defined TLS symbol in a PIE link is treated as having a known final value, thus allowing GD->LE TLS optimization, eliminating an unnecessary GOT entry and dynamic relocation. gold/ * symtab.cc (Symbol::final_value_is_known): Check for TLS symbol in a PIE link. * testsuite/Makefile.am (tls_pie_test.sh): New test. * testsuite/Makefile.in: Regenerate. * testsuite/tls_pie_test.sh: New. commit 18ece1defb99cf50dc7769444e3394c26329d497 Author: H.J. Lu Date: Thu Apr 9 12:48:49 2015 -0700 Update comments in compress.c * compress.c (bfd_compress_section_contents): Update comments. (bfd_init_section_decompress_status): Likewise. (bfd_init_section_compress_status): Likewise. commit 4b5708f5d9c229e07cdab66e863276ff22d47e39 Author: Hans-Peter Nilsson Date: Thu Apr 9 21:09:02 2015 +0200 doc/c-rx.texi: Fix markup typos in last change. commit 437ddf0c4cb63fdb68c4bd1cc155144db344d0c5 Author: Cary Coutant Date: Thu Apr 9 11:52:21 2015 -0700 Improve ODR checking in gold. gold/ * debug.h (DEBUG_LOCATION): New. (DEBUG_ALL): Include DEBUG_LOCATION. (debug_string_to_enum): Add DEBUG_LOCATION. * dwarf_reader.cc (Sized_dwarf_line_info::read_lines): Fix debug output to print correct context. (Sized_dwarf_line_info::do_addr2line): Add debug output. Return up to 4 more locations at the beginning of the function. * symtab.cc (Symbol_table::detect_odr_violations): Get canonical result before sorting list of line numbers. * testsuite/debug_msg.sh: Allow range of line numbers for canonical results on optimized code. commit cd6faa73f8e3b888ee8b73a733382a5587aca202 Author: H.J. Lu Date: Thu Apr 9 10:56:28 2015 -0700 Properly check --compress-debug-sections=XXX We can't check if input is ELF in copy_file since some targets may only set xvec after bfd_check_format_matches is called. This patch moves this check to copy_object. bfd/ * elfxx-target.h (TARGET_BIG_SYM): Add BFD_COMPRESS_GABI to object_flags. (TARGET_LITTLE_SYM): Likewise. binutils/ * objcopy.c (do_debug_sections): Use bit patterns. (copy_object): Return FALSE for compress_zlib, compress_gnu_zlib and compress_gabi_zlib on non-ELF input. (copy_file): Don't check non-ELF input here. commit 19424843891a0b9b0f9c2532cb7251813c4a8cf9 Author: Max Filippov Date: Thu Apr 9 19:27:53 2015 +0300 xtensa: update bfd/Changelog commit 4c2af04fe8b4452bf51d2debf1bb467fafcd0f08 Author: Max Filippov Date: Sun Apr 5 17:04:22 2015 +0300 xtensa: replace action list with splay tree text_action_add uses linear list search to order text actions list by action VMA. The list is used at the first relaxation pass, when it's not fixed yet. Replace the list with splay tree from libiberty. Original profile: % time self children called name ----------------------------------------- 0.00 0.00 14/158225 compute_text_actions 3.62 0.00 25211/158225 remove_dead_literal 8.42 0.00 58645/158225 coalesce_shared_literal 10.68 0.00 74355/158225 text_action_add_proposed 38.8 22.73 0.00 158225 text_action_add 0.00 0.00 144527/293246 bfd_zmalloc ----------------------------------------- Same data, after optimization: % time self children called name ----------------------------------------- 0.00 0.00 14/158225 compute_text_actions 0.00 0.00 25211/158225 remove_dead_literal 0.00 0.01 58645/158225 coalesce_shared_literal 0.00 0.01 74355/158225 text_action_add_proposed 0.1 0.00 0.02 158225 text_action_add 0.01 0.00 144527/144527 splay_tree_insert 0.00 0.00 144527/195130 splay_tree_lookup 0.00 0.00 144527/293246 bfd_zmalloc ----------------------------------------- 2015-04-03 Max Filippov bfd/ * elf32-xtensa.c (splay-tree.h): include header. (text_action_struct): drop next pointer. (text_action_list_struct): drop head pointer, add count and tree fields. (find_fill_action): instead of linear search in text_action_list search in the tree. (text_action_compare, action_first, action_next): new functions. (text_action_add, text_action_add_literal): instead of linear search and insertion insert new node into the tree. (removed_by_actions): pass additional parameter: action_list, use it to traverse the tree. (offset_with_removed_text): pass additional action_list parameter to removed_by_actions. (map_action_fn_context): new typedef. (map_action_fn_context_struct): new structure. (map_action_fn): new function. (map_removal_by_action): use splay_tree_foreach to build map. (find_insn_action): replace linear search in text_action_list with series of splay_tree_lookups. (print_action, print_action_list_fn): new functions. (print_action_list): use splay_tree_foreach. (init_xtensa_relax_info): drop action_list.head initialization. Initialize the tree. (compute_text_actions): use non-zero action_list_count instead of non-NULL action list. (xlate_map_context): new typedef. (xlate_map_context_struct): new structure. (xlate_map_fn): new function. (build_xlate_map): use splay_tree_foreach to build map. (action_remove_bytes_fn): new function. (relax_section): use zero action_list_count instead of NULL action list. Use splay_tree_foreach to count final section size. Drop unused variable 'removed'. commit 3439c466273378021821473d3fc84990e089ae34 Author: Max Filippov Date: Sat Apr 4 14:49:42 2015 +0300 xtensa: optimize find_removed_literal find_removed_literal uses linear search to find removed literal by its VMA. The list of literals is fixed at that point, build an ordered index array and use binary search instead. Original profile: % time self children called name ----------------------------------------- 56.72 0.00 297578/669392 translate_reloc 70.86 0.00 371814/669392 relax_section 67.9 127.58 0.00 669392 find_removed_literal ----------------------------------------- Same data, after optimization: % time self children called name ----------------------------------------- 0.00 0.00 297578/669392 translate_reloc 0.00 0.00 371814/669392 relax_section 0.0 0.00 0.00 669392 find_removed_literal 0.00 0.00 23838/23838 map_removed_literal ----------------------------------------- 2015-04-03 Max Filippov bfd/ * elf32-xtensa.c (removed_literal_map_entry): new typedef. (removed_literal_map_entry_struct): new structure. (removed_literal_list_struct): add new fields: n_map and map. (map_removed_literal, removed_literal_compare): new functions. (find_removed_literal): build index array for literals ordered by VMA, use binary search to find removed literal. commit 071aa5c98a31c966f5fbfc573fcee61350fd1936 Author: Max Filippov Date: Sat Mar 28 08:46:28 2015 +0300 xtensa: optimize removed_by_actions The function removed_by_actions iterates through text actions to calculate an offset applied by text actions to a given VMA. Although it has a parameter p_start_action that allows for incremental offset calculation, in many places it's used with p_start_action explicitly set to the first action. After the first relaxation pass when the list of text actions is finalized, an array of offsets sorted by VMA may be used to speed up this function. Original profile: % time self children called name ----------------------------------------- 0.35 0.00 33872/4808961 relax_section_symbols 3.32 0.00 326022/4808961 relax_property_section 12.83 0.00 1259379/4808961 offset_with_removed_text 32.50 0.00 3189688/4808961 translate_reloc 71.5 49.00 0.00 4808961 removed_by_actions ----------------------------------------- Same data, after optimization: % time self children called name ----------------------------------------- 0.00 0.00 33872/4808537 relax_section_symbols 0.01 0.00 326022/4808537 relax_property_section 0.05 0.00 1258955/4808537 offset_with_removed_text_map 0.13 0.00 3189688/4808537 translate_reloc 1.0 0.20 0.00 4808537 removed_by_actions_map 0.00 0.00 120/120 map_removal_by_action ----------------------------------------- 2015-04-01 Max Filippov bfd/ * elf32-xtensa.c (removal_by_action_entry_struct, removal_by_action_map_struct): new structures. (removal_by_action_entry, removal_by_action_map): new typedefs. (text_action_list_struct): add new field: map. (map_removal_by_action, removed_by_actions_map, offset_with_removed_text_map): new functions. (relax_section): replace offset_with_removed_text with offset_with_removed_text_map. (translate_reloc, relax_property_section, relax_section_symbols): replace removed_by_actions with removed_by_actions_map. commit b2b326d246f839ee218192ac88da2384d929a072 Author: Max Filippov Date: Fri Mar 27 07:13:55 2015 +0300 xtensa: optimize check_section_ebb_pcrels_fit The original check_section_ebb_pcrels_fit algorithm checks that text actions proposed for current EBB are OK for every relocation in a section. There's no need to check every relocation, because text actions for EBB can only change size of that EBB, thus only affecting relocations that in any way cross that EBB. In addition EBBs are iterated in ascending order of their VMA, making it easier to track relevant relocations. Introduce a structure that can track relocations that cross the range of VMAs of EBB and use it to only check relocations relevant to current EBB in check_section_ebb_pcrels_fit. It takes O(N log N) operations to build it and O(N) operations to move current EBB VMA window through its entire range, where N is the number of relocations in a section. The resulting complexity of compute_text_actions is thus reduced from O(N^2) to O(N log N + N * M), where M is the average number of relocations crossing each EBB. Original profile: % time self children called name ----------------------------------------- 44.26 71.53 6429/6429 compute_text_actions 50.2 44.26 71.53 6429 check_section_ebb_pcrels_fit 1.16 20.12 347506666/347576152 pcrel_reloc_fits 2.95 16.52 347506666/348104944 get_relocation_opnd 2.01 9.74 347575100/361252208 r_reloc_init 0.55 7.53 347575100/363381467 r_reloc_get_section 5.76 0.02 695013332/695013332 xlate_offset_with_removed_text 0.68 3.89 347575100/363483827 bfd_octets_per_byte 0.32 0.00 347506666/349910253 is_alt_relocation 0.18 0.11 6391/6391 build_xlate_map 0.00 0.00 6429/19417168 get_xtensa_relax_info 0.00 0.00 6391/6391 free_xlate_map ----------------------------------------- Same data, after optimization: % time self children called name ----------------------------------------- 2.56 3.08 6429/6429 compute_text_actions 8.2 2.56 3.08 6429 check_section_ebb_pcrels_fit 0.08 0.91 17721075/17790561 pcrel_reloc_fits 0.17 0.47 17721075/31685977 r_reloc_init 0.43 0.00 35442150/35442150 xlate_offset_with_removed_text 0.02 0.37 17721075/33815236 r_reloc_get_section 0.22 0.11 6391/6391 build_xlate_map 0.05 0.22 17721075/33917596 bfd_octets_per_byte 0.03 0.00 17721075/20405299 is_alt_relocation 0.01 0.00 6429/6429 reloc_range_list_update_range 0.00 0.00 6429/19417168 get_xtensa_relax_info 0.00 0.00 6391/6391 free_xlate_map ----------------------------------------- 2015-04-01 Max Filippov bfd/ * elf32-xtensa.c (reloc_range_list, reloc_range_list_entry, reloc_range): new typedef. (reloc_range_list_struct, reloc_range_list_entry_struct, reloc_range_struct): new structures. (reloc_range_compare, build_reloc_ranges, reloc_range_list_append, reloc_range_list_remove, reloc_range_list_update_range, free_reloc_range_list): new functions. (compute_text_actions): precompute relocation opcodes before the loop. Add relevant_relocs variable, initialize it before the loop, pass it to the check_section_ebb_pcrels_fit. (check_section_ebb_pcrels_fit): add new parameter: relevant_relocs. Update address range in the relevant_relocs if it's non-NULL and iterate only over relevant relocations. commit eba27bd7815b5d5e7bafc2bf37f9c4c7dda30ec6 Author: H.J. Lu Date: Thu Apr 9 07:46:21 2015 -0700 Remove BNDPLT and add PARSE_AND_LIST_ARGS_CASE_Z * emulparams/elf_x86_64.sh (BNDPLT): Removed. (PARSE_AND_LIST_OPTIONS): New. (PARSE_AND_LIST_ARGS_CASE_Z): Likewise. * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Remove BNDPLT check. Handle PARSE_AND_LIST_ARGS_CASE_Z. (gld${EMULATION_NAME}_list_options): Remove BNDPLT check. commit 7823a9415b2919241f7a7425d9dcc3c62ada0779 Author: Gary Benson Date: Thu Apr 9 14:22:56 2015 +0100 Rename common-remote-fileio.[ch] as fileio.[ch] This commit renames common-remote-fileio.[ch] as fileio.[ch] and renames all functions in these files. gdb/ChangeLog: * common/common-remote-fileio.h: Rename to... * common/fileio.h: ...this. Update all references. (remote_fileio_to_fio_error): Rename to... (host_to_fileio_error): ...this. (remote_fileio_to_be): Rename to... (host_to_bigendian): ...this. Update all callers. (remote_fileio_to_fio_uint): Rename to... (host_to_fileio_uint): ...this. Update all callers. (remote_fileio_to_fio_time): Rename to... (host_to_fileio_time): ...this. Update all callers. (remote_fileio_to_fio_stat): Rename to... (host_to_fileio_stat): ...this. Update all references. * common/common-remote-fileio.c: Rename to... * common/fileio.c: ...this. Update all references. (remote_fileio_to_fio_error): Rename to... (host_to_fileio_error): ...this. Update all callers. (remote_fileio_mode_to_target): Rename to... (fileio_mode_pack): ...this. Update all callers. (remote_fileio_to_fio_mode): Rename to... (host_to_fileio_mode): ...this. Update all callers. (remote_fileio_to_fio_ulong): Rename to... (host_to_fileio_ulong): ...this. Update all callers. (remote_fileio_to_fio_stat): Rename to... (host_to_fileio_stat): ...this. Update all callers. commit 233723a43c5677ae6a5a8bd9c2ac54bae333fe26 Author: Nick Clifton Date: Thu Apr 9 14:56:29 2015 +0100 Update French translation of ld strings. * po/fr.po: Updated French translation. commit f2983cc34ec64b01fabd0b5ca5af50ee690e1661 Author: Andy Wingo Date: Thu Apr 9 13:06:41 2015 +0100 Add Guile frame-read-register command gdb/ChangeLog: * guile/scm-frame.c (gdbscm_frame_read_register): New function. (frame_functions): Bind gdbscm_frame_read_register to frame-read-register. * guile/lib/gdb.scm (frame-read-register): Export. gdb/doc/ChangeLog: * guile.texi (Frames In Guile): Describe frame-read-register. gdb/testsuite/ChangeLog: * gdb.guile/scm-frame.exp: Add frame-read-register tests, modelled after the Python tests. commit b88bb45061e0095a0bafce938363f3051a602dd2 Author: Gary Benson Date: Thu Apr 9 10:28:05 2015 +0100 Introduce new shared function remote_fileio_to_fio_error This commit introduces a new shared function to replace three identical functions in various places in the codebase. gdb/ChangeLog: * common/common-remote-fileio.h (remote_fileio_to_fio_error): New declaration. * common/common-remote-fileio.c (remote_fileio_to_fio_error): New function, factored out the named functions below. * inf-child.c (gdb/fileio.h): Remove include. (common-remote-fileio.h): New include. (inf_child_errno_to_fileio_error): Remove function. Update all callers to use remote_fileio_to_fio_error. * remote-fileio.c (remote_fileio_errno_to_target): Likewise. gdb/gdbserver/ChangeLog: * hostio-errno.c (errno_to_fileio_error): Remove function. Update caller to use remote_fileio_to_fio_error. commit 2f2680f33a356115fb31c932d3b983fcae89902f Author: Andy Wingo Date: Thu Apr 9 11:33:22 2015 +0200 Add myself to Write After Approval list. gdb/ChangeLog: * MAINTAINERS (Write After Approval): Add Andy Wingo. commit 3525236c57a64fdbb534671fd2b16f9f846d36f3 Author: Nick Clifton Date: Thu Apr 9 12:48:37 2015 +0100 Add support to the RX toolchain to restrict the use of string instructions. bfd * elf32-rx.c (describe_flags): Report the settings of the string insn using bits. (rx_elf_merge_private_bfd_data): Handle merging of the string insn using bits. bin * readelf.c (get_machine_flags): Report the setting of the string insn using bits. gas * config/tc-rx.c (enum options): Add OPTION_DISALLOW_STRING_INSNS. (md_longopts): Add -mno-allow-string-insns. (md_parse_option): Handle -mno-allow-string-insns. (md_show_usage): Mention -mno-allow-string-insns. (rx_note_string_insn_use): New function. Produces an error message if a string insn is used when it is not allowed. * config/rx-parse.y (SCMPU): Call rx_note_string_insn_use. (SMOVU, SMOVB, SMOVF, SUNTIL, SWHILE, RMPA): Likewise. * config/rx-defs.h (rx_note_string_insn_use): Prototype. * doc/c-rx.texi: Document -mno-allow-string-insns. elf * rx.h (E_FLAG_RX_SINSNS_SET): New bit in e_flags field. (E_FLAG_RX_SINSNS_YES): Likewise. (E_FLAG_RX_SINSNS_MASK): New define. commit 5a2d4533e2b9cc9c069d47071013cb30f1e0fc7e Author: H.J. Lu Date: Thu Apr 9 04:43:57 2015 -0700 Replace $zlibdir with $ZLIBDIR in LDFLAGS * acinclude.m4: (GDB_AC_CHECK_BFD): Set ZLIBDIR with $zlibdir. Replace $zlibdir with $ZLIBDIR in LDFLAGS. * configure: Regenerated. commit 421693b020bf6e306c6c795541d0bd9dad0db1f1 Author: Pedro Alves Date: Wed Apr 8 18:10:21 2015 +0100 Import strtok_r gnulib module gdb/linux-tdep.c recently gained a strtok_r use. That broke --enable-targets=all with some versions of mingw64, which don't have strtok_r: https://sourceware.org/ml/gdb-patches/2015-04/msg00266.html Fix that by importing the strtok_r gnulib module. gdb/ChangeLog: 2015-04-09 Pedro Alves * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add strtok_r. * gnulib/Makefile.in (aclocal_m4_deps): Add import/m4/strtok_r.m4. * gnulib/configure, gnulib/config.in, gnulib/aclocal.m4: Regenerate. * gnulib/import/Makefile.am: Update. * gnulib/import/Makefile.in: Update. * gnulib/import/m4/gnulib-cache.m4: Update. * gnulib/import/m4/gnulib-comp.m4: Update. * gnulib/import/m4/strtok_r.m4: New file. * gnulib/import/strtok_r.c: New file. commit f543dc83b84d8ebcd0899dfd16215b884b7762fa Author: Pedro Alves Date: Thu Apr 9 10:35:29 2015 +0100 update-gnulib.sh: work around aclocal warning with Perl >= 5.16 gdb/ChangeLog: 2015-04-09 Pedro Alves * gnulib/update-gnulib.sh (aclocal version check): Filter out "called too early to check prototype". commit c8f4bfdd120601d3841b2617b623412a47b8f35f Author: Yao Qi Date: Thu Apr 9 10:20:48 2015 +0100 gdbserver gnu/linux: stepping over breakpoint Hi, I see the following error on arm linux gdbserver, continue^M Continuing.^M ../../../binutils-gdb/gdb/gdbserver/linux-arm-low.c:458: A problem internal to GDBserver has been detected.^M raw_bkpt_type_to_arm_hwbp_type: unhandled raw type^M Remote connection closed^M (gdb) FAIL: gdb.base/cond-eval-mode.exp: hbreak: continue After we make GDBserver handling Zx/zx packet idempotent, [PATCH 3/3] [GDBserver] Make Zx/zx packet handling idempotent. https://sourceware.org/ml/gdb-patches/2014-04/msg00480.html > Now removal/insertion of all kinds of breakpoints/watchpoints, either > internal, or from GDB, always go through the target methods. GDBserver handles all kinds of breakpoints/watchpoints through target methods. However, some target backends, such as arm, don't support Z0 packet but need software breakpoint to do breakpoint stepping over in linux-low.c:start_step_over, if (can_hardware_single_step ()) { step = 1; } else { CORE_ADDR raddr = (*the_low_target.breakpoint_reinsert_addr) (); set_reinsert_breakpoint (raddr); step = 0; } a software breakpoint is requested to the backend, and the error is triggered. This problem should affect targets having breakpoint_reinsert_addr hooked. Instead of handling memory breakpoint in these affected linux backend, this patch handles memory breakpoint in linux_{insert,remove}_point, that, if memory breakpoint is requested, call {insert,remove}_memory_breakpoint respectively. Then, it becomes unnecessary to handle memory breakpoint for linux x86 backend, so this patch removes the code there. This patch is tested with GDBserver on x86_64-linux and arm-linux (-marm, -mthumb). Note that there are still some fails in gdb.base/cond-eval-mode.exp with -mthumb, because GDBserver doesn't know how to select the correct breakpoint instruction according to the arm-or-thumb-mode of requested address. This is a separate issue, anyway. gdb/gdbserver: 2015-04-09 Yao Qi * linux-low.c (linux_insert_point): Call insert_memory_breakpoint if TYPE is raw_bkpt_type_sw. (linux_remove_point): Call remove_memory_breakpoint if type is raw_bkpt_type_sw. * linux-x86-low.c (x86_insert_point): Don't call insert_memory_breakpoint. (x86_remove_point): Don't call remove_memory_breakpoint. commit 82d8e420ab39cf227aa8e0869a54fb0a29b0a00d Author: H.J. Lu Date: Wed Apr 8 17:05:54 2015 -0700 Enable ELF ld_list_options for --enable-targets=all When --enable-targets=all is used with non-ELF target, we should enable ELF ld_list_options. * configure.ac (elf_list_options): Set to TRUE for --enable-targets=all. (elf_shlib_list_options): Likewise. (elf_plt_unwind_list_options): Likewise. * configure: Regenerated. commit 11161a6e382f7585ed2971b3c8d5af1d5fa34b8c Author: GDB Administrator Date: Thu Apr 9 00:00:08 2015 +0000 Automatic date update in version.in commit 6d62641c832525382336c1b04731d85cb6c398e7 Author: Sergio Durigan Junior Date: Wed Apr 8 18:27:10 2015 -0400 Fix Python completion when using the "complete" command This patch is related to PR python/16699, and is an improvement over the patch posted here: Keith noticed that, when using the "complete" command on GDB to complete a Python command, some strange things could happen. In order to understand what can go wrong, I need to explain how the Python completion mechanism works. When the user requests a completion of a Python command by using TAB, GDB will first try to determine the right set of "brkchars" that will be used when doing the completion. This is done by actually calling the "complete" method of the Python class. Then, when we already know the "brkchars" that will be used, we call the "complete" method again, for the same values. If you read the thread mentioned above, you will see that one of the design decisions was to make the "cmdpy_completer_helper" (which is the function the does the actual calling of the "complete" method) cache the first result of the completion, since this result will be used in the second call, to do the actual completion. The problem is that the "complete" command does not process the brkchars, and the current Python completion mechanism (improved by the patch mentioned above) relies on GDB trying to determine the brkchars, and then doing the completion itself. Therefore, when we use the "complete" command instead of doing a TAB-completion on GDB, there is a scenario where we can use the invalid cache of a previous Python command that was completed before. For example: (gdb) A (gdb) complete B B value1 B value10 B value2 B value3 B value4 B value5 B value6 B value7 B value8 B value9 (gdb) B comp1 comp2 comp4 comp6 comp8 comp10 comp3 comp5 comp7 comp9 Here, we see that "complete B " gave a different result than "B ". The reason for that is because "A " was called before, and its completion results were "value*", so when GDB tried to "complete B " it wrongly answered with the results for A. The problem here is using a wrong cache (A's cache) for completing B. We tried to come up with a solution that would preserve the caching mechanism, but it wasn't really possible. So I decided to completely remove the cache, and doing the method calling twice for every completion. This is not optimal, but I do not think it will impact users noticeably. It is worth mentioning another small issue that I found. The code was doing: wordobj = PyUnicode_Decode (word, sizeof (word), host_charset (), NULL); which is totally wrong, because using "sizeof" here will lead to always the same result. So I changed this to use "strlen". The testcase also catches this problem. Keith kindly expanded the existing testcase to cover the problem described above, and everything is passing. gdb/ChangeLog: 2015-04-08 Sergio Durigan Junior PR python/16699 * python/py-cmd.c (cmdpy_completer_helper): Adjust function to not use a caching mechanism. Adjust comments and code to reflect that. Replace 'sizeof' by 'strlen' when fetching 'wordobj'. (cmdpy_completer_handle_brkchars): Adjust call to cmdpy_completer_helper. Call Py_XDECREF for 'resultobj'. (cmdpy_completer): Likewise. gdb/testsuite/ChangeLog: 2015-04-08 Keith Seitz PR python/16699 * gdb.python/py-completion.exp: New tests for completion. * gdb.python/py-completion.py (CompleteLimit1): New class. (CompleteLimit2): Likewise. (CompleteLimit3): Likewise. (CompleteLimit4): Likewise. (CompleteLimit5): Likewise. (CompleteLimit6): Likewise. (CompleteLimit7): Likewise. commit f3770638ca377ff2bdd7cec2cb239d2909034690 Author: Pedro Alves Date: Wed Apr 8 19:59:03 2015 +0100 Add test for PR18214 and PR18216 - multiple step-overs with queued signals Both PRs are triggered by the same use case. PR18214 is about software single-step targets. On those, the 'resume' code that detects that we're stepping over a breakpoint and delivering a signal at the same time: /* Currently, our software single-step implementation leads to different results than hardware single-stepping in one situation: when stepping into delivering a signal which has an associated signal handler, hardware single-step will stop at the first instruction of the handler, while software single-step will simply skip execution of the handler. ... Fortunately, we can at least fix this particular issue. We detect here the case where we are about to deliver a signal while software single-stepping with breakpoints removed. In this situation, we revert the decisions to remove all breakpoints and insert single- step breakpoints, and instead we install a step-resume breakpoint at the current address, deliver the signal without stepping, and once we arrive back at the step-resume breakpoint, actually step over the breakpoint we originally wanted to step over. */ doesn't handle the case of _another_ thread also needing to step over a breakpoint. Because the other thread is just resumed at the PC where it had stopped and a breakpoint is still inserted there, the thread immediately re-traps the same breakpoint. This test exercises that. On software single-step targets, it fails like this: KFAIL: gdb.threads/multiple-step-overs.exp: displaced=off: signal thr3: continue to sigusr1_handler KFAIL: gdb.threads/multiple-step-overs.exp: displaced=off: signal thr2: continue to sigusr1_handler gdb.log (simplified): (gdb) continue Continuing. Breakpoint 4, child_function_2 (arg=0x0) at src/gdb/testsuite/gdb.threads/multiple-step-overs.c:66 66 callme (); /* set breakpoint thread 2 here */ (gdb) thread 3 (gdb) queue-signal SIGUSR1 (gdb) thread 1 [Switching to thread 1 (Thread 0x7ffff7fc1740 (LWP 24824))] #0 main () at src/gdb/testsuite/gdb.threads/multiple-step-overs.c:106 106 wait_threads (); /* set wait-threads breakpoint here */ (gdb) break sigusr1_handler Breakpoint 5 at 0x400837: file src/gdb/testsuite/gdb.threads/multiple-step-overs.c, line 31. (gdb) continue Continuing. [Switching to Thread 0x7ffff7fc0700 (LWP 24828)] Breakpoint 4, child_function_2 (arg=0x0) at src/gdb/testsuite/gdb.threads/multiple-step-overs.c:66 66 callme (); /* set breakpoint thread 2 here */ (gdb) KFAIL: gdb.threads/multiple-step-overs.exp: displaced=off: signal thr3: continue to sigusr1_handler For good measure, I made the test try displaced stepping too. And then I found it crashes GDB on x86-64 (a hardware step target), but only when displaced stepping... : KFAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr1: continue to sigusr1_handler (PRMS: gdb/18216) KFAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr2: continue to sigusr1_handler (PRMS: gdb/18216) KFAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr3: continue to sigusr1_handler (PRMS: gdb/18216) Program terminated with signal SIGSEGV, Segmentation fault. #0 0x000000000062a83a in process_event_stop_test (ecs=0x7fff847eeee0) at src/gdb/infrun.c:4964 4964 if (sr_bp->loc->permanent Setting up the environment for debugging gdb. Breakpoint 1 at 0x79fcfc: file src/gdb/common/errors.c, line 54. Breakpoint 2 at 0x50a26c: file src/gdb/cli/cli-cmds.c, line 217. (top-gdb) p sr_bp $1 = (struct breakpoint *) 0x0 (top-gdb) bt #0 0x000000000062a83a in process_event_stop_test (ecs=0x7fff847eeee0) at src/gdb/infrun.c:4964 #1 0x000000000062a1af in handle_signal_stop (ecs=0x7fff847eeee0) at src/gdb/infrun.c:4715 #2 0x0000000000629097 in handle_inferior_event (ecs=0x7fff847eeee0) at src/gdb/infrun.c:4165 #3 0x0000000000627482 in fetch_inferior_event (client_data=0x0) at src/gdb/infrun.c:3298 #4 0x000000000064ad7b in inferior_event_handler (event_type=INF_REG_EVENT, client_data=0x0) at src/gdb/inf-loop.c:56 #5 0x00000000004c375f in handle_target_event (error=0, client_data=0x0) at src/gdb/linux-nat.c:4658 #6 0x0000000000648c47 in handle_file_event (file_ptr=0x2e0eaa0, ready_mask=1) at src/gdb/event-loop.c:658 The all-stop-non-stop series fixes this, but meanwhile, this augments the multiple-step-overs.exp test to cover this, KFAILed. gdb/testsuite/ChangeLog: 2015-04-08 Pedro Alves PR gdb/18214 PR gdb/18216 * gdb.threads/multiple-step-overs.c (sigusr1_handler): New function. (main): Install it as SIGUSR1 handler. * gdb.threads/multiple-step-overs.exp (setup): Remove 'prefix' parameter. Always use "setup" as prefix. Toggle "set displaced-stepping" off/on depending on global. Don't switch to thread 1 here. (top level): Add displaced stepping "off/on" test axis. Update "setup" calls. Wrap each subtest with with_test_prefix. Test continuing with a queued signal in each thread. commit febdfe65a81629bc2a764820c94f9d2912a90e38 Author: H.J. Lu Date: Wed Apr 8 10:29:23 2015 -0700 Add chdr_size, Chdr, Chdr_write and Chdr_data * elfcpp.h (Elf_sizes): Add chdr_size. (Chdr): New. (Chdr_write): Likewise. * elfcpp_internal.h (Chdr_data): Likewise. commit 91fb4b1a83cb06e3e6d7b90075f4d8fda0a709d4 Author: H.J. Lu Date: Wed Apr 8 10:27:55 2015 -0700 Add SHF_COMPRESSED and ELFCOMPRESS_XXX to elfcpp.h * elfcpp.h (SHF): Add SHF_COMPRESSED. (ELFCOMPRESS_ZLIB): New. (ELFCOMPRESS_LOOS): Likewise. (ELFCOMPRESS_HIOS): Likewise. (ELFCOMPRESS_LOPROC): Likewise. (ELFCOMPRESS_HIPROC): Likewise. commit 31b94bbb7b178be4e688bd250a111b0848af5b76 Author: H.J. Lu Date: Wed Apr 8 09:46:50 2015 -0700 Skip empty EMULATION_NAME * emulparams/elf32bmipn32-defs.sh: Skip empty EMULATION_NAME. commit 5150992626e67d2f6d1573737e06126bfb712c30 Author: H.J. Lu Date: Wed Apr 8 09:25:08 2015 -0700 Work around a GCC uninitialized warning bug * compress.c (bfd_compress_section_contents): Work around a GCC uninitialized warning bug fixed in GCC 4.7. commit 85558555ec343f6e8ec32da409c838954e68132f Author: Yao Qi Date: Wed Apr 8 16:04:07 2015 +0100 [spu] Don't call set_gdbarch_cannot_step_breakpoint in spu_gdbarch_init Nowadays, in infrun.c:resume, the setting to 'step' variable is like: if (use_displaced_stepping (gdbarch) && tp->control.trap_expected && sig == GDB_SIGNAL_0 && !current_inferior ()->waiting_for_vfork_done) { } /* Do we need to do it the hard way, w/temp breakpoints? */ else if (step) step = maybe_software_singlestep (gdbarch, pc); <-- [1] ... if (execution_direction != EXEC_REVERSE && step && breakpoint_inserted_here_p (aspace, pc)) { ... if (gdbarch_cannot_step_breakpoint (gdbarch)) <-- [2] step = 0; } spu doesn't have displaced stepping and uses software single step, so 'step' is set to zero in [1], and [2] becomes unreachable as a result. So don't have to call set_gdbarch_cannot_step_breakpoint in spu_gdbarch_init. gdb: 2015-04-08 Yao Qi * spu-tdep.c (spu_gdbarch_init): Don't call set_gdbarch_cannot_step_breakpoint. commit 151411f8af16723a12e0e0eedc1ecdbea648c1b0 Author: H.J. Lu Date: Wed Apr 8 07:53:54 2015 -0700 Add SHF_COMPRESSED support to gas and objcopy This patch adds --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi} options to gas and objcopy for ELF files. They control how DWARF debug sections are compressed. --compress-debug-sections=none is equivalent to --nocompress-debug-sections. --compress-debug-sections=zlib and --compress-debug-sections=zlib-gnu are equivalent to --compress-debug-sections. --compress-debug-sections=zlib-gabi compresses DWARF debug sections with SHF_COMPRESSED from the ELF ABI. No linker changes are required to support SHF_COMPRESSED. bfd/ * archive.c (_bfd_get_elt_at_filepos): Also copy BFD_COMPRESS_GABI bit. * bfd.c (bfd::flags): Increase size to 18 bits. (BFD_COMPRESS_GABI): New. (BFD_FLAGS_SAVED): Add BFD_COMPRESS_GABI. (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise. (bfd_update_compression_header): New fuction. (bfd_check_compression_header): Likewise. (bfd_get_compression_header_size): Likewise. (bfd_is_section_compressed_with_header): Likewise. * compress.c (MAX_COMPRESSION_HEADER_SIZE): New. (bfd_compress_section_contents): Return the uncompressed size if the full section contents is compressed successfully. Support converting from/to .zdebug* sections. (bfd_get_full_section_contents): Call bfd_get_compression_header_size to get compression header size. (bfd_is_section_compressed): Renamed to ... (bfd_is_section_compressed_with_header): This. Add a pointer argument to return compression header size. (bfd_is_section_compressed): Use it. (bfd_init_section_decompress_status): Call bfd_get_compression_header_size to get compression header size. Return FALSE if uncompressed section size is 0. * elf.c (_bfd_elf_make_section_from_shdr): Support converting from/to .zdebug* sections. * bfd-in2.h: Regenerated. binutils/ * objcopy.c (do_debug_sections): Add compress_zlib, compress_gnu_zlib and compress_gabi_zlib. (copy_options): Use optional_argument on compress-debug-sections. (copy_usage): Update --compress-debug-sections. (copy_file): Handle compress_zlib, compress_gnu_zlib and compress_gabi_zlib. (copy_main): Handle --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}. * doc/binutils.texi: Document --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}. binutils/testsuite/ * compress.exp: Add tests for --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}. * binutils-all/dw2-3.rS: New file. * binutils-all/dw2-3.rt: Likewise. * binutils-all/libdw2-compressedgabi.out: Likewise. gas/ * as.c (show_usage): Update --compress-debug-sections. (std_longopts): Use optional_argument on compress-debug-sections. (parse_args): Handle --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}. * as.h (compressed_debug_section_type): New. (flag_compress_debug): Change type to compressed_debug_section_type. --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}. * write.c (compress_debug): Set BFD_COMPRESS_GABI for --compress-debug-sections=zlib-gabi. Call bfd_get_compression_header_size to get compression header size. Don't rename section name for --compress-debug-sections=zlib-gabi. * config/tc-i386.c (compressed_debug_section_type): Set to COMPRESS_DEBUG_ZLIB. * doc/as.texinfo: Document --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}. gas/testsuite/ * gas/i386/dw2-compressed-1.d: New file. * gas/i386/dw2-compressed-2.d: Likewise. * gas/i386/dw2-compressed-3.d: Likewise. * gas/i386/x86-64-dw2-compressed-2.d: Likewise. * gas/i386/i386.exp: Run dw2-compressed-2, dw2-compressed-1, dw2-compressed-3 and x86-64-dw2-compressed-2. ld/testsuite/ * ld-elf/compress.exp: Add a test for --compress-debug-sections=zlib-gabi. (build_tests): Add 2 tests for --compress-debug-sections=zlib-gabi. (run_tests): Likewise. Verify linker output with zlib-gabi compressed debug input. * ld-elf/compressed1a.d: New file. * ld-elf/compressed1b.d: Likewise. * ld-elf/compressed1c.d: Likewise. commit bfcf0ccd0131621213c5d6f2908cd703a90176f7 Author: H.J. Lu Date: Wed Apr 8 05:04:13 2015 -0700 Display --interleave[=] Optional argument of a command line option must start with "=". * objcopy.c (copy_usage): Replace "--interleave []" with --interleave[=]. commit c58212eaf957ef39484ed71316074fd8366e9c4a Author: H.J. Lu Date: Wed Apr 8 04:55:07 2015 -0700 Add ld_list_options This patch adds ld_list_options for ELF targets to avoid duplicated outputs from ld --help. * Makefile.am (ELF_CLFAGS): New. (AM_CFLAGS): Add $(ELF_CLFAGS). * configure.ac (elf_list_options): New. AC_SUBST. (elf_shlib_list_options): Likewise. (elf_plt_unwind_list_options): Likewise. * lexsup.c (elf_shlib_list_options): New. (elf_static_list_options): Likewise. (elf_plt_unwind_list_options): Likewise. (ld_list_options): Likewise. (help): Call ld_list_options. * Makefile.in: Regenerated. * configure: Likewise. * emulparams/plt_unwind.sh (PLT_UNWIND): New. (PARSE_AND_LIST_OPTIONS): Removed. * emultempl/elf32.em (gld_list_options): New. (gld${EMULATION_NAME}_list_options): Define only if BNDPLT or PARSE_AND_LIST_OPTIONS is defined. (ld_${EMULATION_NAME}_emulation): Replace gld${EMULATION_NAME}_list_options with ${gld_list_options. commit 4496bed7f346afbb2f2b4f939373920a4d69da11 Author: Pedro Alves Date: Wed Apr 8 10:39:43 2015 +0100 Fix gdb.trace/{actions,infotrace,while-stepping}.exp with extended-remote The recent actions.exp change to check gdb_run_cmd succeeded caught further problems. The test now fails like this with --target_board=native-extended-gdbserver: FAIL: gdb.trace/actions.exp: Can't run to main gdb.log shows: (gdb) run Starting program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.trace/actions Running the default executable on the remote target failed; try "set remote exec-file"? (gdb) FAIL: gdb.trace/actions.exp: Can't run to main The problem is that a gdb_load call is missing. Grepping around for similar problems in other tests, I found that infotrace.exp and while-stepping.exp should be likewise affected. And indeed this is what we get today: FAIL: gdb.trace/infotrace.exp: tstart FAIL: gdb.trace/infotrace.exp: continue to end (the program is no longer running) FAIL: gdb.trace/infotrace.exp: tstop FAIL: gdb.trace/infotrace.exp: 2.6: info tracepoints (trace buffer usage) FAIL: gdb.trace/while-stepping.exp: tstart FAIL: gdb.trace/while-stepping.exp: tstop FAIL: gdb.trace/while-stepping.exp: tfile: info tracepoints FAIL: gdb.trace/while-stepping.exp: ctf: info tracepoints while-stepping.exp even has the same race bug actions.exp had. After this, {actions,infotrace,while-stepping}.exp all pass cleanly with the native-extended-gdbserver board. gdb/testsuite/ChangeLog: 2015-04-08 Pedro Alves * gdb.trace/actions.exp: Use gdb_load before gdb_run_cmd. * gdb.trace/infotrace.exp: Use gdb_load before gdb_run_cmd. Use gdb_breakpoint instead of gdb_test that doesn't expect anything. Return early if running to main fails. * gdb.trace/while-stepping.exp: Likewise. commit 2449132744a7081d1c8619da45cc9870d9c98fb3 Author: Han Shen Date: Tue Apr 7 17:20:11 2015 -0700 Add AArch32 support for arm gold linker. commit 31ba1f58f81d79fb0e3d5bf3bce5a53adc8e14a9 Author: GDB Administrator Date: Wed Apr 8 00:00:08 2015 +0000 Automatic date update in version.in commit d249a14abe5c2ee3ba4dc6c47e68e41ddc2025a4 Author: Sergio Durigan Junior Date: Tue Apr 7 15:19:07 2015 -0400 Initialize variable on gdb/linux-tdep.c:decode_vmflags This obvious commit initializes the 'saveptr' variable on gdb/linux-tdep.c:decode_vmflags. This was causing a build failure on Fedora 21 x86_64, caught by the BuildBot here: commit b97fde9213b9217499959f7aebbf076b00c7008b Author: Pedro Alves Date: Tue Apr 7 18:19:31 2015 +0100 gdb.base/interrupt.exp: Use send_inferior/$inferior_spawn_id The gdb.base/interrupt.exp test is important for testing system call restarting, but because it depends on inferior I/O, it ends up skipped against gdbserver. This patch adjusts the test to use send_inferior and $inferior_spawn_id so it works against GDBserver. gdb/testsuite/ChangeLog: 2015-04-07 Pedro Alves * gdb.base/interrupt.exp: Don't skip if $inferior_spawn_id != $gdb_spawn_id. Use send_inferior and $inferior_spawn_id to interact with inferior program. commit f71c18e755dac28c61a5e5c94fbc8a84eb573679 Author: Pedro Alves Date: Tue Apr 7 18:19:30 2015 +0100 testsuite: Introduce $inferior_spawn_id Some important tests, like gdb.base/interrupt.exp end up skipped against gdbserver, because they depend on inferior I/O, which gdbserver doesn't do. This patch adds a mechanism that makes it possible to make them work. It adds a new "inferior_spawn_id" global that is the spawn ID used for I/O interaction with the inferior. By default, for native targets, or remote targets that can do I/O through GDB (semi-hosting) this will be the same as the gdb/host spawn ID. Otherwise, the board may set this to some other spawn ID. When debugging with GDBserver, this will be set to GDBserver's spawn ID. Then tests can use send_inferior instead of send_gdb to send input to the inferior, and use expect's "-i" switch to select which spawn ID to use for matching input/output. That is, something like this will now work: send_inferior "echo me\n" gdb_test_multiple "continue" "test msg" { -i "$inferior_spawn_id" -re "echo me\r\necho\r\n" { ... } } Or even: gdb_test_multiple "continue" "test msg" { -i "$inferior_spawn_id" -re "hello world" { ... } -i "$gdb_spawn_id" -re "error.*$gdb_prompt $" { ... } } Of course, by default, gdb_test_multiple still matches with $gdb_spawn_id. gdb/testsuite/ChangeLog: 2015-04-07 Pedro Alves * lib/gdb.exp (inferior_spawn_id): New global. (gdb_test_multiple): Handle "-i". Reset the spawn id to GDB's spawn id after processing the user code. (default_gdb_start): Set inferior_spawn_id. (send_inferior): New procedure. * lib/gdbserver-support.exp (gdbserver_start): Set inferior_spawn_id. (close_gdbserver, gdb_exit): Unset inferior_spawn_id. commit 6423214fcb912a5d402ffcb84d6f61f2b900a900 Author: Pedro Alves Date: Tue Apr 7 18:19:30 2015 +0100 testsuite: Don't use expect_background to reap gdbserver I adjusted a test to do 'expect -i $server_spawn_id -re ...', and saw really strange behavior. Whether that expect would work, depended on whether GDB would also send output and the same expect matched it too (on $gdb_spawn_id). I was perplexed until I noticed that gdbserver_spawn spawns gdbserver and then uses expect_background to reap gdbserver. That expect_background conflicts/races with any "expect -i $server_spawn_id" done anywhere else in parallel... In order to make it possible for tests to read inferior I/O out of $server_spawn_id, we to get rid of that expect_background. This patch makes us instead reap gdbserver's spawn id when GDB exits. If GDB is still around, this gives a chance for gdbserver to exit cleanly. The current code in gdb_finish uses "kill", but that doesn't work with extended-remote (gdbserver doesn't exit). We now use "monitor exit" instead which works in both remote and extended-remote modes. gdb/testsuite/ChangeLog: 2015-04-07 Pedro Alves * lib/gdb.exp (gdb_finish): Delete persistent gdbserver handling. * lib/gdbserver-support.exp (gdbserver_start): Make $server_spawn_id global. (gdbserver_start): Don't wait for gdbserver's spawn id with expect_background. (close_gdbserver): New procedure. (gdb_exit): Rename the default version and reimplement. commit 71c0ee8cb9d7d77e8b480aaad715cc5343737993 Author: Pedro Alves Date: Tue Apr 7 18:19:30 2015 +0100 gdb_test_multiple: Fix user code argument processing While teaching gdb_test_multiple to forward "-i" to gdb_expect, I found that with: gdb_test_multiple (...) { -i $some_variable -re "..." {} } $some_variable was not getting expanded in the gdb_test_multiple caller's scope. This is a bug inside gdb_test_multiple. When processing an argument in passed in user code, it was appending the original argument literally, instead of appending the uplist'ed argument. gdb/testsuite/ChangeLog: 2015-04-07 Pedro Alves * lib/gdb.exp (gdb_test_multiple): When processing an argument, append the substituted item, not the original item. commit 203bc29be2b44cffa7a3d64c8a20a0fb6828518d Author: Pedro Alves Date: Tue Apr 7 18:19:29 2015 +0100 gdb.base/interrupt.exp: Use gdb_test_multiple instead of gdb_expect gdb/testsuite/ChangeLog: 2015-04-07 Pedro Alves * gdb.base/interrupt.exp: Use gdb_test_multiple instead of gdb_expect. commit 508a3ddf630dfc6e1fe67e2b117152bd64232226 Author: Pedro Alves Date: Tue Apr 7 18:19:29 2015 +0100 gdb.base/interrupt.exp: Fix race Working on splitting gdb and inferior output handling in this test, I noticed a race that happens to be masked out today. The test sends "a\n" to the inferior, and then inferior echoes back "a\n". If expect manages to read only the first "a\r\n" into its buffer, then this matches: -re "^a\r\n(|a\r\n)$" { and leaves the second "a\r\n" in output. Then the next test that processes inferior I/O sends "data\n", and expects: -re "^(\r\n|)data\r\n(|data\r\n)$" which fails given the anchor and given "a\r\n" is still in the buffer. This is masked today because the test relies on inferior I/O being done on GDB's terminal, and there are tested GDB commands in between, which consume the "a\r\n" that was left in the output. We don't support SunOS4 anymore, so just remove the workaround. gdb/testsuite/ChangeLog 2015-04-07 Pedro Alves * gdb.base/interrupt.exp: Don't handle the case of the inferior output appearing once only. commit a97902de74aba337b2ba28ff8f322f5b4a3602bf Author: Renlin Li Date: Tue Apr 7 18:10:33 2015 +0100 [AArch64] use subseg_text_p to check .text 2015-04-07 Renlin Li gas/ * config/tc-aarch64.c (mapping_state): Use subseg_text_p. (s_aarch64_inst): Likewise. (md_assemble): Likewise. commit 9f6dbe2bbbdcc3694f264878e10c6b80285b4608 Author: Pedro Alves Date: Thu Mar 5 22:01:06 2015 +0000 Fix gdb.trace/actions.exp race I saw this on PPC64 once: not installed on target (gdb) PASS: gdb.trace/actions.exp: 5.10a: verify teval actions set for two tracepoints break main Breakpoint 4 at 0x10000c6c: file ../../../src/gdb/testsuite/gdb.trace/actions.c, line 139. (gdb) PASS: gdb.trace/actions.exp: break main run Starting program: /home/palves/gdb/build/gdb/testsuite/outputs/gdb.trace/actions/actions tstatus Breakpoint 4, main (argc=1, argv=0x3fffffffebb8, envp=0x3fffffffebc8) at ../../../src/gdb/testsuite/gdb.trace/actions.c:139 139 begin (); (gdb) tstatus Trace can not be run on this target. (gdb) actions 1 Enter actions for tracepoint 1, one per line. End with a line saying just "end". >collect $regs >end (gdb) PASS: gdb.trace/actions.exp: set actions for first tracepoint tstart You can't do that when your target is `native' (gdb) FAIL: gdb.trace/actions.exp: tstart info tracepoints 1 Num Type Disp Enb Address What 1 tracepoint keep y 0x00000000100007c8 in gdb_c_test at ../../../src/gdb/testsuite/gdb.trace/actions.c:74 collect $regs not installed on target ... followed by a cascade of FAILs. The "tstatus" was supposed to detect that this target (native) can't do tracepoints, but, alas, it didn't. That detection failed because 'gdb_test "break main"' doesn't expect anything, and then the output was slow enough that 'gdb_test "" "Breakpoint .*"' matched the output of "break main"... The fix is to use gdb_breakpoint instead. Also check the result of gdb_test while at it. Tested on x86-64 Fedora 20, native and gdbserver. gdb/testsuite/ChangeLog: 2015-04-07 Pedro Alves * gdb.trace/actions.exp: Use gdb_breakpoint instead of gdb_test that doesn't expect anything. Return early if running to main fails. commit 3ea6077552ad86ebb441bef6e1bd40e18d06ab44 Author: Nick Clifton Date: Tue Apr 7 16:29:41 2015 +0100 Add new linker option: --warn-orphan which generates warning messages when orphan sections are detected. ld * ld.h (struct ld_config_type): Add new field: warn_orphan. * ldlex.h (enum option_values): Add OPTION_WARN_ORPHAN and OPTION_NO_WARN_ORPHAN. * lexsup.c (ld_options): Add --warn-orphan and --no-warn-orphan. (parse_args): Handle the new options. * ldemul.c (ldemul_place_orphan): If requested, generate a warning message when an orphan section is placed in the output file. * ld.texinfo: Document the new option. * NEWS: Mention the new feature. tests * ld-elf/orphan-5.l: New test - checks the linker's output with --warn-orphan enabled. * ld-elf/elf.exp: Run the new test. commit 8a06aea71e0aa9099d0ca593dbb58f6e056af4ff Author: Pedro Alves Date: Tue Apr 7 15:47:22 2015 +0100 update thread list, delete exited threads On GNU/Linux, if the running kernel supports clone events, then linux-thread-db.c defers thread listing to the target beneath: static void thread_db_update_thread_list (struct target_ops *ops) { ... if (target_has_execution && !thread_db_use_events ()) ops->beneath->to_update_thread_list (ops->beneath); else thread_db_update_thread_list_td_ta_thr_iter (ops); ... } However, when live debugging, the target beneath, linux-nat.c, does not implement the to_update_thread_list method. The result is that if a thread is marked exited (because it can't be deleted right now, e.g., it was the selected thread), then it won't ever be deleted, until the process exits or is killed/detached. A similar thing happens with the remote.c target. Because its target_update_thread_list implementation skips exited threads when it walks the current thread list looking for threads that no longer exits on the target side, using ALL_NON_EXITED_THREADS_SAFE, stale exited threads are never deleted. This is not a big deal -- I can't think of any way this might be user visible, other than gdb's memory growing a tiny bit whenever a thread gets stuck in exited state. Still, might as well clean things up properly. All other targets use prune_threads, so are unaffected. The fix adds a ALL_THREADS_SAFE macro, that like ALL_NON_EXITED_THREADS_SAFE, walks the thread list and allows deleting the iterated thread, and uses that in places that are walking the thread list in order to delete threads. Actually, after converting linux-nat.c and remote.c to use this, we find the only other user of ALL_NON_EXITED_THREADS_SAFE is also walking the list to delete threads. So we convert that too, and end up deleting ALL_NON_EXITED_THREADS_SAFE. Tested on x86_64 Fedora 20, native and gdbserver. gdb/ChangeLog 2015-04-07 Pedro Alves * gdbthread.h (ALL_NON_EXITED_THREADS_SAFE): Rename to ... (ALL_THREADS_SAFE): ... this, and don't skip exited threads. (delete_exited_threads): New declaration. * infrun.c (follow_exec): Use ALL_THREADS_SAFE. * linux-nat.c (linux_nat_update_thread_list): New function. (linux_nat_add_target): Install it. * remote.c (remote_update_thread_list): Use ALL_THREADS_SAFE. * thread.c (prune_threads): Use ALL_THREADS_SAFE. (delete_exited_threads): New function. commit 87070c082fd5c23e9a0e7994ff9ea13f6faecb3e Author: Alan Modra Date: Tue Apr 7 22:23:21 2015 +0930 Modify get_reloc_section for targets that map .got.plt to .got Fixes tic6x testsuite failures due to .rela.plt having a zero sh_info. I considered passing link_info to get_reloc_section so we could directly return the .got.plt output section, but we need the fallback to name lookup anyway for objcopy. bfd/ * elf.c (_bfd_elf_get_reloc_section): Allow for .got.plt being mapped to output .got section. ld/testsuite/ * ld-arm/tls-gdesc-nlazy.g: Adjust for readelf note. * ld-tic6x/shlib-1.rd: Expect corrected .rela.plt sh_info. * ld-tic6x/shlib-1b.rd: Likewise. * ld-tic6x/shlib-1r.rd: Likewise. * ld-tic6x/shlib-1rb.rd: Likewise. * ld-tic6x/shlib-app-1.rd: Likewise. * ld-tic6x/shlib-app-1b.rd: Likewise. * ld-tic6x/shlib-app-1r.rd: Likewise. * ld-tic6x/shlib-app-1rb.rd: Likewise. * ld-tic6x/shlib-noindex.rd: Likewise. commit 0fad6e4b94e754e26e904bab074bf6c94d825711 Author: Alan Modra Date: Tue Apr 7 10:39:59 2015 +0930 Cast shift expression PR ld/18176 * ldlang.c (lang_size_sections): Cast shift expression. commit d3e454b956b16d31998fec65a2508256e6357194 Author: Alan Modra Date: Wed Apr 1 09:59:46 2015 +1030 PowerPC non-PIC to PIC editing for protected var access This is a linker-only solution to the incompatibility between shared library protected visibility variables and using .dynbss and copy relocs for non-PIC access to shared library variables. bfd/ * elf32-ppc.c (struct ppc_elf_link_hash_entry): Add has_addr16_ha and has_addr16_lo. Make has_sda_refs a bitfield. (ppc_elf_check_relocs): Set new flags. (ppc_elf_link_hash_table_create): Update default_params. (ppc_elf_adjust_dynamic_symbol): Clear protected_def in cases where we won't be making .dynbss entries or editing code. Set params->pic_fixup when we'll edit code for protected var access. (allocate_dynrelocs): Allocate got entry for edited code and discard dyn_relocs. (struct ppc_elf_relax_info): Add picfixup_size. (ppc_elf_relax_section): Rename struct one_fixup to struct one_branch_fixup. Rename fixups to branch_fixups. Size space for pic fixups. (ppc_elf_relocate_section): Edit non-PIC accessing protected visibility variables to PIC. Don't emit dyn_relocs for code we've edited. * elf32-ppc.h (struct ppc_elf_params): Add pic_fixup. ld/ * emultempl/ppc32elf.em: Handle --no-pic-fixup. (params): Init new field. (ppc_before_allocation): Enable relaxation for pic_fixup. commit d9b67d9f4127191679c743d1f47d2421d6dcede7 Author: Pedro Alves Date: Tue Apr 7 11:42:09 2015 +0100 Displaced stepping debug: fetch the right regcache Although not currently possible in practice when we get here, 'resume_ptid' can also be a wildcard throughout this function. It's clearer to fetch the regcache using the thread's ptid. gdb/ChangeLog: 2015-04-07 Pedro Alves * infrun.c (resume) : Get the leader thread's regcache, not resume_ptid's. commit 337532fab150dc531c92a31e179df96b98a619c0 Author: Yao Qi Date: Tue Apr 7 11:30:07 2015 +0100 Properly set alarm value in gdb.threads/non-stop-fair-events.exp Nowadays, the alarm value is 60, and alarm is generated on some slow boards. This patch is to pass DejaGNU timeout value to the program, and move the alarm call before going to infinite loop. If any thread has activities, the alarm is reset. gdb/testsuite: 2015-04-07 Yao Qi * gdb.threads/non-stop-fair-events.c (SECONDS): New macro. (child_function): Call alarm. (main): Move call to alarm into the loop. * gdb.threads/non-stop-fair-events.exp: Build program with -DTIMEOUT=$timeout. commit ffa547701bec5b3fb92acf049e5442cbbfc95b2c Author: Nick Clifton Date: Tue Apr 7 11:22:32 2015 +0100 Treat assembler generated local labels as local. * elf.c (_bfd_elf_is_local_label_name): Treat assembler generated local labels as local. commit 122bbfb52a7990dbed5f5da79cf8d9eb305ca7e3 Author: Mike Frysinger Date: Mon Apr 6 23:40:00 2015 -0400 sim: move sim-engine.o/sim-hrw.o to the common list This makes these two objects available to all sims by default. commit dc081549e71d715a229becaf37d0909836c52a9d Author: GDB Administrator Date: Tue Apr 7 00:00:10 2015 +0000 Automatic date update in version.in commit 7fa5525f8e8bc5d5e08998718149bda1928e314a Author: Rafael Ávila de Espíndola Date: Mon Apr 6 15:49:50 2015 -0400 Fix the signature of a virtual method to match the one in the parent class. commit 5368dcf2bae8f15e16cd14348bb7bd716bbc81cb Author: Rafael Ávila de Espíndola Date: Mon Apr 6 15:45:37 2015 -0400 Avoid a call to find by using the return value of insert. commit 9dbb4b021df7015ab7a7dee40e30f72470afde6b Author: Rafael Ávila de Espíndola Date: Mon Apr 6 15:39:42 2015 -0400 Avoid a copy constructor call. commit dae148f3b925ba75459caec099932e31a1ad961b Author: H.J. Lu Date: Mon Apr 6 12:19:13 2015 -0700 Remove is_zlib_supported Since zlib is always supported, there is no need for is_zlib_supported. binutils/testsuite/ * binutils-all/compress.exp: Remove is_zlib_supported check. * binutils-all/objdump.exp: Likewise. * binutils-all/readelf.exp (readelf_compressed_wa_test): Likewise. * lib/utils-lib.exp (run_dump_test): Likewise. * lib/binutils-common.exp (is_zlib_supported): Removed. gas/testsuite/ * lib/gas-defs.exp (run_dump_test): Remove is_zlib_supported check. ld/testsuite/ * ld-elf/compress.exp: Remove is_zlib_supported check. Fail if --compress-debug-sections doesn't work. * lib/ld-lib.exp (run_dump_test): Remove is_zlib_supported check. commit bf890a93a7c46f63fc0595189cf2b388e9a29316 Author: Ilya Tocar Date: Mon Apr 6 19:33:01 2015 +0300 x86: Use individual prefix control for each opcode. 2015-04-06 Ilya Tocar H.J. Lu * i386-dis-evex.h (evex_table): Fill prefix_requirement field. * i386-dis.c (PREFIX_MANDATORY_REPZ, PREFIX_MANDATORY_REPNZ, PREFIX_MANDATORY_DATA, PREFIX_MANDATORY_ADDR, PREFIX_MANDATORY_LOCK, PREFIX_UD_SHIFT, PREFIX_UD_REPZ, REFIX_UD_REPNZ, PREFIX_UD_DATA, PREFIX_UD_ADDR, PREFIX_UD_LOCK, PREFIX_OPTIONAL, PREFIX_MANDATORY): Define. (Bad_Opcode, FLOAT, DIS386, DIS386_PREFIX, THREE_BYTE_TABLE_PREFIX): Fill prefix_requirement field. (struct dis386): Add prefix_requirement field. (dis386): Fill prefix_requirement field. (dis386_twobyte): Ditto. (twobyte_has_mandatory_prefix_: Remove. (reg_table): Fill prefix_requirement field. (prefix_table): Ditto. (x86_64_table): Ditto. (three_byte_table): Ditto. (xop_table): Ditto. (vex_table): Ditto. (vex_len_table): Ditto. (vex_w_table): Ditto. (mod_table): Ditto. (bad_opcode): Ditto. (print_insn): Use prefix_requirement. (FGRPd9_2, FGRPd9_4, FGRPd9_5, FGRPd9_6, FGRPd9_7, FGRPda_5, FGRPdb_4, FGRPde_3, FGRPdf_4): Fill prefix_requirement field. (float_reg): Ditto. commit 4aa90cc007ff1e7c6525b3f5e573e3a4242091fa Author: H.J. Lu Date: Mon Apr 6 09:01:43 2015 -0700 Use bfd_putb64/bfd_getb64 bfd/ * compress.c (get_uncompressed_size): Removed. (bfd_compress_section_contents): Use bfd_putb64 to write uncompressed section size. (bfd_init_section_decompress_status): Replace get_uncompressed_size with bfd_getb64. gas/ * write.c (compress_debug): Use bfd_putb64 to write uncompressed section size. commit fd5136e57ca26072fa015a7563ba019b1b2b7d73 Author: H.J. Lu Date: Mon Apr 6 08:59:15 2015 -0700 Remove "/dev/null" from remote_exec We should catch all errors/warnings from cmp. * binutils-all/compress.exp (compression_used): Remove "/dev/null" from remote_exec. commit 85317fbbca85af8786ba3ce0523a1b85b4457f09 Author: Doug Evans Date: Mon Apr 6 08:59:58 2015 -0700 Add testcase for stub-method reading in stabs. This patch is based on the testcase provided here: https://sourceware.org/ml/gdb-patches/2015-02/msg00181.html I've verified that it catches the internal error discovered here: https://sourceware.org/ml/gdb-patches/2015-02/msg00139.html gdb/testsuite/ChangeLog: * lib/gdb.exp (clean_restart): Return result of gdb_load. * gdb.pascal/stub-method.exp: New file. * gdb.pascal/stub-method.pas: New file. commit 01b622d4c7536f20622bc0e23ff78b7fe37bc1e3 Author: Doug Evans Date: Mon Apr 6 08:45:06 2015 -0700 * lib/pascal.exp (gpc_compile): Rename dest arg to destfile. The "dest" parameter to fpc_compile/gpc_compile is the name of compilation destination file, not a board name. This patch fixes this by using names consistent with lib/future.exp:gdb_default_target_compile. gdb/testsuite/ChangeLog: * lib/pascal.exp (gpc_compile): Rename dest arg to destfile. Fix dest parameter to board_info. (fpc_compile): Ditto. (gdb_compile_pascal): Rename dest arg to destfile. commit 2c26b84f4520591762dfb7f740fb85c15c21a2ea Author: Doug Evans Date: Mon Apr 6 08:31:46 2015 -0700 symtab.c (hash_symbol_entry): Hash STRUCT_DOMAIN symbols as VAR_DOMAIN. gdb/ChangeLog: * symtab.c (hash_symbol_entry): Hash STRUCT_DOMAIN symbols as VAR_DOMAIN. (symbol_cache_lookup): Clarify use of bsc_ptr, slot_ptr parameters. Include symbol domain in debugging output. commit 7a85168daf6036fee808dac9944161415189f8a4 Author: Pedro Alves Date: Mon Apr 6 12:35:18 2015 +0100 Fallback to stub-termcap.c on all hosts Currently building gdb is impossible without an installed termcap or curses library. But, GDB already has a very minimal termcap in the tree to handle this situation for Windows -- gdb/stub-termcap.c. This patch makes that the fallback for all hosts. Testing this on GNU/Linux (by simply hacking away the termcap/curses detection in gdb/configure.ac), we trip on: ../readline/libreadline.a(terminal.o): In function `_rl_init_terminal_io': /home/pedro/gdb/mygit/src/readline/terminal.c:527: undefined reference to `PC' /home/pedro/gdb/mygit/src/readline/terminal.c:528: undefined reference to `BC' /home/pedro/gdb/mygit/src/readline/terminal.c:529: undefined reference to `UP' /home/pedro/gdb/mygit/src/readline/terminal.c:538: undefined reference to `PC' /home/pedro/gdb/mygit/src/readline/terminal.c:539: undefined reference to `BC' /home/pedro/gdb/mygit/src/readline/terminal.c:540: undefined reference to `UP' These are globals that are normally defined by termcap (or ncurses' termcap emulation). Now, we could just define replacements in stub-termcap.c, but readline/terminal.c (at least the copy in our tree) has this: #if !defined (__linux__) && !defined (NCURSES_VERSION) # if defined (__EMX__) || defined (NEED_EXTERN_PC) extern # endif /* __EMX__ || NEED_EXTERN_PC */ char PC, *BC, *UP; #endif /* !__linux__ && !NCURSES_VERSION */ which can result in readline defining the globals too. That will usually work out in C, given that "-fcommon" is usually the default for C compilers, but that won't work for C++, or C with -fno-common (link fails with "multiple definition" errors)... Mirroring those #ifdef conditions in the stub termcap screams "brittle" to me -- I can see them changing in latter readline versions. Work around that by simply using __attribute__((weak)). Windows/PE/COFF's do support weak, but not on gcc 3.4 based toolchains (4.8.x does work). Given the file never needed the variables while it was Windows-only, just continue not defining them there. All other supported hosts should support this. gdb/ChangeLog: 2015-04-06 Pedro Alves Bernd Edlinger * configure.ac: Remove the mingw32-specific stub-termcap.o fallback, and instead fallback to the stub termcap on all hosts. * configure: Regenerate. * stub-termcap.c [!__MINGW32__] (PC, BC, UP): Define as weak symbols. commit 1fa29f10602cd0ab395e0f83c9d87ab160b0df8a Author: Ilya Tocar Date: Mon Apr 6 12:37:34 2015 +0300 [Gold,x86_64] Convert mov foo@GOTPCREL(%rip), %reg to lea foo(%rip), %reg 2015-04-06 Ilya Tocar PR gold/17641 * x86_64.cc (Target_x86_64::can_convert_mov_to_lea): New. (Target_x86_64::Scan::local): Don't create GOT entry, when we can convert mov to lea. (Target_x86_64::Scan::global): Ditto. (Target_x86_64::Relocate::relocate): Convert mov foo@GOTPCREL(%rip), %reg to lea foo(%rip), %reg if possible. * testsuite/Makefile.am (x86_64_mov_to_lea): New test. * testsuite/x86_64_mov_to_lea1.s: New. * testsuite/x86_64_mov_to_lea2.s: Ditto. * testsuite/x86_64_mov_to_lea3.s: Ditto. * testsuite/x86_64_mov_to_lea4.s: Ditto. * testsuite/x86_64_mov_to_lea.sh: Ditto. --- commit cbaa2d709747b9da2955761ec86cbee4340263e3 Author: GDB Administrator Date: Mon Apr 6 00:00:07 2015 +0000 Automatic date update in version.in commit 77115a4a156052eb1542d16041115cc347da4a07 Author: H.J. Lu Date: Sun Apr 5 09:20:02 2015 -0700 Add SHF_COMPRESSED support to readelf This patch updates readelf to dump compression header with readelf -S -W: [ 4] .debug_info PROGBITS 00000000 000038 00007d 00 C 0 0 1 readelf -t -W: [ 4] .debug_info PROGBITS 00000000 000038 00007d 00 0 0 1 [00000800]: COMPRESSED ZLIB, 0000009d, 1 It also checks the compression header when decompressing the compressed section. * readelf.c (get_elf_section_flags): Support SHF_COMPRESSED. (get_compression_header): New. (process_section_headers): Dump compression header if needed. (uncompress_section_contents): Don't free compressed_buffer here. (load_specific_debug_section): Free the compressed buffer, update the section buffer and the section size if uncompress is successful. commit 317974f6831d8c7af613257e190e0dc3125bc4cf Author: H.J. Lu Date: Sun Apr 5 08:11:11 2015 -0700 Xfail the compressed debug sections There is no need to generate compressed debug section if compressed section size is the same as before compression. We should xfail the compressed debug section test if there are no compressed sections binutils/testsuite/ * binutils-all/compress.exp (compression_used): New. Xfail test if compression didn't make the section smaller. gas/ 2015-04-05 H.J. Lu * write.c (compress_debug): Don't write the zlib header if compressed section size is the same as before compression. commit 20cc97536046f8aa883c3fba16aa1c9a2762f183 Author: Mike Frysinger Date: Sun Apr 5 04:37:44 2015 -0400 sim: moxie: fix running after nrun conversion The nrun conversion was slightly incorrect in how it stopped when an exception occurred. We still set cpu.asregs.exception, but nothing was checking it anymore. Convert all of that to sim_engine_halt. To keep things from regressing again, add a basic testsuite too. commit 024305f7f28b3b322ae26c5c1c2d23ca6f5c11bb Author: Mike Frysinger Date: Sun Apr 5 03:52:08 2015 -0400 sim: mn10300: add a basic testsuite commit aad84fa6aec2c3fcfebaa322cfdea7b47365e8fb Author: Mike Frysinger Date: Sun Apr 5 03:17:44 2015 -0400 sim: m68hc11: add a basic testsuite commit eed64ce67576be638408a051e6df1057612a7f8e Author: Mike Frysinger Date: Sun Apr 5 02:28:44 2015 -0400 sim: iq2000: add a basic testsuite commit e56dbbb92fdfa714e7b9ba9d70da8ab0ae3558be Author: Mike Frysinger Date: Sun Apr 5 01:58:00 2015 -0400 sim: lm32: add a basic testsuite commit 1d2d99379e358c2b3bc7a4e2d4ffd9b7925a83b4 Author: GDB Administrator Date: Sun Apr 5 00:00:08 2015 +0000 Automatic date update in version.in commit 68f5ff89edd041719c0d45e1f716a5251d7be768 Author: H.J. Lu Date: Sat Apr 4 08:01:54 2015 -0700 Also preserve the SHF_COMPRESSED bit For objcopy and relocatable link, we should also preserve the SHF_COMPRESSED bit if not decompress. * elf.c (_bfd_elf_init_private_section_data): Also preserve the SHF_COMPRESSED bit if not decompress. commit 906bacc0eaac3681a7d6da1bde73dcef7fd3ade7 Author: H.J. Lu Date: Sat Apr 4 07:52:55 2015 -0700 Replace uncompressed_size_buffer with compressed_size_buffer commit 8bed4e0f7b0f82bff55798465bfef2a6986758d3 Author: H.J. Lu Date: Sat Apr 4 07:49:35 2015 -0700 Extract get_uncompressed_size * compress.c (get_uncompressed_size): New. Extracted from ... (bfd_init_section_decompress_status): This. Use it. commit e268c0a63c2c4c60d54c07d1c3055cb0e62f6b40 Author: H.J. Lu Date: Sat Apr 4 07:18:17 2015 -0700 Add a dw2-3.S test This patch adds a dw2-3.S test for upcoming SHF_COMPRESSED test. The existing dw2-1.S/dw2-2.S tests generate non-compressed debug sections for SHF_COMPRESSED since SHF_COMPRESSED compressed debug sections are bigger. * binutils-all/compress.exp (testfile): Remove suffix. (compressedfile): Likewise. (compressedfile2): Likewise. (libfile): Likewise. (testfile3): New. (compressedfile3): Likewise. Updated. Add a dw2-3.S test. * binutils-all/dw2-3.S: New file. * binutils-all/dw2-3.W: Likewise. commit af72fdacfd25568af684e859a60f2c711dbe7f89 Author: GDB Administrator Date: Sat Apr 4 00:00:07 2015 +0000 Automatic date update in version.in commit 6aa76120296414774436cc14c60fe10fef86aa0f Author: H.J. Lu Date: Fri Apr 3 12:49:45 2015 -0700 Add Elf_Internal_Chdr and ElfXX_External_Chdr * external.h (Elf32_External_Chdr): New. (Elf64_External_Chdr): Likewise. * internal.h (Elf_Internal_Chdr): Likewise. commit 25755e2b85e2bd5b313ea87f32000bf9a47dbbf8 Author: Pierre-Marie de Rodat Date: Fri Apr 3 14:53:12 2015 +0200 gdbtypes.c: remove the usuned "top_level" parameter This paramater is no longer useful after the previous commit, so remove it as a cleanup. gdb/ChangeLog: * gdbtypes.c (is_dynamic_type_internal): Remove the unused "top_level" parameter. (resolve_dynamic_type_internal): Remove the unused "top_level" parameter. Update call to is_dynamic_type_internal. (is_dynamic_type): Update call to is_dynamic_type_internal. (resolve_dynamic_range): Update call to resolve_dynamic_type_internal. (resolve_dynamic_union): Likewise. (resolve_dynamic_struct): Likewise. (resolve_dynamic_type): Likewise. commit 961f41602529c9cd4f88af6c02fb61fb55100e27 Author: Pierre-Marie de Rodat Date: Fri Apr 3 10:40:52 2015 +0200 Do not consider reference types as dynamic Even when referenced types are dynamic, the corresponding referencing type should not be considered as dynamic: it's only a pointer. This prevents reference type for values not in memory to be resolved. gdb/ChangeLog: * gdbtypes.c (is_dynamic_type_internal): Remove special handling of TYPE_CODE_REF types so that they are not considered as dynamic depending on the referenced type. (resolve_dynamic_type_internal): Likewise. gdb/testsuite/ChangeLog: * gdb.ada/funcall_ref.exp: New file. * gdb.ada/funcall_ref/foo.adb: New file. commit cbf0179287a799be27e278a41f7705d4c20d9f11 Author: H.J. Lu Date: Fri Apr 3 04:03:07 2015 -0700 Make is_zlib_supported always return 1 * lib/binutils-common.exp (is_zlib_supported): Always return 1. commit b366059a5b384ed822e44a6407b35ab1386b925f Author: Mike Frysinger Date: Thu Apr 2 20:15:43 2015 -0400 sim: d10v: fix signal updates Way back in aba6488e0b73756f31f154d12a228baa82a68d8a, a bunch of signal defines were changed to TARGET_SIGNAL_xxx. For d10v, the transition was incomplete which lead to sim_stop_reason using the new set but sim_resume still using the old set. Which meant in some cases, the sim would never actually stop. Convert all the remaining SIGxxx defines in here to TARGET_SIGNAL_xxx. This has the nice side effect of fixing the testsuite. commit ef6f73553efece92e797b138cf02aaacce19574a Author: GDB Administrator Date: Fri Apr 3 00:00:07 2015 +0000 Automatic date update in version.in commit f66adc4eada1884cef90aa978561b9b2008cdaf2 Author: Nick Clifton Date: Thu Apr 2 17:13:12 2015 +0100 Second fix for microblaze gas port's ability to parse constants. PR gas/18189 * config/tc-microblaze.c (parse_imm): Use offsetT as the type for min and max parameters. Sign extend values before testing. commit 03e080386e266243b2af667af026b992822085cd Author: Nick Clifton Date: Thu Apr 2 16:10:06 2015 +0100 Fixes a bug in the microblaze assembler where it would not complain about constants larger than 32-bits. PR gas/18189 * config/tc-microblaze.c (parse_imm): Use offsetT as the type for min and max parameters. commit 4295609462ce6c0983064c10d95ff6bacce0cdfd Author: Nick Clifton Date: Thu Apr 2 15:28:02 2015 +0100 Fix the binutils readelf.ss test for the AArch64 target. * binutils-all/readelf.ss-64: Move possible location of the $d mapping symbol. commit 15c7659fd125da7d08cfe0f82f1795ab88f897d2 Author: Andrew Turner Date: Thu Apr 2 15:07:27 2015 +0100 Add support for configuring an aarch64-freebsd target. ld * Makefile.am: Add FreeBSD aarch64 files. * Makefile.in: Regenerate. * configure.tgt: Add aarch64-*-freebsd* target triple. * emulparams/aarch64fbsd.sh: New file. * emulparams/aarch64fbsdb.sh: New file. bfd * config.bfd: Add aarch64-*-freebsd* target triple. commit c1baaddf8861aea666b84baeb4746caff51a579d Author: Renlin Li Date: Thu Apr 2 14:59:45 2015 +0100 [AArch64] Emit DATA_MAP in order within text section 2015-03-27 Renlin Li gas/ * config/tc-aarch64.c (mapping_state): Emit MAP_DATA within text section in order. (mapping_state_2): Don't emit MAP_DATA here. (s_aarch64_inst): Align frag during state transition. (md_assemble): Likewise. commit 726e626a7bdeaf5f828faf12e2c1e81504b8fb73 Author: Ed Maste Date: Thu Apr 2 14:44:59 2015 +0100 Remove unused functions in tc-aarch64.c. * config/tc-aarch64.c (set_error_kind): Delete. (set_error_message): Delete. commit cafda5977a98aef514ff86daca2fa94205bdd34e Author: Yao Qi Date: Thu Apr 2 13:51:31 2015 +0100 kfail two tests in no-unwaited-for-left.exp for remote target I see these two fails in no-unwaited-for-left.exp in remote testing for aarch64-linux target. ... continue Continuing. warning: Remote failure reply: E.No unwaited-for children left. [Thread 1084] #2 stopped. (gdb) FAIL: gdb.threads/no-unwaited-for-left.exp: continue stops when thread 2 exits .... continue Continuing. warning: Remote failure reply: E.No unwaited-for children left. [Thread 1081] #1 stopped. (gdb) FAIL: gdb.threads/no-unwaited-for-left.exp: continue stops when the main thread exits I checked the gdb.log on buildbot, and find that these two fails also appear on Debian-i686-native-extended-gdbserver and Fedora-ppc64be-native-gdbserver-m64. I recall that they are about local/remote parity, and related RSP is missing. There has been already a PR 14618 about it. This patch is to kfail them on remote target. gdb/testsuite: 2015-04-02 Yao Qi * gdb.threads/no-unwaited-for-left.exp: Set up kfail if target is remote. commit 39f3de7c43926181f8f2f57bfa17d4fe9e5748a0 Author: H.J. Lu Date: Thu Apr 2 05:41:50 2015 -0700 Regenerate configure in bfd/binutils/gas/gdb/gold bfd/ * configure: Regenerated. binutils/ * configure: Regenerated. gas/ * configure: Regenerated. gdb/ * Makefile.in (top_srcdir): New. * configure: Regenerated. gold/ * configure: Regenerated. commit 7fed4b0be6aa0d0794b8536e9f80d128f0d9bbdb Author: H.J. Lu Date: Thu Apr 2 05:38:34 2015 -0700 Regenerate configure in sim * arm/configure: Regenerated. * avr/configure: Likewise. * bfin/configure: Likewise. * common/configure: Likewise. * cr16/configure: Likewise. * cris/configure: Likewise. * d10v/configure: Likewise. * erc32/configure: Likewise. * frv/configure: Likewise. * ft32/configure: Likewise. * h8300/configure: Likewise. * igen/configure: Likewise. * iq2000/configure: Likewise. * lm32/configure: Likewise. * m32c/configure: Likewise. * m32r/configure: Likewise. * m68hc11/configure: Likewise. * mcore/configure: Likewise. * microblaze/configure: Likewise. * mips/configure: Likewise. * mn10300/configure: Likewise. * moxie/configure: Likewise. * msp430/configure: Likewise. * ppc/configure: Likewise. * rl78/configure: Likewise. * rx/configure: Likewise. * sh/configure: Likewise. * sh64/configure: Likewise. * v850/configure: Likewise. commit df7f7547a5cb6455ad07855482797860b71fb532 Author: H.J. Lu Date: Thu Apr 2 05:37:09 2015 -0700 Set zlibdir/zlibinc with top_builddir/top_srcdir * zlib.m4 (AM_ZLIB): Set zlibdir to -L\$(top_builddir)/../zlib and set zlibinc to -I\$(top_srcdir)/../zlib. commit 599bd15cdae16c5c420c85cf4853fcfd769bce75 Author: Gary Benson Date: Thu Apr 2 13:38:29 2015 +0100 Document "target:" sysroot changes This commit documents the newly added "target:" sysroot feature. gdb/ChangeLog: * NEWS: Announce the new default sysroot of "target:". gdb/doc/ChangeLog: * gdb.texinfo (set sysroot): Document "target:". commit fed040c6a50399617d8265cbddc7fd21b3f134ef Author: Gary Benson Date: Thu Apr 2 13:38:29 2015 +0100 Make the default sysroot be "target:" This commit makes GDB default to a sysroot of "target:". One testcase needed updating as a result of this change. gdb/ChangeLog: * main.c (captured_main): Set gdb_sysroot to "target:" if not otherwise set. gdb/testsuite/ChangeLog: * gdb.base/break-probes.exp: Cope with "target:" sysroot. commit 64c0b5de8dfd68c54060b07d54b1edf8d22fc52b Author: Gary Benson Date: Thu Apr 2 13:38:29 2015 +0100 Update exec_file_attach to cope with "target:" filenames This commit adds support for filenames prefixed with "target:" to exec_file_attach. This is required to correctly follow inferior exec* calls when a gdb_sysroot prefixed with "target:" is set. gdb/ChangeLog: * exec.c (exec_file_attach): Support "target:" filenames. commit b57fbfba4b53434252fce55e323f08aeab556409 Author: Gary Benson Date: Thu Apr 2 13:38:29 2015 +0100 Strip "target:" prefix in solib_find if accessing local files This commit updates solib_find to strip the "target:" prefix from gdb_sysroot when accessing local files. This ensures that the same search algorithm is used for local files regardless of whether a "target:" prefix was used or not. It also avoids cluttering GDB's output with unnecessary "target:" prefixes on paths. gdb/ChangeLog: * solib.c (solib_find): Strip "target:" prefix from sysroot if accessing local files. commit 97a41605e2473c67e82ef5147b4866768bd5a566 Author: Gary Benson Date: Thu Apr 2 13:38:29 2015 +0100 Rearrange symfile_bfd_open symfile_bfd_open handled what were remote files as a special case. Converting from "remote:" files to "target:" made symfile_bfd_open look like this: if remote: open bfd, check format, etc return local-specific stuff open bfd, check format, etc return This commit rearranges symfile_bfd_open to remove the duplicated code, like this: if local: local-specific stuff open bfd, check format, etc return gdb/ChangeLog: * symfile.c (symfile_bfd_open): Reorder to remove duplicated checks and error messages. commit 2938e6cf0809cd81d1593f414ea5836812e68ed2 Author: Gary Benson Date: Thu Apr 2 13:38:29 2015 +0100 Convert "remote:" sysroots to "target:" and remove "remote:" The functionality of "target:" sysroots is a superset of the functionality of "remote:" sysroots. This commit causes the "set sysroot" command to rewrite "remote:" sysroots as "target:" sysroots and replaces "remote:" specific code with "target:" specific code where still necessary. gdb/ChangeLog: * remote.h (REMOTE_SYSROOT_PREFIX): Remove definition. (remote_filename_p): Remove declaration. (remote_bfd_open): Likewise. * remote.c (remote_bfd_iovec_open): Remove function. (remote_bfd_iovec_close): Likewise. (remote_bfd_iovec_pread): Likewise. (remote_bfd_iovec_stat): Likewise. (remote_filename_p): Likewise. (remote_bfd_open): Likewise. * symfile.h (gdb_bfd_open_maybe_remote): Remove declaration. * symfile.c (separate_debug_file_exists): Use gdb_bfd_open. (gdb_bfd_open_maybe_remote): Remove function. (symfile_bfd_open): Replace remote filename check with target filename check. (reread_symbols): Use gdb_bfd_open. * build-id.c (gdbcore.h): New include. (build_id_to_debug_bfd): Use gdb_bfd_open. * infcmd.c (attach_command_post_wait): Remove remote filename check. * solib.c (solib_find): Replace remote-specific handling with target-specific handling. Update comments where necessary. (solib_bfd_open): Replace remote-specific handling with target-specific handling. (gdb_sysroot_changed): New function. (_initialize_solib): Call the above when gdb_sysroot changes. * windows-tdep.c (gdbcore.h): New include. (windows_xfer_shared_library): Use gdb_bfd_open. commit f08e97fed19e0722b6b36e7e638ee86a8aca7db5 Author: Gary Benson Date: Thu Apr 2 13:38:29 2015 +0100 Make gdb_bfd_open able to open BFDs using target fileio This commit updates gdb_bfd_open to access files using target fileio functions if the supplied path starts with "target:" and if the local and target filesystems are not the same. This allows users to specify "set sysroot target:" and have GDB access files locally or from the remote as appropriate. The new functions in gdb_bfd.c are copies of functions from remote.c. This duplication is intentional and will be removed by the next commit in this series. gdb/ChangeLog: * gdb/gdb_bfd.h (TARGET_SYSROOT_PREFIX): New definition. (is_target_filename): New declaration. (gdb_bfd_has_target_filename): Likewise. (gdb_bfd_open): Update documentation comment. * gdb_bfd.c (target.h): New include. (gdb/fileio.h): Likewise. (is_target_filename): New function. (gdb_bfd_has_target_filename): Likewise. (fileio_errno_to_host): Likewise. (gdb_bfd_iovec_fileio_open): Likewise. (gdb_bfd_iovec_fileio_pread): Likewise. (gdb_bfd_iovec_fileio_close): Likewise. (gdb_bfd_iovec_fileio_fstat): Likewise. (gdb_bfd_open): Use target fileio to access paths prefixed with "target:" where necessary. commit 4bd7dc42558fcf53bb0c783f852f03dcac38866f Author: Gary Benson Date: Thu Apr 2 13:38:28 2015 +0100 Introduce target_filesystem_is_local This commit introduces a new target method target_filesystem_is_local which can be used to determine whether or not the filesystem accessed by the target_fileio_* methods is the local filesystem. gdb/ChangeLog: * target.h (struct target_ops) : New field. (target_filesystem_is_local): New macro. * target-delegates.c: Regenerate. * remote.c (remote_filesystem_is_local): New function. (init_remote_ops): Initialize to_filesystem_is_local. commit 9b15c1f0419ae693fdcf6cca399e9a916e14c48e Author: Gary Benson Date: Thu Apr 2 13:38:28 2015 +0100 Introduce target_fileio_fstat This commit introduces a new target method target_fileio_fstat which can be used to retrieve information about files opened with target_fileio_open. gdb/ChangeLog: * target.h (struct target_ops) : New field. (target_fileio_fstat): New declaration. * target.c (target_fileio_fstat): New function. * inf-child.c (inf_child_fileio_fstat): Likewise. (inf_child_target): Initialize to_fileio_fstat. * remote.c (init_remote_ops): Likewise. commit 3d5ff6205b2e62388280661769cc0555a58a1358 Author: Mike Frysinger Date: Thu Apr 2 00:48:04 2015 -0400 binutils: update my e-mail address commit 1a8faa2aa652d8d6c6c3daa83b1dac35ee27e64e Author: Mike Frysinger Date: Wed Apr 1 02:34:00 2015 -0400 sim: clean up SIM_EXTRA_OBJS references This variable was deleted in previous commits and is not used anymore. Prune any stray references to it. commit 6f20d58b6f9f7e4a239567f6245a580932f37adb Author: GDB Administrator Date: Thu Apr 2 00:00:07 2015 +0000 Automatic date update in version.in commit 2412d878342e6fc36caf314826d6bfa8292d84c6 Author: Evandro Menezes Date: Thu Mar 26 15:18:08 2015 -0500 [AArch64] Add support for the Samsung Exynos M1 processor 2015-03-26 Evandro Menezes gas/ * config/tc-aarch64.c: Add support for Samsung Exynos M1. * doc/c-aarch64.texi (-mcpu=): Add "exynos-m1". commit 246496bb652fa8571bfccd46886dd03598bae2b0 Author: Evandro Menezes Date: Thu Mar 26 15:51:14 2015 -0500 [ARM] Add support for the Samsung Exynos M1 processor 2015-03-26 Evandro Menezes gas/ * config/tc-arm.c: Add support for Samsung Exynos M1. * doc/c-arm.texi (-mcpu=): Add "exynos-m1". commit d11916aa89c43071c08c1f9b4550a01f8eec78e3 Author: Sasha Smundak Date: Wed Apr 1 11:49:12 2015 -0700 Add support for writing unwinders in Python. gdb/ChangeLog: * Makefile.in (SUBDIR_PYTHON_OBJS): Add py-unwind.o. (SUBDIR_PYTHON_SRCS): Add py-unwind.c. (py-unwind.o): New recipe. * NEWS: mention Python frame unwinding. * data-directory/Makefile.in (PYTHON_FILE_LIST): Add gdb/unwinder.py and gdb/command/unwinder.py * python/lib/gdb/__init__.py (packages): Add frame_unwinders list. (execute_unwinders): New function. * python/lib/gdb/command/unwinders.py: New file. * python/lib/gdb/unwinder.py: New file. * python/py-objfile.c (objfile_object): Add frame_unwinders field. (objfpy_dealloc): Decrement frame_unwinders reference count. (objfpy_initialize): Create frame_unwinders list. (objfpy_get_frame_unwinders): New function. (objfpy_set_frame_unwinders): Ditto. (objfile_getset): Add frame_unwinders attribute to Objfile. * python/py-progspace.c (pspace_object): Add frame_unwinders field. (pspy_dealloc): Decrement frame_unwinders reference count. (pspy_initialize): Create frame_unwinders list. (pspy_get_frame_unwinders): New function. (pspy_set_frame_unwinders): Ditto. (pspy_getset): Add frame_unwinders attribute to gdb.Progspace. * python/py-unwind.c: New file. * python/python-internal.h (pspy_get_name_unwinders): New prototype. (objpy_get_frame_unwinders): New prototype. (gdbpy_initialize_unwind): New prototype. * python/python.c (gdbpy_apply_type_printers): Call gdbpy_initialize_unwind. gdb/doc/ChangeLog: * doc/python.texi (Writing a Frame Unwinder in Python): Add section. gdb/testsuite/ChangeLog: * gdb.python/py-unwind-maint.c: New file. * gdb.python/py-unwind-maint.exp: New test. * gdb.python/py-unwind-maint.py: New file. * gdb.python/py-unwind.c: New file. * gdb.python/py-unwind.exp: New test. * gdb.python/py-unwind.py: New test. commit 79730a3b2683dba745663fa3b907f564bee8a0ef Author: H.J. Lu Date: Wed Apr 1 10:27:34 2015 -0700 Fix sim build * common/Make-common.in (CSEARCH): Remove $(ZLIBINC). (BFD_LIB): Remove $(ZLIB). (CONFIG_LIBS): Add $(ZLIB). * ppc/Makefile.in (ZLIBINC): Removed. (INCLUDES): Remove $(ZLIBINC). (BFD_LIB): Remove $(ZLIB). commit 0ceaf1ec964f8674c57c6a522cb38b6f758a0929 Author: H.J. Lu Date: Wed Apr 1 10:15:13 2015 -0700 Regenerate configure in sim * arm/configure: Regenerated. * avr/configure: Likewise. * bfin/configure: Likewise. * common/configure: Likewise. * cr16/configure: Likewise. * cris/configure: Likewise. * d10v/configure: Likewise. * erc32/configure: Likewise. * frv/configure: Likewise. * ft32/configure: Likewise. * h8300/configure: Likewise. * igen/configure: Likewise. * iq2000/configure: Likewise. * lm32/configure: Likewise. * m32c/configure: Likewise. * m32r/configure: Likewise. * m68hc11/configure: Likewise. * mcore/configure: Likewise. * microblaze/configure: Likewise. * mips/configure: Likewise. * mn10300/configure: Likewise. * moxie/configure: Likewise. * msp430/configure: Likewise. * ppc/configure: Likewise. * rl78/configure: Likewise. * rx/configure: Likewise. * sh/configure: Likewise. * sh64/configure: Likewise. * v850/configure: Likewise. commit a0bde39842936bb13f88f13a688b181432aa2593 Author: H.J. Lu Date: Wed Apr 1 08:14:32 2015 -0700 Work around a GCC uninitialized warning bug * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Work around a GCC uninitialized warning bug fixed in GCC 4.6. commit 6b403daae993621542c249c00ca1e6d3cfef1aa4 Author: Pedro Alves Date: Mon Mar 30 16:39:56 2015 +0100 infrun.c:resume: currently_stepping after clearing stepped_breakpoint My all-stop-on-top-of-non-stop series manages to shows regressions due to this latent bug. currently_stepping returns true if stepped_breakpoint is set. Obviously we should clear it before checking currently_stepping, not after. Tested on x86_64 Fedora 20. gdb/ChangeLog: 2015-04-01 Pedro Alves * infrun.c (resume): Check currently_stepping after clearing stepped_breakpoint, not before. commit a14711808ece04167523a42f063ddb741e8ca866 Author: Pedro Alves Date: Tue Mar 31 18:36:51 2015 +0100 gdb.threads/manythreads.exp: can't read "test": no such variable If interrupt_and_wait manages to trigger the FAIL path, we get: ERROR OCCURED: can't read "test": no such variable gdb/testsuite/ChangeLog: 2015-04-01 Pedro Alves * gdb.threads/manythreads.exp (interrupt_and_wait): Pass $message to fail instead of non-existent $test. commit 0bbeccb1eea844c2124eeb1e8d8d4a6cf7092d7a Author: Pedro Alves Date: Mon Mar 30 18:00:28 2015 +0100 Fix gdb_spawn_with_cmdline_opts with non-empty GDBFLAGS Running attach.exp with a DejaGnu board that sets GDBFLAGS, like e.g.,: set GDBFLAGS "-ex \"set displaced off\"" fails with (line breaks added for clarity): (gdb) PASS: gdb.base/attach.exp: starting with --pid Executing on build: kill -9 3537 (timeout = 300) spawn -ignore SIGHUP kill -9 3537 spawn of build/gdb/gdb -nw -nx \ -data-directory build/gdb/testsuite/../data-directory \ -ex "set displaced off"-iex "set height 0" -iex "set width 0" \ ^^^^^^^^ --pid=4468 -ex "start" failed ERROR: Spawning build/gdb/gdb failed. UNRESOLVED: gdb.base/attach.exp: cmdline attach run: run to prompt gdb/testsuite/ChangeLog: 2015-04-01 Pedro Alves * lib/gdb.exp (gdb_spawn_with_cmdline_opts): Append space to GDBFLAGS if not empty. commit 1176ecec7082b4d6b4a3d965ef77726899c9eda2 Author: Pedro Alves Date: Mon Mar 30 17:02:01 2015 +0100 Make print_target_wait_results print the whole ptid Makes "set debug infrun 1" a bit clearer. Before: infrun: target_wait (-1, status) = infrun: 6299 [Thread 0x7ffff7fc1700 (LWP 6340)], after: infrun: target_wait (-1.0.0, status) = infrun: 7233.7237.0 [Thread 0x7ffff7fc1700 (LWP 7237)], gdb/ChangeLog: 2015-04-01 Pedro Alves * infrun.c (print_target_wait_results): Print all the ptid elements. commit de1fe8c8ab7f67856d9f2e2c5aa491cec01d3e85 Author: Pedro Alves Date: Thu Mar 26 19:05:40 2015 +0000 keep_going: Add missing discard_cleanups call By inspection, I noticed a path where we return without discarding the cleanups. gdb/ChangeLog: 2015-04-01 Pedro Alves * infrun.c (keep_going): Also discard cleanups if inserting breakpoints fails. commit e6f5c25b57546cbd88daccea4f1739c3f90f7560 Author: Pedro Alves Date: Wed Apr 1 14:58:56 2015 +0100 wait_for_inferior and errors thrown from target_wait Noticed that if an error is thrown out of target_wait, we miss running finish_thread_state_cleanup. Tested on x86_64 Fedora 20, with "maint set target-async off". gdb/ChangeLog: 2015-04-01 Pedro Alves * infrun.c (wait_for_inferior): Install the finish_thread_state_cleanup cleanup across the whole function, not just around handle_inferior_event. commit c4fc4724a6afd605692b24c0af24c7e234dc5ace Author: Ilya Tocar Date: Wed Apr 1 16:48:38 2015 +0300 Convert mov foo@GOT(%reg), %reg to lea foo@GOTOFF(%reg), %reg 2015-04-01 Ilya Tocar PR gold/17640 * i386.cc (Target_i386::can_convert_mov_to_lea): New. (Target_i386::Scan::local): Don't create GOT entry, when we can convert GOT to GOTOFF. (Target_i386::Scan::global): Ditto. (Target_i386::Relocate::relocate): Convert mov foo@GOT(%reg), %reg to lea foo@GOTOFF(%reg), %reg if possible. * testsuite/Makefile.am (i386_mov_to_lea): New test. * testsuite/i386_mov_to_lea1.s: New. * testsuite/i386_mov_to_lea2.s: Ditto. * testsuite/i386_mov_to_lea3.s: Ditto. * testsuite/i386_mov_to_lea4.s: Ditto. * testsuite/i386_mov_to_lea5.s: Ditto. * testsuite/i386_mov_to_lea.sh: Ditto. commit 918357b9556c9eaf81129ea6691bb6e461e80f86 Author: H.J. Lu Date: Wed Apr 1 06:24:42 2015 -0700 Regenerate configure in gold Regenerate configure for zlib.m4 change, which adds --with-system-zlib and removes --with-zlib in gold. zlib is enabled unconditionally with builtin zlib imported from GCC. * Makefile.am (ZLIB): New. (ZLIBINC): Likewise. (AM_CFLAGS): Add $(ZLIBINC). (AM_CXXFLAGS): Likewise. (ldadd_varldadd_var): Add $(ZLIB). (incremental_dump_LDADD): Likewise. (dwp_LDADD): Likewise. * compressed_output.cc: Don't check HAVE_ZLIB_H to include . (zlib_compress): Don't check HAVE_ZLIB_H. (zlib_decompress): Likewise. * options.h (compress_debug_sections): Likewise. * configure.ac (AM_CONDITIONAL): Removed. * testsuite/Makefile.am (ZLIB): New. (LDADD): Add $(ZLIB). Don't check HAVE_ZLIB. * Makefile.in: Regenerated. * config.in: Likewise. * configure: Likewise. * testsuite/Makefile.in: Likewise. commit 1ac806b8a7d0c09a0052751262f37336fb06bf6f Author: Pedro Alves Date: Wed Apr 1 14:24:54 2015 +0000 Use do_target_resume when stepping past permanent breakpoint too We can use the recently added do_target_resume do simplify the code a bit here. Tested on x86_64 Fedora 20. gdb/ChangeLog: 2015-04-01 Pedro Alves * infrun.c (resume) : Use do_target_resume. commit 2ee52aa4283145a0f9417986b2f3d7f91e61b1b0 Author: Pedro Alves Date: Tue Mar 24 14:24:53 2015 +0000 linux_nat.c: Mark new thread running even if momentarily pausing My all-stop-on-top-of-non-stop series manages to trip on a bug in the linux-nat.c backend while running the testsuite. If a thread is discovered while threads are being momentarily paused (without the core's intervention), the thread ends up stuck in THREAD_STOPPED state, even though from the user's perspective, the thread is running even while it is paused. From inspection, in the current sources, this can happen if we call stop_and_resume_callback, though there's no way to test that with current Linux kernels. (While trying to come up with test to exercise this, I stumbled on: https://sourceware.org/ml/gdb-patches/2015-03/msg00850.html ... which does include a non-trivial test, so I think I can still claim I come out net positive. :-) ) Tested on x86_64 Fedora 20. gdb/ChangeLog: 2015-04-01 Pedro Alves * linux-nat.c (linux_handle_extended_wait): Always call set_running. commit 3c724c8ca91ee8304ba355f681ccd906f0e9725b Author: Pierre-Marie de Rodat Date: Tue Mar 10 09:51:27 2015 +0100 Share the "multi_line" helper among all testcases gdb/testsuite/ChangeLog: * gdb.ada/complete.exp: Remove "multi_line". * gdb.ada/info_exc.exp: Remove "multi_line". * gdb.ada/packed_tagged.exp: Remove "multi_line". * gdb.ada/ptype_field.exp: Remove "multi_line". * gdb.ada/sym_print_name.exp: Remove "multi_line". * gdb.ada/tagged.exp: Remove "multi_line". * gdb.btrace/buffer-size.exp: Replace [join [list ...]] with [multi_line ...] * gdb.btrace/delta.exp: Likewise. * gdb.btrace/exception.exp: Likewise. * gdb.btrace/function_call_history.exp: Likewise. * gdb.btrace/instruction_history.exp: Likewise. * gdb.btrace/nohist.exp: Likewise. * gdb.btrace/record_goto.exp: Likewise. * gdb.btrace/segv.exp: Likewise. * gdb.btrace/stepi.exp: Likewise. * gdb.btrace/tailcall.exp: Likewise. * gdb.btrace/unknown_functions.exp: Likewise. * gdb.dwarf2/dw2-undefined-ret-addr.exp: Likewise. * lib/gdb.exp: Add the "multi_line" helper. commit 5445da1b7656f82e7892d862895dfd9e7c16889c Author: Pierre-Marie de Rodat Date: Wed Apr 1 14:53:42 2015 +0200 Add myself as a write-after-approval GDB maintainer gdb/ChangeLog: * MAINTAINERS (Write After Approval): Add "Pierre-Marie de Rodat". commit 4eec2deb06db4a59966fc0669bf861fd92a4b152 Author: Pedro Alves Date: Wed Apr 1 13:38:06 2015 +0100 Crash on thread id wrap around On GNU/Linux, if the target reuses the TID of a thread that GDB still has in its list marked as THREAD_EXITED, GDB crashes, like: (gdb) continue Continuing. src/gdb/thread.c:789: internal-error: set_running: Assertion `tp->state != THREAD_EXITED' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) FAIL: gdb.threads/tid-reuse.exp: continue to breakpoint: after_reuse_time (GDB internal error) Here: (top-gdb) bt #0 internal_error (file=0x953dd8 "src/gdb/thread.c", line=789, fmt=0x953da0 "%s: Assertion `%s' failed.") at src/gdb/common/errors.c:54 #1 0x0000000000638514 in set_running (ptid=..., running=1) at src/gdb/thread.c:789 #2 0x00000000004bda42 in linux_handle_extended_wait (lp=0x16f5760, status=0, stopping=0) at src/gdb/linux-nat.c:2114 #3 0x00000000004bfa24 in linux_nat_filter_event (lwpid=20570, status=198015) at src/gdb/linux-nat.c:3127 #4 0x00000000004c070e in linux_nat_wait_1 (ops=0xe193d0, ptid=..., ourstatus=0x7fffffffd2c0, target_options=1) at src/gdb/linux-nat.c:3478 #5 0x00000000004c1015 in linux_nat_wait (ops=0xe193d0, ptid=..., ourstatus=0x7fffffffd2c0, target_options=1) at src/gdb/linux-nat.c:3722 #6 0x00000000004c92d2 in thread_db_wait (ops=0xd80b60 , ptid=..., ourstatus=0x7fffffffd2c0, options=1) at src/gdb/linux-thread-db.c:1525 #7 0x000000000066db43 in delegate_wait (self=0xd80b60 , arg1=..., arg2=0x7fffffffd2c0, arg3=1) at src/gdb/target-delegates.c:116 #8 0x000000000067e54b in target_wait (ptid=..., status=0x7fffffffd2c0, options=1) at src/gdb/target.c:2206 #9 0x0000000000625111 in fetch_inferior_event (client_data=0x0) at src/gdb/infrun.c:3275 #10 0x0000000000648a3b in inferior_event_handler (event_type=INF_REG_EVENT, client_data=0x0) at src/gdb/inf-loop.c:56 #11 0x00000000004c2ecb in handle_target_event (error=0, client_data=0x0) at src/gdb/linux-nat.c:4655 I managed to come up with a test that reliably reproduces this. It spawns enough threads for the pid number space to wrap around, so could potentially take a while. On my box that's 4 seconds; on gcc110, a PPC box which has max_pid set to 65536, it's over 10 seconds. So I made the test compute how long that would take, and cap the time waited if it would be unreasonably long. Tested on x86_64 Fedora 20. gdb/ChangeLog: 2015-04-01 Pedro Alves * linux-thread-db.c (record_thread): Readd the thread to gdb's list if it was marked exited. gdb/testsuite/ChangeLog: 2015-04-01 Pedro Alves * gdb.threads/tid-reuse.c: New file. * gdb.threads/tid-reuse.exp: New file. commit 4106101c449e53dd6b61ec824b196f84b3f3daa5 Author: Marcus Shawcroft Date: Tue Feb 24 12:04:41 2015 +0000 [AArch64] Workaround for Cortex A53 erratum 843419 Some early revisions of the Cortex-A53 have an erratum (843419). The details of the erratum are quite complex and involve dynamic conditions. For the purposes of the workaround we have simplified the static conditions to an ADRP in the last two instructions of a 4KByte page, followed within four instructions by a load/store dependent on the ADRP. This patch adds support to conservatively scan for and workaround Cortex A53 erratum 843419. There are two different workaround strategies used. The first is to rewrite ADRP instructions which form part of an erratum sequence with an ADR instruction. In situations where the ADR provides insufficient offset the dependent load or store instruction from the sequence is moved to a stub section and branches are inserted from the original sequence to the relocated instruction and back again. Stub section sizes are rounded up to a multiple of 4096 in order to ensure that the act of inserting work around stubs does not create more errata sequences. Workaround stubs are always inserted into the stub section associated with the input section containing the erratum sequence. This ensures that the fully relocated form of the veneered load store instruction is available at the point in time when the stub section is written. commit cf39cfc52ebd683d55fc396a77355f34b5094c04 Author: H.J. Lu Date: Wed Apr 1 04:57:28 2015 -0700 Add --with-system-zlib to top level configure The top level configure supports --with-system-zlib. This patch makes configure --help to display --with-system-zlib. * configure.ac: Add --with-system-zlib. * configure: Regenerated. commit afa59b79006af1572ceeebcd2ada5a13e483f6b1 Author: H.J. Lu Date: Wed Apr 1 04:55:48 2015 -0700 Regenerate configure in bfd/binutils/gas/gdb bfd/ 2015-04-01 H.J. Lu * configure: Regenerated. binutils/ 2015-04-01 H.J. Lu * configure: Regenerated. gas/ 2015-04-01 H.J. Lu * configure: Regenerated. gdb/ 2015-04-01 H.J. Lu * configure: Regenerated. commit 031f1448b68a9eae3392353857c7873f857c2221 Author: H.J. Lu Date: Wed Apr 1 04:51:55 2015 -0700 Unset zlibdir/zlibinc only for --with-system-zlib * zlib.m4 (AM_ZLIB): Unset zlibdir and zlibinc only for --with-system-zlib. commit 875b5b9d147d37c99a189aa95354f9bebdd64ef5 Author: H.J. Lu Date: Wed Apr 1 04:24:05 2015 -0700 Add a testcase for PR ld/18176 PR ld/18176 * ld-x86-64/pr18176.d: New file. * ld-x86-64/pr18176.s: Likewise. * ld-x86-64/pr18176.t: Likewise. * ld-x86-64/x86-64.exp: Run pr18176. commit 16c1c9d6a6f485af1b5b1a54a74dc1ebb25b16c0 Author: Chen Gang Date: Wed Apr 1 11:29:46 2015 +0100 Prevent multiple definitions for _HEAP_START, _HEAP_MAX, and _STACK_START when performing a relocatable link with a tic6x target. * emulparams/elf32_tic6x_le.sh: Skip OTHER_BSS_SECTIONS for relocating operation. commit 41f98f0276aede918c3aca37aa6371c8a3c9fbe7 Author: Pedro Alves Date: Wed Apr 1 11:01:44 2015 +0100 GDBServer: give more complete usage information --attach/--multi are currently only mentioned on the usage info first lines, the meaning of PROG is completely absent and the COMM text does not mention '-/stdio'. A few options are missing: . --disable-randomization / --no-disable-randomization is not mentioned. Although the manual has a comment saying these are superceded by QDisableRandomization, that only makes sense for "run" in extended-remote mode. When we start gdbserver passing it a PROG, --disable-randomization / --no-disable-randomization do take effect. So I think we should document these. . We show --debug / --remote-debug, so might as well show --disable-packet too. GDB's --help has this "For more information, consult the GDB manual" blurb that is missing in GDBserver's --help. Then shuffle things around a bit into "Operating modes", "Other options" and "Debug options" sections, similarly to GDB's --help structure. Before: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ ./gdbserver/gdbserver --help Usage: gdbserver [OPTIONS] COMM PROG [ARGS ...] gdbserver [OPTIONS] --attach COMM PID gdbserver [OPTIONS] --multi COMM COMM may either be a tty device (for serial debugging), or HOST:PORT to listen for a TCP connection. Options: --debug Enable general debugging output. --debug-format=opt1[,opt2,...] Specify extra content in debugging output. Options: all none timestamp --remote-debug Enable remote protocol debugging output. --version Display version information and exit. --wrapper WRAPPER -- Run WRAPPER to start new programs. --once Exit after the first connection has closed. Report bugs to "". ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ After: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ ./gdbserver/gdbserver --help Usage: gdbserver [OPTIONS] COMM PROG [ARGS ...] gdbserver [OPTIONS] --attach COMM PID gdbserver [OPTIONS] --multi COMM COMM may either be a tty device (for serial debugging), HOST:PORT to listen for a TCP connection, or '-' or 'stdio' to use stdin/stdout of gdbserver. PROG is the executable program. ARGS are arguments passed to inferior. PID is the process ID to attach to, when --attach is specified. Operating modes: --attach Attach to running process PID. --multi Start server without a specific program, and only quit when explicitly commanded. --once Exit after the first connection has closed. --help Print this message and then exit. --version Display version information and exit. Other options: --wrapper WRAPPER -- Run WRAPPER to start new programs. --disable-randomization Run PROG with address space randomization disabled. --no-disable-randomization Don't disable address space randomization when starting PROG. Debug options: --debug Enable general debugging output. --debug-format=opt1[,opt2,...] Specify extra content in debugging output. Options: all none timestamp --remote-debug Enable remote protocol debugging output. --disable-packet=opt1[,opt2,...] Disable support for RSP packets or features. Options: vCont, Tthread, qC, qfThreadInfo and threads (disable all threading packets). For more information, consult the GDB manual (available as on-line info or a printed manual). Report bugs to "". ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdb/gdbserver/ChangeLog: 2015-04-01 Pedro Alves Cleber Rosa * server.c (gdbserver_usage): Reorganize and extend the usage message. commit 6c1aca3e2d408ef4874bd882a7f0e2cd944bbf09 Author: Alan Modra Date: Wed Apr 1 19:19:27 2015 +1030 Start of relro segment adjustment Adjusting the start of the relro segment in order to make it end exactly on a page boundary runs into difficulties when sections in the relro segment are aligned; Adjusting the start by (next_page - end) sometimes results in more than that adjustment occurring at the end, overrunning the page boundary. So when that occurs we try a new lower start position by masking the adjusted start with the maximum section alignment. However, we didn't consider that this masked start address may in fact be before the initial relro base, which is silly since that can only increase padding at the relro end. I've also moved some calculations closer to where they are used, and comments closer to the relevant statements. * ldlang.c (lang_size_sections): When alignment of sections results in relro base adjustment being too large, don't go lower than the initial value. * ldexp.c (fold_binary ): Comment. * scripttempl/elf.sc (DATA_SEGMENT_ALIGN): Omit SEGMENT_SIZE alignment when SEGMENT_SIZE is the same as MAXPAGESIZE. commit 269e9c185f67d477a99574f53ead904d50fddfda Author: Mike Frysinger Date: Wed Apr 1 02:21:21 2015 -0400 sim: m32c: enable warnings & clean up a bunch This doesn't clean up all the warnings, just most of them. The ones that are left will require some care to unravel. commit 0fe84f3fbe9a740c38a8dbaa0150b8e4c25c69dd Author: Mike Frysinger Date: Tue Mar 31 01:13:12 2015 -0400 sim: run: punt! Now that all targets have been converted to nrun, we can finally punt this old inconsistent interface. A few stray references to the old run were sprinkled about; clean them up in the process. We leave behind the run(1) man page mostly so that we get it updated for the new nrun interface. commit aadc9410ba24ecf777fcc515afda69ef94d74248 Author: Mike Frysinger Date: Tue Mar 31 23:32:49 2015 -0400 sim: update zlib handling With zlib being mandatory, and the updated m4 configs, we need to regen and use the new settings w/bfd to avoid linkage errors. commit 4a0bc59ef6e01733bb70950ad546c66e4c3317ea Author: Alan Modra Date: Wed Apr 1 13:01:38 2015 +1030 Yet another warning fix Older compilers that warn wrongly will just need -Wno-error. No way am I going to init every single field, then have to edit this code whenever bfd_link_hash_entry changes. Another option, making the struct static, isn't very nice since it means larger binaries and worse code. * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Don't init ehdr_start_save. commit 42271ec540461c63c847d2bea6b6e9cc50524966 Author: Alan Modra Date: Wed Apr 1 10:43:20 2015 +1030 Fix ld eelf32ppcvxworks.c dependencies * Makefile.am (eelf32ppcvxworks.c): Depend on ppc32elf.em and ldemul-list.h. (eelf32lppc.c, eelf32lppclinux.c, eelf32lppcnto.c, eelf32lppcsim.c, eelf32ppc.c, eelf32ppc_fbsd.c, eelf32ppclinux.c, eelf32ppcnto.c, eelf32ppcsim.c): Rearrange deps for consistency. * Makefile.in: Regenerate. commit 4e791d0fb1173330424b69cfbdece9e1764186a6 Author: Ed Schouten Date: Tue Mar 31 16:47:10 2015 +0200 Fixes for a small number of compiler warnings The ehdr_start_save variable does not need to be initialized. However, not initializing it will trigger a compiler warning when using older versions of GCC. Self-assignment unfortunately doesn't work for Clang as Clang has a warning similar to -Winit-self as part of -Wall. * emultempl/elf32.em (gld*_before_allocation): Zero-initialize the ehdr_start_save variable. commit 2ae0baa450dc21cf248cc932d05d9e1fd154e141 Author: GDB Administrator Date: Wed Apr 1 00:00:08 2015 +0000 Automatic date update in version.in commit df8411da087dc05481926f4c4a82deabc5bc3859 Author: Sergio Durigan Junior Date: Tue Mar 31 19:32:34 2015 -0400 Implement support for checking /proc/PID/coredump_filter This patch, as the subject says, extends GDB so that it is able to use the contents of the file /proc/PID/coredump_filter when generating a corefile. This file contains a bit mask that is a representation of the different types of memory mappings in the Linux kernel; the user can choose to dump or not dump a certain type of memory mapping by enabling/disabling the respective bit in the bit mask. Currently, here is what is supported: bit 0 Dump anonymous private mappings. bit 1 Dump anonymous shared mappings. bit 2 Dump file-backed private mappings. bit 3 Dump file-backed shared mappings. bit 4 (since Linux 2.6.24) Dump ELF headers. bit 5 (since Linux 2.6.28) Dump private huge pages. bit 6 (since Linux 2.6.28) Dump shared huge pages. (This table has been taken from core(5), but you can also read about it on Documentation/filesystems/proc.txt inside the Linux kernel source tree). The default value for this file, used by the Linux kernel, is 0x33, which means that bits 0, 1, 4 and 5 are enabled. This is also the default for GDB implemented in this patch, FWIW. Well, reading the file is obviously trivial. The hard part, mind you, is how to determine the types of the memory mappings. For that, I extended the code of gdb/linux-tdep.c:linux_find_memory_regions_full and made it rely *much more* on the information gathered from /proc//smaps. This file contains a "verbose dump" of the inferior's memory mappings, and we were not using as much information as we could from it. If you want to read more about this file, take a look at the proc(5) manpage (I will also write a blog post soon about everything I had to learn to get this patch done, and when I it is ready I will post it here). With Oleg Nesterov's help, we could improve the current algorithm for determining whether a memory mapping is anonymous/file-backed, private/shared. GDB now also respects the MADV_DONTDUMP flag and does not dump the memory mapping marked as so, and will always dump "[vsyscall]" or "[vdso]" mappings (just like the Linux kernel). In a nutshell, what the new code is doing is: - If the mapping is associated to a file whose name ends with " (deleted)", or if the file is "/dev/zero", or if it is "/SYSV%08x" (shared memory), or if there is no file associated with it, or if the AnonHugePages: or the Anonymous: fields in the /proc/PID/smaps have contents, then GDB considers this mapping to be anonymous. There is a special case in this, though: if the memory mapping is a file-backed one, but *also* contains "Anonymous:" or "AnonHugePages:" pages, then GDB considers this mapping to be *both* anonymous and file-backed, just like the Linux kernel does. What that means is simple: this mapping will be dumped if the user requested anonymous mappings *or* if the user requested file-backed mappings to be present in the corefile. It is worth mentioning that, from all those checks described above, the most fragile is the one to see if the file name ends with " (deleted)". This does not necessarily mean that the mapping is anonymous, because the deleted file associated with the mapping may have been a hard link to another file, for example. The Linux kernel checks to see if "i_nlink == 0", but GDB cannot easily do this check (as it has been discussed, GDB would need to run as root, and would need to check the contents of the /proc/PID/map_files/ directory in order to determine whether the deleted was a hardlink or not). Therefore, we made a compromise here, and we assume that if the file name ends with " (deleted)", then the mapping is indeed anonymous. FWIW, this is something the Linux kernel could do better: expose this information in a more direct way. - If we see the flag "sh" in the VmFlags: field (in /proc/PID/smaps), then certainly the memory mapping is shared (VM_SHARED). If we have access to the VmFlags, and we don't see the "sh" there, then certainly the mapping is private. However, older Linux kernels (see the code for more details) do not have the VmFlags field; in that case, we use another heuristic: if we see 'p' in the permission flags, then we assume that the mapping is private, even though the presence of the 's' flag there would mean VM_MAYSHARE, which means the mapping could still be private. This should work OK enough, however. Finally, it is worth mentioning that I added a new command, 'set use-coredump-filter on/off'. When it is 'on', it will read the coredump_filter' file (if it exists) and use its value; otherwise, it will use the default value mentioned above (0x33) to decide which memory mappings to dump. gdb/ChangeLog: 2015-03-31 Sergio Durigan Junior Jan Kratochvil Oleg Nesterov PR corefiles/16092 * linux-tdep.c: Include 'gdbcmd.h' and 'gdb_regex.h'. New enum identifying the various options of the coredump_filter file. (struct smaps_vmflags): New struct. (use_coredump_filter): New variable. (decode_vmflags): New function. (mapping_is_anonymous_p): Likewise. (dump_mapping_p): Likewise. (linux_find_memory_regions_full): New variables 'coredumpfilter_name', 'coredumpfilterdata', 'pid', 'filterflags'. Removed variable 'modified'. Read /proc//smaps file; improve parsing of its information. Implement memory mapping filtering based on its contents. (show_use_coredump_filter): New function. (_initialize_linux_tdep): New command 'set use-coredump-filter'. * NEWS: Mention the possibility of using the '/proc/PID/coredump_filter' file when generating a corefile. Mention new command 'set use-coredump-filter'. gdb/doc/ChangeLog: 2015-03-31 Sergio Durigan Junior PR corefiles/16092 * gdb.texinfo (gcore): Mention new command 'set use-coredump-filter'. (set use-coredump-filter): Document new command. gdb/testsuite/ChangeLog: 2015-03-31 Sergio Durigan Junior PR corefiles/16092 * gdb.base/coredump-filter.c: New file. * gdb.base/coredump-filter.exp: Likewise. commit 416f679e68468ea6dd7384213994ce74201f82e7 Author: Sergio Durigan Junior Date: Tue Mar 31 19:17:23 2015 -0400 Catch exception on solib_svr4_r_ldsomap When loading a corefile that has some inaccessible memory region(s), GDB complains about it: (gdb) core /my/corefile [New LWP 28468] Cannot access memory at address 0x355fc21148 Cannot access memory at address 0x355fc21140 (gdb) However, despite not seeing the message "Core was generated by...", it is still possible to inspect the corefile using regular GDB commands. The reason for that is because read_memory_unsigned_integer throws an exception when it cannot read the memory region, but solib_svr4_r_ldsomap was not catching it. The fix is to catch the exception and act accordingly. Tested on Fedora 20 x86_64, no regressions found. gdb/ChangeLog: 2015-03-31 Sergio Durigan Junior * solib-svr4.c (solib_svr4_r_ldsomap): Catch possible exception by read_memory_unsigned_integer. commit 6ac1079e5960e700b3a9034aab532970167095f4 Author: H.J. Lu Date: Tue Mar 31 13:15:43 2015 -0700 Add missing ChangeLog entry commit 080bb2308591e6b41c7ffa13dedc531bd16b8be5 Author: H.J. Lu Date: Tue Mar 31 13:15:01 2015 -0700 Add missing ChangeLog entry commit e38108740ee16fb38720cb5a1b824f889bb46cbe Author: H.J. Lu Date: Tue Mar 31 11:36:17 2015 -0700 Remove --with-target-subdir=. --disable-multilib zlib/configure is updated to properly handle in-tree build for host. * src-release.sh: Don't configure with --with-target-subdir=. --disable-multilib. commit f85997a697553fb7053de89bafe36e3d71c6f784 Author: H.J. Lu Date: Tue Mar 31 11:35:30 2015 -0700 Use AM_ENABLE_MULTILIB only if with_target_subdir isn't empty * configure.ac (AM_ENABLE_MULTILIB): Use only if ${with_target_subdir} isn't empty. * configure: Regenerated. commit 890ba06fb1eae846984a5e56ff8a79ea59108f88 Author: H.J. Lu Date: Tue Mar 31 11:44:00 2015 -0700 Replace src-release with src-release.sh * src-release.sh (DEVO_SUPPORT): Replace src-release with src-release.sh. commit 711a72d3d6f8cd3c3f408e718ff19aa4bfd2144e Author: H.J. Lu Date: Tue Mar 31 08:24:02 2015 -0700 Add --with-system-zlib in gdb This patch adds --with-system-zlib and removes --with-zlib in gdb. * Makefile.in (ZLIB): New. (ZLIBINC): Likewise. (INTERNAL_CFLAGS_BASE): Add $(ZLIBINC). (CLIBS): Add $(ZLIB). * acinclude.m4: (GDB_AC_CHECK_BFD): Add $zlibdir to LDFLAGS. Add -lz to LIBS. * gdb_bfd.c: Don't check HAVE_ZLIB_H to include . * top.c (print_gdb_configuration): Remove --with-zlib and --without-zlib. * config.in: Regenerated. * configure: Likewise. commit 518a69099cf8eca95a86c4d1ff4b8d8c30cf3c6b Author: H.J. Lu Date: Tue Mar 31 08:20:55 2015 -0700 Remove the last change on dw2-compress-1.d The compressed .debug_info section is bigger than the original in 32-bit. commit 6036f4862103dea22dcc1ee02cf31802872997b3 Author: Ed Schouten Date: Tue Mar 31 11:33:45 2015 +0200 Add support for Nuxi CloudABI on x86-64 bfd/ * config.bfd (targ_defvec): Set to x86_64_elf64_cloudabi_vec for x86_64-*-cloudabi*. * configure.ac: Handle x86_64_elf64_cloudabi_vec. * configure: Regenerated. * elf64-x86-64.c (TARGET_LITTLE_SYM): Support x86_64-*-cloudabi*. (TARGET_LITTLE_NAME): Likewise. (ELF_OSABI): Likewise. (elf64_bed): Likewise. * targets.c (x86_64_elf64_cloudabi_vec): New. (_bfd_target_vector): Add x86_64_elf64_cloudabi_vec. gas/ * configure.tgt (fmt): Set to elf for *-*-cloudabi*. ld/ * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf_x86_64_cloudabi.c. (eelf_x86_64_cloudabi.c): New. * configure.tgt (targ_emul): Set to elf_x86_64_cloudabi for x86_64-*-cloudabi*. * Makefile.in: Regenerated. * emulparams/elf_x86_64_cloudabi.sh: New file. commit 6ef37366be4c2445b3efdba8520e0a4e7450581f Author: Petr Machata Date: Mon Feb 23 15:41:52 2015 +0100 dwarf.exp: Allow generating a stub .debug_line section Example of use: Dwarf::assemble "foo.s" { build_id 0102030405060708 declare_labels L; cu {is_64 0 version 4 addr_size 8} { DW_TAG_compile_unit { {DW_AT_stmt_list $L DW_FORM_sec_offset} } { DW_TAG_subprogram { # We can now reference the source file. {DW_AT_decl_file 1 DW_FORM_data1} } } } lines {is_64 0 version 2 addr_size 8} L { include_dir "foo" include_dir "bar" file_name "foo.c" 1 file_name "bar.c" 1 file_name "baz.c" 2 } } Signed-off-by: Petr Machata commit 543b793377eb8c64f8c4e0e68cd3e6b39e857051 Author: H.J. Lu Date: Tue Mar 31 05:55:18 2015 -0700 Revert the AM_ZLIB change in gas * configure.ac: Revert the AM_ZLIB change. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise. commit ed2b5077eb36d82ad7763d76fdd8e82d15f72b7a Author: H.J. Lu Date: Tue Mar 31 05:55:46 2015 -0700 Revert the AM_ZLIB change in binutils * configure.ac: Revert the AM_ZLIB change. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise. commit 9ae46699504c63af285d40ad8856a29300d318e4 Author: H.J. Lu Date: Tue Mar 31 05:54:55 2015 -0700 Revert the AM_ZLIB change in bfd * configure.ac: Revert the AM_ZLIB change. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise. * doc/Makefile.in: Likewise. commit fa1f5da0b6ff3622f9bf60e348e149b76920abba Author: H.J. Lu Date: Tue Mar 31 05:53:39 2015 -0700 Replace --with-zlib with --with-system-zlib * zlib.m4 (AM_ZLIB): Replace --with-zlib with --with-system-zlib. commit d33279b3bb1c89550b26e7b07e3610ab7f87e211 Author: Antoine Tremblay Date: Wed Mar 25 11:49:05 2015 -0400 Add cpu information to the info os command on linux. This patch adds cpu information on linux based on /proc/cpuinfo as : cpus Listing of all cpus/cores on the system This patch also reorders the info os commands so that they are listed in alphabetical order. gdb/ChangeLog: * NEWS: Mention info os cpus support. * gdb/nat/linux-osdata.c (linux_xfer_osdata_cpus): New function. (struct osdata_type): Add cpus entry, reorder the entries in alphabetical order. gdb/doc/ChangeLog: * gdb.texinfo (Operating System Auxiliary Information): Add info os cpus documentation, reorder the info os entries in alphabetical order. commit 71b30f27af091a16e6277e18ef574e0d2c0c55ef Author: Matthias Klose Date: Tue Mar 31 14:15:42 2015 +0100 Fix the triplet regexp to recognize triplets, not only quadruplets This allows triplets where the vendor is not set. gdb/ChangeLog: 2015-03-31 Matthias Klose * compile/compile.c (compile_to_object): Allow triplets with or without vendor set. commit f24173ebf754866d4a1881a28dc2c07062c119d7 Author: H.J. Lu Date: Tue Mar 31 03:58:15 2015 -0700 Remove --with-zlib from ld This patch removes --with-zlib from ld. ld/ * configure.ac (AM_ZLIB): Removed. * Makefile.in: Regenerated. * config.in: Likewise. * configure: Likewise. ld/testsuite/ * ld-bootstrap/bootstrap.exp (extralibs): Add -lz. commit 0138187e9fc351c6d4615bbe2ab020a3ac646b50 Author: H.J. Lu Date: Tue Mar 31 03:55:56 2015 -0700 Add --with-system-zlib in gas This patch adds --with-system-zlib and remove --with-zlib in gas. gas/ * Makefile.am (ZLIBINC): New. (AM_CFLAGS): Add $(ZLIBINC). * as.c: (show_usage): Don't check HAVE_ZLIB_H. (parse_args): Likewise. * compress-debug.c: Don't check HAVE_ZLIB_H to include . (compress_init): Don't check HAVE_ZLIB_H. (compress_data): Likewise. (compress_finish): Likewise. * configure.ac (AM_ZLIB): Removed. (zlibinc): New. AC_SUBST. Add --with-system-zlib. * Makefile.in: Regenerated. * config.in: Likewise. * configure: Likewise. * doc/Makefile.in: Likewise. gas/testsuite/ * gas/i386/dw2-compress-1.d: Expect .zdebug_info. commit 0ee42ecde7aadb3e68ae5b944f7b1b6a859ebcfd Author: H.J. Lu Date: Tue Mar 31 03:53:41 2015 -0700 Add --with-system-zlib in binutils This patch adds --with-system-zlib and remove --with-zlib in binutils. * Makefile.am (ZLIB): New. (ZLIBINC): Likewise. (AM_CFLAGS): Add $(ZLIBINC). (readelf_LDADD): Add $(ZLIB). * configure.ac (AM_ZLIB): Removed. (zlibdir): New. AC_SUBST. (zlibinc): Likewise. Add --with-system-zlib. * readelf.c: Don't check HAVE_ZLIB_H to include . (uncompress_section_contents): Don't check HAVE_ZLIB_H. * Makefile.in: Regenerated. * config.in: Likewise. * configure: Likewise. commit b38f7f340bf021f9ad017cc88beddb9b0eaae06b Author: Mike Frysinger Date: Tue Mar 31 01:59:44 2015 -0400 sim: cr16/d10v: restore generated headers dep While cleaning up stale make rules, one too many were deleted. The build system autogenerates static rules, but not generated files. commit 5a394431deb3745c04a74d2a109aca075f79afd6 Author: Mike Frysinger Date: Tue Mar 31 01:58:01 2015 -0400 common: cgen-mem/cgen-ops: fix extern inline handling With newer versions of gcc (5.x), the extern inline we're using with the cgen-{mem,ops} modules no longer work. Since this code really wants the gnu inline semantics, use that attribute explicitly. commit 2b6ca06237301286016acc4b7bbf5338a27fd5fc Author: Mike Frysinger Date: Tue Mar 31 01:54:47 2015 -0400 sim: m68hc11: fix gcc-5 build error w/restrict keyword commit f6862f27a73f08effd88d98c5efdb08abfcf4bb1 Author: GDB Administrator Date: Tue Mar 31 00:00:08 2015 +0000 Automatic date update in version.in commit 13ce92227425999aa2666f4d55286193df7d09ca Author: Doug Evans Date: Mon Mar 30 16:41:05 2015 -0700 PR c++/18141 gdb/ChangeLog: PR c++/18141 * cp-namespace.c (cp_search_static_and_baseclasses): Always look for klass in VAR_DOMAIN. commit 6b0ad2ebf6024419c84f35552f4eb55aa0b23195 Author: Jing Yu Date: Mon Mar 30 14:06:12 2015 -0700 Support AARCH64_TLSLD_ADD_DTPREL_* relocations. Also Change _TLS_MODULE_BASE_. Always let it point to the start of TLS segment. 2015-03-28 Jing Yu * aarch64-reloc.def: New TLSLD_ADD_DTPREL_HI12, TLSLD_ADD_DTPREL_LO12_NC. * aarch64.cc (Target_aarch64::define_tls_base_symbol): Always let _TLS_MODULE_BASE_ point to the start of tls segment. (Target_aarch64::optimize_tls_reloc): Add cases for R_AARCH64_TLSLD_ADD_DTPREL_HI12 and R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC. (Target_aarch64::Scan::local): Likewise. (Target_aarch64::Scan::global): Likewise. (Target_aarch64::Relocate::relocate): Likewise. (Target_aarch64::Relocate::relocate_tls): Likewise. And remove subtracting tls segment size from symbol value for TLSLD_*_DTPREL relocations. commit 5675acd9d4a62c4d402da7a436d810b29832d0e0 Author: Ed Schouten Date: Sat Mar 28 08:33:21 2015 +0100 Update config.guess and config.sub to the latest upstream version This version adds support for a platform I'd like to add support for, namely CloudABI. commit d2d67aea8e776d63a987f8dcdb96bc524df96e81 Author: H.J. Lu Date: Mon Mar 30 10:17:40 2015 -0700 Make all-bfd depend on all-zlib * Makefile.def (dependencies): Add all-zlib to all-bfd. * Makefile.in: Regenerated. commit 49d62f892578dab739391b7309bc60ea2baeafc4 Author: Mike Frysinger Date: Mon Mar 30 03:05:57 2015 -0400 sim: arm: convert to nrun A lot of cpu state is stored in global variables, as is memory handling. The sim_size support needs unwinding at some point. But at least this is an improvement on the status quo. commit dbf8e8afcdf6bbec4ecaf911481b7fc9a4a01e87 Author: Mike Frysinger Date: Mon Mar 30 02:45:41 2015 -0400 sim: arm: delete NEED_UI_LOOP_HOOK handling commit 58b991b14e7c2e26805cb8cf98e384dbd8afcd38 Author: Mike Frysinger Date: Mon Mar 30 02:41:51 2015 -0400 sim: arm: clean up misc warnings Also delete a few unused funcs. commit c4c9c44f57763ef4acacb440cdf601f5ce087edb Author: Mike Frysinger Date: Mon Mar 30 02:27:22 2015 -0400 sim: arm: use common configure options In preparation for converting to nrun, call the common functions that are needed. This doesn't produce any new warnings, and the generated code should be the same. commit 20f796c9700ce22f0bf596ddf435bc6b48efbc15 Author: Gary Benson Date: Mon Mar 30 14:58:33 2015 +0100 Remove three redundant wrapper functions in remote.c gdb/ChangeLog: * remote.c (remote_mourn_1): Remove function. Update all callers to use remote_mourn. (extended_remote_mourn_1): Remove function. Update all callers to use extended_remote_mourn. (extended_remote_attach_1): Remove function. Update all callers to use extended_remote_attach. commit bd53a53af486c6e5ab88b7f64342244392be1f1f Author: H.J. Lu Date: Mon Mar 30 04:40:33 2015 -0700 Properly set sh_info for .rela.plt/rel.plt section Since .rela.plt/rel.plt section may contain relocations against .got.plt section, we set sh_info for .rela.plt/rel.plt section to .got.plt section index if target has .got.plt section. bfd/ PR ld/18169 * elf-bfd.h (elf_backend_data): Add get_reloc_section. (_bfd_elf_get_reloc_section): New. * elf.c (_bfd_elf_get_reloc_section): Likewise. (assign_section_numbers): Call get_reloc_section to look up the section the relocs apply. * elfxx-target.h (elf_backend_get_reloc_section): Likewise. (elfNN_bed): Initialize get_reloc_section with elf_backend_get_reloc_section. ld/testsuite/ PR ld/18169 * ld-elf/linkinfo1a.d: Updated. * ld-elf/linkinfo1b.d: Likewise. commit 457983e3a30212740a599ffa7cbf5142ffe67367 Author: Mike Frysinger Date: Mon Mar 30 02:26:24 2015 -0400 sim: arm: move COPRO settings to the makefile These values are the same all the time, so just list them directly in the Makefile. commit 99956be1d73c5705b4032f9add2d3cfbf6b634a3 Author: Mike Frysinger Date: Mon Mar 30 03:06:20 2015 -0400 sim: d10v: add missing sim-main.h commit 541ebcee679ccda568b49af01b1da74387623386 Author: Mike Frysinger Date: Mon Mar 30 02:05:33 2015 -0400 sim: d10v: convert to nrun A lot of cpu state is stored in global variables, as is memory handling. The sim_size support needs unwinding at some point. But at least this is an improvement on the status quo. commit a87686e5aa57d86a86b6deac8b4d47a86c69c950 Author: Mike Frysinger Date: Mon Mar 30 01:44:57 2015 -0400 sim: d10v: delete NEED_UI_LOOP_HOOK handling This hook is used only when linked into gdb, and d10v doesn't have a gdb port anymore. Punt it. commit 11558abc20f902a1fa3ea128809862787f642598 Author: Mike Frysinger Date: Mon Mar 30 01:38:59 2015 -0400 sim: d10v: clean up misc warnings commit ef9535c6bc7c5d50d03e9f98498e018ac56e366c Author: Mike Frysinger Date: Mon Mar 30 01:14:04 2015 -0400 sim: d10v: use common configure options In preparation for converting to nrun, call the common functions that are needed. This doesn't produce any new warnings, and the generated code should be the same. commit 2f783c1f4b23b194efa31e2015fb585b688c6526 Author: Mike Frysinger Date: Mon Mar 30 01:40:09 2015 -0400 opcodes: d10v: fix old style prototype commit e8713c0f026199c327ba88ea6da4bcffebff6991 Author: Mike Frysinger Date: Mon Mar 30 01:06:57 2015 -0400 sim: d10v: link in missing testsuite Looks like historical restructuring in this dir lost the d10v-elf subdir and no one noticed in the meantime. Re-add it to the testsuite. There are some failures, but better some tests get run than none at all. commit 247ac9ee6e1ecea67d29a5712e77e8c64834b06e Author: Mike Frysinger Date: Mon Mar 30 00:13:38 2015 -0400 sim: cr16: convert to nrun A lot of cpu state is stored in global variables, as is memory handling. The sim_size support needs unwinding at some point. But at least this is an improvement on the status quo. commit 4b0cc5edf489335509e155b5af0a0e754f4e3df9 Author: Mike Frysinger Date: Mon Mar 30 00:10:27 2015 -0400 sim: cr16: delete NEED_UI_LOOP_HOOK handling This hook is used only when linked into gdb, and cr16 doesn't have a gdb port anymore. Punt it. commit 1e504675bdabc1861f2b2f515b6be3d99189e165 Author: Mike Frysinger Date: Mon Mar 30 00:08:46 2015 -0400 sim: cr16: delete dead code This code is getting in the way of porting to nrun, so just drop it. If anyone actually cares about this cpu, they can revive it. commit 5aedb83b9cbf22ce09719584479a21d905f438ff Author: Mike Frysinger Date: Sun Mar 29 22:41:14 2015 -0400 sim: cr16: clean up misc warnings commit ca968da465a0d1fd153b158b7aa69730709f43db Author: Mike Frysinger Date: Sun Mar 29 22:42:33 2015 -0400 sim: cr16: use common configure options In preparation for converting to nrun, call the common functions that are needed. This doesn't produce any new warnings, and the generated code should be the same. commit 4daf7a7c3a8404d8be973702ffe00541f71606a4 Author: Mike Frysinger Date: Sun Mar 29 21:00:20 2015 -0400 sim: cr16: add _start symbol to tests [BZ #12385] The current cr16 testsuite sets up _START, but the linker looks for the _start symbol. Add the latter as an alias to the former. commit 970bed001b8238bbf25144810a26c9f7b242391b Author: GDB Administrator Date: Mon Mar 30 00:00:07 2015 +0000 Automatic date update in version.in commit 2b4bc832a7668438827f5cdca9bf22adab85a915 Author: Mike Frysinger Date: Sun Mar 29 17:40:30 2015 -0400 sim: microblaze: convert to nrun This port already was storing its cpu state in the sim_cpu structure, so converting it over was pretty easy. It is allocating memory itself still, but we'll fix that up in the future at some point. commit 97eca187b3b286c903d78070736bbe1d95721ec4 Author: Mike Frysinger Date: Sun Mar 29 17:20:37 2015 -0400 sim: mcore/microblaze: delete dead code The mcore port had a few structs/defines that were never used. Similarly, the microblaze port, because it was copied from mcore, has that same dead code, and more. The watchpoint logic was never actually used. Punt it all. commit 191ec03314b005b8189ecea7296f2f6cad534d09 Author: Mike Frysinger Date: Sun Mar 29 16:43:48 2015 -0400 sim: microblaze: start a testsuite Since the sim doesn't have any debug support in it, we can only exit cleanly. But this is still better than nothing. Change the default microblaze sim to not dump the debug load output when running. No other does this, and it breaks the testsuite. commit 744b9a190b9b5b83d83f43d35b6ab6d20f49af8f Author: Mike Frysinger Date: Sun Mar 29 16:41:59 2015 -0400 sim; testsuite: allow tests to set no output If a test doesn't write anything at all to stdout, the current test framework can't support that. Even if you put a blank output line: # output: the setup happily clobbers that with a default pass/fail string. Tweak the parsing logic so we only set the output to pass/fail when the test has no output marker. commit 92fc6153a6fdf2a027d9780f5945712aafad4a9e Author: Mike Frysinger Date: Sun Mar 29 15:59:01 2015 -0400 sim: common: sim-arange: fix extern inline handling With newer versions of gcc (5.x), the extern inline we're using with the sim-arange module no longer works. Since this code really wants the gnu inline semantics, use that attribute explicitly. Reported-by: DJ Delorie Reported-by: Joel Sherrill commit 6dae8a88bf814b8729ad883c92c7b75fdccc7be1 Author: Mike Frysinger Date: Sun Mar 29 11:48:46 2015 -0400 sim: testsuite: make subdir unconditional Since the testsuite subdir has to handle dynamic arch values already, there's no real value in requiring arches to opt in to it. Most have a testsuite now anyways, and we're requiring it in the future. commit 3c0ae3096245fcb94021f0ed61278aa89191ee59 Author: Mike Frysinger Date: Sun Mar 29 04:18:03 2015 -0400 sim: microblaze: use common configure options In preparation for converting to nrun, call the common functions that are needed. This doesn't produce any new warnings, and the generated code should be the same. commit b9d94d62d1197f7b26d93dba1532d7d005342bb8 Author: H.J. Lu Date: Sun Mar 29 07:46:30 2015 -0700 Add the missing opcodes/ChangeLog entry commit 421fc49cd65550aca484cfd09b36e0ad0ab020a8 Author: H.J. Lu Date: Sun Mar 15 05:41:46 2015 -0700 Regenerate opcodes/Makefile.in * Makefile.in: Regenerated. commit b51724e857c1066b0141f3989b521fb56e834aeb Author: H.J. Lu Date: Sun Mar 29 07:36:27 2015 -0700 Fix a typo in bfd/ChangeLog commit 243340ad57e30de3c15cffe6e4af0381995f15d9 Author: H.J. Lu Date: Sun Mar 29 07:12:38 2015 -0700 Add --with-system-zlib in bfd This patch adds --with-system-zlib and remove --with-zlib in bfd. * Makefile.am (ZLIB): New. (ZLIBINC): Likewise. (AM_CFLAGS): Add $(ZLIBINC). (libbfd_la_LIBADD): Add $(ZLIB). * compress.c: Don't check HAVE_ZLIB_H to include . (decompress_contents): Don't check HAVE_ZLIB_H. (decompress_contents): Likewise. (bfd_compress_section_contents): Likewise. (bfd_get_full_section_contents): Likewise. (bfd_init_section_decompress_status): Likewise. (bfd_init_section_compress_status): Likewise. * configure.ac (AM_ZLIB): Removed (zlibdir): New. AC_SUBST. (zlibinc): Likewise. Add --with-system-zlib. * Makefile.in: Regenerated. * acinclude.m4: Likewise. * config.in: Likewise. * configure: Likewise. * doc/Makefile.in: Likewise. commit ea6b7543b422836409fe7848abbfcb452ad26398 Author: Mike Frysinger Date: Sun Mar 29 03:53:01 2015 -0400 sim: mcore: convert to nrun A lot of cpu state is stored in global variables, as is memory handling. The sim_size support needs unwinding at some point. But at least this is an improvement on the status quo. commit 525887679c4de93b8006b5013904dec8d19f12f0 Author: Mike Frysinger Date: Sun Mar 29 03:39:01 2015 -0400 sim: mcore: use common configure options In preparation for converting to nrun, call the common functions that are needed. This doesn't produce any new warnings, and the generated code should be the same. commit 36cb69e0ed76e5381c723ed4e7137bb981deafd1 Author: Mike Frysinger Date: Sun Mar 29 03:35:29 2015 -0400 sim: mcore: add a basic testsuite commit aac18a6996e57cd1d1c32d3fd418c4950c5001bf Author: Mike Frysinger Date: Sun Mar 29 03:29:29 2015 -0400 sim: mcore: drop sbrk support The sbrk syscall assumes the sbrk region starts after the bss and the current implementation requires a bss section to exist. Since there is no requirement for programs to have a bss in general, we want to drop this check. However, there is still the sbrk syscall that wants to know about the region. Since libgloss doesn't actually use the sbrk syscall (it implements sbrk in its own way), and the sim really shouldn't enforce a specific memory layout on programs, lets simply delete sbrk support. Now it always returns an error. commit 4f5cce88bf504a2f0010f7ad384003984da6ce00 Author: Mike Frysinger Date: Sun Mar 29 03:36:13 2015 -0400 sim: avr: fix _start testsuite symbol Make sure we use the symbol the linker expects by default, and we export it so it can be found. commit 2a2ec787bf7dc91869d4adb8d98159dc5a2773c0 Author: GDB Administrator Date: Sun Mar 29 00:00:08 2015 +0000 Automatic date update in version.in commit 62454d3da2aaabb266e49a4ba22948484e91edc1 Author: Mike Frysinger Date: Sat Mar 28 17:36:03 2015 -0400 sim: sh: convert to nrun A lot of cpu state is stored in global variables, as is memory handling. The sim_size support needs unwinding at some point. But at least this is an improvement on the status quo. commit 5fa71a1b13a624feec5ff4b92ff1f92a26ff031e Author: Mike Frysinger Date: Sat Mar 28 15:11:31 2015 -0400 sim: sh: clean up some warnings Mostly converting old style prototypes. Also include a few missing headers, and add static/casts where appropriate. commit 02131c7ff660a5ca08147899429e6e7780d737aa Author: Mike Frysinger Date: Sat Mar 28 14:55:11 2015 -0400 sim: sh: fix broken handling in DSR reg A missing */ caused a case statement to be incorrect masked out which also hide an error where the wrong value was being checked. Fix both. commit ed4d32c28adc5f00ee9bc0e4ac785eeff5e1dc74 Author: Mike Frysinger Date: Sat Mar 28 14:09:11 2015 -0400 sim: sh: clean up gencode The build line was missing the normal BUILD_xxx flags. Once we added that, we get warnings that weren't shown before. As we fix those, we notice that the -d option segfaults because it tries to write readonly memory. Fix that too as part of the const/prototype clean up. commit 6d89786cb31dcf9b1a4e5b6c7b88c15102e9381a Author: Mike Frysinger Date: Sat Mar 28 13:39:31 2015 -0400 sim: sh: use common configure options In preparation for converting to nrun, call the common functions that are needed. This also produces a bunch of warnings, but one thing at a time. commit 92c695a14f6a5a24b177e89624c13d7dbcbf9e1f Author: H.J. Lu Date: Sat Mar 28 06:48:43 2015 -0700 A zlib to tarball * src-release.sh (do_proto_toplev): Configure with --target --with-target-subdir and --disable-multilib. (BINUTILS_SUPPORT_DIRS): Add zlib. (GAS_SUPPORT_DIRS): Likewise. (GDB_SUPPORT_DIRS): Likewise. (SIM_SUPPORT_DIRS): Likewise. commit 9943d3185abb9aa3e7269ece80d00e9020187ec6 Author: Mike Frysinger Date: Sat Mar 28 05:34:55 2015 -0400 sim: avr: convert to nrun.o Looks like a lot more work than actually was -- the main decode loop was de-indented by dropping the loop as a step-once function. commit eca5fe422e2650fcb6a551af11bcf8de181f97e9 Author: Mike Frysinger Date: Sat Mar 28 04:28:46 2015 -0400 sim: avr: start a basic testsuite Just enough to know the sim isn't totally broken. commit 510d27512cb053e8a9f8c622a5f86840be8c21ac Author: Jiri Gaisler Date: Tue Mar 17 22:02:42 2015 +0100 sim/erc32: Fix a few compiler warnings commit 102b920e11b6cd95addd59ea0eb08fac964fa8ad Author: Jiri Gaisler Date: Tue Mar 17 22:02:41 2015 +0100 sim/erc32: Use memory_iread() function for instruction fetching. Use separate memory_iread() function for instruction fetching. Speeds up execution and allows addition of an MMU at a later stage. commit 5831e29bc1a17115b96141bf72fbc44200c6e014 Author: Mike Frysinger Date: Sat Mar 28 02:46:48 2015 -0400 sim: erc32: strip paren from return statements commit 49d45b20c01da11b7493a5c28bdced7558999d6d Author: James Bowman Date: Mon Mar 23 19:15:32 2015 +0000 gdb: ft32: new port FT32 is a new high performance 32-bit RISC core developed by FTDI for embedded applications. commit f46e4eb78ba55e8bf8dedd98d7fe354729181710 Author: James Bowman Date: Mon Mar 23 19:20:59 2015 +0000 sim: ft32: new port FT32 is a new high performance 32-bit RISC core developed by FTDI for embedded applications. commit 113d38f929631fa14da98731eebfe97a44d035ce Author: GDB Administrator Date: Sat Mar 28 00:00:09 2015 +0000 Automatic date update in version.in commit 5e228181d4aa9177cb6a95ebe214aeaeb3a4ec3f Author: H.J. Lu Date: Fri Mar 27 14:39:39 2015 -0700 Don't run ld-x86-64/pr18160.d for x86_64-*-nacl* * ld-x86-64/pr18160.d: Don't run for x86_64-*-nacl* target. commit 1c4ff0802b0c4c8c820dcec503ffea024ea68f45 Author: Jan Kratochvil Date: Fri Mar 27 20:19:37 2015 +0100 Revert: Code cleanup: Move print_command_1 expr variable scope Simon Marchi: I think this patch is wrong. Starting with that commit (f30d5c7), some tests (e.g. mi-break.exp) started to fail for me, because of gdb segfaulting. The address of expr is passed to the cleanup. When the cleanup is ran, expr is no longer in scope, so what is at that address is probably not safe to use anymore. That's my guess. gdb/ChangeLog 2015-03-27 Jan Kratochvil Revert: 2015-03-26 Jan Kratochvil Code cleanup. * printcmd.c (print_command_1): Move expr variable scope. commit e04de5e3b55b9f481ff2b9939995301ba6b1c748 Author: H.J. Lu Date: Fri Mar 27 09:29:05 2015 -0700 Remove the unused cpu_flags_set * config/tc-i386.c (cpu_flags_set): Removed. commit 79498702ef5f743481ee39c18418776715addcd6 Author: Joel Brobecker Date: Fri Mar 27 06:37:34 2015 -0700 Initialize EXPR in dtrace-probe::dtrace_process_dof_probe GCC 4.4.7 generates the following warning: | cc1: warnings being treated as errors | dtrace-probe.c: In function ‘dtrace_process_dof_probe’: | dtrace-probe.c:416: error: ‘expr’ may be used uninitialized in this function | make[2]: *** [dtrace-probe.o] Error 1 Later versions (GCC 5) do a better job and don't generate the warning, but it does not hurt to pre-initialize "expr" to NULL. gdb/ChangeLog: * dtrace-probe.c (dtrace_process_dof_probe): Initialize expr to NULL. commit 0916f9e741d6fd9dab4b0602bef034d01fa71650 Author: Rafael Ávila de Espíndola Date: Fri Mar 27 09:50:23 2015 -0400 Avoid looking up Input_merge_map multiple times. Avoid looking up Input_merge_map multiple times when we know were are processing items from the same input section. commit ce9c0ca18fe50e1e5a87b135032e4aeba415e2ab Author: Andrzej Kaczmarek Date: Fri Mar 27 12:09:02 2015 +0000 Fix gdb_bfd_section_index for special sections Indexes returned for special sections are off by one, i.e. with N+4 sections last one has index N+4 returned which is outside allocated obstack (at the same time index N is not used at all). In worst case, if sections obstack is allocated up to end of chunk, writing last section data will cause buffer overrun and some data corruption. Here's output from Valgrind:: ==14630== Invalid write of size 8 ==14630== at 0x551B1A: add_to_objfile_sections_full (objfiles.c:225) ==14630== by 0x552768: allocate_objfile (objfiles.c:324) ==14630== by 0x4E8E2E: symbol_file_add_with_addrs (symfile.c:1171) ==14630== by 0x4E9453: symbol_file_add_from_bfd (symfile.c:1280) ==14630== by 0x4E9453: symbol_file_add (symfile.c:1295) ==14630== by 0x4E94B7: symbol_file_add_main_1 (symfile.c:1320) ==14630== by 0x514246: catch_command_errors_const (main.c:398) ==14630== by 0x5150AA: captured_main (main.c:1061) ==14630== by 0x51123C: catch_errors (exceptions.c:240) ==14630== by 0x51569A: gdb_main (main.c:1164) ==14630== by 0x408824: main (gdb.c:32) ==14630== Address 0x635f3b8 is 8 bytes after a block of size 4,064 alloc'd ==14630== at 0x4C2ABA0: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==14630== by 0x60F797: xmalloc (common-utils.c:41) ==14630== by 0x5E787FB: _obstack_begin (obstack.c:184) ==14630== by 0x552679: allocate_objfile (objfiles.c:294) ==14630== by 0x4E8E2E: symbol_file_add_with_addrs (symfile.c:1171) ==14630== by 0x4E9453: symbol_file_add_from_bfd (symfile.c:1280) ==14630== by 0x4E9453: symbol_file_add (symfile.c:1295) ==14630== by 0x4E94B7: symbol_file_add_main_1 (symfile.c:1320) ==14630== by 0x514246: catch_command_errors_const (main.c:398) ==14630== by 0x5150AA: captured_main (main.c:1061) ==14630== by 0x51123C: catch_errors (exceptions.c:240) ==14630== by 0x51569A: gdb_main (main.c:1164) ==14630== by 0x408824: main (gdb.c:32) gdb/ChangeLog: * gdb_bfd.c (gdb_bfd_section_index): Fix off-by-one for special sections. commit 72a9c03c27b4fa714c758fdf86d668f6402f5086 Author: Renlin Li Date: Fri Mar 27 10:22:46 2015 +0000 [Patch ]Fix bintest.s failure after previous AArch64 map symbol commit 2015-03-26 Renlin Li binutils/testsuite/ * binutils-all/readelf.s-64: Support aarch64 case. * binutils-all/readelf.ss-64: Likewise. commit b84171287ffe60dd1e7c02262a0493862fa21a97 Author: Alan Modra Date: Fri Mar 27 15:41:05 2015 +1030 Relax PR 15228 protected visibility restriction Allows .dynbss copy of shared library protected visibility variables if they are read-only. To recap: Copying a variable from a shared library into an executable's .dynbss is an old hack invented for non-PIC executables, to avoid the text relocations you'd otherwise need to access a shared library variable. This works with ELF shared libraries because global symbols can be overridden. The trouble is that protected visibility symbols can't be overridden. A shared library will continue to access it's own protected visibility variable while the executable accesses a copy. If either the shared library or the executable updates the value then the copy diverges from the original. This is wrong since there is only one definition of the variable in the application. So I made the linker report an error on attempting to copy protected visibility variables into .dynbss. However, you'll notice the above paragraph contains an "If". An application that does not modify the variable value remains correct even though two copies of the variable exist. The linker can detect this situation if the variable was defined in a read-only section. PR ld/15228 PR ld/18167 * elflink.c (elf_merge_st_other): Add "sec" parameter. Don't set protected_def when symbol section is read-only. Adjust all calls. * elf-bfd.h (struct elf_link_hash_entry): Update protected_def comment. commit f3308340aba43e99aa448641a5d3db1c7fae60cf Author: GDB Administrator Date: Fri Mar 27 00:00:08 2015 +0000 Automatic date update in version.in commit 7ec911b0fb0b27d66604c3f7951c146d94f4acc7 Author: Jon Turney Date: Thu Mar 26 20:51:44 2015 +0000 testsuite: Don't set SYMBOL_PREFIX for x86_64_*_cygwin Exactly like x86_64-*-mingw, SYMBOL_PREFIX should not be set to "_" for x86_64_*_cygwin gdb/testuite/ChangeLog: * lib/gdb.exp (gdb_target_symbol_prefix_flags): Don't set SYMBOL_PREFIX for x86_64-*-cygwin. commit 429e1e811b400f07b5a514ea6b8a70b28e2d7ee9 Author: Joel Brobecker Date: Thu Mar 26 19:14:03 2015 +0100 dtrace-probe: Handle error while parsing probe argument. The debugger on Solaris has been broken since the introduction of DTrace probe support: (gdb) start Temporary breakpoint 1 at 0x80593bc: file simple_main.adb, line 4. Starting program: /[...]/simple_main [Thread debugging using libthread_db enabled] No definition of "mutex_t" in current context. The problem occurs while trying to parse a probe's argument, and the exception propagates all the way to the top. This patch fixes the issue by containing the exception and falling back on using the "long" builtin type if the argument's type could not be determined. Also, the parsing should be done using the C language parser. gdb/ChangeLog: * dtrace-probe.c (dtrace_process_dof_probe): Contain any exception raised while parsing the probe arguments. Force parsing to be done using the C language parser. * expression.h (parse_expression_with_language): Declare. * parse.c (parse_expression_with_language): New function. commit 4593441bc5bcb7ec2e04b28591707cdebedd2e85 Author: Jon Turney Date: Thu Mar 26 20:29:00 2015 +0000 Add myself as a write-after-approval GDB maintainer gdb/ChangeLog: * MAINTAINERS (Write After Approval): Add "Jon Turney". commit 852f8402ca36d36c794f5dfb17be8fa5d4a916ae Author: Simon Marchi Date: Thu Mar 26 15:10:10 2015 -0400 Fix copy-paste typo in -data-write-memory-bytes doc * gdb.texinfo (GDB/MI Data Manipulation): Fix copy-paste typo in -data-write-memory-bytes. commit ff908ebf8612a737d9e168eca0604ff6c97556bc Author: Andy Wingo Date: Thu Mar 26 19:41:15 2015 +0100 Properly intern constants into psymtab Variables with a DW_AT_const_value but without a DW_AT_location were not getting added to the partial symbol table. They are added to the full symbol table, however, when the compilation unit's psymtabs are expanded. Before: (gdb) p one No symbol "one" in current context. (gdb) mt flush-symbol-cache (gdb) mt expand one.c (gdb) p one $1 = 1 After: (gdb) p one $1 = 1 To the user it's pretty strange, as depending on whether tab completion has forced expansion of all CUs or not the lookup might succeed, or not if the failure was already added to the symbol cache. This commit simply makes sure to add constants to the partial symbol tables. gdb/testsuite/ChangeLog: PR symtab/18148 * gdb.dwarf2/dw2-intercu.S (one, two): Add variables that have a const_value but not a location. * gdb.dwarf2/dw2-intercu.exp: Add tests that constants without location defined in non-main CUs are visible. gdb/ChangeLog: PR symtab/18148 * dwarf2read.c (struct partial_die_info): Add has_const_value member. (add_partial_symbol): Don't punt on symbols that have const_value attributes. (read_partial_die): Detect DW_AT_const_value. commit f30d5c78faa5979fb933038923e5270b7728f96f Author: Jan Kratochvil Date: Thu Mar 26 18:44:38 2015 +0100 Code cleanup: Move print_command_1 expr variable scope gdb/ChangeLog 2015-03-26 Jan Kratochvil Code cleanup. * printcmd.c (print_command_1): Move expr variable scope. commit 8d89f51a70a9a3cf74562324fc0391e4872a93b1 Author: Jan Kratochvil Date: Thu Mar 26 18:41:24 2015 +0100 Code cleanup: Make validate_format parameter const gdb/ChangeLog 2015-03-26 Jan Kratochvil Code cleanup. * printcmd.c (validate_format): Make the parameter cmdname const. commit 0b736949a8752e899972d064da48ce7ca683c18e Author: Don Breazeal Date: Thu Mar 26 10:23:05 2015 -0700 Clarify comment on the purpose of the assertion loop in _initialize_remote. gdb/ChangeLog: 2015-03-26 Don Breazeal * remote.c (_initialize_remote): Update comment. commit 93ca856967f274a08807135c098bf1bb3f2b59d8 Author: Tejas Belagod Date: Thu Mar 26 16:20:38 2015 +0000 [AArch64] Fix branch stubs for BE 2015-03-26 Tejas Belagod ld/testsuite * ld-aarch64/farcall-back-be.d: New. bfd/ * elfnn-aarch64.c (aarch64_build_one_stub): Replace the call to generic _bfd_final_link_relocate with aarch64_relocate. commit 332f5759ac985415b721a72dab7475824253c0c6 Author: H.J. Lu Date: Fri Mar 13 08:14:29 2015 -0700 Add ELFOSABI_CLOUDABI and SHF_COMPRESSED Update from gABI DRAFT - 10 June 2013. * common.h (ELFOSABI_CLOUDABI): New. (SHF_COMPRESSED): Likewise. (ELFCOMPRESS_ZLIB): Likewise. (ELFCOMPRESS_LOOS): Likewise. (ELFCOMPRESS_HIOS): Likewise. (ELFCOMPRESS_LOPROC): Likewise. (ELFCOMPRESS_HIPROC): Likewise. commit 5ca28f792883afb409ae145666fc3662c3a3aed5 Author: H.J. Lu Date: Fri Mar 13 10:40:33 2015 -0700 Import zlib from GCC commit b19a8f8545100a08ee2a64c05631aff6f651faa1 Author: H.J. Lu Date: Thu Mar 26 08:22:08 2015 -0700 Skip gc-sections if relocation is incompatible This patch skips gc-sections if input relocation is incompatible with output. bfd/ PR ld/18160 * elflink.c (elf_gc_sweep): Skip if relocation is incompatible. (bfd_elf_gc_sections): Likewise. ld/testsuite/ PR ld/18160 * ld-x86-64/pr18160.d: New file. * ld-x86-64/pr18160.s: Likewise. * ld-x86-64/pr18160.t: Likewise. * ld-x86-64/x86-64.exp: Run pr18160. commit 20d35291fb30a2fa5de46af56887f9bc4da7e53e Author: Pedro Alves Date: Thu Mar 26 10:21:07 2015 +0000 Don't set breakpoints on import stubs on Windows amd64 On Windows amd64, setting a breakpoint on a symbol imported from a shared library after that library is loaded creates a breakpoint with two locations, one on the import stub, and another in the shared library, while on i386, the breakpoint is only set in the shared library. This is due to the minimal symbol for the import stub not being correctly given the type mst_solib_trampoline on Windows amd64, unlike Windows i386. As currently written, coff_symfile_read is always skipping over the character after the "__imp_" (amd64) or "_imp_" (i386) prefix, assuming that it is '_'. However, while i386 is an underscored target, amd64 is not. On x86_64-pc-cygwin, it fixes: - FAIL: gdb.base/solib-symbol.exp: foo in libmd + PASS: gdb.base/solib-symbol.exp: foo in libmd Unfortunately, several other tests which passed now fail but that's because this issue was masking other problems. No change on i686-pc-cygwin. gdb/ChangeLog: 2015-03-26 Pedro Alves Jon TURNEY * coffread.c (coff_symfile_read): When constructing the name of an import stub symbol from import symbol for amd64, only skip the char after _imp_ if the target is underscored (like i386) and the char is indeed the target's leading char. commit 6d5f0679fe4ff7c3d8ec1d97646ee23b02564715 Author: Yao Qi Date: Thu Mar 26 08:29:48 2015 +0000 Handle the effect of skipping prologue break-asm-file.exp has some manually written dwarf to create some line number entries like this, [0x0000013d] Extended opcode 2: set Address to 0x40053f [0x00000144] Advance Line by 4 to 7 [0x00000146] Copy [0x00000147] Extended opcode 2: set Address to 0x400541 [0x0000014e] Advance Line by 1 to 8 [0x00000150] Copy [0x00000151] Extended opcode 2: set Address to 0x400547 [0x00000158] Extended opcode 1: End of Sequence 0x40053f is the start address of function func, and is mapped to line 7. 0x400541 is within function func, and is mapped to line 8. (gdb) disassemble /r 0x40053f,+8 Dump of assembler code from 0x40053f to 0x400547: 0x000000000040053f : 00 00 add %al,(%rax) 0x0000000000400541 : 00 00 add %al,(%rax) 0x0000000000400543 : 00 00 add %al,(%rax) 0x0000000000400545 : 00 00 add %al,(%rax) in the following test, (gdb) break a/break-asm-file0.s:func Breakpoint 1 at 0x40053f: file a/break-asm-file0.s, line 7. As we can see, breakpoint is set at the start address of function func on x86, which means no prologue is skipped. On other targets, such as arm and aarch64, breakpoint is set at the address *after* the start address, which is mapped to line 8. Then test fails. In fact, it is lucky this test doesn't fail on x86 and x86_64, whose gdbarch method skip_prologue doesn't reply on skip_prologue_using_sal if producer isn't clang. if (find_pc_partial_function (start_pc, NULL, &func_addr, NULL)) { CORE_ADDR post_prologue_pc = skip_prologue_using_sal (gdbarch, func_addr); struct compunit_symtab *cust = find_pc_compunit_symtab (func_addr); /* Clang always emits a line note before the prologue and another one after. We trust clang to emit usable line notes. */ if (post_prologue_pc && (cust != NULL && COMPUNIT_PRODUCER (cust) != NULL && startswith (COMPUNIT_PRODUCER (cust), "clang "))) return max (start_pc, post_prologue_pc); } so it doesn't return and go further to prologue analyser. Since ".int 0" isn't an instruction of prologue, nothing is skipped, starting address is used, and test passes. however, on targets which don't have such producer checking, the first line number entry is skipped, and skip_prologue_using_sal returns sal represents the second line number entry. The idea of this patch is to force GDB stop at somewhere which is stilled mapped to line 7 after skipping prologue. I choose to add a new line number entry for the following instruction but mapped to the same line (7), because I see the comments in dwarf2read.c, ... fact that two consecutive line number entries for the same line is a heuristic used by gcc to denote the end of the prologue. then the line table becomes: [0x000000d4] Extended opcode 2: set Address to 0x400529 [0x000000db] Advance Line by 4 to 7 [0x000000dd] Copy [0x000000de] Extended opcode 2: set Address to 0x40052a [0x000000e5] Advance Line by 0 to 7 [0x000000e7] Copy [0x000000e8] Extended opcode 2: set Address to 0x40052b [0x000000ef] Advance Line by 1 to 8 [0x000000f1] Copy [0x000000f2] Extended opcode 2: set Address to 0x40052c [0x000000f9] Extended opcode 1: End of Sequence gdb/testsuite: 2015-03-26 Yao Qi PR testsuite/18139 * gdb.linespec/break-asm-file0.s (func): New label .Lfunc_2. Add a line number entry for the same line. * gdb.linespec/break-asm-file1.s (func): New label .Lfunc_2. Add a line number entry for the same line. commit 2898689ba3a36451779ec526e14783c2aba9316b Author: Yao Qi Date: Thu Mar 26 08:29:48 2015 +0000 Remove some hard-coded stuff in tests There are some hard-coded stuff in .s files, such as .int 0 and address offset, which isn't portable. This patch is to replace ".int 0" with nop and address offset with labels. gdb/testsuite: 2015-03-26 Yao Qi * gdb.linespec/break-asm-file0.s (func2): Use nop instead of .int 0. (func): Likewise. Add .Lfunc_1 label. Use .Lfunc_1 label. * gdb.linespec/break-asm-file1.s (func3): Use nop instead of .int 0. (func): Likewise. Use .Lfunc_1 label. commit 8518049884947da598e2f585bf9a4589df7096e9 Author: Yao Qi Date: Thu Mar 26 08:29:48 2015 +0000 Compile break-asm-file{0,1}.s without debug info If I add some nop into break-asm-file1.s like this, --- INDEX:/gdb/testsuite/gdb.linespec/break-asm-file1.s +++ WORKDIR:/gdb/testsuite/gdb.linespec/break-asm-file1.s @@ -31,8 +31,8 @@ _func: .type func, %function func: .Lbegin_func: - .int 0 - .int 0 + nop + nop .Lend_func: .size func, .-func .Lend_text1: I get the following error: Running gdb/testsuite/gdb.linespec/break-asm-file.exp ... gdb/testsuite/gdb.linespec/break-asm-file1.s: Assembler messages:^M gdb/testsuite/gdb.linespec/break-asm-file1.s: Fatal error: duplicate .debug_line sections break-asm-file0.s and break-asm-file1.s have already had debug information (written manually), so don't need to generate debug infor for them. gdb/testsuite: 2015-03-26 Yao Qi * gdb.linespec/break-asm-file.exp: Don't call prepare_for_testing. Call gdb_compile instead to compile each .s files without debug information. commit 8aa08a8dd596758904f1e994057c94bd655dda2e Author: Yao Qi Date: Thu Mar 26 08:16:20 2015 +0000 Relax pattern to match the output of "info frame" in gdb.base/savedregs.exp Hi, I see the following two fails in gdb.base/savedregs.exp on aarch64-linux, info frame 2^M Stack frame at 0x7ffffffa60:^M pc = 0x40085c in thrower (/home/yao/SourceCode/gnu/gdb/git/gdb/testsuite/gdb.base/savedregs.c:49); saved pc = 0x400898^M called by frame at 0x7ffffffa70, caller of frame at 0x7fffffe800^M source language c.^M Arglist at 0x7ffffffa60, args: ^M Locals at 0x7ffffffa60, Previous frame's sp is 0x7ffffffa60^M (gdb) FAIL: gdb.base/savedregs.exp: Get thrower info frame info frame 2^M Stack frame at 0x7fffffe800:^M pc = 0x400840 in catcher (/home/yao/SourceCode/gnu/gdb/git/gdb/testsuite/gdb.base/savedregs.c:42); saved pc = 0x7fb7ffc350^M called by frame at 0x7fffffe800, caller of frame at 0x7fffffe7e0^M source language c.^M Arglist at 0x7fffffe7f0, args: sig=11^M Locals at 0x7fffffe7f0, Previous frame's sp is 0x7fffffe800 (gdb) FAIL: gdb.base/savedregs.exp: Get catcher info frame looks the test expects to match "Saved registers:" from the output of "info frame", but no registers are saved on these two frames, because thrower and catcher are simple and leaf functions. (gdb) disassemble thrower Dump of assembler code for function thrower: 0x0000000000400858 <+0>: mov x0, #0x0 // #0 0x000000000040085c <+4>: strb wzr, [x0] 0x0000000000400860 <+8>: ret End of assembler dump. (gdb) disassemble catcher Dump of assembler code for function catcher: 0x0000000000400838 <+0>: sub sp, sp, #0x10 0x000000000040083c <+4>: str w0, [sp,#12] 0x0000000000400840 <+8>: adrp x0, 0x410000 0x0000000000400844 <+12>: add x0, x0, #0xb9c 0x0000000000400848 <+16>: mov w1, #0x1 // #1 0x000000000040084c <+20>: str w1, [x0] 0x0000000000400850 <+24>: add sp, sp, #0x10 0x0000000000400854 <+28>: ret There are two ways to fix these fails, one is to modify functions to force some registers saved (for example, doing function call in them), and the other one is to relax the pattern to optionally match "Saved registers:". I did both, and feel that the latter is simple, so here is it. gdb/testsuite: 2015-03-26 Yao Qi * gdb.base/savedregs.exp (process_saved_regs): Make "Saved registers:" optional in the pattern. commit a1ddc52b53de43ed2fa201611fed550f9c4da014 Author: GDB Administrator Date: Thu Mar 26 00:00:08 2015 +0000 Automatic date update in version.in commit 27c49e9a8fc004de116243ba8887e054f1190b42 Author: Anton Blanchard Date: Wed Mar 25 13:44:28 2015 +1100 powerpc: Only initialise opcode indices once The gdb TUI is calling gdb_print_insn() (which calls disassemble_init_powerpc()) enough to show up high in profiles. As suggested by Alan, only initialise if the indices are empty. opcodes/ChangeLog: 2015-03-25 Anton Blanchard * ppc-dis.c (disassemble_init_powerpc): Only initialise powerpc_opcd_indices and vle_opcd_indices once. commit c4e676f196560500d41ff8652d6be0c735758001 Author: Anton Blanchard Date: Wed Mar 25 13:43:18 2015 +1100 powerpc: Add slbfee. instruction opcodes/ChangeLog: 2015-03-25 Anton Blanchard * ppc-opc.c (powerpc_opcodes): Add slbfee. commit 618655192fca05a9aaebbd395b0960626cbfdebe Author: Marcus Shawcroft Date: Sun Mar 22 08:31:18 2015 +0000 [AArch64] Implement branch over stub section. Ensure that injection of a stub section does not break a link where there is an xpectation that flow of control can pass from one input section to another simply by linking the input sections in series. The solution here is to allow stub sections to be inserted after any input section (existing behaviour), but inject an additional branch at the start of each stub section such that control flow falling into the stub section will branch over the stub section. commit d9ced15d6ea875aadd3e7395990eb37319454d71 Author: Marcus Shawcroft Date: Sun Mar 22 07:48:07 2015 +0000 [AArch64] Remove padding before stub sections. Lower stub alignment from 8 to 4 bytes thus removing padding between input section content and stub section content. commit 357d1523b2e5b0427fe4133cc90658026a7fac2c Author: Marcus Shawcroft Date: Wed Mar 25 14:39:14 2015 +0000 [AArch64] Adjust veneer count. commit 66849923d2f6505b691f24dcb15797f2e0d969ec Author: Markus Metzger Date: Tue Feb 3 16:42:41 2015 +0100 btrace: fix tests for 32-bit The x86-record_goto.S assembly source file does not build on 32-bit. This breaks many tests that use this file. Split it into x86_64-record_goto.S and i686-record_goto.S. Luckily, we can use either one with the same test .exp file. It further turned out that most tests do not really need a fixed binary; they should work pretty well with a newly-compiled C program. The one thing that breaks this is the heavy use of "record goto" to navigate inside the recorded execution. Combine step.exp, next,exp, and finish.exp into a single test step.exp and use normal stepping and reverse-stepping commands for navigation. testsuite/ * gdb.btrace/next.exp: Merged into step.exp. * gdb.btrace/finish.exp: Merged into step.exp. * gdb.btrace/nexti.exp: Merged into stepi.exp. * gdb.btrace/step.exp: Use record_goto.c as test file. Avoid using "record goto" and checking the exact replay position. * gdb.btrace/stepi.exp: Choose test file based on target. Do not check for "Recording format" in "info record" output. * gdb.btrace/record_goto.exp: Choose test file based on target. * gdb.btrace/x86-record_goto.S: Renamed into ... * gdb.btrace/x86_64-record_goto.S: ... this. * gdb.btrace/i686-record_goto.S: New. * gdb.btrace/x86-tailcall.S: Renamed into ... * gdb.btrace/x86_64-tailcall.S: ... this. * gdb.btrace/i686-tailcall.S: New. * gdb.btrace/x86-tailcall.c: Renamed into ... * gdb.btrace/tailcall.c: ... this. Split "return ++answer" into two separate statements. Update test. * gdb.btrace/delta.exp: Use record_goto.c as test file. * gdb.btrace/gcore.exp: Use record_goto.c as test file. * gdb.btrace/nohist.exp: Use record_goto.c as test file. * gdb.btrace/tailcall.exp: Choose test file based on target. * gdb.btrace/Makefile.in: Remove next, finish, and nexti. commit 11cc1b74538286b8bc775057fe1300707b3e3520 Author: Markus Metzger Date: Fri Jan 23 15:13:20 2015 +0100 btrace: increase buffer size for exception test The trace for throwing and catching an exception can be quite big. Increase the buffer size to avoid spurious fails. testsuite/ * gdb.btrace/exception.exp: Increase BTS buffer size. commit bb383c6cf1ea43193ef9f407a3b7c3bdee9f5fa1 Author: Renlin Li Date: Wed Mar 25 12:33:07 2015 +0000 [AARCH64]Fix "align directive causes MAP_DATA symbol to be lost" gas/ChangeLog: 2015-03-25 Renlin Li * config/tc-aarch64.c (mapping_state): Remove first MAP_DATA emitting code. (mapping_state_2): Emit first MAP_DATA symbol here. commit 6a3753b34b7b4ff6b12d89ec1f6835799b54ef63 Author: Pedro Alves Date: Wed Mar 25 11:28:31 2015 +0000 Simplify target_async hook interface All callers of target_async pass it the same callback (inferior_event_handler). Since both common code and target backends need to be able to put the target in and out of target async mode at any given time, there's really no way that a different callback could be passed. This commit simplifies things, and removes the indirection altogether. Bonus: with this, gdb's target_async method ends up with the same signature as gdbserver's. Tested on x86_64 Fedora 20, native and gdbserver. gdb/ChangeLog: 2015-03-25 Pedro Alves * target.h : Replace 'callback' and 'context' parameters with boolean 'enable' parameter. (target_async): Replace CALLBACK and CONTEXT parameters with boolean ENABLE parameter. * inf-loop.c (inferior_event_handler): Adjust. * linux-nat.c (linux_nat_attach, linux_nat_resume) (linux_nat_resume): Adjust. (async_client_callback, async_client_context): Delete. (handle_target_event): Call inferior_event_handler directly. (linux_nat_async): Replace 'callback' and 'context' parameters with boolean 'enable' parameter. Adjust. Remove references to async_client_callback and async_client_context. (linux_nat_close): Adjust. * record-btrace.c (record_btrace_async): Replace 'callback' and 'context' parameters with boolean 'enable' parameter. Adjust. (record_btrace_resume): Adjust. * record-full.c (record_full_async): Replace 'callback' and 'context' parameters with boolean 'enable' parameter. Adjust. (record_full_resume, record_full_core_resume): Adjust. * remote.c (struct remote_state) : Delete fields. (remote_start_remote, extended_remote_attach_1, remote_resume) (extended_remote_create_inferior): Adjust. (remote_async_serial_handler): Call inferior_event_handler directly. (remote_async): Replace 'callback' and 'context' parameters with boolean 'enable' parameter. Adjust. * top.c (gdb_readline_wrapper_cleanup, gdb_readline_wrapper): Adjust. * target-delegates.c: Regenerate. commit 1c4b552ba553c4dbbb066c9ef8667209553444ca Author: Gary Benson Date: Wed Mar 25 11:26:43 2015 +0000 Associate target_ops with target_fileio file descriptors Various target_fileio_* functions use integer file descriptors to refer to open files. File operation functions are looked up from the target stack as they are used, which causes problems if the target stack changes after the file is opened. For example, if a file is opened on a remote target and the remote target disconnects or closes the remote target will be popped off the stack. If target_fileio_close is then called on that file and "set auto-connect-native-target" is "on" (the default) then the native target's close method will be called. If the file opened on the remote happens to share the same number with a file open in GDB then that file will be closed by mistake. This commit changes target_fileio_open to store newly opened file descriptors in a table together with the target_ops used to open them. The index into the table is returned and used as the file descriptor argument to all target_fileio_* functions that accept file descriptor arguments. gdb/ChangeLog: * target.c (fileio_ft_t): New typedef, define object vector. (fileio_fhandles): New static variable. (is_closed_fileio_fh): New macro. (lowest_closed_fd): New static variable. (acquire_fileio_fd): New function. (release_fileio_fd): Likewise. (fileio_fd_to_fh): New macro. (target_fileio_open): Wrap the file descriptor on success. (target_fileio_pwrite): Updated to use wrapped file descriptor. (target_fileio_pread): Likewise. (target_fileio_close): Likewise. commit d422d1c433073ba412287334a7ec3aa95e03c5e9 Author: Senthil Kumar Selvaraj Date: Tue Mar 24 19:18:04 2015 +0530 Garbage collecting debug sections I noticed that _bfd_elf_gc_mark_extra_sections attempts to unmark related debug sections when it finds an unmarked code section. When it finds .text.foo is unmarked, for example, it removes .debug_line.text.foo as well (using the section name as a suffix match check. However, it bails out after finding one such section. bfd/ * elflink.c (_bfd_elf_gc_mark_extra_sections): Don't break on first matching debug section. ld/testsuite/ * ld-gc/all-debug-sections.d: New file. * ld-gc/all-debug-sections.s: Likewise. * ld-gc/gc.exp: Execute new testcase. commit b422eb499be2858969fb7723b4e4e08cab20fcdc Author: H.J. Lu Date: Tue Mar 24 19:06:22 2015 -0700 Don't write the zlib header if not used No need to write the zlib header if compression didn't make the section smaller. PR gas/18087 * write.c (compress_debug): Don't write the zlib header if compression didn't make the section smaller. commit f6d5c6943ba1f32a640137fcba92aa046bbf86ed Author: GDB Administrator Date: Wed Mar 25 00:00:08 2015 +0000 Automatic date update in version.in commit a25d8bf9c5b2c9d3671f4508c9132485c65c3773 Author: Pedro Alves Date: Tue Mar 24 21:01:29 2015 +0000 Fix "thread apply all" with exited threads I noticed that "thread apply all" sometimes crashes. The problem is that thread_apply_all_command doesn take exited threads into account, and we qsort and then walk more elements than there really ever were put in the array. Valgrind shows: The current thread has terminated. See `help thread'. (gdb) thread apply all p 1 Thread 1 (Thread 0x7ffff7fc2740 (LWP 29579)): $1 = 1 ==29576== Use of uninitialised value of size 8 ==29576== at 0x639CA8: set_thread_refcount (thread.c:1337) ==29576== by 0x5C2C7B: do_my_cleanups (cleanups.c:155) ==29576== by 0x5C2CE8: do_cleanups (cleanups.c:177) ==29576== by 0x63A191: thread_apply_all_command (thread.c:1477) ==29576== by 0x50374D: do_cfunc (cli-decode.c:105) ==29576== by 0x506865: cmd_func (cli-decode.c:1893) ==29576== by 0x7562CB: execute_command (top.c:476) ==29576== by 0x647DA4: command_handler (event-top.c:494) ==29576== by 0x648367: command_line_handler (event-top.c:692) ==29576== by 0x7BF7C9: rl_callback_read_char (callback.c:220) ==29576== by 0x64784C: rl_callback_read_char_wrapper (event-top.c:171) ==29576== by 0x647CB5: stdin_event_handler (event-top.c:432) ==29576== ... This can happen easily today as linux-nat.c/linux-thread-db.c are forgetting to purge non-current exited threads. But even with that fixed, we can always do "thread apply all" with an exited thread selected, which won't be deleted until the user switches to another thread. That's what the test added by this commit exercises. Tested on x86_64 Fedora 20. gdb/ChangeLog: 2015-03-24 Pedro Alves * thread.c (thread_apply_all_command): Take exited threads into account. gdb/testsuite/ChangeLog: 2015-03-24 Pedro Alves * gdb.threads/no-unwaited-for-left.exp: Test "thread apply all". commit 8d00121477371cfd1596118af062fe6ff4e263b7 Author: H.J. Lu Date: Tue Mar 24 13:27:52 2015 -0700 Don't write the zlib header if not used No need to write the zlib header if compression didn't make the section smaller. PR binutils/18087 * compress.c (bfd_compress_section_contents): Don't write the zlib header and set contents as well as compress_status if compression didn't make the section smaller. (bfd_init_section_compress_status): Don't check compression size here. commit 44a1ee517365cd120f0338c1f4dc5a85273d4e4b Author: Pedro Alves Date: Tue Mar 24 14:24:54 2015 +0000 Fix switch_back_to_stepped_thread comment references Whoops, switch_back_to_stepping doesn't exist... gdb/ 2015-03-24 Pedro Alves * infrun.c (resume, proceed): Mention switch_back_to_stepped_thread, not switch_back_to_stepping. commit f3263aa47ec109871a124a1a2d5370e42a907690 Author: Pedro Alves Date: Tue Mar 24 14:24:53 2015 +0000 Shuffle user_visible_resume_ptid ... and move comment to declaration. gdb/ChangeLog: 2015-03-24 Pedro Alves * infrun.c (user_visible_resume_ptid): Rewrite going from most-locked to unlocked instead of the opposite. Move comment ... * infrun.h (user_visible_resume_ptid): ... here. commit 2bf6fb9d85394f90abb3e21ee037a732b6e4c983 Author: Pedro Alves Date: Tue Mar 24 18:31:51 2015 +0000 Debug output tweaks in the Linux target backends This adds/tweaks a few debug logs I found useful recently. gdb/gdbserver/ChangeLog: 2015-03-24 Pedro Alves * linux-low.c (check_stopped_by_breakpoint): Tweak debug log output. Also dump TRAP_TRACE. (linux_low_filter_event): In debug output, distinguish a resume_stop SIGSTOP from a delayed SIGSTOP. gdb/ChangeLog: 2015-03-24 Pedro Alves * linux-nat.c (linux_nat_resume): Output debug logs before trying to resume the event lwp. Use the lwp's ptid instead of the passed in (maybe wildcard) ptid. (stop_wait_callback): Tweak debug log output. (check_stopped_by_breakpoint): Tweak debug log output. Also dump TRAP_TRACE. (linux_nat_filter_event): In debug output, distinguish a resume_stop SIGSTOP from a delayed SIGSTOP. Output debug logs before trying to resume the lwp. commit 283a99589a0780a3b1fc011885b630bd9223ebba Author: Joel Brobecker Date: Tue Mar 24 11:14:13 2015 -0700 Do not make "prop" field of struct dynamic_prop_list a pointer. struct dynamic_prop_list is declared as follow: struct dynamic_prop_list { [...] /* The dynamic property itself. */ struct dynamic_prop *prop; [...] }; In this case, the pointer indirection is unnecessary and costing us, for each dynamic property, the memory needed to store one pointer. This patch removes this pointer indirection, savin us a tiny bit of memory, as well as reduces a bit the complexity by removing the need to allocate memory for the property, as the allocation is now part of the struct itself. gdb/ChangeLog: * gdbtypes.h (struct dynamic_prop_list) : Remove pointer indirection. * gdbtypes.c (get_dyn_prop): Adjust, following change above. (add_dyn_prop, copy_dynamic_prop_list): Likewise. Tested on x86_64-linux. commit 93a8e2276fadd7dbb323d7cf4b082c33b32073d5 Author: Joel Brobecker Date: Tue Mar 24 11:03:21 2015 -0700 GDB: rename DYN_ATTR_DATA_LOCATION into DYN_PROP_DATA_LOCATION. The terminology we've been using is (dynamic) "property" rather than "attribute", so this patch renames an enum to use the same terminology. No behavior change. gdb/ChangeLog: * gdbtypes.h (enum dynamic_prop_node_kind) : Renames DYN_ATTR_DATA_LOCATION. (TYPE_DATA_LOCATION): Use DYN_PROP_DATA_LOCATION instead of DYN_ATTR_DATA_LOCATION. * dwarf2read.c (set_die_type): Use DYN_PROP_DATA_LOCATION instead of DYN_ATTR_DATA_LOCATION. Tested on x86_64-linux. commit 64ce06e4cd025f3486465a0070baad47248ec69e Author: Pedro Alves Date: Tue Mar 24 17:50:31 2015 +0000 Remove 'step' parameters from 'proceed' and 'resume' The "step" parameters of 'proceed' and 'resume' aren't really useful as indication of whether run control wants to single-step the target, as that information must already be retrievable from currently_stepping. In fact, if currently_stepping disagrees with whether we single-stepped the target, then things break. Thus instead of having the same information in two places, this patch removes those parameters. Setting 'step_start_function' is the only user of proceed's 'step' argument, other than passing the 'step' argument down to 'resume' and debug log output. Move that instead to set_step_frame, where we already set other related fields. clear_proceed_status keeps its "step" parameter for now because it needs to know which set of threads should have their state cleared, and is called before the "stepping_command" flag is set. Tested on x86_64 Fedora 20, native and gdbserver. gdb/ChangeLog: 2015-03-24 Pedro Alves * breakpoint.c (until_break_command): Adjust call to proceed. * gdbthread.h (struct thread_control_state) : New field. * infcall.c (run_inferior_call): Adjust call to proceed. * infcmd.c (run_command_1, proceed_thread_callback, continue_1): Adjust calls to proceed. (set_step_frame): Set the current thread's step_start_function here. (step_once): Adjust calls to proceed. (jump_command, signal_command, until_next_command) (finish_backward, finish_forward, proceed_after_attach_callback) (attach_command_post_wait): Adjust calls to proceed. * infrun.c (proceed_after_vfork_done): Adjust call to proceed. (do_target_resume): New function, factored out from ... (resume): ... here. Remove 'step' parameter. Instead, check currently_stepping to determine whether the thread should be single-stepped. (proceed): Remove 'step' parameter and don't set the thread's step_start_function here. Adjust call to 'resume'. (handle_inferior_event): Adjust calls to 'resume'. (switch_back_to_stepped_thread): Use do_target_resume instead of 'resume'. (keep_going): Adjust calls to 'resume'. * infrun.h (proceed): Remove 'step' parameter. (resume): Likewise. * windows-nat.c (do_initial_windows_stuff): Adjust call to 'resume'. * mi/mi-main.c (proceed_thread): Adjust call to 'proceed'. commit 856e7dd6986d26b251d91b7fcd10c08fb57dc73b Author: Pedro Alves Date: Tue Mar 24 17:50:31 2015 +0000 Make "set scheduler-locking step" depend on user intention, only Currently, "set scheduler-locking step" is a bit odd. The manual documents it as being optimized for stepping, so that focus of debugging does not change unexpectedly, but then it says that sometimes other threads may run, and thus focus may indeed change unexpectedly... A user can then be excused to get confused and wonder why does GDB behave like this. I don't think a user should have to know about details of how "next" or whatever other run control command is implemented internally to understand when does the "scheduler-locking step" setting take effect. This patch completes a transition that the code has been moving towards for a while. It makes "set scheduler-locking step" hold threads depending on whether the _command_ the user entered was a stepping command [step/stepi/next/nexti], or not. Before, GDB could end up locking threads even on "continue" if for some reason run control decides a thread needs to be single stepped (e.g., for a software watchpoint). After, if a "continue" happens to need to single-step for some reason, we won't lock threads (unless when stepping over a breakpoint, naturally). And if a stepping command wants to continue a thread for bit, like when skipping a function to a step-resume breakpoint, we'll still lock threads, so focus of debugging doesn't change. In order to make this work, we need to record in the thread structure whether what set it running was a stepping command. (A follow up patch will remove the "step" parameters of 'proceed' and 'resume') FWIW, Fedora GDB, which defaults to "scheduler-locking step" (mainline defaults to "off") carries a different patch that goes in this direction as well. Tested on x86_64 Fedora 20, native and gdbserver. gdb/ChangeLog: 2015-03-24 Pedro Alves * gdbthread.h (struct thread_control_state) : New field. * infcmd.c (step_once): Pass step=1 to clear_proceed_status. Set the thread's stepping_command field. * infrun.c (resume): Check the thread's stepping_command flag to determine which threads should be resumed. Rename 'entry_step' local to user_step. (clear_proceed_status_thread): Clear 'stepping_command'. (schedlock_applies): Change parameter type to struct thread_info pointer. Adjust. (find_thread_needs_step_over): Remove 'step' parameter. Adjust. (switch_back_to_stepped_thread): Adjust calls to 'schedlock_applies'. (_initialize_infrun): Adjust "set scheduler-locking step" help. gdb/testsuite/ChangeLog: 2015-03-24 Pedro Alves * gdb.threads/schedlock.exp (test_step): No longer expect that "set scheduler-locking step" with "next" over a function call runs threads unlocked. gdb/doc/ChangeLog: 2015-03-24 Pedro Alves * gdb.texinfo (test_step) : No longer mention that threads may sometimes run unlocked. commit 885eeb5b8ea021cc79ffebe8ec40122229c572f0 Author: Pedro Alves Date: Tue Mar 24 17:50:30 2015 +0000 Make step_start_function be per thread I noticed that step_start_function is still a global, while it obviously should be a per-thread field. gdb/ChangeLog: 2015-03-24 Pedro Alves * infrun.c (step_start_function): Delete and ... * gdbthread.h (struct thread_control_state) : ... now a field here. * infrun.c (clear_proceed_status_thread): Clear the thread's step_start_function. (proceed, process_event_stop_test, print_stop_event): Adjust. commit 3333f03ae1b02b321717b4bc4887201ed4fc6a26 Author: Pedro Alves Date: Tue Mar 24 17:50:29 2015 +0000 No longer handle negative 'step' in 'proceed' Nothing ever passes a negative 'step' to proceed. Gets rid of one of the few remaining stop_after_trap references. gdb/ChangeLog 2015-03-24 Pedro Alves * infrun.c (proceed): No longer handle negative step. commit ad235a410aebf08ca67589891388774aa1d03562 Author: Antoine Tremblay Date: Tue Mar 24 13:28:42 2015 -0400 Fix mi-pending.exp test output to allow stable test diffing gdb/testsuite/ChangeLog: * gdb.mi/mi-pending.exp: Fix output of breakpoint test. commit fc42baf3cdc41bc8cf12e35ae78e4529c1470118 Author: Nick Clifton Date: Tue Mar 24 17:20:00 2015 +0000 Fixes a bug introduced by the new ranges checks on COFF symbol tables. PR binutils/17512 * coffgen.c (coff_get_normalized_symtab): Fix test for out of range auxillary sections. commit fc6d53be1893813f5017681a211dd20d560d8c58 Author: Marcus Shawcroft Date: Mon Mar 2 12:11:40 2015 +0000 [AArch64] Factor out _bfd_aarch64_get_stub_for_link_section. commit 30068a6d2da1ba4b0248a270c7c958ef24a80416 Author: Marcus Shawcroft Date: Sat Feb 28 00:17:22 2015 +0000 [AArch64] Refactor section_group[] representation. Change the behaviour of section_group[] such that .stub_sec points to the stub section attached to the indexed section rather than the stub section attached to the link_section pointed to be the index section. This provides a mechanism to get to the stub section following any input section. While still allowing the section grouping mechanism to find the section group stub section associated with an input section by first following the link_sec pointer. commit 369f6daa21bf33a09ef67b002e4cec3595eddfe7 Author: Gary Benson Date: Tue Mar 24 14:05:45 2015 +0000 Move duplicated Linux x86 code to nat/x86-linux.c This commit moves two identical functions from gdb/x86-linux-nat.c and gdb/gdbserver/linux-x86-low.c into the shared file gdb/nat/x86-linux.c. gdb/ChangeLog: * nat/x86-linux.h (x86_linux_new_thread): New declaration. (x86_linux_prepare_to_resume): Likewise. * x86-linux-nat.c (x86_linux_new_thread): Moved to nat/x86-linux.c. (x86_linux_prepare_to_resume): Likewise. * nat/x86-linux.c (x86_linux_new_thread): New function. (x86_linux_prepare_to_resume): Likewise. gdb/gdbserver/ChangeLog: * linux-x86-low.c (x86_linux_new_thread): Moved to nat/x86-linux.c. (x86_linux_prepare_to_resume): Likewise. commit 8e5d40700492597d103ebdb68eab733456b66fad Author: Gary Benson Date: Tue Mar 24 14:05:45 2015 +0000 Move low-level Linux x86 debug register code to a shared file This commit moves the now-identical low-level Linux x86 debug register code from gdb/x86-linux-nat.c and gdb/gdbserver/linux-x86-low.c into a new shared file gdb/nat/x86-linux-dregs.c. gdb/ChangeLog: * nat/x86-linux-dregs.h: New file. * nat/x86-linux-dregs.c: Likewise. * Makefile.in (HFILES_NO_SRCDIR): Add nat/x86-linux-dregs.h. (x86-linux-dregs.o): New rule. * config/i386/linux.mh (NATDEPFILES): Add x86-linux-dregs.o. * config/i386/linux64.mh (NATDEPFILES): Likewise. * x86-linux-nat.c: Include nat/x86-linux-dregs.h. (u_debugreg_offset): Moved to nat/x86-linux-dregs.c. (x86_linux_dr_get): Likewise. (x86_linux_dr_set): Likewise. (x86_linux_dr_get_addr): Likewise. (x86_linux_dr_get_control): Likewise. (x86_linux_dr_get_status): Likewise. (update_debug_registers_callback): Likewise. (x86_linux_dr_set_control): Likewise. (x86_linux_dr_set_addr): Likewise. (x86_linux_update_debug_registers): Likewise. gdb/gdbserver/ChangeLog: * Makefile.in (x86-linux-dregs.o): New rule. * configure.srv: Add x86-linux-dregs.o to relevant targets. * linux-x86-low.c: Include nat/x86-linux-dregs.h. (u_debugreg_offset): Moved to nat/x86-linux-dregs.c. (x86_linux_dr_get): Likewise. (x86_linux_dr_set): Likewise. (update_debug_registers_callback): Likewise. (x86_linux_dr_set_addr): Likewise. (x86_linux_dr_get_addr): Likewise. (x86_linux_dr_set_control): Likewise. (x86_linux_dr_get_control): Likewise. (x86_linux_dr_get_status): Likewise. (x86_linux_update_debug_registers): Likewise. commit 2b95d4403883ba22687ecb81520855204348a7fb Author: Gary Benson Date: Tue Mar 24 14:05:44 2015 +0000 Introduce x86_linux_update_debug_registers This commit moves the entire body of both GDB's and gdbserver's x86_linux_prepare_to_resume functions into new functions, x86_linux_update_debug_registers. This reorganisation allows all Linux x86 low-level debug register code to be placed in one shared file, separate from general Linux x86 shared code. gdb/ChangeLog: * x86-linux-nat.c (x86_linux_update_debug_registers): New function, factored out from... (x86_linux_prepare_to_resume): ...this. gdb/gdbserver/ChangeLog: * linux-x86-low.c (x86_linux_update_debug_registers): New function, factored out from... (x86_linux_prepare_to_resume): ...this. commit 14b0bc68e8a9f8e8fc3d27c64c7cf5f7c676cea1 Author: Gary Benson Date: Tue Mar 24 14:05:44 2015 +0000 Linux x86 low-level debug register comment synchronization This commit updates comments in the low-level debug register code for Linux x86, making GDB's and gdbserver's implementations identical. gdb/ChangeLog: * x86-linux-nat.c (x86_linux_dr_get): Update comments. (x86_linux_dr_set): Likewise. (x86_linux_dr_get_addr): Likewise. (x86_linux_dr_get_control): Likewise. (x86_linux_dr_get_status): Likewise. (update_debug_registers_callback): Likewise. (x86_linux_dr_set_control): Likewise. (x86_linux_dr_set_addr): Likewise. (x86_linux_prepare_to_resume): Likewise. (x86_linux_new_thread): Likewise. gdb/gdbserver/ChangeLog: * linux-x86-low.c (x86_linux_dr_get): Update comments. (x86_linux_dr_set): Likewise. (update_debug_registers_callback): Likewise. (x86_linux_dr_set_addr): Likewise. (x86_linux_dr_get_addr): Likewise. (x86_linux_dr_set_control): Likewise. (x86_linux_dr_get_control): Likewise. (x86_linux_dr_get_status): Likewise. (x86_linux_prepare_to_resume): Likewise. commit 5dfe6ca8a8686a37fea66dff3b652e7f4f7fc90c Author: Gary Benson Date: Tue Mar 24 14:05:44 2015 +0000 Linux x86 low-level debug register code synchronization This commit makes several small changes to the low-level debug register code for Linux x86, making the code in the GDB and gdbserver implementations identical. gdb/ChangeLog: * x86-linux-nat.c (x86_linux_dr_set_addr): Update assertion. (x86_linux_new_thread): Rename argument. gdb/gdbserver/ChangeLog: * linux-x86-low.c (x86_linux_dr_get): Add assertion. Use perror_with_name. Pass string through gettext. (x86_linux_dr_set): Likewise. commit d33472adfc6b6cdfd12f48e53ee0d6c96677717d Author: Gary Benson Date: Tue Mar 24 14:05:44 2015 +0000 Rename gdbserver's low-level Linux x86 debug register accessors This commit renames gdbserver's low-level Linux x86 debug register accessors to the same names used by GDB. gdb/gdbserver/ChangeLog: * linux-x86-low.c (x86_dr_low_set_addr): Rename to... (x86_linux_dr_set_addr): ...this. (x86_dr_low_get_addr): Rename to... (x86_linux_dr_get_addr): ...this. (x86_dr_low_set_control): Rename to... (x86_linux_dr_set_control): ...this. (x86_dr_low_get_control): Rename to... (x86_linux_dr_get_control): ...this. (x86_dr_low_get_status): Rename to... (x86_linux_dr_get_status): ...this. (x86_dr_low): Update with new function names. commit 4b134ca10812e550d8d012cd6096f5229d59f7c6 Author: Gary Benson Date: Tue Mar 24 14:05:44 2015 +0000 Make lwp_info.arch_private handling shared This commit moves the code to handle lwp_info.arch_private for Linux x86 into a new shared file, nat/x86-linux.c. gdb/ChangeLog: * nat/x86-linux.h: New file. * nat/x86-linux.c: Likewise. * Makefile.in (HFILES_NO_SRCDIR): Add nat/x86-linux.h. (x86-linux.o): New rule. * config/i386/linux.mh (NATDEPFILES): Add x86-linux.o. * config/i386/linux64.mh (NATDEPFILES): Likewise. * nat/linux-nat.h (struct arch_lwp_info): New forward declaration. (lwp_set_arch_private_info): New declaration. (lwp_arch_private_info): Likewise. * linux-nat.c (lwp_set_arch_private_info): New function. (lwp_arch_private_info): Likewise. * x86-linux-nat.c: Include nat/x86-linux.h. (arch_lwp_info): Removed structure. (update_debug_registers_callback): Use lwp_set_debug_registers_changed. (x86_linux_prepare_to_resume): Use lwp_debug_registers_changed and lwp_set_debug_registers_changed. (x86_linux_new_thread): Use lwp_set_debug_registers_changed. gdb/gdbserver/ChangeLog: * Makefile.in (x86-linux.o): New rule. * configure.srv: Add x86-linux.o to relevant targets. * linux-low.c (lwp_set_arch_private_info): New function. (lwp_arch_private_info): Likewise. * linux-x86-low.c: Include nat/x86-linux.h. (arch_lwp_info): Removed structure. (update_debug_registers_callback): Use lwp_set_debug_registers_changed. (x86_linux_prepare_to_resume): Use lwp_debug_registers_changed and lwp_set_debug_registers_changed. (x86_linux_new_thread): Use lwp_set_debug_registers_changed. commit 34c703da6cb01d8b41e1bfb790c3c2c625088b69 Author: Gary Benson Date: Tue Mar 24 14:05:44 2015 +0000 Change signature of linux_target_ops.new_thread This commit changes the signature of linux_target_ops.new_thread in gdbserver to match that used in GDB's equivalent. gdb/gdbserver/ChangeLog: * linux-low.h (linux_target_ops) : Changed signature. * linux-arm-low.c (arm_new_thread): Likewise. * linux-aarch64-low.c (aarch64_linux_new_thread): Likewise. * linux-mips-low.c (mips_linux_new_thread): Likewise. * linux-x86-low.c (x86_linux_new_thread): Likewise. * linux-low.c (add_lwp): Update the_low_target.new_thread call. commit cff068da9d13bc9fa8c04f42151b4e92bfff86a1 Author: Gary Benson Date: Tue Mar 24 14:05:44 2015 +0000 Introduce basic LWP accessors This commit introduces three accessors that shared Linux code can use to access fields of struct lwp_info. The GDB and gdbserver Linux x86 code is modified to use them. gdb/ChangeLog: * nat/linux-nat.h (ptid_of_lwp): New declaration. (lwp_is_stopped): Likewise. (lwp_stop_reason): Likewise. * linux-nat.c (ptid_of_lwp): New function. (lwp_is_stopped): Likewise. (lwp_is_stopped_by_watchpoint): Likewise. * x86-linux-nat.c (update_debug_registers_callback): Use lwp_is_stopped. (x86_linux_prepare_to_resume): Use ptid_of_lwp and lwp_stop_reason. gdb/gdbserver/ChangeLog: * linux-low.c (ptid_of_lwp): New function. (lwp_is_stopped): Likewise. (lwp_stop_reason): Likewise. * linux-x86-low.c (update_debug_registers_callback): Use lwp_is_stopped. (x86_linux_prepare_to_resume): Use ptid_of_lwp and lwp_stop_reason. commit b2f7c7e8b7046bf3dd99e3fb7329feb962a6bc7d Author: Gary Benson Date: Tue Mar 24 14:05:44 2015 +0000 Make linux_stop_lwp be a shared function Both GDB and gdbserver had linux_stop_lwp functions with identical declarations. This commit moves these to nat/linux-nat.h to allow shared code to use the function. gdb/ChangeLog: * linux-nat.h (linux_stop_lwp): Move declaration to... * nat/linux-nat.h (linux_stop_lwp): New declaration. gdb/gdbserver/ChangeLog: * linux-low.h (linux_stop_lwp): Remove declaration. commit 6d4ee8c6ad7d5b04e524b2b48ffe5639028594a5 Author: Gary Benson Date: Tue Mar 24 14:05:43 2015 +0000 Add iterate_over_lwps to gdbserver This commit introduces a new function, iterate_over_lwps, that shared Linux code can use to call a function for each LWP that matches certain criteria. This function already existed in GDB and was in use by GDB's various low-level Linux x86 debug register setters. An equivalent was written for gdbserver and gdbserver's low-level Linux x86 debug register setters were modified to use it. gdb/ChangeLog: * linux-nat.h: Include nat/linux-nat.h. (iterate_over_lwps): Move declaration to nat/linux-nat.h. * nat/linux-nat.h (struct lwp_info): New forward declaration. (iterate_over_lwps_ftype): New typedef. (iterate_over_lwps): New declaration. * linux-nat.h (iterate_over_lwps): Update comment. Use iterate_over_lwps_ftype. Update callback return value check. gdb/gdbserver/ChangeLog: * linux-low.h: Include nat/linux-nat.h. * linux-low.c (iterate_over_lwps_args): New structure. (iterate_over_lwps_filter): New function. (iterate_over_lwps): Likewise. * linux-x86-low.c (update_debug_registers_callback): Update signature to what iterate_over_lwps expects. Remove PID check that iterate_over_lwps now performs. (x86_dr_low_set_addr): Use iterate_over_lwps. (x86_dr_low_set_control): Likewise. commit 70a0bb6b590bcfe304fe082d421feb52e0a0d4dc Author: Gary Benson Date: Tue Mar 24 14:05:43 2015 +0000 Add x86_debug_reg_state to gdbserver This commit introduces a new function, x86_debug_reg_state, that shared x86 code can use to access the local mirror of a process's debug registers. This function already existed in GDB and was in use by GDB's x86_linux_prepare_to_resume. An equivalent was written for gdbserver and gdbserver's x86_linux_prepare_to_resume was modified to use it. gdb/ChangeLog: * x86-nat.h (x86_debug_reg_state): Move declaration to... * nat/x86-dregs.h (x86_debug_reg_state): New declaration. gdb/gdbserver/ChangeLog: * linux-x86-low.c (x86_debug_reg_state): New function. (x86_linux_prepare_to_resume): Use the above. commit 7b6690874fa3a8afacd731b70a461d55a5b1311c Author: Gary Benson Date: Tue Mar 24 14:05:43 2015 +0000 Introduce current_lwp_ptid This commit introduces a new function, current_lwp_ptid, that shared Linux code can use to obtain the ptid of the current lightweight process. gdb/ChangeLog: * nat/linux-nat.h (current_lwp_ptid): New declaration. * linux-nat.c (current_lwp_ptid): New function. * x86-linux-nat.c: Include nat/linux-nat.h. (x86_linux_dr_get_addr): Use current_lwp_ptid. (x86_linux_dr_get_control): Likewise. (x86_linux_dr_get_status): Likewise. (x86_linux_dr_set_control): Likewise. (x86_linux_dr_set_addr): Likewise. gdb/gdbserver/ChangeLog: * linux-low.c (current_lwp_ptid): New function. * linux-x86-low.c: Include nat/linux-nat.h. (x86_dr_low_get_addr): Use current_lwp_ptid. (x86_dr_low_get_control): Likewise. (x86_dr_low_get_status): Likewise. commit 15630549010233e9d0f0b1971d27e121cd74bdd0 Author: Antoine Tremblay Date: Thu Feb 19 15:23:34 2015 -0500 Fix breakpoint thread condition missing with mi and a pending breakpoint. When setting a pending breakpoint with a thread condition while using the mi interface, the thread condition would be lost by gdb when the breakpoint was resolved. This patch fixes this behavior by setting the thread condition properly in the mi case. Also, this patch modifies the mi-pending test case to test for this issue and removes some unneeded code in the testcase and dependency on stdio. gdb/Changelog: PR breakpoints/16466 * breakpoint.c (create_breakpoint): Set thread on breakpoint struct. gdb/testsuite/ChangeLog: PR breakpoints/16466 * gdb.mi/Makefile.in: Add mi-pendshr2.sl to cleanup. * gdb.mi/mi-pending.c (thread_func): New function. (int main): Add threading support required. * gdb.mi/mi-pending.exp: Add tests for this issue. * gdb.mi/mi-pendshr.c (pendfunc1): Remove stdio dependency. (pendfunc2): Remove stdio dependency. * gdb.mi/mi-pendshr2.c: New file. commit 5421cc6e55c7b3fba445c6085a05efb2a6f58505 Author: Marcus Shawcroft Date: Fri Mar 20 19:08:00 2015 +0000 [AArch64] Refactor generation of 835769 workaround stubs. This patch recognizes that we only need to perform one scan for the 835769 errata and that this scan can take place before we insert branch stubs. The erratum scan code is relocated and adjusted to create stub entries directly rather than populating an intermediate representation. Since stub entries are created immediately we can drop the adhoc stub size adjustment code and allow the generic stub sizing code to deal with 835769 stub entries. This patch restructures the code but does not change the workaround used to deal with erratum 83679, the exact placement of workaround stubs in the final image may change slightly after this patch due to stubs being created in a different order. commit e572930b96d8080ec80e65cfe85aaa8c4f7b2603 Author: Marcus Shawcroft Date: Tue Mar 24 11:24:50 2015 +0000 [AArch64] Use _bfd_aarch64_add_stub_entry_in_group. Adjust the 835769 workaround code to use _bfd_aarch64_add_stub_entry_in_group rather than inspect the underlying section_group structure directly. commit 8131c12209700f6e8cf16b09b5196da78a8066a3 Author: Alan Modra Date: Tue Mar 24 17:37:57 2015 +1030 Make powerpc bfd ld reloc overflow vs undefined symbols match gold * elf64-ppc.c (ppc64_elf_relocate_section): Report overflow to stubs, even those for undefined weak symbols. Otherwise, don't report relocation overflow on branches to undefined strong symbols. Fix memory leak. * elf32-ppc.c (ppc_elf_relocate_section): Don't report relocation overflow on branches to undefined strong symbols. commit 05f53ed611f0f7442f2b3a12b2829a18db6c2b59 Author: Mike Frysinger Date: Tue Mar 24 02:41:51 2015 -0400 sim: m68hc11/mips/mn10300/v850: add basic sim_pc_get The previous profile change broke these sims that use sim-profile but not sim-cpu (due to missing model support). Add simple funcs until we can convert these over properly. commit 282c9750306eb544f65cfed5665eee2b84c7c770 Author: Alan Modra Date: Tue Mar 24 15:46:50 2015 +1030 PR18147, relocation overflow when --unresolved-symbols=ignore-all If ignoring unresolved symbols, ignore reloc overflows too. If not ignoring unresolved symbols we will report an error about the symbol being undefined, making any report about reloc overflow superfluous. PR18147 * powerpc.cc (Target_powerpc::Relocate::relocate): Don't report relocation errors for branches to strong undefined symbols. commit 823d25713dd1d6aedc605e3da2007b54da9dff2d Author: Terry Guo Date: Tue Mar 24 14:08:08 2015 +0800 Extend arm_feature_set struct to provide more bits gas/ChangeLog: 2015-03-24 Terry Guo * config/tc-arm.c (no_cpu_selected): Use new macro to compare features. (parse_psr): Likewise. (do_t_mrs): Likewise. (do_t_msr): Likewise. (static const arm_feature_set arm_ext_*): Defined with new macros. (static const arm_feature_set arm_cext_*): Likewise. (static const arm_feature_set fpu_fpa_ext_*): Likewise. (static const arm_feature_set fpu_vfp_ext_*): Likewise. (deprecated_coproc_regs): Likewise. (UL_BARRIER): Likewise. (barrier_opt_names): Likewise. (arm_cpus): Likewise. (arm_extensions): Likewise. include/opcode/ChangeLog: 2015-03-24 Terry Guo * arm.h (arm_feature_set): Extended to provide more available * bits. (ARM_ANY): Updated to follow above new definition. (ARM_CPU_HAS_FEATURE): Likewise. (ARM_CPU_IS_ANY): Likewise. (ARM_MERGE_FEATURE_SETS): Likewise. (ARM_CLEAR_FEATURE): Likewise. (ARM_FEATURE): Likewise. (ARM_FEATURE_COPY): New macro. (ARM_FEATURE_EQUAL): Likewise. (ARM_FEATURE_ZERO): Likewise. (ARM_FEATURE_CORE_EQUAL): Likewise. (ARM_FEATURE_LOW): Likewise. (ARM_FEATURE_CORE_LOW): Likewise. (ARM_FEATURE_CORE_COPROC): Likewise. opcodes/ChangeLog: 2015-03-24 Terry Guo * arm-dis.c (opcode32): Updated to use new arm feature struct. (opcode16): Likewise. (coprocessor_opcodes): Replace bit with feature struct. (neon_opcodes): Likewise. (arm_opcodes): Likewise. (thumb_opcodes): Likewise. (thumb32_opcodes): Likewise. (print_insn_coprocessor): Likewise. (print_insn_arm): Likewise. (select_arm_features): Follow new feature struct. commit 596f88276cffbca82e3858da40db7e7cc7aa476e Author: Mike Frysinger Date: Mon Mar 23 00:24:05 2015 -0400 sim: profile: disconnect from watchpoint core The profile code was using STATE_WATCHPOINTS to get access to the PC, but we already have a standard method for getting the pc, so switch to that. This assumes that sizeof_pc is the same size as sim_cia, but we already assume this in places by way of sim_pc_{get,set}, and this is how it's documented in the sim-base.h API. commit 1bf57e9a2ee7f468c2b2c125bda35a5bcd5923ce Author: Mike Frysinger Date: Tue Mar 24 01:11:20 2015 -0400 sim: moxie: clean up build time warnings commit cc8ab1ded5dbc6c2ddb1b8c62f0e0f8f486a5f17 Author: Mike Frysinger Date: Sun Mar 22 23:59:45 2015 -0400 sim: moxie: convert to nrun.o This port already used a lot of common/ files, so cutting it over to nrun.o and using a few more common objects is pretty straight forward. commit 523ba8f92e3ff4c49f65b582c89b4563b1b665ad Author: Mike Frysinger Date: Sun Mar 22 23:16:01 2015 -0400 sim: erc32/h8300/m68hc11: trim unused functions These funcs are only used with the old run.o, and these sims use nrun.o, so drop these stub funcs. commit c4a6006b2e1b42124c90ea86597be3df0a177a4e Author: Mike Frysinger Date: Sun Mar 22 22:59:47 2015 -0400 sim: moxie: switch to common sim-command.o commit c0931f26e3923c75a3edc114175bb88dc11c5497 Author: Mike Frysinger Date: Sun Mar 22 22:55:42 2015 -0400 sim: clean up SIM_HAVE_BIENDIAN This define only applies when using the old run.o main. Document it as such, and delete it from mips/sh64 since both use nrun.o now. commit fe83b8a8d369e28dcfab42ee9f4b6d9cef3370c0 Author: Mike Frysinger Date: Sun Mar 22 22:45:47 2015 -0400 sim: m32r: drop duplicate dv_sockser_install call Since sim_module_install takes care of this for us, there's no need to initialize the module twice. commit 97f478c5a490b391f02df4e81b6bc7f99676c74c Author: Mike Frysinger Date: Sat Mar 14 16:09:12 2015 -0400 sim: Revert "Fix frv/iq2000/m32r/sh64 sim, default hardware to off." This partially reverts commits: 105dd264de9a2fa7eee45eff897aa1d6171c1c4b 3df3af7c3f9095f9dc951fe680ce76f6e497914b c4892a6b37647a0b33a2113b59762f678aabe4b2 9e3042ec073e05a0a5aa56398fd2662c5dcd5002 Now that dv-sockser is handled entirely by the common build logic, the failure these targets were hitting isn't really possible anymore. Lets reset their hardware status back to defaulting to on. Some of these were set to "always" previously, but we don't support that anymore. commit 30452bbe7e68581cdb0cd5004e6c4d4d5c9536e8 Author: Mike Frysinger Date: Mon Mar 23 22:19:41 2015 -0400 sim: fix sim-hardware configure option The current default handling for the --enable-sim-hardware option ends up forcing the value to whatever is set as the first argument when calling the macro (by virtue of how autoconf works). Relocate the setup code to the 4th parameter of the AC_ARG_ENABLE macro to fix it. This was caused by the simplification work in 1517bd274290e06af498ef7e49. Reported-by: Hans-Peter Nilsson commit 64dd13dfc267b1d13f42519f220e89a4386591fd Author: Mike Frysinger Date: Mon Mar 23 22:45:13 2015 -0400 sim: drop support for requiring hw support Since no sim is using the "always" option to SIM_AC_OPTION_HARDWARE, and we don't want to require hw support to always be enabled, drop the option. This leads to a slight simplification in the macro too as we can collapse the sim_hw_p variable. commit 7722e5b8022b5177a1788a48c6c1c6d7b11315ef Author: Mike Frysinger Date: Mon Mar 23 23:09:39 2015 -0400 sim: cris: delete unused CONFIG_DEVICES Looks like unused copy & paste from other sim ports. Drop it. commit 4af3e7e0d3f7f419b718a5417080c20e4bcaa8c7 Author: Mike Frysinger Date: Sun Mar 22 22:41:36 2015 -0400 sim: mn10300: fix duplicated hardware option This code was calling SIM_AC_OPTION_HARDWARE twice -- we only want and need to do it once. commit 66b0e85dcec9f7d268533208b5e4ab4630da1c44 Author: Mike Frysinger Date: Mon Mar 23 22:57:36 2015 -0400 sim: iq2000/mn10300: drop dv-sockser.o references The common code handles this for us now automatically. commit c906b4b52b1617e5c65c9a6ff4de98d688d2a597 Author: Mike Frysinger Date: Mon Mar 23 21:51:35 2015 -0400 sim: frv: delete UART device support This looks like copy & paste logic from the m32r port (and history suggests this as well). Since building with hw & device support enabled leads to failures: sim/frv/devices.c: In function 'device_io_read_buffer': sim/frv/devices.c:39:15: error: 'UART_INCHAR_ADDR' undeclared (first use in this function) Delete it entirely. We leave device support in place as it is used to flush the scache. commit 9993d012337e2a404e9192869dd68051fe37e234 Author: GDB Administrator Date: Tue Mar 24 00:00:08 2015 +0000 Automatic date update in version.in commit 8a4506c0329233bd99ddc7436b6588b9c7caf13d Author: Joel Brobecker Date: Mon Mar 23 15:42:23 2015 -0700 Fix indentation in ser_windows_setparity and hardwire_setparity. gdb/ChangeLog: * ser-mingw.c (ser_windows_setparity): Fix indentation. * ser-unix.c (hardwire_setparity): Likewise. commit 236af5e336970a6b58cd17e0a2981bd96f3d09a0 Author: Yury Grechishchev Date: Tue Mar 24 00:15:42 2015 +0300 GDB: Add set/show serial parity command. The "set serial parity" command allows the user to control which parity to use when communicating over a serial connection, rather than having the parity hardcoded to none. gdb/ChangeLog: * NEWS: Mention set/show serial parity command. * monitor.c (monitor_open): Call serial_setparity. * remote.c (remote_open_1): Likewise. * ser-base.c (ser_base_serparity): New function. * ser-base.h (ser_base_setparity): Add declaration. * ser-go32.c (dos_ops): Set "setparity" field. * ser-mingw.c (ser_windows_raw): Do not set state.fParity and state.Parity. (ser_windows_setparity): New function. (hardwire_ops): Add ser_windows_setparity. (tty_ops): Add NULL for setparity field. (pipe_ops): Add ser_base_setparity. (tcp_ops): Likewise. * ser-pipe.c (pipe_ops): Likewise. * ser-tcp.c (tcp_ops): Likewise. * ser-unix.c (hardwire_setparity): Add declaration. (hardwire_raw): Don't reset PARENB flag. (hardwire_setparity): New function. (hardwire_ops): Add hardwire_setparity. * serial.c (serial_setparity): New function. (serial_parity): New global. (parity_none, parity_odd, parity_even, parity_enums, parity): New static globals. (set_parity): New function. (_initialize_serial): Add set/show serial parity commands. * serial.h (GDBPARITY_NONE): Define. (GDBPARITY_ODD): Define. (GDBPARITY_EVEN): Define. (serial_setparity) Add declaration. (struct serial_ops): Add setparity field. * target.h (serial_parity): Add declaration. gdb/doc/ChangeLog: * gdb.texinfo (Remote configuration): Document "set/show serial parity" command. commit 32b40af94e919e235c21486110311647cbeecf2e Author: Keith Seitz Date: Mon Mar 23 13:32:01 2015 -0700 Update comment of linespec_lexer_lex_keyword. gdb/ChangeLog * linespec.c (linespec_lexer_lex_keyword): Update comment. commit 693dca065a58bf2dd39df9cff019b0c65e15e132 Author: Keith Seitz Date: Mon Mar 23 13:29:19 2015 -0700 Add missing changelog entries of last commit commit 0578b14e990e76f3c2dd9010c4cb9201bc9fa4b4 Author: Keith Seitz Date: Mon Mar 23 12:59:18 2015 -0700 Expand keyword lexing intelligence in the linespec parser. This patch changes the heuristic the linespec lexer uses to detect a keyword in the input stream. Currently, the heuristic is: a word is a keyword if it 1) points to a string that is a keyword 2) is followed by a non-identifier character This is strictly more correct than using whitespace. For example, it allows constructs such as "break foo if(i == 1)". However, find_condition_and_thread in breakpoint.c does not support this expanded usage. It requires whitespace to follow the keyword. The proposed new heuristic is: a word is a keyword if it 1) points to a string that is a keyword 2) is followed by whitespace 3) is not followed by another keyword string followed by whitespace This additional complexity allows constructs such as "break thread thread 3" and "break thread 3". In the former case, the actual location is a symbol named "thread" to be set on thread #3. In the later case, the location is NULL, i.e., the default location, to be set on thread #3. In order to pass all the new tests added here, I've also had to add a new feature to parse_breakpoint_sals, which expands recognition of the default location to keywords other than "if", which is the only keyword currently permitted with the default (NULL) location, but there is no reason to exclude other keywords. Consequently, it will be possible to use "break thread 1" or "break task 1". In addition to all of this, it is now possible to remove the keyword_ok state from the linespec parser. gdb/ChangeLog * breakpoint.c (parse_breakpoint_sals): Use linespec_lexer_lex_keyword to ascertain if the user specified a NULL location. * linespec.c [IF_KEYWORD_INDEX]: Define. (linespec_lexer_lex_keyword): Export. (struct ls_parser) : Remove. A keyword is only a keyword if not followed by another keyword. (linespec_lexer_lex_one): Remove keyword_ok handling. Add comment explaining why the parsing stream is not advanced when a keyword is seen. (parse_linespec): Remove parser->keyword_ok. * linespec.h (linespec_lexer_lex_keyword): Add declaration. gdb/testsuite/ChangeLog * gdb.linespec/keywords.c: New file. * gdb.linespec/keywords.exp: New file. commit 7e993ebf2343a5b39d6d1df29fdebc2818064ae5 Author: Keith Seitz Date: Fri Feb 27 09:55:07 2015 -0800 PR gdb/18021 - defend against "static virtual" methods This bug appears to be caused by bad debuginfo. The method causing the sefault in the reporter's test case is marked both static and virtual. This patch simply safegaurds against this case in dwarf2_add_member_fn, where the code assumes that there is a `this' pointer when a virtual method is seen (more specifically, when DW_AT_vtable_elem is seen). It previously dereferenced the first formal parameter (`this' pointer), which in this case doesn't exist. GDB consequently segfaulted dereferencing a NULL pointer. gdb/ChangeLog PR gdb/18021 * dwarf2read.c (dwarf2_add_member_fn): Issue a complaint if we find a static method with DW_AT_vtable_elem_location. gdb/testsuite/ChangeLog PR gdb/18021 * gdb.dwarf2/staticvirtual.exp: New test. commit c53ed7cf577806c9d7d658dec5b70b2de00ec825 Author: Keith Seitz Date: Mon Mar 23 11:41:11 2015 -0700 [OBV] Fix build -- missing ';' bfd/ChangeLog * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add missing ';'. commit 94a75bde2f02d90ef3a8ab4f1659117bfb3231c5 Author: Marcus Shawcroft Date: Fri Mar 20 18:54:59 2015 +0000 Adding Changelog for previous commit. commit 35fee8b77bc6f90d86b19fcacb677a2670d036e8 Author: Marcus Shawcroft Date: Fri Mar 20 18:54:59 2015 +0000 Factor out _bfd_aarch64_erratum_835769_stub_name commit 13f622ec5967f0a56d5876e7c7305c260cb4928f Author: Marcus Shawcroft Date: Fri Mar 20 20:20:35 2015 +0000 [AArch64] Factor out _bfd_aarch64_resize_stubs() commit 665856756517ff4eb0c31c07f5c7e1666ccd4445 Author: Marcus Shawcroft Date: Tue Mar 10 13:16:28 2015 +0000 [AArch64] Factor stub creation code into _bfd_aarch64_create_stub_section. commit ef8575212574f5cca4426194d7428f900a573852 Author: Marcus Shawcroft Date: Sat Feb 28 00:10:21 2015 +0000 [AArch64] Factor out common behaviour between elf_aarch64_create_or_find_stub_sec and elfNN_aarch64_add_stub commit 2144188dcf696a50c6dbbacc1bf66645659e1fda Author: Marcus Shawcroft Date: Fri Mar 20 18:49:29 2015 +0000 [AArch64] Flip sense of erratum_835769_scan. commit 4c77202d000bab10f821a88c6da9664337f01f10 Author: Marcus Shawcroft Date: Sat Feb 28 00:06:26 2015 +0000 [AArch64] Drop unused argument to elf_aarch64_create_or_find_stub_sec commit 9b9971aac7b89596695f15ed4763d9fd2b876ca8 Author: Marcus Shawcroft Date: Sun Mar 22 07:59:48 2015 +0000 [AArch64] Remove unused variable. commit 23956543da73914601924cb5e4db829082dfee83 Author: Marcus Shawcroft Date: Mon Mar 23 15:10:56 2015 +0000 Fixup previous changelog entry. commit e2cdef47b753f599cd1eaefdb4aea1d5d3b6a0e4 Author: Marcus Shawcroft Date: Sun Mar 22 07:57:18 2015 +0000 Remove dead code. commit 3d14faea41888606f41466655aa1f0c6f0acf7e0 Author: Marcus Shawcroft Date: Thu Mar 12 12:11:07 2015 +0000 [AArch64] Tidy up in aarch64_mem_op_p(). commit f872121a87fe4c16ec43623b75804b39612e62ef Author: Marcus Shawcroft Date: Fri Mar 13 14:50:26 2015 +0000 [AArch64] Adjust layout of elfNN_aarch64_write_section. commit 499c37b59a9a6aed42c103ea6df8d6936b74504f Author: Marcus Shawcroft Date: Sun Mar 22 07:47:38 2015 +0000 [AArch64] Adjust layout emultempl/aarch64elf.em. commit 67f95b96b4d5e8e19520d94bebae92db2f67af74 Author: Rafael Ávila de Espíndola Date: Mon Mar 23 09:16:49 2015 -0400 Remove is_merge_section_for. Now that Input_merge_map has an Output_section_data, we can use it in implementing find_merge_section and replace the only use of is_merge_section_for with it. commit 99067e2973a6bb1d3a52caafb479ebdc1a420580 Author: Nick Clifton Date: Mon Mar 23 11:40:14 2015 +0000 Fix thinko with previous delta to RL78 sim, by adding code to define the G10 and G13 mode options. * cpu.c (rl78_g10_mode): Declare. (g13_multiply): Declare. * cpu.h (rl78_g10_mode): Export. (g13_multiply): Export. commit 49cd1634b2a59879329c5a285192ac581e64904c Author: Mike Frysinger Date: Sun Mar 22 22:36:12 2015 -0400 sim: dv-sockser: move build to common dir If dv-sockser is available, lets add it to the common SIM_HW_OBJS variable so it is always included automatically. Now ports do not have to shoe horn it in directly themselves. It does mean it will be compiled for targets that don't explicitly use it, but that's really what we want anyways. commit 3649cb065699316bc8cd64b06f273c72f1806323 Author: Mike Frysinger Date: Sun Mar 22 22:23:04 2015 -0400 sim: dv-sockser: add stub funcs when not available This lets ports assume that the dv-sockser API is always available if they want to. This way we don't have to do an abort at configure time and it makes the resulting code a bit simpler. commit 80fc77e6c14835462fca0b7adc15655ce2e4bb99 Author: Mike Frysinger Date: Mon Mar 23 00:08:25 2015 -0400 sim: bfin/msp430: drop run-sim.h include This header is used only with run.o, and both of these use nrun.o. commit 8a863336bb768e5e26781e904a029eb1f65ed4ec Author: Mike Frysinger Date: Sun Mar 22 22:25:04 2015 -0400 sim: sh64: delete dv-sockser references This sim doesn't actually use dv-sockser code anywhere, so drop references to it in its build files. commit 1a504d0763fdfd69389d9270a793c4c9da4924b0 Author: GDB Administrator Date: Mon Mar 23 00:00:08 2015 +0000 Automatic date update in version.in commit 152f702439a34bf20b74f472695490edb42ad56f Author: Cary Coutant Date: Sun Mar 22 11:59:21 2015 -0700 Fix support for i386 TLS GD-to-IE optimization. There are two cases to support, one with an SIB-form (6-byte) LEA, the other with a 5-byte LEA and a NOP after the call __tls_get_addr. Gold did not yet support the second case. This patch adds that support. gold/ PR gold/18106 * i386.cc (Target_i386::Relocate::tls_gd_to_ie): Fix support for non-SIB form of lea, with nop after the call. commit bccffdfdf268a84533131d6e4d6208f9873892ee Author: Cary Coutant Date: Sat Mar 21 22:30:44 2015 -0700 Fix internal error with -z relro when .tbss is last relro section. When calculating the padding necessary to align the end of the relro segment to a page boundary, gold erroneously ignores the .tdata section when checking to see if there are any relro sections (so if .tdata is the only relro section, we fail to align the segment properly), and erroneously pads the cumulative size of the segment based on the alignment of .tbss. If there are no relro sections following .tbss, it then fails to note the padding needed at the end of .tdata. This patch fixes both problems. is_first_section_relro() will return true when it sees a .tdata section, and we do not align the cumulative size until after checking for the .tbss section. gold/ PR gold/14217 * output.cc (Output_segment::is_first_section_relro): Don't ignore .tdata section. (Output_segment::set_section_addresses): Don't align size of relro segment for .tbss. commit 1c582fe71858efabae951c5f3ed7dccfb23fb86e Author: Cary Coutant Date: Sat Mar 21 21:09:46 2015 -0700 Fix bug when optimizing string pools of aligned strings. Tail optimization of string pools (enabled when linker is run with -O2 or greater) should not be done when the section alignment is greater than the size of the characters in the strings; otherwise, unaligned strings may result. gold/ PR gold/18010 * stringpool.cc (Stringpool_template): Don't optimize if section alignment is greater than sizeof(char). commit 410da591ba7814912e11be826b20dfba9abed9f7 Author: Cary Coutant Date: Sat Mar 21 19:03:00 2015 -0700 PR gold/18048: Fix INCLUDE directive support for gold This patch fixes INCLUDE directives in script files, so that when an INCLUDE appears inside a sections block, section commands block, or memory def block, the contents are parsed in the appropriate context. gold/ PR gold/18048 * script-c.h (script_include_directive): Add first_token parameter. * script.cc (script_include_directive): Add first_token parameter, and pass it to read_script_file. * yyscript.y (PARSING_SECTIONS_BLOCK, PARSING_SECTION_CMDS) (PARSING_MEMORY_DEF): New tokens. (top): Add new productions for INCLUDE files. (file_cmd): Replace file_or_sections_cmd with copy of its productions. Pass PARSING_LINKER_SCRIPT to script_include_directive. (section_block_cmd): Likewise; pass PARSING_SECTIONS_BLOCK. (section_cmd): Pass PARSING_SECTION_CMDS. (file_or_sections_cmd): Remove. (memory_def): Pass PARSING_MEMORY_DEF. * testsuite/Makefile.am (memory_test_2): New test. * testsuite/Makefile.in: Regenerate. * testsuite/memory_test_inc.t: New script file. * testsuite/memory_test_inc_1.t.src: New script file. * testsuite/memory_test_inc_2.t.src: New script file. * testsuite/memory_test_inc_3.t.src: New script file. commit 0d5bbdb0e1d193fa6f6804f2620fbdfc950c57a4 Author: Cary Coutant Date: Sat Mar 21 18:50:11 2015 -0700 Support compressed debug sections in dynamic object files. This patch adds support for reading compressed debug info in shared objects. It actually simplifies things, by moving the support for compressed sections all the way up to the top-level Object class, eliminating the need for several virtual methods. gold/ * dwp.cc (Sized_relobj_dwo::do_section_contents): Delete. (Sized_relobj_dwo::setup): Build compressed section map. (Sized_relobj_dwo::do_decompressed_section_contents): Delete. * dynobj.cc (Sized_dynobj::base_read_symbols): Build compressed section map. * object.cc (Sized_relobj_file::Sized_relobj_file): Remove compressed_sections_ field. (build_compressed_section_map): Take Object instead of Sized_relobj_file parameter; add decompress_if_needed parameter. (Sized_relobj_file::do_find_special_sections): Store compressed section map in parent Object. (Sized_relobj_file::do_decompressed_section_contents): Move implementation to Object::decompressed_section_contents. (Sized_relobj_file::do_discard_decompressed_sections): Move implementation to Object::discard_decompressed_sections. * object.h (build_compressed_section_map): Declare. (Object::Object): Add compressed_sections_ field. (Object::section_is_compressed): Move implementation here. (Object::decompressed_section_contents): De-virtualize. (Object::discard_decompressed_sections): De-virtualize. (Object::do_section_is_compressed): Delete. (Object::do_decompressed_section_contents): Delete. (Object::set_compressed_sections): New method. (Object::compressed_sections): New method. (Object::compressed_sections_): New data member. (Compressed_section_info, Compressed_section_map): Move to top of file. (Sized_relobj_file::do_section_is_compressed): Delete. (Sized_relobj_file::do_decompressed_section_contents): Delete. (Sized_relobj_file::do_discard_decompressed_sections): Delete. (Sized_relobj_file::compressed_sections_): Move to Object class. commit bd9e0d4628f1265c42516f90c4f162cefa787294 Author: Cary Coutant Date: Sat Mar 21 17:47:49 2015 -0700 Fix internal error in do_relocate_sections when using plugins. In a previous patch for PR 14675, to fix a problem with the .eh_frame section when static linking, I added a step to finalize the .eh_frame section at the end of the first link pass. This patch caused PR 18152, where a plugin-claimed object caused a non-claimed object's layout to be deferred until replacement files were read. The call to finalize_eh_frame_section() is happening before the layout of the deferred objects, leading to the internal error in do_relocate_sections. This patch moves the finalization of the .eh_frame section to after deferred objects have been processed. gold/ PR gold/14675 PR gold/18152 * gold.cc (queue_middle_tasks): Finalize .eh_frame after laying out deferred objects. commit 71883406817425ea853f6a0dd7847f3e0a17dfc9 Author: GDB Administrator Date: Sun Mar 22 00:00:08 2015 +0000 Automatic date update in version.in commit b1a0f704950296b2363192ba91999eef3635700f Author: Eli Zaretskii Date: Sat Mar 21 10:48:34 2015 +0200 Fix undefined behavior in TUI's TAB expansion gdb/ChangeLog: * tui/tui-io.c (tui_expand_tabs): Reinitialize the column counter before the second loop, to avoid undefined behavior. Reported by Anton Blanchard . commit 5da7e675cd2acbbe2d2a614b17eeb2d02b5d331f Author: GDB Administrator Date: Sat Mar 21 00:00:07 2015 +0000 Automatic date update in version.in commit d9823cbb391e015f79687f4d17d7f9a32d27b5eb Author: Keven Boell Date: Fri Mar 20 17:45:20 2015 -0400 [gdb/DWARF] Introduce linked list for dynamic attributes This patch introduces a linked list for dynamic attributes of a type. This is a pre-work for the Fortran dynamic array support. The Fortran dynamic array support will add more dynamic attributes to a type. As only a few types will have such dynamic attributes set, a linked list is more efficient in terms of memory consumption than adding multiple attributes to main_type. gdb/ChangeLog: * gdbtypes.c (resolve_dynamic_type_internal): Adapt data_location usage to linked list. (resolve_dynamic_type_internal): Adapt data_location to linked list. (get_dyn_prop, add_dyn_prop, copy_dynamic_prop_list): New function. (copy_type_recursive, copy_type): Add copy of linked list. * gdbtypes.h (enum dynamic_prop_node_kind): New enum. (struct dynamic_prop_list): New struct. * dwarf2read.c (set_die_type): Set data_location data. commit 2e7bf1d7210ee79b93ba9ce4462e22e71097a102 Author: Pedro Alves Date: Mon Mar 9 11:58:23 2015 +0000 constify i386-sol2-tdep.c and machoread.c /home/pedro/gdb/mygit/src/gdb/i386-sol2-tdep.c: In function ‘const char* i386_sol2_static_transform_name(const char*)’: /home/pedro/gdb/mygit/src/gdb/i386-sol2-tdep.c:93:29: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] p = strrchr (name, '.'); ^ gdb: 2015-03-20 Pedro Alves * i386-sol2-tdep.c (i386_sol2_static_transform_name): Move "p" to inner block and make it const. * machoread.c (get_archive_prefix_len): Make "lparen" const. commit 7a26bd4d83e5549137943de5f2c7b1ae90821093 Author: Pedro Alves Date: Mon Mar 9 11:58:21 2015 +0000 constify set_breakpoint_condition gdb: 2015-03-20 Pedro Alves * breakpoint.c (set_breakpoint_condition): Make argument "exp" const. * breakpoint.h (set_breakpoint_condition): Update declaration. commit cd46431bbd2f1dd90fbedee9a3bdbff705238c1b Author: Pedro Alves Date: Mon Mar 9 11:58:20 2015 +0000 constify tui/tui-io.c gdb: 2015-03-20 Pedro Alves * tui/tui-io.c (tui_expand_tabs): Make "s1" const. commit e28566f7d022e672bc7032d4951112359ad66d77 Author: Pedro Alves Date: Mon Mar 9 11:58:20 2015 +0000 constify xcoffread.c /home/pedro/gdb/mygit/src/gdb/xcoffread.c: In function ‘void scan_xcoff_symtab(objfile*)’: /home/pedro/gdb/mygit/src/gdb/xcoffread.c:2644:33: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] p = strchr (namestring, ':'); ^ gdb: 2015-03-20 Pedro Alves * xcoffread.c (scan_xcoff_symtab): Make "p" and "q" const. commit f6fc92f6711049c0d51cfe7027aa58255ae739b4 Author: Pedro Alves Date: Mon Mar 9 11:58:19 2015 +0000 constify remote-m32r-sdi.c gdb: 2015-03-20 Pedro Alves * remote-m32r-sdi.c (m32r_open): Make "port_str" const. commit c32ed3ef8084f209c8ce2e9e0fecc91560245373 Author: Pedro Alves Date: Mon Mar 9 11:58:14 2015 +0000 constify nto-tdep.c /home/pedro/gdb/mygit/src/gdb/nto-tdep.c: In function ‘int nto_find_and_open_solib(char*, unsigned int, char**)’: /home/pedro/gdb/mygit/src/gdb/nto-tdep.c:111:14: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] endian = gdbarch_byte_order (target_gdbarch ()) ^ /home/pedro/gdb/mygit/src/gdb/nto-tdep.c: In function ‘void nto_init_solib_absolute_prefix()’: /home/pedro/gdb/mygit/src/gdb/nto-tdep.c:170:14: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] endian = gdbarch_byte_order (target_gdbarch ()) ^ gdb 2015-03-20 Pedro Alves * nto-tdep.c (nto_find_and_open_solib): Make "endian" const. (nto_init_solib_absolute_prefix): Likewise. commit eef49a3d1a7e2ff70e142c7c7fd748f4625c05c9 Author: Pedro Alves Date: Mon Mar 9 11:58:09 2015 +0000 constify gdbserver/tracepoint.c gdb/gdbserver/tracepoint.c:3647:7: error: invalid conversion from 'const char*' to 'char*' [-fpermissive] gdb/gdbserver/tracepoint.c:3652:7: error: invalid conversion from 'const char*' to 'char*' [-fpermissive] gdb/gdbserver/tracepoint.c:3657:7: error: invalid conversion from 'const char*' to 'char*' [-fpermissive] gdb/gdbserver 2015-03-20 Pedro Alves * tracepoint.c (cmd_qtstatus): Make "str" const. commit b2333d22e0ead2d6f354c69760b6c6e0db161f02 Author: Pedro Alves Date: Mon Mar 9 11:58:08 2015 +0000 constify gdbserver/server.c gdb/gdbserver/ 2015-03-20 Pedro Alves * server.c (handle_general_set): Make "req_str" const. commit 53e780858180511b194438c87d2f3a1c68804f06 Author: Pedro Alves Date: Mon Mar 9 11:58:17 2015 +0000 constify sparc-sol2-tdep.c and spu-tdep.c /home/pedro/gdb/mygit/src/gdb/sparc-sol2-tdep.c: In function ‘const char* sparc_sol2_static_transform_name(const char*)’: /home/pedro/gdb/mygit/src/gdb/sparc-sol2-tdep.c:247:35: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] char *p = strrchr (name, '.'); ^ gdb: 2015-03-20 Pedro Alves * sparc-sol2-tdep.c (sparc_sol2_static_transform_name): Make "p" const. * spu-tdep.c (spu_gdbarch_init): Make "name" const. commit bc23328cc108d8805f1d234b86e5a6b76d4a80d5 Author: Jan Kratochvil Date: Fri Mar 20 17:15:15 2015 +0100 Remove gdb.hp gdb/ChangeLog 2015-03-20 Jan Kratochvil * config/djgpp/README: Remove gdb.hp. gdb/testsuite/ChangeLog 2015-03-20 Jan Kratochvil * Makefile.in (ALL_SUBDIRS): Remove gdb.hp. * README: Remove HP-UX and gdb.hp. (configuration): * configure: Regenerate. * configure.ac (AC_OUTPUT): Remove gdb.hp/Makefile, gdb.hp/gdb.objdbg/Makefile, gdb.hp/gdb.base-hp/Makefile, gdb.hp/gdb.aCC/Makefile, gdb.hp/gdb.compat/Makefile, gdb.hp/gdb.defects/Makefile. * gdb.hp/Makefile.in: File deleted. * gdb.hp/gdb.aCC/Makefile.in: File deleted. * gdb.hp/gdb.aCC/optimize.c: File deleted. * gdb.hp/gdb.aCC/optimize.exp: File deleted. * gdb.hp/gdb.aCC/run.c: File deleted. * gdb.hp/gdb.aCC/watch-cmd.exp: File deleted. * gdb.hp/gdb.base-hp/Makefile.in: File deleted. * gdb.hp/gdb.base-hp/callfwmall.c: File deleted. * gdb.hp/gdb.base-hp/callfwmall.exp: File deleted. * gdb.hp/gdb.base-hp/dollar.c: File deleted. * gdb.hp/gdb.base-hp/dollar.exp: File deleted. * gdb.hp/gdb.base-hp/genso-thresh.c: File deleted. * gdb.hp/gdb.base-hp/hwwatchbus.c: File deleted. * gdb.hp/gdb.base-hp/hwwatchbus.exp: File deleted. * gdb.hp/gdb.base-hp/pxdb.c: File deleted. * gdb.hp/gdb.base-hp/pxdb.exp: File deleted. * gdb.hp/gdb.base-hp/reg-pa64.exp: File deleted. * gdb.hp/gdb.base-hp/reg-pa64.s: File deleted. * gdb.hp/gdb.base-hp/reg.exp: File deleted. * gdb.hp/gdb.base-hp/reg.s: File deleted. * gdb.hp/gdb.base-hp/sized-enum.c: File deleted. * gdb.hp/gdb.base-hp/sized-enum.exp: File deleted. * gdb.hp/gdb.base-hp/so-thresh.exp: File deleted. * gdb.hp/gdb.base-hp/so-thresh.mk: File deleted. * gdb.hp/gdb.base-hp/so-thresh.sh: File deleted. * gdb.hp/gdb.compat/Makefile.in: File deleted. * gdb.hp/gdb.compat/average.c: File deleted. * gdb.hp/gdb.compat/sum.c: File deleted. * gdb.hp/gdb.compat/xdb.c: File deleted. * gdb.hp/gdb.compat/xdb0.c: File deleted. * gdb.hp/gdb.compat/xdb0.h: File deleted. * gdb.hp/gdb.compat/xdb1.c: File deleted. * gdb.hp/gdb.compat/xdb1.exp: File deleted. * gdb.hp/gdb.compat/xdb2.exp: File deleted. * gdb.hp/gdb.compat/xdb3.exp: File deleted. * gdb.hp/gdb.defects/Makefile.in: File deleted. * gdb.hp/gdb.defects/bs14602.c: File deleted. * gdb.hp/gdb.defects/bs14602.exp: File deleted. * gdb.hp/gdb.defects/solib-d.c: File deleted. * gdb.hp/gdb.defects/solib-d.exp: File deleted. * gdb.hp/gdb.defects/solib-d1.c: File deleted. * gdb.hp/gdb.defects/solib-d2.c: File deleted. * gdb.hp/gdb.objdbg/Makefile.in: File deleted. * gdb.hp/gdb.objdbg/objdbg01.exp: File deleted. * gdb.hp/gdb.objdbg/objdbg01/x1.cc: File deleted. * gdb.hp/gdb.objdbg/objdbg01/x2.cc: File deleted. * gdb.hp/gdb.objdbg/objdbg01/x3.cc: File deleted. * gdb.hp/gdb.objdbg/objdbg01/x3.h: File deleted. * gdb.hp/gdb.objdbg/objdbg02.exp: File deleted. * gdb.hp/gdb.objdbg/objdbg02/x1.cc: File deleted. * gdb.hp/gdb.objdbg/objdbg02/x2.cc: File deleted. * gdb.hp/gdb.objdbg/objdbg02/x3.cc: File deleted. * gdb.hp/gdb.objdbg/objdbg03.exp: File deleted. * gdb.hp/gdb.objdbg/objdbg03/x1.cc: File deleted. * gdb.hp/gdb.objdbg/objdbg03/x2.cc: File deleted. * gdb.hp/gdb.objdbg/objdbg03/x3.cc: File deleted. * gdb.hp/gdb.objdbg/objdbg04.exp: File deleted. * gdb.hp/gdb.objdbg/objdbg04/x.h: File deleted. * gdb.hp/gdb.objdbg/objdbg04/x1.cc: File deleted. * gdb.hp/gdb.objdbg/objdbg04/x2.cc: File deleted. * gdb.hp/gdb.objdbg/tools/symaddr: File deleted. * gdb.hp/gdb.objdbg/tools/symaddr.pa64: File deleted. * gdb.hp/gdb.objdbg/tools/test-objdbg.cc: File deleted. * gdb.hp/tools/odump: File deleted. commit 80b8656cbaaf09b685c2f3c9dd96f61274ed7fb7 Author: H.J. Lu Date: Fri Mar 20 04:39:04 2015 -0700 Limit multi-byte nop instructions to 10 bytes There is no performance advantage to use multi-byte nop instructions greater than 10 bytes. This patch limits multi-byte nop instructions to 10 bytes. Since there is only one way to encode multi-byte nop instructions now, it also removed redundant nop tests. gas/ * config/tc-i386.c (i386_align_code): Limit multi-byte nop instructions to 10 bytes. gas/testsuite/ * gas/i386/i386.exp: Don't run nops-1-bdver1, nops-1-bdver2, nops-1-bdver3, nops-1-bdver4, nops-1-znver1, nops-1-btver1 nops-1-btver2, x86-64-nops-1-nocona, x86-64-nops-1-bdver1, x86-64-nops-1-bdver2, x86-64-nops-1-bdver3, x86-64-nops-1-bdver4, x86-64-nops-1-znver1, x86-64-nops-1-btver1 nor x86-64-nops-1-btver2. * gas/i386/nops-1-core2.d: Updated. * gas/i386/nops-1-k8.d: Likewise. * gas/i386/nops-4a-i686.d: Likewise. * gas/i386/nops-5-i686.d: Likewise. * gas/i386/nops-5.d: Likewise. * gas/i386/nops-6.d: Likewise. * gas/i386/x86-64-nops-1-core2.d: Likewise. * gas/i386/x86-64-nops-1-g64.d: Likewise. * gas/i386/x86-64-nops-1-k8.d: Likewise. * gas/i386/x86-64-nops-1.d: Likewise. * gas/i386/x86-64-nops-2.d: Likewise. * gas/i386/x86-64-nops-3.d: Likewise. * gas/i386/x86-64-nops-4-core2.d: Likewise. * gas/i386/x86-64-nops-4-k8.d: Likewise. * gas/i386/x86-64-nops-4.d: Likewise. * gas/i386/x86-64-nops-5-k8.d: Likewise. * gas/i386/x86-64-nops-5.d: Likewise. * gas/i386/ilp32/x86-64-nops-1-core2.d: Likewise. * gas/i386/ilp32/x86-64-nops-1-k8.d: Likewise. * gas/i386/ilp32/x86-64-nops-1.d: Likewise. * gas/i386/ilp32/x86-64-nops-2.d: Likewise. * gas/i386/ilp32/x86-64-nops-3.d: Likewise. * gas/i386/ilp32/x86-64-nops-4-core2.d: Likewise. * gas/i386/ilp32/x86-64-nops-4-k8.d: Likewise. * gas/i386/ilp32/x86-64-nops-4.d: Likewise. * gas/i386/ilp32/x86-64-nops-5-k8.d: Likewise. * gas/i386/ilp32/x86-64-nops-5.d: Likewise. * gas/i386/nops-1-bdver1.d: Removed. * gas/i386/nops-1-bdver2.d: Likewise. * gas/i386/nops-1-bdver3.d: Likewise. * gas/i386/nops-1-bdver4.d: Likewise. * gas/i386/nops-1-btver1.d: Likewise. * gas/i386/nops-1-btver2.d: Likewise. * gas/i386/nops-1-znver1.d: Likewise. * gas/i386/x86-64-nops-1-bdver1.d: Likewise. * gas/i386/x86-64-nops-1-bdver2.d: Likewise. * gas/i386/x86-64-nops-1-bdver3.d: Likewise. * gas/i386/x86-64-nops-1-bdver4.d: Likewise. * gas/i386/x86-64-nops-1-btver1.d: Likewise. * gas/i386/x86-64-nops-1-btver2.d: Likewise. * gas/i386/x86-64-nops-1-nocona.d: Likewise. * gas/i386/x86-64-nops-1-znver1.d: Likewise. * gas/i386/ilp32/x86-64-nops-1-nocona.d: Likewise. commit 4819f490bd2bc88bccf636755abf3d50b7f3850f Author: Nick Clifton Date: Fri Mar 20 10:29:46 2015 +0000 Fixes implementation of hardware multiply/divide peripheral in RL78 G13 cores. * load.c (rl78_load): If the G10, G13 or G14 flag bits are set in the ELF header use them to select the proper emulation mode. * mem.c (mem_put_byte): Use mem_put_hi to store a value into the MDB register. (mem_get_byte): Use mem_get_hi to extract a value from the MDB register. commit e8ffc436d9d849eed52af64568d9f37aeaddbd9e Author: Yao Qi Date: Fri Mar 20 10:15:21 2015 +0000 Don't call set_gdbarch_cannot_step_breakpoint in aarch64_gdbarch_init Hi, I am looking at the following fails in aarch64-linux, stepi^M 47 NOP; /* after permanent bp */^M (gdb) FAIL: gdb.base/bp-permanent.exp: always_inserted=off, sw_watchpoint=0: stepi signal with handler: single-step to handler the test expects GDB single step into signal handler, but GDB doesn't. The code in infrun.c:resume /* Most targets can step a breakpoint instruction, thus executing it normally. But if this one cannot, just continue and we will hit it anyway. */ if (gdbarch_cannot_step_breakpoint (gdbarch)) step = 0; change the intended action from "step" to "continue". The gdbarch method cannot_step_breakpoint isn't documented well, and I don't get much clue after explore the history. However, from the comments above, aarch64-linux can step a breakpoint instruction, so don't need to call set_gdbarch_cannot_step_breakpoint. gdb: 2015-03-20 Yao Qi * aarch64-tdep.c (aarch64_gdbarch_init): Don't call set_gdbarch_cannot_step_breakpoint. commit d4828b9e888339533bc77a8ab7b258c4a5f6f200 Author: GDB Administrator Date: Fri Mar 20 00:00:07 2015 +0000 Automatic date update in version.in commit 23f238d3456531db33456918f004dcc5ce151363 Author: Pedro Alves Date: Thu Mar 19 15:12:33 2015 +0000 Fix race exposed by gdb.threads/killed.exp On GNU/Linux, this test sometimes FAILs like this: (gdb) run Starting program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.threads/killed [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". ptrace: No such process. (gdb) Program terminated with signal SIGKILL, Killed. The program no longer exists. FAIL: gdb.threads/killed.exp: run program to completion (timeout) Note the suspicious "No such process" line (that's errno==ESRCH). Adding debug output we see: linux_nat_wait: [process -1], [TARGET_WNOHANG] LLW: enter LNW: waitpid(-1, ...) returned 18465, ERRNO-OK LLW: waitpid 18465 received Stopped (signal) (stopped) LNW: waitpid(-1, ...) returned 18461, ERRNO-OK LLW: waitpid 18461 received Trace/breakpoint trap (stopped) LLW: Handling extended status 0x03057f LHEW: Got clone event from LWP 18461, new child is LWP 18465 LNW: waitpid(-1, ...) returned 0, ERRNO-OK RSRL: resuming stopped-resumed LWP LWP 18465 at 0x3b36af4b51: step=0 RSRL: resuming stopped-resumed LWP LWP 18461 at 0x3b36af4b51: step=0 sigchld ptrace: No such process. (gdb) linux_nat_wait: [process -1], [TARGET_WNOHANG] LLW: enter LNW: waitpid(-1, ...) returned 18465, ERRNO-OK LLW: waitpid 18465 received Killed (terminated) LLW: LWP 18465 exited. LNW: waitpid(-1, ...) returned 18461, No child processes LLW: waitpid 18461 received Killed (terminated) Process 18461 exited LNW: waitpid(-1, ...) returned -1, No child processes LLW: exit sigchld infrun: target_wait (-1, status) = infrun: 18461 [process 18461], infrun: status->kind = signalled, signal = GDB_SIGNAL_KILL infrun: TARGET_WAITKIND_SIGNALLED Program terminated with signal SIGKILL, Killed. The program no longer exists. infrun: stop_waiting FAIL: gdb.threads/killed.exp: run program to completion (timeout) The issue is that here: RSRL: resuming stopped-resumed LWP LWP 18465 at 0x3b36af4b51: step=0 RSRL: resuming stopped-resumed LWP LWP 18461 at 0x3b36af4b51: step=0 The first line shows we had just resumed LWP 18465, which does: void * child_func (void *dummy) { kill (pid, SIGKILL); exit (1); } So if the kernel manages to schedule that thread fast enough, the process may be killed before GDB has a chance to resume LWP 18461. GDBserver has code at the tail end of linux_resume_one_lwp to cope with this: ~~~ ptrace (step ? PTRACE_SINGLESTEP : PTRACE_CONT, lwpid_of (thread), (PTRACE_TYPE_ARG3) 0, /* Coerce to a uintptr_t first to avoid potential gcc warning of coercing an 8 byte integer to a 4 byte pointer. */ (PTRACE_TYPE_ARG4) (uintptr_t) signal); current_thread = saved_thread; if (errno) { /* ESRCH from ptrace either means that the thread was already running (an error) or that it is gone (a race condition). If it's gone, we will get a notification the next time we wait, so we can ignore the error. We could differentiate these two, but it's tricky without waiting; the thread still exists as a zombie, so sending it signal 0 would succeed. So just ignore ESRCH. */ if (errno == ESRCH) return; perror_with_name ("ptrace"); } ~~~ However, that's not a complete fix, because between starting to handle the resume request and getting that PTRACE_CONTINUE, we run other ptrace calls that can also fail with ESRCH, and that end up throwing an error (with perror_with_name). In the case above, I indeed sometimes see resume_stopped_resumed_lwps fail in the registers read: resume_stopped_resumed_lwps (struct lwp_info *lp, void *data) { ... CORE_ADDR pc = regcache_read_pc (regcache); Or e.g., in 32-bit mode, i386_linux_resume has several calls that can throw too. Whether to ignore ptrace errors or not depends on context that is only available somewhere up the call chain. So the fix is to let ptrace errors throw as they do today, and wrap the resume request in a TRY/CATCH that swallows it iff the lwp that we were trying to resume is no longer ptrace-stopped. gdb/gdbserver/ChangeLog: 2015-03-19 Pedro Alves * linux-low.c (linux_resume_one_lwp): Rename to ... (linux_resume_one_lwp_throw): ... this. Don't handle ESRCH here, instead call perror_with_name. (check_ptrace_stopped_lwp_gone): New function. (linux_resume_one_lwp): Reimplement as wrapper around linux_resume_one_lwp_throw that swallows errors if the LWP is gone. gdb/ChangeLog: 2015-03-19 Pedro Alves * linux-nat.c (linux_resume_one_lwp): Rename to ... (linux_resume_one_lwp_throw): ... this. Don't handle ESRCH here, instead call perror_with_name. (check_ptrace_stopped_lwp_gone): New function. (linux_resume_one_lwp): Reimplement as wrapper around linux_resume_one_lwp_throw that swallows errors if the LWP is gone. (resume_stopped_resumed_lwps): Try register reads in TRY/CATCH and swallows errors if the LWP is gone. Use linux_resume_one_lwp_throw instead of linux_resume_one_lwp. commit 7d1551f618db01514123433d358ae732d47ad629 Author: Pedro Alves Date: Thu Mar 19 17:00:55 2015 +0000 Remove spurious gdb/ChangeLog entry My last change added the same entry to both gdbserver's and gdb's ChangeLogs by mistake... Should have gone to gdbserver's only. commit 91baf43fa70827325272667c8e7a86c553c767dc Author: Pedro Alves Date: Thu Mar 19 16:51:09 2015 +0000 gdbserver/Linux: unbreak non-stop The previous change added an assertion that is catching yet another bug in count_events_callback/select_event_lwp_callback: (gdb) PASS: gdb.mi/mi-nonstop.exp: interrupted mi_expect_interrupt: expecting: \*stopped,(reason="signal-received",signal-name="0",signal-meaning="Signal 0"|reason="signal-received",signal-name="SIGINT",signal-meaning="Interrupt")[^ ]* /home/pedro/gdb/mygit/src/gdb/gdbserver/linux-low.c:2329: A problem internal to GDBserver has been detected. select_event_lwp: Assertion `num_events > 0' failed. =thread-group-exited,id="i1" Certainly select_event_lwp_callback should always at least find one event, as it's only called because an event triggered (though we may have more than one: the point of the function is randomly picking one). An LWP that GDB previously asked to continue/step (thus is resumed) and gets a vCont;t request ends up with last_resume_kind == resume_stop. These functions in gdbserver used to filter out events that weren't going to be reported to GDB; I think the last_resume_kind kind check used to make sense at that point, but it no longer does. gdb/gdbserver/ChangeLog: 2015-03-19 Pedro Alves * linux-low.c (count_events_callback, select_event_lwp_callback): No longer check whether the thread has resume_stop as last resume kind. commit 1740ba0cec44bdfe9cba586892a5953a4c602228 Author: Nick Clifton Date: Thu Mar 19 15:37:43 2015 +0000 Add support for G13 and G14 flag bits in RL78 ELF binaries. inc * rl78.h (E_FLAG_RL78_G10): Redefine. (E_FLAG_RL78_CPU_MASK, E_FLAG_RL78_ANY_CPU, E_FLAG_RL78_G13 E_FLAG_RL78_G14): New flags. bin * readelf.c (get_machine_flags): Decode RL78's G13 and G14 flags. gas * config/tc-rl78.c (enum options): Add G13 and G14. (md_longopts): Add -mg13 and -mg14. (md_parse_option): Handle -mg13 and -mg14. (md_show_usage): List -mg13 and -mg14. * doc/c-rl78.texi: Add description of -mg13 and -mg14 options. bfd * elf32-rl78.c (rl78_cpu_name): New function. Prints the name of the RL78 core based upon the flags. (rl78_elf_merge_private_bfd_data): Handle merging of G13 and G14 flags. (rl78_elf_print_private_bfd_data): Use rl78_cpu_name. (elf32_rl78_machine): Always return bfd_mach_rl78. commit 8bf3b159e55b42bb084f9da1af400a285025618f Author: Pedro Alves Date: Sun Mar 15 19:35:26 2015 +0000 gdbserver/Linux: unbreak thread event randomization Wanting to make sure the new continue-pending-status.exp test tests both cases of threads 2 and 3 reporting an event, I added counters to the test, to make it FAIL if events for both threads aren't seen. Assuming a well behaved backend, and given a reasonable number of iterations, it should PASS. However, running that against GNU/Linux gdbserver, I found that surprisingly, that FAILed. GDBserver always reported the breakpoint hit for the same thread. Turns out that I broke gdbserver's thread event randomization recently, with git commit 582511be ([gdbserver] linux-low.c: better starvation avoidance, handle non-stop mode too). In that commit I missed that the thread structure also has a status_pending_p field... The end result was that count_events_callback always returns 0, and then if no thread is stepping, select_event_lwp always returns the event thread. IOW, no randomization is happening at all. Quite curious how all the other changes in that patch were sufficient to fix non-stop-fair-events.exp anyway even with that broken. Tested on x86_64 Fedora 20, native and gdbserver. gdb/gdbserver/ChangeLog: 2015-03-19 Pedro Alves * linux-low.c (count_events_callback, select_event_lwp_callback): Use the lwp's status_pending_p field, not the thread's. gdb/testsuite/ChangeLog: 2015-03-19 Pedro Alves * gdb.threads/continue-pending-status.exp (saw_thread_2) (saw_thread_3): New globals. (top level): Increment them when an event for the corresponding thread is seen. (no thread starvation): New test. commit eb54c8bf087f434b0cb91b35e7cde68a69ac9193 Author: Pedro Alves Date: Thu Mar 19 12:20:25 2015 +0000 native/Linux: internal error if resume is short-circuited If the linux_nat_resume's short-circuits the resume because the current thread has a pending status, and, a thread with a higher number was previously stopped for a breakpoint, GDB internal errors, like: /home/pedro/gdb/mygit/src/gdb/linux-nat.c:2590: internal-error: status_callback: Assertion `lp->status != 0' failed. Fix this by make status_callback bail out earlier. GDBserver is already doing the same. New test added that exercises this. gdb/ChangeLog: 2015-03-19 Pedro Alves * linux-nat.c (status_callback): Return early if the LWP has no status pending. gdb/testsuite/ChangeLog: 2015-03-19 Pedro Alves * gdb.threads/continue-pending-status.c: New file. * gdb.threads/continue-pending-status.exp: New file. commit b90fc18880972f0c2ed280df20604d89f1d4ec38 Author: Pedro Alves Date: Thu Mar 19 12:24:06 2015 +0000 select_event_lwp_callback: update comments This function (in both GDB and GDBserver) used to consider only SIGTRAP/breakpoint events, but that's no longer the case nowadays. gdb/gdbserver/ChangeLog: 2015-03-19 Pedro Alves * linux-low.c (select_event_lwp_callback): Update comments to no longer mention SIGTRAP. gdb/ChangeLog: 2015-03-19 Pedro Alves * linux-nat.c (select_event_lwp_callback): Update comment to no longer mention SIGTRAP. commit e2575e05e73c3b2f08a8b5f579a504ac6a45ad60 Author: Nick Clifton Date: Thu Mar 19 12:14:56 2015 +0000 Fix building and testing dwarf debug section compression feature when zlib is not available. PR gas/18087 gas/test * gas/i386/dw2-compress-1.d: Allow the test to pass regardless of whether the .debug_info section was compressed on not. bfd * compress.c (bfd_compress_section_contents): Do not define this function if it is not used. commit 590d1e9a30f9180af725673fa06ea74fe822d21b Author: GDB Administrator Date: Thu Mar 19 00:00:07 2015 +0000 Automatic date update in version.in commit 32d2e5d6404d8ebbff89408767084d7064178a4c Author: Pedro Alves Date: Wed Mar 18 19:28:08 2015 +0000 Tighten gdb.base/disp-step-syscall.exp This fixes several problems with this test. E.g,. with --target_board=native-extended-gdbserver on x86_64 Fedora 20, I get: Running /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/disp-step-syscall.exp ... FAIL: gdb.base/disp-step-syscall.exp: vfork: get hexadecimal valueof "$pc" (timeout) FAIL: gdb.base/disp-step-syscall.exp: vfork: single step over vfork final pc FAIL: gdb.base/disp-step-syscall.exp: vfork: delete break vfork insn FAIL: gdb.base/disp-step-syscall.exp: vfork: continue to marker (vfork) (the program is no longer running) And with --target=native-gdbserver, I get: Running /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/disp-step-syscall.exp ... KPASS: gdb.base/disp-step-syscall.exp: vfork: single step over vfork (PRMS server/13796) FAIL: gdb.base/disp-step-syscall.exp: vfork: get hexadecimal valueof "$pc" (timeout) FAIL: gdb.base/disp-step-syscall.exp: vfork: single step over vfork final pc FAIL: gdb.base/disp-step-syscall.exp: vfork: delete break vfork insn FAIL: gdb.base/disp-step-syscall.exp: vfork: continue to marker (vfork) (the program is no longer running) First, the lack of fork support on remote targets is supposed to be kfailed, so the KPASS is obviously bogus. The extended-remote board should have KFAILed too. The problem is that the test is using "is_remote" instead of gdb_is_target_remote. And then, I get: (gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: set displaced-stepping on stepi Program terminated with signal SIGSEGV, Segmentation fault. The program no longer exists. (gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: single step over vfork Obviously, that should be a FAIL. The problem is that the test only expects SIGILL, not SIGSEGV. It also doesn't bail correctly if an internal error or some other pattern caught by gdb_test_multiple matches. The test doesn't really need to match specific exits/crashes patterns, if the PASS regex is improved, like in ... ... this and the other "stepi" tests are a bit too lax, passing on ".*". This tightens those up to expect "x/i" and the "=>" current PC indicator, like in: 1: x/i $pc => 0x3b36abc9e2 : syscall On x86_64 Fedora 20, I now get a quick KFAIL instead of timeouts with both the native-extended-gdbserver and native-gdbserver boards: PASS: gdb.base/disp-step-syscall.exp: vfork: delete break vfork PASS: gdb.base/disp-step-syscall.exp: vfork: continue to syscall insn vfork PASS: gdb.base/disp-step-syscall.exp: vfork: set displaced-stepping on KFAIL: gdb.base/disp-step-syscall.exp: vfork: single step over vfork (PRMS: server/13796) and a full pass with native testing. gdb/testsuite/ 2015-03-18 Pedro Alves * gdb.base/disp-step-syscall.exp (disp_step_cross_syscall): Use gdb_is_target_remote instead of is_remote. Use gdb_test_multiple instead of gdb_expect. Exit early if gdb_test_multiple hits its internal matches. Tighten stepi tests expected output. Fail on exit with any signal, instead of just SIGILL. commit 0b0732e13a9a40c9e894cc6aed1e899cff81251e Author: H.J. Lu Date: Wed Mar 18 11:20:06 2015 -0700 Make bfd_compress_section_contents static * compress.c (bfd_compress_section_contents): Make it static. * bfd/bfd-in2.h: Regenerated. commit d94077e27d279c4ff0ee26bad786f89c350e2aea Author: H.J. Lu Date: Wed Mar 18 09:20:38 2015 -0700 Add a testcase for PR gas/18087 PR gas/18087 * gas/i386/dw2-compress-1.d: Revert the last change. * gas/i386/dw2-compress-3.d: New. * gas/i386/dw2-compress-3.s: Likewise. * gas/i386/i386.exp: Run dw2-compress-3 for ELF targets. commit 27aaeda0cdf9f69625b96e3abdb25c8fdbbb3435 Author: Nick Clifton Date: Wed Mar 18 16:19:59 2015 +0000 Fixes a problem generating relocs for import libraries created by Microsoft tools for the x85_64 architecture. PR ld/16598 * peicode.h (pe_ILF_build_a_bfd): Add support for creating relocs suitable for the AMD64. commit 273a49858fa9c8d73de87167618ef99d70f9731a Author: Jon Turney Date: Wed Mar 18 15:47:13 2015 +0000 Fix debug section compression so that it is only performed if it would make the section smaller. PR binutils/18087 gas * doc/as.texinfo: Note that when gas compresses debug sections the compression is only performed if it makes the section smaller. * write.c (compress_debug): Do not compress a debug section if doing so would make it larger. tests * gas/i386/dw2-compress-1.d: Do not expect the .debug_abbrev or .debug_info sections to be compressed. binu * doc/binutils.texi: Note that when objcopy compresses debug sections the compression is only performed if it makes the section smaller. bfd * coffgen.c (make_a_section_from_file): Only prepend a z to a debug section's name if the section was actually compressed. * elf.c (_bfd_elf_make_section_from_shdr): Likewise. * compress.c (bfd_init_section_compress_status): Do not compress the section if doing so would make it bigger. In such cases leave the section alone and return COMPRESS_SECTION_NONE. commit 670f82d437c21ec9c8f59a365336163e0381149d Author: Tristan Gingold Date: Thu Mar 5 14:36:32 2015 +0100 Fix amd64 windows unwinding issues within MS dlls. Unwind info in system dlls uses almost all possible codes, contrary to unwind info generated by gcc. A few issues have been discovered: incorrect handling of SAVE_NONVOL opcodes and incorrect in prologue range checks. Furthermore I added comments not to forget what has been investigated. gdb/ChangeLog: * amd64-windows-tdep.c (amd64_windows_find_unwind_info): Move redirection code to ... (amd64_windows_frame_decode_insns): ... Here. Fix in prologue checks. Fix SAVE_NONVOL operations. Add debug code and comments. commit 464b0089f0068838a014a8fa27ea2eef536ebada Author: Gary Benson Date: Wed Mar 18 11:19:02 2015 +0000 Reimplement "vFile:fstat" without qSupported This commit makes support for the "vFile:fstat" packet be detected by probing rather than using qSupported, for consistency with the other vFile: packets. gdb/ChangeLog: (remote_protocol_features): Remove the "vFile:fstat" feature. (remote_hostio_fstat): Probe for "vFile:fstat" support. gdb/doc/ChangeLog: * gdb.texinfo (General Query Packets): Remove documentation for now-removed vFile:fstat qSupported features. gdb/gdbserver/ChangeLog: * server.c (handle_query): Do not report vFile:fstat as supported. commit f68f11b76de09dcb0d399814127fbf5227fe8245 Author: Yao Qi Date: Wed Mar 18 10:47:45 2015 +0000 Support catch syscall on aarch64 linux Hi, This patch is to support catch syscall on aarch64 linux. We implement gdbarch method get_syscall_number for aarch64-linux, and add aarch64-linux.xml file, which looks straightforward, however the changes to test case doesn't. First of all, we enable catch-syscall.exp on aarch64-linux target, but skip the multi_arch testing on current stage. I plan to touch multi arch debugging on aarch64-linux later. Then, when I run catch-syscall.exp on aarch64-linux, gcc errors that SYS_pipe isn't defined. We find that aarch64 kernel only has pipe2 syscall and libc already convert pipe to pipe2. As a result, I change catch-syscall.c to use SYS_pipe if it is defined, otherwise use SYS_pipe2 instead. The vector all_syscalls in catch-syscall.exp can't be pre-determined, so I add a new proc setup_all_syscalls to fill it, according to the availability of SYS_pipe. Regression tested on {x86_64, aarch64}-linux x {native, gdbserver}. gdb: 2015-03-18 Yao Qi PR tdep/18107 * aarch64-linux-tdep.c: Include xml-syscall.h (aarch64_linux_get_syscall_number): New function. (aarch64_linux_init_abi): Call set_gdbarch_get_syscall_number. * syscalls/aarch64-linux.xml: New file. gdb/testsuite: 2015-03-18 Yao Qi PR tdep/18107 * gdb.base/catch-syscall.c [!SYS_pipe] (pipe2_syscall): New variable. * gdb.base/catch-syscall.exp: Don't skip it on aarch64*-*-linux* target. Remove elements in all_syscalls. (test_catch_syscall_multi_arch): Skip it on aarch64*-linux* target. (setup_all_syscalls): New proc. commit b3862264bc6009a993685ee5e9dd2879a503e36a Author: Chen Gang Date: Wed Mar 18 11:42:19 2015 +1030 Use %F instead of %X for einfo When src or dst is NULL, the next fread or fwrite will cause a segmentation fault, so we need to treat it as fatal. * ldmain.c (main): Use %F instead of %X for einfo. commit 091021faaa699c11dd50d9ff56d8713953666f65 Author: H.J. Lu Date: Tue Mar 17 17:05:38 2015 -0700 Exclude target-zlib if target-libjava isn't built * configure.ac (target_configdirs): Exclude target-zlib if target-libjava isn't built. * configure: Regenerated. commit 1757d5e7cf1ce94a2351f2a32d84a5883f50c8b9 Author: H.J. Lu Date: Tue Mar 17 17:01:54 2015 -0700 Revert "Disable all target libraries if not building gcc" This reverts commit 35fece71d50e1883e67fcd28c69245de4335b8b5. commit 641754af2b76770f96d13ea2bce6b2804bb4f777 Author: GDB Administrator Date: Wed Mar 18 00:00:08 2015 +0000 Automatic date update in version.in commit b9f9ea2f5dd6112e56b69f1cd9271c10b3b14ed8 Author: Jiri Gaisler Date: Tue Mar 17 22:02:39 2015 +0100 sim/erc32: Removed type mismatch compiler warnings commit 638fcdad6a0de44f6c91b503280207fc1f34ff9e Author: Jiri Gaisler Date: Tue Mar 17 22:02:38 2015 +0100 sim/erc32: Added -v command line switch for verbose output commit 029f3522619e8b77a7b848be23f4c13e50087d8b Author: Ganesh Gopalasubramanian Date: Tue Mar 17 21:49:15 2015 +0530 Add znver1 processor commit 393bd0c06b64ff6076f28053cbd2fce352023c70 Author: Yurij Grechishhev Date: Tue Mar 17 10:11:20 2015 -0400 Fix name of ser_base_setstopbits's second argument. Small copy/paste error, most likely... gdb/ChangeLog: * ser-base.h (ser_base_setstopbits): Change second argument name from "rate" to "num". commit 5df8a8fcf1cdd7896b38f27e65938a8fc89ec2bc Author: H.J. Lu Date: Tue Mar 17 05:15:34 2015 -0700 Sync config-ml.in with GCC trunk Sync with GCC 2014-06-13 Thomas Schwinge * config-ml.in: Robustify ac_configure_args parsing. commit 7f3647e2ba4517be59ce531ec2297918b998fe3e Author: Gary Benson Date: Tue Mar 17 11:26:09 2015 +0000 Remove forward declaration of struct stat Forward declarations of struct stat break the Windows build. This commit removes a forward declaration of struct stat and includes sys/stat.h directly instead. gdb/ChangeLog: PR gdb/18131 * common/common-remote-fileio.h (sys/stat.h): New include. (stuct stat): Remove forward declaration. commit c4b0b099b884e73d883f2b8c3ea8ffc9dc678902 Author: Alan Modra Date: Tue Mar 17 10:16:51 2015 +1030 Fix elf64-ppc.c electric fence warning * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return count of 0 on nothing to do, before malloc of returned symbol array. commit 4d22acce0790d8a6f2457aaef99674790ca853e7 Author: GDB Administrator Date: Tue Mar 17 00:00:08 2015 +0000 Automatic date update in version.in commit ca5fd19bfb2a41fae7696d67d1f4dce5d5a9053a Author: Yao Qi Date: Fri Mar 13 10:56:01 2015 +0000 watchpoint-reuse-slot.exp: skip setting HW breakpoints on some address We see some fails in watchpoint-reuse-slot.exp on aarch64-linux, because it sets some HW breakpoint on some address doesn't meet the alignment requirements by kernel, kernel will reject the ptrace (PTRACE_SETHBPREGS) call, and some fails are caused, for example: (gdb) PASS: gdb.base/watchpoint-reuse-slot.exp: always-inserted off: watch x hbreak: : width 1, iter 0: base + 0: delete $bpnum hbreak *(buf.byte + 0 + 1)^M Hardware assisted breakpoint 80 at 0x410a61^M (gdb) PASS: gdb.base/watchpoint-reuse-slot.exp: always-inserted off: watch x hbreak: : width 1, iter 0: base + 1: hbreak *(buf.byte + 0 + 1) stepi^M Warning:^M Cannot insert hardware breakpoint 80.^M Could not insert hardware breakpoints:^M You may have requested too many hardware breakpoints/watchpoints.^M ^M (gdb) FAIL: gdb.base/watchpoint-reuse-slot.exp: always-inserted off: watch x hbreak: : width 1, iter 0: base + 1: stepi advanced hbreak *(buf.byte + 0 + 1)^M Hardware assisted breakpoint 440 at 0x410a61^M Warning:^M Cannot insert hardware breakpoint 440.^M Could not insert hardware breakpoints:^M You may have requested too many hardware breakpoints/watchpoints.^M ^M (gdb) FAIL: gdb.base/watchpoint-reuse-slot.exp: always-inserted on: watch x hbreak: : width 1, iter 0: base + 1: hbreak *(buf.byte + 0 + 1) This patch is to skip some tests by checking proc valid_addr_p. We can handle other targets in valid_addr_p too. gdb/testsuite: 2015-03-16 Yao Qi * gdb.base/watchpoint-reuse-slot.exp (valid_addr_p): New proc. (top level): Skip tests if valid_addr_p returns false for $cmd1 or $cmd2. commit 1b6c08316381961223fc3e1f9e3ba0547a53cce1 Author: H.J. Lu Date: Mon Mar 16 09:12:37 2015 -0700 Update top-level files from GCC trunk * Makefile.def: Updated from GCC trunk. * Makefile.tpl: Likewise. * configure.ac: Likewise. * Makefile.in: Regenerated. * configure: Likewise. commit d9a4c83b863d32a86f82ff0c4d3c99d639cc52c5 Author: H.J. Lu Date: Mon Mar 16 08:51:37 2015 -0700 Sync isl.m4 with GCC tree * isl.m4: Sync with GCC tree. commit 51f374927b3e417179af92a9be91a0f6c99b8173 Author: H.J. Lu Date: Mon Mar 16 08:49:06 2015 -0700 Sync elf.m4 with GCC tree Sync with GCC 2015-02-18 Thomas Schwinge * elf.m4 (ACX_ELF_TARGET_IFELSE): nvptx-*-none isn't ELF. commit bd51a4d5570d3e1dd9aae1e45db6ae087f2b645d Author: H.J. Lu Date: Mon Mar 16 08:44:41 2015 -0700 Append -g -Os rather than overwriting Sync with GCC 2014-11-17 Bob Dunlop * mt-ospace (CFLAGS_FOR_TARGET): Append -g -Os rather than overwriting. (CXXFLAGS_FOR_TARGET): Similarly. commit b2121c33506a592a25c174b171e24e09af885bee Author: H.J. Lu Date: Mon Mar 16 08:41:42 2015 -0700 Don't reset CXXFLAGS_FOR_TARGET Sync with GCC 2014-04-25 Marc Glisse PR target/43538 * mt-gnu: Don't reset CXXFLAGS_FOR_TARGET. commit 8869a24691490e5cb47045c1d732a27ea8408a2e Author: H.J. Lu Date: Mon Mar 16 08:34:23 2015 -0700 Sync bootstrap-asan.mk/bootstrap-lto.mk with GCC tree * bootstrap-asan.mk: Sync with GCC tree. * bootstrap-lto.mk: Likewise. commit 100d311943b10e9dba1685fbc95f08b9d7226ee9 Author: H.J. Lu Date: Mon Mar 16 08:31:47 2015 -0700 Remove cloog.m4 * cloog.m4: Removed. commit 35fece71d50e1883e67fcd28c69245de4335b8b5 Author: H.J. Lu Date: Mon Mar 16 08:12:46 2015 -0700 Disable all target libraries if not building gcc Don't build target libraries if not building gcc. * configure.ac (target_configdirs): Unset if not building gcc. * configure: Regenerated. commit 3ce5b6e25ca2389c545282204b96064c00a13fab Author: John Baldwin Date: Sat Mar 14 13:47:20 2015 -0400 Fetch all registers before writing the core register notes. Without this, not all registers were present in the core generated by gcore. For example, running 'gcore' on a program without examining the vector registers (SSE or AVX) would store all the vector registers as zeros because they were not pulled into the regcache. Running 'info vector' before 'gcore' would store the correct values in the core since it populated the regcache. For Linux processes, a similar operation is achieved by having the thread iterator callback invoke target_fetch_registers on each thread before its corresponding register notes are dumped. gdb/ChangeLog: * fbsd-tdep.c (fbsd_make_corefile_notes): Fetch all target registers before writing core register notes. commit d053f6be557fa3bedd4ccbd969103dbb51a37439 Author: Yuanhui Zhang Date: Mon Mar 16 11:28:24 2015 +0000 stub termcap, add extern "C" Fixes linking an --enable-build-with-cxx build on mingw: ../readline/terminal.c:278: undefined reference to `tgetnum' ../readline/terminal.c:297: undefined reference to `tgetnum' ../readline/libreadline.a(terminal.o): In function `get_term_capabilities': ../readline/terminal.c:427: undefined reference to `tgetstr' ../readline/libreadline.a(terminal.o): In function `_rl_init_terminal_io': [etc.] gdb/ChangeLog: 2015-03-16 Yuanhui Zhang Pedro Alves * gdb_curses.h (tgetnum): Mark with EXTERN_C. * stub-termcap.c (tgetent, tgetnum, tgetflag, tgetstr, tputs) (tgoto): Wrap with extern "C". commit b1a921c8c6f9e3d033629f32473c6470c360b43f Author: Pedro Alves Date: Mon Mar 16 11:28:23 2015 +0000 stub-termcap.c: prototype tputs's parameter's parameter, for C++ mode src/gdb/stub-termcap.c: In function 'int tputs(char*, int, int (*)())': src/gdb/stub-termcap.c:67:22: error: too many arguments to function outfun (*string++); ^ gdb/ChangeLog: 2015-03-16 Pedro Alves Yuanhui Zhang * stub-termcap.c (tputs): Change prototype. commit 876d1cd7b5899e7927e298a7f7344a0da48425a9 Author: Yuanhui Zhang Date: Mon Mar 16 11:31:31 2015 +0000 windows-nat.c: conflicting declaration of struct thread_info in C++ mode Building mingw GDB with --enable-build-with-cxx shows: ../../binutils-gdb/gdb/windows-nat.c: At global scope: ../../binutils-gdb/gdb/windows-nat.c:192:1: error: conflicting declaration 'typedef struct thread_info_struct thread_info' thread_info; ^ In file included from ../../binutils-gdb/gdb/windows-nat.c:52:0: ../../binutils-gdb/gdb/gdbthread.h:160:8: error: 'struct thread_info' has a previous declaration as 'struct thread_info' struct thread_info ^ Simply rename the structure to avoid the conflict. gdb/ChangeLog: 2015-03-16 Yuanhui Zhang Pedro Alves * windows-nat.c (struct thread_info_struct): Rename to ... (struct windows_thread_info_struct): ... this. (thread_info): Rename to ... (windows_thread_info): ... this. All users updated. commit b57dc16f06bbe31a5dad044556d12ecda138e1c3 Author: Nick Clifton Date: Mon Mar 16 11:17:52 2015 +0000 Removes a #if 1 ... #endif accidentally left in the source code. * dwarf2dbg.c (out_header): Remove spurious #if 1. commit 9c761a554184c2ded303c4929a7023b972b2fb9f Author: Nick Clifton Date: Mon Mar 16 11:14:07 2015 +0000 Fixes a problem with the RX port trying to perform linker relaxation when -no-keep-memory has been enabled. * elf32-rx.c (elf32_rx_relax_delete_bytes): If the relocs are not stored in the elf_section_data structure then load them as necessary. commit ba14f9419d59571057d9675673bbf8b6032aa5fe Author: Mike Frysinger Date: Mon Mar 16 02:23:02 2015 -0400 sim: mcore/microblaze: strip trailing whitespace No functional changes here. commit feb703b3f4d3cb21ab50905359df7123e131a7dc Author: Mike Frysinger Date: Mon Mar 16 02:26:48 2015 -0400 sim: mcore/microblaze: clean up a bit Fix some various warnings and enable the extra warnings options. commit 6cd5ace4db98987881c71e33dcae418fd258c38d Author: Mike Frysinger Date: Mon Mar 16 02:13:31 2015 -0400 sim: convert some old prototypes commit ae7d0cac8ce971f7108d270c1d3f8481919b1e86 Author: Mike Frysinger Date: Sat Mar 14 23:41:25 2015 -0400 sim: rename tconfig.in to tconfig.h Rather than manually include tconfig.h when we think we'll need it (which is error prone as it can define symbols we expect from config.h), have it be included directly by config.h. Since we know we have to include that header everywhere already, this will make sure tconfig.h isn't missed. It should also be fine as tconfig.h is supposed to be simple and only set up a few core defines for the target. This allows us to stop symlinking it in place all the time and just use it straight out of the respective source directory. commit 9c5f41df36176d86afa65fc9b69b8fd6f6044547 Author: Jiri Gaisler Date: Mon Mar 16 01:14:09 2015 -0400 sim/erc32: use SIM_AC_OPTION_HOSTENDIAN to probe for host endianess commit a4f851ffab57821a4904a9a28d8503500b77200e Author: GDB Administrator Date: Mon Mar 16 00:00:08 2015 +0000 Automatic date update in version.in commit 8406bb5944940a8830b37b97584dda3208a3d07d Author: Mike Frysinger Date: Sun Mar 15 02:55:08 2015 -0400 sim: dv-sockser: push module init prototype down Pull out the duplicated dv_sockser_install prototype from the tconfig.in files and put it in the one place it gets used -- sim-module.c. This is still arguably incorrect, but it's better than the status quo where the tconfig.in has to include header files and duplicate the dv-sockser func. The tconfig header is meant to be simple and contain a target defines. commit b19839da382a4755e91d0a943b6d89d13fd74972 Author: Mike Frysinger Date: Sat Mar 14 20:54:49 2015 -0400 sim: bfin: fix signed warning Fix the type of the local var to match the function it is passed to. commit 1303206d7f8de81c685f486c857d533d5bcf827d Author: Mike Frysinger Date: Sat Mar 14 20:52:24 2015 -0400 sim: delete unused sim-inline.c rule This dates back to the start of the repo, but has never really been used. The sim-inline.c file has been checked in to the source, and attempts to build it in the build tree leads to a circular dep warning from make. It also doesn't produce a file that is usable -- it can't be compiled. Punt! commit c2cdb853dc4aa9adf98a11c506b8783ce0655f18 Author: GDB Administrator Date: Sun Mar 15 00:00:07 2015 +0000 Automatic date update in version.in commit 41cc895fc88dc6d69253fb29ad4ad85c3c851254 Author: Mike Frysinger Date: Sat Mar 14 07:46:54 2015 -0400 sim: mcore/moxie: clean up makefiles a bit Clean out stub targets and rules that get autogenerated. commit c1e768db524407c25d14fe693a931af9cb6d9ad4 Author: Mike Frysinger Date: Sat Mar 8 00:56:53 2014 -0500 sim: msp430: use common warnings options This triggers a bunch of new warnings, so fix some of them. commit 465fb143c87076b6416a8d0d5dd79bb016060fe3 Author: Mike Frysinger Date: Thu Feb 19 03:46:01 2015 -0500 sim: make nrun the default run program We want people to stop using the run.c frontend, but it's hard to notice when it's still set as the default. Lets flip things so nrun.c is the default, and users of run.c will get an error by default. We turn that error into a warning for existing sims so we don't break them -- this is mostly meant for people starting new ports. commit b9005ba76ee501a809f2657b04bb2f2590829fa3 Author: Andreas Krebbel Date: Sat Mar 14 11:45:05 2015 +0100 S/390: Disable relocation sort against code sections. When downgrading from GD to IE model we rewrite the call to __tls_get_offset to a 64 bit load instruction. This relies on the fact that the additional relocation for the call target has already been executed when doing the rewrite. f1018: e3 20 d0 00 00 04 lg %r2,0(%r13) f101e: c0 e5 00 00 00 00 brasl %r14,f101e <__res_init+0x1e> f101e: R_390_TLS_GDCALL __libc_resp f1020: R_390_PLT32DBL __tls_get_offset+0x2 0000000f1020 39f6c00000014 R_390_PLT32DBL 0000000000000000 __tls_get_offset + 2 0000000f101e 3afb700000026 R_390_TLS_GDCALL 0000000000000008 __libc_resp + 0 Due to the reloc sorting the order changed an the PLT32DBL reloc is executed after the rewrite and overwrites part of the load instruction with garbage. bfd/ 2015-03-14 Andreas Krebbel * elf-s390-common.c (elf_s390_elf_sort_relocs_p): Don't sort relocs against code sections. * elf32-s390.c: Define elf_backend_sort_relocs_p. * elf64-s390.c: Likewise. commit 5cddc23a3a0b855858e8eca93d6dd90aec00d914 Author: Mike Frysinger Date: Thu Feb 19 03:50:11 2015 -0500 sim: drop duplicate header checks The SIM_AC_COMMON macro already checks for a bunch of headers, so specific sim ports need not do it themselves. commit 0800b440df695c9ee66c9337cef384c48fe45b16 Author: Jan Kratochvil Date: Sat Mar 14 11:01:17 2015 +0100 NEWS: Remove HPUX gdb/ChangeLog 2015-03-14 Jan Kratochvil Pedro Alves * NEWS: New Removed targets and native configurations. commit 9312936603f4ed0de67aee3d1c4d714df16f995e Author: Mike Frysinger Date: Sat Mar 14 03:42:08 2015 -0400 sim: move sim-io.h to sim-assert.h Since sim-endian.c doesn't actually use sim_io funcs, it's weird to include the sim-io.h header here. It's doing so only for the assert header. So lets relocate the include to the right place. commit e94dfb0747eb8094295fb7e0a7c20162355e6bcd Author: GDB Administrator Date: Sat Mar 14 00:00:08 2015 +0000 Automatic date update in version.in commit 6914869aa73d6cd12121ed6b3e58e1564ef5575d Author: Andrew Bennett Date: Fri Mar 13 22:42:55 2015 +0000 MIPS: Fix constraint issues with the R6 beqc and bnec instructions opcodes/ * mips-opc.c (decode_mips_operand): Fix constraint issues with u and y operands. gas/testsuite/ * gas/mips/mips.exp: Added branch constraints testcase. * gas/mips/r6-branch-constraints.s: New test. * gas/mips/r6-branch-constraints.l: New test. commit 21e20815a20606a858f626e09944f29ee5ebee82 Author: Andrew Bennett Date: Fri Mar 13 22:02:16 2015 +0000 Add support for MIPS R6 evp and dvp instructions. opcodes/ * mips-opc.c (mips_builtin_opcodes): Add evp and dvp instructions. gas/testsuite/ * gas/mips/r6.s: Add evp and dvp instructions. * gas/mips/r6.d: Likewise. * gas/mips/r6-n32.d: Likewise. * gas/mips/r6-n64.d: Likewise. commit 61a12cfa7b25746914493cc0d94e5053a8492aa5 Author: Jan Kratochvil Date: Fri Mar 13 20:24:22 2015 +0100 Remove HPUX IIUC it is a pre-requisite for IPv6 support, some UNICes do not support getaddrinfo required for IPv6. But coincidentally such UNICes are no longer really supported by GDB. Therefore it was concluded we can remove all such UNICes and then we can implement IPv6 easily with getaddrinfo. In mail Re: getaddrinfo available on all GDB hosts? [Re: [PATCH v2] Add IPv6 support for remote TCP connections] Message-ID: <20140211034157.GG5485@adacore.com> https://sourceware.org/ml/gdb-patches/2014-02/msg00333.html Joel said: So I chose HP-UX first for this patch. gdb/ChangeLog 2014-10-16 Jan Kratochvil Remove HPUX. * Makefile.in (ALL_64_TARGET_OBS): Remove ia64-hpux-tdep.o. (ALL_TARGET_OBS): Remove hppa-hpux-tdep.o, solib-som.o and solib-pa64.o. (HFILES_NO_SRCDIR): Remove solib-som.h, inf-ttrace.h, solib-pa64.h and ia64-hpux-tdep.h, solib-ia64-hpux.h. (ALLDEPFILES): Remove hppa-hpux-tdep.c, hppa-hpux-nat.c, ia64-hpux-nat.c, ia64-hpux-tdep.c, somread.c and solib-som.c. * config/djgpp/fnchange.lst: Remove hppa-hpux-nat.c and hppa-hpux-tdep.c. * config/ia64/hpux.mh: Remove file. * config/pa/hpux.mh: Remove file. * configure: Rebuilt. * configure.ac (dlgetmodinfo, somread.o): Remove. * configure.host (hppa*-*-hpux*, ia64-*-hpux*): Make them obsolete. (ia64-*-hpux*): Remove its float format exception. * configure.tgt (hppa*-*-hpux*, ia64-*-hpux*): Make them obsolete. * hppa-hpux-nat.c: Remove file. * hppa-hpux-tdep.c: Remove file. * hppa-tdep.c (struct hppa_unwind_info, struct hppa_objfile_private): Move them here from hppa-tdep.h (hppa_objfile_priv_data, hppa_init_objfile_priv_data): Make it static. (hppa_frame_prev_register_helper): Remove HPPA_FLAGS_REGNUM exception. * hppa-tdep.h (struct hppa_unwind_info, struct hppa_objfile_private): Move them to hppa-tdep.c. (hppa_objfile_priv_data, hppa_init_objfile_priv_data): Remove declarations. * ia64-hpux-nat.c: Remove file. * ia64-hpux-tdep.c: Remove file. * ia64-hpux-tdep.h: Remove file. * inf-ttrace.c: Remove file. * inf-ttrace.h: Remove file. * solib-ia64-hpux.c: Remove file. * solib-ia64-hpux.h: Remove file. * solib-pa64.c: Remove file. * solib-pa64.h: Remove file. * solib-som.c: Remove file. * solib-som.h: Remove file. * somread.c: Remove file. commit 25268153a182eef28d31ed2bc03ab7c6c0ab40e3 Author: John Baldwin Date: Tue Feb 17 19:15:45 2015 -0500 Use kinfo_getvmmap on FreeBSD to enumerate memory regions. Use kinfo_getvmmap from libutil on FreeBSD to enumerate memory regions in a running process instead of /proc//map. FreeBSD systems do not mount procfs by default, but kinfo_getvmmap uses a sysctl that is always available. Skip memory regions for devices as well as regions an application has requested to not be dumped via the MAP_NOCORE flag to mmap or MADV_NOCORE advice to madvise. gdb/ChangeLog: * configure.ac: AC_CHECK_LIB(util, kinfo_getvmmap). * configure: Regenerate. * config.in: Regenerate. * fbsd-nat.c [!HAVE_KINFO_GETVMMAP] (fbsd_read_mapping): Don't define. (fbsd_find_memory_regions): Use kinfo_getvmmap to enumerate memory regions if present. commit 773eacf5b0362c755ac47cb66d15d07558d9ce20 Author: John Baldwin Date: Fri Feb 27 13:17:43 2015 -0500 Style fixes. - Do not leave operators at end-of-line. - Fix block indentation in if-else chain. gdb/ChangeLog: * amd64fbsd-tdep.c (amd64fbsd_sigtramp_p): Style fixes. * i386fbsd-tdep.c: Fix style in various gdb_static_assert expressions. (i386fbsd_sigtramp_p): Likewise. commit 4bf8c6e8986890caa482c845d2c4a0ff238c1e28 Author: Jiong Wang Date: Fri Mar 13 12:02:23 2015 +0000 [AArch64] Don't warn on XZR/SP overlapping when it's in load/store 2015-03-13 Jiong Wang gas/ * config/tc-aarch64.c (warn_unpredictable_ldst): Don't warn on reg number 31. gas/testsuite/ * gas/aarch64/diagnostic.s: New testcases. * gas/aarch64/diagnostic.l: New error match. commit bc9706f8235a917f0b534f3790e2ac9981d53e94 Author: Jiong Wang Date: Fri Mar 13 12:00:37 2015 +0000 [AArch64] Don't tail-pads sections to the alignment 2015-03-13 Jiong Wang gas/ * config/tc-aarch64.h (SUB_SEGMENT_ALIGN): Define to be zero. gas/testsuite/ * gas/aarch64/tail_padding.s: New testcase. * gas/aarch64/tail_padding.d: New expectation file. commit a1894d43936b689945b0cf2ce696904606f40c5c Author: GDB Administrator Date: Fri Mar 13 00:00:07 2015 +0000 Automatic date update in version.in commit 01b6bdb03c9286592871b3322ddbddc7b7350d03 Author: John Baldwin Date: Fri Mar 6 15:18:34 2015 -0500 Add myself as a write-after-approval GDB maintainer gdb/ChangeLog: * MAINTAINERS (Write After Approval): Add John Baldwin. commit 7ef0d2976a57c6cfde60281d67111969d7285d65 Author: Andrew Bennett Date: Thu Mar 12 16:27:46 2015 +0000 Add i6400 entry to the MIPS CPU table. gas/ * config/tc-mips.c (mips_cpu_info_table): Add i6400 entry. * doc/c-mips.texi: Document i6400 -march option. commit 93ef582debb0a179916965a882f4344223569219 Author: Nick Clifton Date: Thu Mar 12 15:58:37 2015 +0000 Fixes a problem generating relocs for thumb function calls to local symbols defined in other sections. PR gas/17444 * config/tc-arm.h (MD_APPLY_SYM_VALUE): Pass the current segment to arm_apply_sym_value. Update prototype. * config/tc-arm.c (arm_apply_sym_value): Add segment argument. Do not apply the value if the symbol is in a different segment to the current segment. commit 811a659a779fdf93293fe1105d99e9db171a8b68 Author: Gary Benson Date: Thu Mar 12 11:44:16 2015 +0000 Allow "set sysroot" with no argument to restore sysroot to empty This commit creates the "set/show sysroot" commands using add_setshow_optional_filename_cmd to allow the sysroot to be restored to empty after being set. gdb/ChangeLog: * solib.c (_initialize_solib): Make "set/show sysroot" use add_setshow_optional_filename_cmd so it can be restored to empty after being set. commit 943c8b4393ca97b6c4805c724069028be6955b89 Author: Cary Coutant Date: Wed Mar 11 22:07:51 2015 -0700 Fix gold incremental test failures. Newer version of GCC pass -z relro to the linker, but incremental linking does not support relro. This patch adds a check to complain about the conflict, and changes the testsuite to pass -z norelro to the incremental tests. 2015-03-11 Cary Coutant gold/ * options.cc (General_options::finalize): Don't allow -z relro with incremental linking. * testsuite/Makefile.am (incremental_test): Add -z norelro. (incremental_test_2): Likewise. (incremental_test_3): Likewise. (incremental_test_4): Likewise. (incremental_test_5): Likewise. (incremental_test_6): Likewise. (incremental_copy_test): Likewise. (incremental_common_test_1): Likewise. (incremental_comdat_test_1): Likewise. * testsuite/Makefile.in: Regenerate. commit 97737159383af8af7a766ad3dade8ed0d11fa6a1 Author: GDB Administrator Date: Thu Mar 12 00:00:07 2015 +0000 Automatic date update in version.in commit 10304ef3e85c6163f882757f58eb18f5178249ce Author: Sergio Durigan Junior Date: Wed Mar 11 14:12:07 2015 -0400 Create gdb/break-catch-syscall.c This commits cleans up the gdb/breakpoint.c file and moves everything that is related to the 'catch syscall' command to the new file gdb/break-catch-syscall.c. This is just code movement, and the only new part is the adjustment needed on 'catching_syscall_number' to use the new 'breakpoint_find_if' function insted of relying on the ALL_BREAKPOINTS macro. Tested by running the 'gdb.base/catch-syscall.exp' testcase. gdb/ChangeLog: 2015-03-11 Sergio Durigan Junior * Makefile.in (SFILES): New source break-catch-syscall.c. (COMMON_OBS): New object break-catch-syscall.o. * break-catch-syscall.c: New file. * breakpoint.c: Remove inclusion of "xml-syscall.h". (syscall_catchpoint_p): Move declaration to break-catch-syscall.c (struct syscall_catchpoint): Likewise. (dtor_catch_syscall): Likewise. (catch_syscall_inferior_data): Likewise. (struct catch_syscall_inferior_data): Likewise. (get_catch_syscall_inferior_data): Likewise. (catch_syscall_inferior_data_cleanup): Likewise. (insert_catch_syscall): Likewise. (remove_catch_syscall): Likewise. (breakpoint_hit_catch_syscall): Likewise. (print_it_catch_syscall): Likewise. (print_one_catch_syscall): Likewise. (print_mention_catch_syscall): Likewise. (print_recreate_catch_syscall): Likewise. (catch_syscall_breakpoint_ops): Likewise. (syscall_catchpoint_p): Likewise. (create_syscall_event_catchpoint): Likewise. (catch_syscall_split_args): Likewise. (catch_syscall_command_1): Likewise. (is_syscall_catchpoint_enabled): Likewise. (catch_syscall_enabled): Likewise. (catching_syscall_number): Likewise. (catch_syscall_completer): Likewise. (clear_syscall_counts): Likewise. (initialize_breakpoint_ops): Move initialization of syscall catchpoints to break-catch-syscall.c. (_initialize_breakpoint): Move code related to syscall catchpoints to break-catch-syscall.c. commit badd37cec86e705a190e501ab26975d352718619 Author: Sergio Durigan Junior Date: Wed Mar 11 14:09:51 2015 -0400 Implement breakpoint_find_if This commit implements the 'breakpoint_find_if' function, which allows code external to gdb/breakpoint.c to iterate through the list of 'struct breakpoint *'. This is needed in order to create the 'gdb/break-catch-syscall.c' file, because one of its functions (catching_syscall_number) needs to do this iteration. My first thought was to share the ALL_BREAKPOINTS* macros on gdb/breakpoint.h, but they use a global variable local to gdb/breakpoint.c, and I did not want to share that variable. So, in order to keep the minimal separation, I decided to implement this way of iterating through the existing 'struct breakpoint *'. This function was based on BFD's bfd_sections_find_if. If the user-provided function returns 0, the iteration proceeds. Otherwise, the iteration stops and the function returns the 'struct breakpoint *' that is being processed. This means that the return value of this function can be either NULL or a pointer to a 'struct breakpoint'. gdb/ChangeLog: 2015-03-11 Sergio Durigan Junior * breakpoint.c (breakpoint_find_if): New function. * breakpoint.h (breakpoint_find_if): New prototype. commit aa9e327f1e8552cd47cc8f4b9daa782930469e60 Author: Gary Benson Date: Wed Mar 11 17:53:57 2015 +0000 Implement vFile:fstat: in gdbserver This commit implements the "vFile:fstat:" packet in gdbserver. gdb/gdbserver/ChangeLog: * hostio.c (sys/types.h): New include. (sys/stat.h): Likewise. (common-remote-fileio.h): Likewise. (handle_fstat): New function. (handle_vFile): Handle vFile:fstat packets. * server.c (handle_query): Report vFile:fstat as supported. commit 0a93529c56714b1da3d7106d3e0300764f8bb81c Author: Gary Benson Date: Wed Mar 11 17:53:57 2015 +0000 Implement remote_bfd_iovec_stat This commit adds a new packet "vFile:fstat:" to the remote protocol that can be used by to retrieve information about files that have been previously opened using vFile:open. vFile:fstat: support is added to GDB, and remote_bfd_iovec_stat is implemented using it. If vFile:fstat: is not supported by the remote GDB creates a dummy result by zeroing the supplied stat structure and setting its st_size field to INT_MAX. This mimics GDB's previous behaviour, with the exception that GDB did not previously zero the structure so all other fields would have been returned unchanged, which is to say very likely populated with random values from the stack. gdb/ChangeLog: * remote-fileio.h (remote_fileio_to_host_stat): New declaration. * remote-fileio.c (remote_fileio_to_host_uint): New function. (remote_fileio_to_host_ulong): Likewise. (remote_fileio_to_host_mode): Likewise. (remote_fileio_to_host_time): Likewise. (remote_fileio_to_host_stat): Likewise. * remote.c (PACKET_vFile_fstat): New enum value. (remote_protocol_features): Register the "vFile:fstat" feature. (remote_hostio_fstat): New function. (remote_bfd_iovec_stat): Use the above. (_initialize_remote): Register new "set/show remote hostio-fstat-packet" command. * symfile.c (separate_debug_file_exists): Update comment. * NEWS: Announce new vFile:fstat packet. gdb/doc/ChangeLog: * gdb.texinfo (Remote Configuration): Document the "set/show remote hostio-fstat-packet" command. (General Query Packets): Document the vFile:fstat qSupported features. (Host I/O Packets): Document the vFile:fstat packet. commit 791c00567a7ccbae3d71e3b63ac43c0b555079dc Author: Gary Benson Date: Wed Mar 11 17:53:57 2015 +0000 Move remote_fileio_to_fio_stat to gdb/common This commit moves remote_fileio_to_fio_stat and its supporting functions into new files common/common-remote-fileio.[ch]. gdb/ChangeLog: * common/common-remote-fileio.h: New file. * common/common-remote-fileio.c: Likewise. * Makefile.in (SFILES): Add common/common-remote-fileio.c. (HFILES_NO_SRCDIR): Add common/common-remote-fileio.h. (COMMON_OBS): Add common-remote-fileio.o. (common-remote-fileio.o): New rule. * remote-fileio.h (common-remote-fileio.h): New include. * remote-fileio.c (gdb/fileio.h): Do not include. (remote_fileio_to_be): Moved to common-remote-fileio.h. (remote_fileio_to_fio_uint): Likewise. (remote_fileio_to_fio_time): Likewise. (remote_fileio_mode_to_target): Moved to common-remote-fileio.c. (remote_fileio_to_fio_mode): Likewise. (remote_fileio_to_fio_ulong): Likewise. (remote_fileio_to_fio_stat): Likewise. gdb/gdbserver/ChangeLog: * configure.ac (AC_CHECK_MEMBERS): Add checks for struct stat.st_blocks and struct stat.st_blksize. * configure: Regenerate. * config.in: Likewise. * Makefile.in (SFILES): Add common/common-remote-fileio.c. (OBS): Add common-remote-fileio.o. (common-remote-fileio.o): New rule. commit 1390d0efa6a03a3780541aa8100c7b52402e793d Author: Andy Wingo Date: Wed Mar 11 14:32:23 2015 +0100 Fix typo in value-dynamic-type gdb/ChangeLog: * guile/scm-value.c (gdbscm_value_dynamic_type): Fix typo in which we were checking the cached type, not the cached dynamic type. commit 84a4591a7ba0c83c165cde85898086e9a4019b0d Author: Andy Wingo Date: Wed Mar 11 14:25:29 2015 +0100 Fix memory corruption in Guile command interface Re-registering a command will delete previous commands of the same name, running the destroyer for the command object. The Guile destroyer incorrectly tried to xfree the name and other strings, which is invalid as they are on the GC heap. gdb/ChangeLog: * guile/scm-cmd.c (cmdscm_destroyer): Don't xfree the name and other strings, as these are on the GC'd heap, and will be collected along with the smob. commit 85642ba08c459bb2f9d1e7beffa1871c9a93ca66 Author: Andy Wingo Date: Wed Mar 11 14:20:06 2015 +0100 Add objfile-progspace to Guile interface This commit adds an objfile-progspace accessor to the (gdb) Guile module. gdb/testsuite/ChangeLog: * gdb.guile/scm-objfile.exp: Add objfile-progspace test. gdb/doc/ChangeLog: * guile.texi (Objfiles In Guile): Document objfile-progspace. gdb/ChangeLog: * guile/scm-objfile.c (gdbscm_objfile_progspace): New function. (objfile_functions): Bind gdbscm_objfile_progspace to objfile-progspace. * guile/lib/gdb.scm: Add objfile-progspace to exports. commit 92fab5a61707cd3b487219ea9efa0e410cde3bc4 Author: Andy Wingo Date: Wed Mar 11 13:07:53 2015 +0100 [guile] Run finalizers from GDB thread gdb/ChangeLog: * guile/guile.c (_initialize_guile): Disable automatic finalization, if Guile offers us that possibility. * guile/guile.c (call_initialize_gdb_module): * guile/scm-safe-call.c (gdbscm_with_catch): Arrange to run finalizers in appropriate places. * config.in (HAVE_GUILE_MANUAL_FINALIZATION): New definition. * configure.ac (AC_TRY_LIBGUILE): Add a check for scm_set_automatic_finalization_enabled. * configure: Regenerated. commit e03f96456f2313854efff2377134af6cbda96af8 Author: Yao Qi Date: Wed Mar 11 11:50:12 2015 +0000 Typo fix Fix typo "inferiorr". gdb/testsuite: 2015-03-11 Yao Qi * gdb.base/catch-syscall.exp: Fix typo in comments. commit 5d0962b2e982eb8210df40cc23f5a47d0339e789 Author: Yao Qi Date: Wed Mar 11 11:43:07 2015 +0000 Skip catch-syscall.exp on HP-UX target "catch syscall" doesn't work on HP-UX. gdb/testsuite: 2015-03-11 Yao Qi * gdb.base/catch-syscall.exp: Skip it on HP-UX target. commit f054145ed2bad0aa0f57b2a4c3ca6988b213d1a3 Author: Andreas Arnez Date: Wed Mar 11 11:11:45 2015 +0100 S390: Skip prologue using SAL information, if possible Instead of analyzing the prologue and possibly coming to a wrong conclusion, this change tries to skip the prologue with the use of skip_prologue_using_sal. Only if that fails, the prologue analyzer is invoked as before. gdb/ChangeLog: * s390-linux-tdep.c (s390_skip_prologue): Skip the prologue using SAL, if possible. commit 183961935e38267cf16cdcdcdfebcab07ab415d5 Author: Andreas Arnez Date: Wed Mar 11 11:11:44 2015 +0100 S390: Defer PER info update until resume For multi-threaded inferiors on S390 GNU/Linux targets, GDB tried to update the PER info via ptrace() in a newly attached thread before assuring that the thread is stopped. Depending on the timing, this could lead to a GDB internal error. The patch defers the PER info update until just before resuming the thread. gdb/ChangeLog: * s390-linux-nat.c (struct arch_lwp_info): New. (s390_fix_watch_points): Rename to... (s390_prepare_to_resume): ...this. Skip the PER info update unless the watch points have changed. (s390_refresh_per_info, s390_new_thread): New functions. (s390_insert_watchpoint): Call s390_refresh_per_info instead of s390_fix_watch_points. (s390_remove_watchpoint): Likewise. (_initialize_s390_nat): Reflect renaming of s390_fix_watch_points. Register s390_prepare_to_resume. commit f728387b9adccc88edcde44f357f869e33943c6d Author: Alan Modra Date: Wed Mar 11 17:53:50 2015 +1030 Fix powerpc gas abort on invalid instruction fixups * config/tc-ppc.c (md_assemble): Don't abort on 8 byte insn fixups. (md_apply_fix): Report an error on data-only fixups used with insns. commit 1079403cc002be65ea1c318160efc18c19965389 Author: Alan Modra Date: Wed Mar 11 17:45:37 2015 +1030 Fix ppc32 synthetic symbols when __tls_get_addr_opt stub is generated Also update the 32-bit tls testcases to be secure plt. bfd/ * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Examine stubs in reverse order. Account for larger size of __tls_get_addr_opt stub. ld/testsuite/ * ld-powerpc/tls32.s: Add GOT pointer setup. * ld-powerpc/tls32.d: Update. * ld-powerpc/tls32.g: Update. * ld-powerpc/tls32.t: Update. * ld-powerpc/tlsexe.d: Update. * ld-powerpc/tlsexe32.d: Update. * ld-powerpc/tlsexe32.g: Update. * ld-powerpc/tlsexe32.r: Update. * ld-powerpc/tlsexetoc.d: Update. * ld-powerpc/tlsso32.d: Update. * ld-powerpc/tlsso32.g: Update. * ld-powerpc/tlsso32.r: Update. commit 50a0d119891f6128b10e8e95074349cc3cfe2070 Author: Alan Modra Date: Wed Mar 11 17:49:42 2015 +1030 Run objcopy --update-section test only on ELF targets * binutils-all/update-section.exp: Only run on ELF targets. commit 796ecec4cf37e5c97191a0cc8a0c5d308467401d Author: GDB Administrator Date: Wed Mar 11 00:00:07 2015 +0000 Automatic date update in version.in commit 5656ba2c217cff434621d6caf135cbda5ae92ac4 Author: H.J. Lu Date: Tue Mar 10 06:57:14 2015 -0700 Move nothing to do warning to main PR binutils/18101 * readelf.c (parse_args): Move nothing to do warning to ... (main): Here. commit b6370efb1efe39e62abd01e95c7957834c8bdf47 Author: Nick Clifton Date: Tue Mar 10 13:44:51 2015 +0000 Fixes "readelf -s --wide" not returning an error status or help message. PR binutils/18101 * readelf.c (parse_args): Enhance check for nothing to do by accounting for the --wide option. commit cfad873011d6399aa88bc6ddcb4c93dda5dad9b0 Author: Nick Clifton Date: Tue Mar 10 13:38:24 2015 +0000 Fixes a problem with objcopy leaving temporary files and directories around if it encounters a problem during a copy. PR binutils/17636 * objcopy.c (copy_object): Avoid calling fatal as that does not allow the parent to clean up temporary files. commit 6b1d7593a5eb7e64a38acd8bfce7bc4edca09793 Author: Andreas Krebbel Date: Tue Mar 10 12:44:54 2015 +0100 S/390: Add more IBM z13 instructions opcodes/ 2015-03-10 Andreas Krebbel * s390-opc.c: Add new IBM z13 instructions. * s390-opc.txt: Likewise. gas/testsuite/ 2015-03-10 Andreas Krebbel * gas/s390/zarch-z13.d: Add more z13 instructions. * gas/s390/zarch-z13.s: Likewise. commit c683726541cb8d3ff769f803fd7fae65db5c6f5c Author: Andreas Krebbel Date: Tue Mar 10 12:41:57 2015 +0100 S/390: Add check for length field operand gas/ 2015-03-10 Andreas Krebbel * gas/config/tc-s390.c (md_gather_operands): Check for valid length field operands. commit 5e0d7f77b20d74d2866e41b72697581c39f3197b Author: Michael Perkins Date: Tue Mar 10 11:47:46 2015 +0000 Fixes a bug in the ARM port of GAS when parsing inverted register lists. * config/tc-arm.c (parse_operands): Fix bug setting writeback values for '^' on OP_REGLSTs. (do_push_pop): Add new writeback constraint. commit 4e9aaefbd0042f5372509cd51ef2791a68aa30b0 Author: Sterling Augustine Date: Tue Mar 10 11:34:50 2015 +0000 [ARM]Fix "align directive causes MAP_DATA symbol to be lost" gas/ 2015-03-10 Renlin Li * config/tc-arm.c (mapping_state): Remove first MAP_DATA emitting code. (mapping_state_2): Emit first MAP_DATA symbol here. gas/testsuite/ 2015-03-05 Renlin Li * gas/arm/dis-data.d: Adjust the desired output. * gas/arm/dis-data2.d: Ditto. commit c8f89a3423101b25e57bc8fd55b060ce2ac45a55 Author: Jiong Wang Date: Tue Mar 10 11:27:56 2015 +0000 [AARCH64] Remove Load/Store register (unscaled immediate) alias. opcodes/ChangeLog: 2015-03-10 Renlin Li * aarch64-tbl.h (aarch64_opcode_table): Remove strub, ldurb, ldursb, stur, ldur, sturh, ldurh, ldursh, ldursw, prfum F_HAS_ALIAS flag and related alias. * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Likewise. * aarch64-opc-2.c: Likewise. gas/testsuite/ChangeLog: 2015-03-10 Renlin Li * gas/aarch64/ldst-reg-uns-imm.d: Adjust expected output. * gas/aarch64/ldst-reg-unscaled-imm.d: Likewise. * gas/aarch64/reloc-insn.d: Likewise. commit a578ef7ed49b677ecb16a709f70c7349bdefb319 Author: Jiong Wang Date: Tue Mar 10 11:20:57 2015 +0000 [AArch64] Set the minimum alignment on code segments gas/ 2015-03-10 Matthew Wahab * config/tc-aarch64.c (mapping_state): Set minimum alignment for code sections. gas/testsuite 2015-03-10 Matthew Wahab * gas/aarch64/codealign.d: Add test for code section alignment. * gas/aarch64/codealign.s: New file. commit a5721eddd18f4ba11adbc9bef0c6cb49a0cb69b4 Author: Jiong Wang Date: Tue Mar 10 11:15:13 2015 +0000 [ARM] PR ld/16572: Remove EF_ARM_HASENTRY flag bfd/ 2015-03-10 Yuri Gribov PR ld/16572 * elf32-arm.c (elf32_arm_final_link_relocate): Remove support for ELF_ARM_HASENTRY. (elf32_arm_print_private_bfd_data): Likewise. binutils/ 2015-03-10 Yuri Gribov PR ld/16572 * readelf.c: Remove support for ELF_ARM_HASENTRY. include/ 2015-03-10 Matthew Wahab PR ld/16572 * elf/arm.h (EF_ARM_HASENTRY): Remove. commit 73f43896e3bfcb090552f359422857a0bedd77f6 Author: Nick Clifton Date: Tue Mar 10 10:01:45 2015 +0000 Fixes a bug building the ARM Linux kernel with a toolchain compiled with CPU_DEFAULT set. PR gas/17852 * config/tc-arm.c (md_begin): Ensure that selected_cpu is initialised when CPU_DEFAULT is defined. commit 6defcd57e9df4f61cd0c59e3d9b66b6b071af808 Author: Mike Frysinger Date: Tue Mar 10 01:41:48 2015 -0400 sim: bfin: fix up linux-fixed-code.h generation more [PR sim/13160] Add a trailing semi-colon to the sed print command as the BSD sed implementation wants it. It's a nop otherwise and works fine on GNU/etc... implementations too. commit a24582147f2c74603852e12bf312eede39f56c0d Author: GDB Administrator Date: Tue Mar 10 00:00:08 2015 +0000 Automatic date update in version.in commit b2df3cefb124e3cab3a4bf0ba2f25fe8e1d25283 Author: Pedro Alves Date: Mon Mar 9 17:47:18 2015 +0000 Delete gdb/testsuite/dg-extract-results.py Unfortunately, the Python version of the dg-extract-results.sh script doesn't produce stable-enough results for GDB. The test messages appear to end up alpha sorted (losing the original sequence) and also sorting changes between runs for some reason. That may be tolerable for GCC, but for GDB, it often renders test results diffing between different revisions unworkable. Until that is fixed upstream, delete the script from the GDB tree. testsuite/ChangeLog: 2015-03-09 Pedro Alves * dg-extract-results.py: Delete. commit ef878e5310ed154450b84cdedd4dd248c7697a2c Author: Pedro Alves Date: Mon Mar 9 17:47:17 2015 +0000 Make dg-extract-results.sh explicitly treat .{sum,log} files as text This merges Sergio's fix from GCC: https://gcc.gnu.org/ml/gcc-patches/2014-12/msg01293.html gdb/testsuite/ChangeLog: 2015-03-09 Pedro Alves Merge dg-extract-results.sh from GCC upstream (r218843). 2014-12-17 Sergio Durigan Junior * dg-extract-results.sh: Use --text with grep to avoid issues with binary files. Fall back to cat -v, if that doesn't work. commit 411b642274178fe112712b11db805e6ac9e05d71 Author: Mike Frysinger Date: Mon Mar 9 13:26:51 2015 -0400 sim: bfin: fix bug reference commit e16631979e847a6b39db3435bea7708b9f34b36d Author: Cary Coutant Date: Mon Mar 9 10:10:29 2015 -0700 Fix failure in exception_static_test. Because the __EH_FRAME_BEGIN__ symbol is provided in an empty .eh_frame section in crtbeginT.o, if crt1.o has a non-empty .eh_frame section, we place all optimized .eh_frame sections into the output section ahead of the __EH_FRAME_BEGIN__ symbol, which breaks EH for statically-linked binaries. This patch fixes the problem by delaying the attachment of the optimized .eh_frame sections to the output section until we see the end marker section (or to the end of pass 1 if we never see an end marker). gold/ PR gold/14675 * ehframe.cc (Eh_frame::add_ehframe_input_section): Change return type; return enum indicating whether .eh_frame section is empty, optimizable, unrecognized, or an end marker. Adjust explicit instantiations. * ehframe.h (Eh_frame::Eh_frame_section_disposition): New enum type. (Eh_frame::add_ehframe_input_section): Change return type. * gold.cc (queue_middle_tasks): Call Layout::finalize_eh_frame_section. * layout.cc (Layout::layout_eh_frame): Don't add optimized sections to the .eh_frame output section until we see the end marker. (Layout::finalize_eh_frame_section): New. * layout.h: (Layout::finalize_eh_frame_section): New. commit 9a9df97001814c87929826e6538762f3be07c4a4 Author: Pedro Alves Date: Mon Mar 9 11:29:56 2015 +0000 gdbserver/tracepoint: Add 'struct sockaddr_un *' -> 'struct sockaddr *' cast Fixes this in C++ mode: gdb/gdbserver/tracepoint.c: In function ‘void* gdb_agent_helper_thread(void*)’: gdb/gdbserver/tracepoint.c:7190:47: error: cannot convert ‘sockaddr_un*’ to ‘sockaddr*’ for argument ‘2’ to ‘int accept(int, sockaddr*, socklen_t*)’ fd = accept (listen_fd, &sockaddr, &tmp); gdb/gdbserver/ChangeLog: 2015-03-09 Pedro Alves * tracepoint.c (gdb_agent_helper_thread): Cast '&sockaddr' to 'struct sockaddr' pointer in 'accept' call. commit 9eb1356e381f3412f53ffe5bc68ce854330600fb Author: Pedro Alves Date: Mon Mar 9 11:27:05 2015 +0000 Revert union gdb_sockaddr_u This reverts 366c75fc. We don't actually need to access the object through "struct sockaddr *", so we don't need the union: https://sourceware.org/ml/gdb-patches/2015-03/msg00213.html gdb/ChangeLog: 2015-03-09 Pedro Alves Revert: 2015-03-07 Pedro Alves * common/gdb_socket.h: New file. * ser-tcp.c: Include gdb_socket.h. Don't include netinet/in.h nor sys/socket.h. (net_open): Use union gdb_sockaddr_u. gdb/gdbserver/ChangeLog: 2015-03-09 Pedro Alves Revert: 2015-03-07 Pedro Alves * gdbreplay.c: No longer include , , or here. Instead include "gdb_socket.h". (remote_open): Use union gdb_sockaddr_u. * remote-utils.c: No longer include , or here. Instead include "gdb_socket.h". (handle_accept_event, remote_prepare): Use union gdb_sockaddr_u. * tracepoint.c: Include "gdb_socket.h" instead of or . (init_named_socket, gdb_agent_helper_thread): Use union gdb_sockaddr_u. commit 43fa85d9a8d7aac7a70c72220abd09d39703208a Author: Mike Frysinger Date: Sun Mar 8 23:53:48 2015 -0400 sim: bfin: fix up linux-fixed-code.h generation [PR sim/10143] The use of $< ends up picking the wrong object out of the depend list. Specify the input name directly to avoid fragility. On BSD systems, we need to make sure all options come before the non-options (i.e. the files). Reported-by: Chris Johns URL: https://sourceware.org/bugzilla/show_bug.cgi?id=13160 commit ccf946cb5cea83165cf12a18dc946f39d8a8cfff Author: GDB Administrator Date: Mon Mar 9 00:00:08 2015 +0000 Automatic date update in version.in commit 3e95021c775db2c483e87033ebef3d42ff99c7e0 Author: Mike Frysinger Date: Sun Mar 8 03:24:03 2015 -0400 sim: microblaze: fix printf string Since sizeof returns a size_t, use %zu to display it. commit d1771b76856741b8743fb47dbda993f73084bdb9 Author: GDB Administrator Date: Sun Mar 8 00:00:08 2015 +0000 Automatic date update in version.in commit aac331e484bba9736f12602da3715c8f7e0f1a45 Author: Pedro Alves Date: Sat Feb 28 19:11:10 2015 +0000 Remove C-specific warnings from common warning set Whoops, these are C specific, but I somehow missed the warnings before: cc1plus: warning: command line option ‘-Wmissing-prototypes’ is valid for C/ObjC but not for C++ [enabled by default] cc1plus: warning: command line option ‘-Wdeclaration-after-statement’ is valid for C/ObjC but not for C++ [enabled by default] cc1plus: warning: command line option ‘-Wmissing-parameter-type’ is valid for C/ObjC but not for C++ [enabled by default] cc1plus: warning: command line option ‘-Wold-style-declaration’ is valid for C/ObjC but not for C++ [enabled by default] cc1plus: warning: command line option ‘-Wold-style-definition’ is valid for C/ObjC but not for C++ [enabled by default] gdb/ChangeLog: 2015-03-07 Pedro Alves * configure.ac (build_warnings): Move -Wmissing-prototypes -Wdeclaration-after-statement -Wmissing-parameter-type -Wold-style-declaration -Wold-style-definition to the C-specific set. * configure: Regenerate. gdb/gdbserver/ChangeLog: 2015-03-07 Pedro Alves * configure.ac (build_warnings): Move -Wdeclaration-after-statement to the C-specific set. * configure: Regenerate. commit 366c75fc9183e46fe151aefb40f2d55a17815cb7 Author: Pedro Alves Date: Sat Mar 7 17:30:46 2015 +0000 Fix struct sockaddr/sockaddr_in/sockaddr_un strict aliasing violations Building gdbserver in C++ mode shows: gdb/gdbserver/tracepoint.c: In function ‘void* gdb_agent_helper_thread(void*)’: gdb/gdbserver/tracepoint.c:7190:47: error: cannot convert ‘sockaddr_un*’ to ‘sockaddr*’ for argument ‘2’ to ‘int accept(int, sockaddr*, socklen_t*)’ fd = accept (listen_fd, &sockaddr, &tmp); A few places in the tree already have an explicit cast to struct sockaddr *, but that's a strict aliasing violation. Instead of propagating invalid code, fix this by using a union instead. gdb/ChangeLog: 2015-03-07 Pedro Alves * common/gdb_socket.h: New file. * ser-tcp.c: Include gdb_socket.h. Don't include netinet/in.h nor sys/socket.h. (net_open): Use union gdb_sockaddr_u. gdb/gdbserver/ChangeLog: 2015-03-07 Pedro Alves * gdbreplay.c: No longer include , , or here. Instead include "gdb_socket.h". (remote_open): Use union gdb_sockaddr_u. * remote-utils.c: No longer include , or here. Instead include "gdb_socket.h". (handle_accept_event, remote_prepare): Use union gdb_sockaddr_u. * tracepoint.c: Include "gdb_socket.h" instead of or . (init_named_socket, gdb_agent_helper_thread): Use union gdb_sockaddr_u. commit 72df25b28d68fd0b903380ceb06c6b5866eab453 Author: Pedro Alves Date: Sat Mar 7 14:50:03 2015 +0000 Make TRY/CATCH use real C++ try/catch in C++ mode Although the current TRY/CATCH implementation works in C++ mode too, it relies on setjmp/longjmp, and longjmp bypasses calling the destructors of objects on the stack, which is obviously bad for C++. This patch fixes this by makes TRY/CATCH use real try/catch in C++ mode behind the scenes. The way this is done allows RAII and cleanups to coexist while we phase out cleanups, instead of requiring a flag day. This patch is not strictly necessary until we require a C++ compiler and start actually using RAII, though I'm all for baby steps, and it shows my proposed way forward. Putting it in now, allows for easier experimentation and exposure of potential problems with real C++ exceptions. gdb/ChangeLog: 2015-03-07 Pedro Alves * common/common-exceptions.c [!__cplusplus] (enum catcher_state) (exceptions_state_mc_action_iter) (exceptions_state_mc_action_iter_1, exceptions_state_mc_catch): Don't define. [__cplusplus] (try_scope_depth): New global. [__cplusplus] (exception_try_scope_entry) (exception_try_scope_exit, gdb_exception_sliced_copy) (exception_rethrow): New functions. (throw_exception): In C++ mode, throw gdb_exception_RETURN_MASK_QUIT for RETURN_QUIT and gdb_exception_RETURN_MASK_ERROR for RETURN_ERROR. (throw_it): In C++ mode, use try_scope_depth. * common/common-exceptions.h [!__cplusplus] (exceptions_state_mc_action_iter) (exceptions_state_mc_action_iter_1, exceptions_state_mc_catch): Don't declare. [__cplusplus] (exception_try_scope_entry) (exception_try_scope_exit, exception_rethrow): Declare. [__cplusplus] (struct exception_try_scope): New struct. [__cplusplus] (TRY, CATCH, END_CATCH): Reimplement on top of real C++ exceptions. (struct gdb_exception_RETURN_MASK_ALL) (struct gdb_exception_RETURN_MASK_ERROR) (struct gdb_exception_RETURN_MASK_QUIT): New types. commit 284e6217cf8f96c7648b13274431dcf73aa084a9 Author: Pedro Alves Date: Sat Mar 7 14:50:03 2015 +0000 kill volatile struct gdb_exception After the previous patch, this is the last remaining use of a volatile struct gdb_exception. Kill it, as it's troublesome for C++: we can't assign volatile <-> non-volatile without copy constructors / assignment operators that do that, which I'd rather avoid. gdb/ChangeLog: 2015-03-07 Pedro Alves * main.c (handle_command_errors): Remove volatile qualifier from parameter. commit 6c63c96a22d216fb5d51c5d93646066d29e08ea1 Author: Pedro Alves Date: Sat Mar 7 14:50:05 2015 +0000 more making TRY/CATCH callers look more like real C++ try/catch blocks All these were caught by actually making TRY/CATCH use try/catch behind the scenes, which then resulted in the build failing (on x86_64 Fedora 20) because there was code between the try and catch blocks. gdb/ChangeLog: 2015-03-07 Pedro Alves * breakpoint.c (save_breakpoints): Adjust to avoid code between TRY and CATCH. * gdbtypes.c (safe_parse_type): Remove empty line. (types_deeply_equal): * guile/scm-frame.c (gdbscm_frame_name): * linux-thread-db.c (find_new_threads_once): * python/py-breakpoint.c (bppy_get_commands): * record-btrace.c (record_btrace_insert_breakpoint) (record_btrace_remove_breakpoint, record_btrace_start_replaying) (record_btrace_start_replaying): Adjust to avoid code between TRY and CATCH. commit 492d29ea1c9a8b2c7d5193908119a4e27c045687 Author: Pedro Alves Date: Sat Mar 7 15:14:14 2015 +0000 Split TRY_CATCH into TRY + CATCH This patch splits the TRY_CATCH macro into three, so that we go from this: ~~~ volatile gdb_exception ex; TRY_CATCH (ex, RETURN_MASK_ERROR) { } if (ex.reason < 0) { } ~~~ to this: ~~~ TRY { } CATCH (ex, RETURN_MASK_ERROR) { } END_CATCH ~~~ Thus, we'll be getting rid of the local volatile exception object, and declaring the caught exception in the catch block. This allows reimplementing TRY/CATCH in terms of C++ exceptions when building in C++ mode, while still allowing to build GDB in C mode (using setjmp/longjmp), as a transition step. TBC, after this patch, is it _not_ valid to have code between the TRY and the CATCH blocks, like: TRY { } // some code here. CATCH (ex, RETURN_MASK_ERROR) { } END_CATCH Just like it isn't valid to do that with C++'s native try/catch. By switching to creating the exception object inside the CATCH block scope, we can get rid of all the explicitly allocated volatile exception objects all over the tree, and map the CATCH block more directly to C++'s catch blocks. The majority of the TRY_CATCH -> TRY+CATCH+END_CATCH conversion was done with a script, rerun from scratch at every rebase, no manual editing involved. After the mechanical conversion, a few places needed manual intervention, to fix preexisting cases where we were using the exception object outside of the TRY_CATCH block, and cases where we were using "else" after a 'if (ex.reason) < 0)' [a CATCH after this patch]. The result was folded into this patch so that GDB still builds at each incremental step. END_CATCH is necessary for two reasons: First, because we name the exception object in the CATCH block, which requires creating a scope, which in turn must be closed somewhere. Declaring the exception variable in the initializer field of a for block, like: #define CATCH(EXCEPTION, mask) \ for (struct gdb_exception EXCEPTION; \ exceptions_state_mc_catch (&EXCEPTION, MASK); \ EXCEPTION = exception_none) would avoid needing END_CATCH, but alas, in C mode, we build with C90, which doesn't allow mixed declarations and code. Second, because when TRY/CATCH are wired to real C++ try/catch, as long as we need to handle cleanup chains, even if there's no CATCH block that wants to catch the exception, we need for stop at every frame in the unwind chain and run cleanups, then rethrow. That will be done in END_CATCH. After we require C++, we'll still need TRY/CATCH/END_CATCH until cleanups are completely phased out -- TRY/CATCH in C++ mode will save/restore the current cleanup chain, like in C mode, and END_CATCH catches otherwise uncaugh exceptions, runs cleanups and rethrows, so that C++ cleanups and exceptions can coexist. IMO, this still makes the TRY/CATCH code look a bit more like a newcomer would expect, so IMO worth it even if we weren't considering C++. gdb/ChangeLog. 2015-03-07 Pedro Alves * common/common-exceptions.c (struct catcher) : No longer a pointer to volatile exception. Now an exception value. : Delete field. (exceptions_state_mc_init): Remove all parameters. Adjust. (exceptions_state_mc): No longer pop the catcher here. (exceptions_state_mc_catch): New function. (throw_exception): Adjust. * common/common-exceptions.h (exceptions_state_mc_init): Remove all parameters. (exceptions_state_mc_catch): Declare. (TRY_CATCH): Rename to ... (TRY): ... this. Remove EXCEPTION and MASK parameters. (CATCH, END_CATCH): New. All callers adjusted. gdb/gdbserver/ChangeLog: 2015-03-07 Pedro Alves Adjust all callers of TRY_CATCH to use TRY/CATCH/END_CATCH instead. commit ece957c859c00fbea7152a2275674d7061dc468a Author: Tom Tromey Date: Sat Mar 7 14:50:04 2015 +0000 quit_force: Replace TRY_CATCH wrapper macros More preparation for running the TRY_CATCH->TRY/CATCH conversion script. gdb/ChangeLog: 2015-03-07 Tom Tromey * top.c (quit_force): Inline and delete DO_TRY, DO_PRINT_EX. commit 7556d4a4f6c3181204e9575c08c661a632cafb5d Author: Pedro Alves Date: Sat Mar 7 14:50:04 2015 +0000 Normalize TRY_CATCH exception handling block This normalizes some exception catch blocks that check for ex.reason to look like this: ~~~ volatile gdb_exception ex; TRY_CATCH (ex, RETURN_MASK_ALL) { ... } if (ex.reason < 0) { ... } ~~~ This is a preparation step for running a script that converts all TRY_CATCH uses to look like this instead: ~~~ TRY { ... } CATCH (ex, RETURN_MASK_ALL) { ... } END_CATCH ~~~ The motivation for that change is being able to reimplent TRY/CATCH in terms of C++ try/catch. This commit makes it so that: - no condition other than ex.reason < 0 is checked in the if predicate - there's no "else" block to check whether no exception was caught - there's no code between the TRY_CATCH (TRY) block and the 'if (ex.reason < 0)' block (CATCH). - the exception object is no longer referred to outside the if/catch block. Note the local volatile exception objects that are currently defined inside functions that use TRY_CATCH will disappear. In cases it's more convenient to still refer to the exception outside the catch block, a new non-volatile local is added and copy to that object is made within the catch block. The following patches should make this all clearer. gdb/ChangeLog: 2015-03-07 Pedro Alves * amd64-tdep.c (amd64_frame_cache, amd64_sigtramp_frame_cache) (amd64_epilogue_frame_cache): Normal exception handling code. * break-catch-throw.c (check_status_exception_catchpoint) (re_set_exception_catchpoint): Ditto. * cli/cli-interp.c (safe_execute_command): * cli/cli-script.c (script_from_file): Ditto. * compile/compile-c-symbols.c (generate_c_for_for_one_variable): Ditto. * compile/compile-object-run.c (compile_object_run): Ditto. * cp-abi.c (baseclass_offset): Ditto. * cp-valprint.c (cp_print_value): Ditto. * exceptions.c (catch_exceptions_with_msg): * frame-unwind.c (frame_unwind_try_unwinder): Ditto. * frame.c (get_frame_address_in_block_if_available): Ditto. * i386-tdep.c (i386_frame_cache, i386_epilogue_frame_cache) (i386_sigtramp_frame_cache): Ditto. * infcmd.c (post_create_inferior): Ditto. * linespec.c (parse_linespec, find_linespec_symbols): * p-valprint.c (pascal_object_print_value): Ditto. * parse.c (parse_expression_for_completion): Ditto. * python/py-finishbreakpoint.c (bpfinishpy_init): Ditto. * remote.c (remote_get_noisy_reply): Ditto. * s390-linux-tdep.c (s390_frame_unwind_cache): Ditto. * solib-svr4.c (solib_svr4_r_map): Ditto. commit f873665f447ee4e36883e3122a4e35c2cd049045 Author: Pedro Alves Date: Sat Mar 7 14:52:22 2015 +0000 Fix mail address format of a couple recent ChangeLog entries commit f6162ff58ec27d86814c015f80828ff410f698e7 Author: GDB Administrator Date: Sat Mar 7 00:00:08 2015 +0000 Automatic date update in version.in commit 60a191edda5bb9c189df43542ab249ea530a3c73 Author: Yao Qi Date: Fri Mar 6 14:14:27 2015 +0000 Use show_debug_regs as a boolean I happen to see that show_debug_regs is used as an arithmetic type, but it should be a boolean, if (show_debug_regs > 1) On the other hand, GDB RSP only allows setting it to either 0 or 1, so it makes no sense to check whether it is greater than 1. This patch fixes it. gdb/gdbserver: 2015-03-06 Yao Qi * linux-aarch64-low.c (aarch64_insert_point): Use show_debug_regs as a boolean. (aarch64_remove_point): Likewise. commit 65164438aaf163aee0de40bcfab87dfd58f47b6b Author: Nick Clifton Date: Fri Mar 6 09:46:15 2015 +0000 Fix an undefined 32-bit right shift by replacing it with two 16-bit right shifts. PR binutils/17765 * elflink.c (put_value): Like previous delta, but for the 32-bit case. commit 61012eef8463764ccd9117dc1c9bc43cc452b7cc Author: Gary Benson Date: Fri Mar 6 09:42:06 2015 +0000 New common function "startswith" This commit introduces a new inline common function "startswith" which takes two string arguments and returns nonzero if the first string starts with the second. It also updates the 295 places where this logic was written out longhand to use the new function. gdb/ChangeLog: * common/common-utils.h (startswith): New inline function. All places where this logic was used updated to use the above. commit e80417caef36c7d5e3d1da6a3b396a872d9d7201 Author: GDB Administrator Date: Fri Mar 6 00:00:08 2015 +0000 Automatic date update in version.in commit 9494d2199f5ce0cf2a4cf5628f23ae91d933955d Author: Pedro Alves Date: Thu Mar 5 23:39:46 2015 +0000 gdb.base/bp-permanent.exp: Tighten regex Trying to fix a permanent breakpoints bug, I broke "next" over a regular breakpoint. "next" would immediately hit the breakpoint the program was already stopped at. But, the "next over setup" test failed to notice this and still issued a pass. That's because the regex matches "testsuite" in: Breakpoint 2 at 0x400687: file src/gdb/testsuite/gdb.base/bp-permanent.c, line 46. gdb/testsuite/ChangeLog: 2015-03-05 Pedro Alves * gdb.base/bp-permanent.exp: Tighten "next over setup" regex. commit 68901c4d439ebceecab927932c17ea1504747c02 Author: Pedro Alves Date: Thu Mar 5 23:39:45 2015 +0000 PR gdb/18002: Fix reinsert of a permanent breakpoints When we find out that a breakpoint is set on top of a program breakpoint, we mark it as "permanent". E.g.,: ... if (bp_loc_is_permanent (loc)) { loc->inserted = 1; loc->permanent = 1; } ... Note we didn't fill in the breakpoint's shadow (shadow_len remains 0). In case the target claims support for evaluating breakpoint conditions, GDB sometimes reinserts breakpoints that are already inserted (to update the conditions on the target side). Since GDB doesn't know whether the target supports evaluating conditions _of_ software breakpoints (vs hardware breakpoints, etc.) until it actually tries it, if the target doesn't actually support z0 breakpoints, GDB ends up reinserting a GDB-managed software/memory breakpoint (mem-break.c). And that is the case that is buggy: breakpoints that are marked inserted contribute their shadows (if any) to the memory returned by target_read_memory, to mask out breakpoints. Permanent breakpoints are always marked as inserted. So if the permanent breakpoint doesn't have a shadow yet in its shadow buffer, but we set shadow_len before calling target_read_memory, then the still clear shadow_contents buffer will be used by the breakpoint masking code... And then from there on, the permanent breakpoint has a broken shadow buffer, and thus any memory read out of that address will read bogus code, and many random bad things fall out from that. The fix is just to set shadow_len at the same time shadow_contents is set, not one before and another after... Fixes all gdb.base/bp-permanent.exp FAILs on PPC64 GNU/Linux gdbserver and probably any other gdbserver port that doesn't do z0 breakpoints. gdb/ChangeLog: 2015-03-05 Pedro Alves PR gdb/18002 * mem-break.c (default_memory_insert_breakpoint): Set shadow_len after reading the breakpoint's shadow memory. commit 41cd1ad1b9760ba962fde607ac218b5af760dfbf Author: Nick Clifton Date: Thu Mar 5 17:26:10 2015 +0000 Fix a potentially undefined right shift by replacing it with two smaller right shifts. PR binutils/17765 * elflink.c (put_value): Avoid using an undefined shift operation. commit 4fd77a3d12291cd9351e1f776a5ade11f99a28ac Author: Nick Clifton Date: Thu Mar 5 16:45:15 2015 +0000 Extend description of --add-gnu-debuglink option to explain why the file must exist. PR binutils/18064 * doc/binutils.texi (objcopy): Extend description of --add-gnu-debuglink option to explain that the separate debug info file must exist. Add a description of what to do if the debug info file is built in one place but then installed into a separate location. commit 2dcb2b1a4555c61d33dc9db264d824132b532f25 Author: Mark Kettenis Date: Thu Mar 5 17:12:42 2015 +0100 Enable rthreads support on OpenBSD/hppa gdb/ 2015-03-05 Mark Kettenis * hppabsd-nat.c: Remove file. * hppaobsd-nat.c: New file. * Makefile.in (ALLDEPFILES): Remove hppabsd-nat.c. Add hppaobsd-nat.c. * config/pa/obsd.mh (NATDEPFILES): Replace hppabsd-nat.o with hppaobsd-nat.o. commit beb8418f4799b50ce414b7a63ac7a2a363dc8a05 Author: H.J. Lu Date: Thu Mar 5 07:52:41 2015 -0800 Remove typename on elfcpp::Elf_types::Elf_Addr GCC 4.2 complains: binutils/gold/object.cc:3261: error: using ‘typename’ outside of template This patch removes typename. It works with both GCC 4.2 and 4.8. * output.cc (Relobj::initialize_input_to_output_map): Remove typename on elfcpp::Elf_types::Elf_Addr. commit 81fb971a3d8626d7e051ff5df807442c8d233329 Author: Nick Clifton Date: Thu Mar 5 15:13:08 2015 +0000 Fixes PR 17994 - which reported that dlltool was not deleting temporary files if it encounters a fatal error. PR binutils/17994 * dlltool.c (temp_file_to_remove): New local array. (unlink_temp_files): New functions - unlinks any file in the temp_file_to_remove array, unless dotdeltemps is set. (gen_exp_file): Add temp files to array. (make_head): Likewise. (make_delay_head): Likewise. (make_tail): Likewise. (gen_lib_file): Call unlink_temp_files. commit ca3fe95e469b9daec153caa2c90665f5daaec2b5 Author: H.J. Lu Date: Thu Mar 5 06:34:39 2015 -0800 Add extern_protected_data and set it for x86 With copy relocation, address of protected data defined in the shared library may be external. This patch adds extern_protected_data and changes _bfd_elf_symbol_refs_local_p to return false for protected data if extern_protected_data is true. bfd/ PR ld/pr15228 PR ld/pr17709 * elf-bfd.h (elf_backend_data): Add extern_protected_data. * elf32-i386.c (elf_backend_extern_protected_data): New. Defined to 1. * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise. * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on copy relocs against protected symbols if extern_protected_data is true. (_bfd_elf_symbol_refs_local_p): Don't return true on protected non-function symbols if extern_protected_data is true. * elfxx-target.h (elf_backend_extern_protected_data): New. Default to 0. (elfNN_bed): Initialize extern_protected_data with elf_backend_extern_protected_data. ld/testsuite/ PR ld/pr15228 PR ld/pr17709 * ld-i386/i386.exp (i386tests): Add a test for PR ld/17709. * ld-i386/pr17709-nacl.rd: New file. * ld-i386/pr17709.rd: Likewise. * ld-i386/pr17709a.s: Likewise. * ld-i386/pr17709b.s: Likewise. * ld-i386/protected3.d: Updated. * ld-i386/protected3.s: Likewise. * ld-x86-64/pr17709-nacl.rd: New file. * ld-x86-64/pr17709.rd: Likewise. * ld-x86-64/pr17709a.s: Likewise. * ld-x86-64/pr17709b.s: Likewise. * ld-x86-64/protected3.d: Updated. * ld-x86-64/protected3.s: Likewise. * ld-x86-64/x86-64.exp (x86_64tests): Add a test for PR ld/17709. commit a26de52c63a8b4da94e8e1c8b308b938b2434808 Author: Nick Clifton Date: Thu Mar 5 13:04:33 2015 +0000 Fixes a thinko in the implementation of the V850 -m8byte-align and -m4byte-align command line options. * config/tc-v850.c (md_parse_option): Fix code to set or clear EF_RH850_DATA_ALIGN8 bit in ELF header, based upon the use of the -m8byte-align and -m4byte-align command line options. commit 425bd9e1bb32b25881dd20d76678d041f7bf04f8 Author: Nick Clifton Date: Thu Mar 5 12:14:26 2015 +0000 Allows the binutils to cope with PE binaries where the section addresses have been changed, but the DWARF debug info has not been altered. PR binutils/18025 * coffgen.c (coff_find_nearest_line_with_names): If the dwarf2 lookup fails, check for an address bias in the dwarf info, and if one exists, retry the lookup with the biased value. * dwarf2.c (_bfd_dwarf2_find_symbol_bias): New function. Determines if a bias exists bewteen the addresses of functions based on DWARF information vs symbol table information. * libbfd-in.h (_bfd_dwarf2_find_symbol_bias): Prototype. * libbfd.h: Regenerate. commit f5771b1d96f844e0767a15b258b2de2d4cc52123 Author: Pedro Alves Date: Thu Mar 5 10:24:58 2015 +0000 Fix Windows/SPU/NTO/Lynx gdbserver builds I forgot to update these target_ops instances when I added these new hooks. I confirmed mingw32-w64 builds again at least. gdb/gdbserver/ChangeLog: 2015-03-05 Pedro Alves * lynx-low.c (lynx_target_ops): Install NULL hooks for stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint, stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint. * nto-low.c (nto_target_ops): Likewise. * spu-low.c (spu_target_ops): Likewise. * win32-low.c (win32_target_ops): Likewise. commit 7e848b1a6030a0eab1bb830ab02f9f4eef090961 Author: GDB Administrator Date: Thu Mar 5 00:00:08 2015 +0000 Automatic date update in version.in commit 48c734280a17a1910ac484bd91a36792fb0041e1 Author: Cary Coutant Date: Wed Mar 4 15:17:09 2015 -0800 Fix a race condition when setting default target for ARM targets. gold/ * parameters.cc (Parameters::set_target_once): Call Target::select_as_default_target just once from here... (set_parameters_target): ...instead of from here. commit dbe40a889191708b6e32441b1c64937844645574 Author: Rafael Ávila de Espíndola Date: Wed Mar 4 15:10:18 2015 -0800 Remove empty class Merge_map. 2015-03-02 Rafael Ávila de Espíndola * ehframe.cc (Cie::set_output_offset): Pass in and use a Output_section_data instead of a Merge_map. (Eh_frame::Eh_frame): Don't initialize merge_map_. (Eh_frame::read_cie): Use add_merge_mapping instead of Merge_map::add_mapping. (Eh_frame::read_fde): Ditto. (Eh_frame::set_final_data_size): Use this instead of this->merge_map_. (Eh_frame::do_output_offset): Use merge_output_offset istead of merge_map_->get_output_offset. (Eh_frame::do_is_merge_section_for): Delete. * ehframe.h (Fde::add_mapping): Pass in and use a Output_section_data instead of a Merge_map. (Cie::set_output_offset): Pass in a Output_section_data instead of a Merge_map. (Eh_frame::do_is_merge_section_for): Delete. (Eh_frame::merge_map_): Delete. * merge.cc (Object_merge_map::get_or_make_input_merge_map): Pass in and use a Output_section_data instead of a Merge_map. (Object_merge_map::add_mapping): Ditto. (Object_merge_map::get_output_offset): Remove the merge_map argument. (Object_merge_map::is_merge_section_for): Pass in and use a Output_section_data instead of a Merge_map. (Merge_map): Delete. (Output_merge_base::do_output_offset): Use merge_output_offset instead of merge_map_.get_output_offset. (Output_merge_base::do_is_merge_section_for): Delete. (Output_merge_data::do_add_input_section): Use object->add_merge_mapping instead of add_mapping. (Output_merge_string::finalize_merged_data): Ditto. * merge.h (Merge_map): Delete forward declaration. (Object_merge_map::add_mapping): Pass in and use a Output_section_data instead of a Merge_map. (Object_merge_map::get_output_offset): Remove the merge_map argument. (Object_merge_map::is_merge_section_for): Pass in and use a Output_section_data instead of a Merge_map. (Input_merge_map::Object_merge_map::merge_map): Replace with output_data. (Object_merge_map::get_or_make_input_merge_map): Pass in and use a Output_section_data instead of a Merge_map. (Merge_map): Delete. (Output_merge_base::Output_merge_base): Don't initialize merge_map_. (Output_merge_base::do_is_merge_section_for): Delete. (Output_merge_base::add_mapping): Delete. (Output_merge_base::merge_map_): Delete. * object.cc (Relobj::initialize_input_to_output_map): New. (Relobj::initialize_input_to_output_map): New. (Relobj::merge_output_offset): New. (Relobj::is_merge_section_for): New. (Relobj::initialize_input_to_output_map): Instantiate for 32 and 64 bits. * object.h (Relobj::merge_map): Delete. (initialize_input_to_output_map): New. (set_merge_map): Delete. (add_merge_mapping): New. (merge_output_offset): New. (is_merge_section_for): New. * output.cc (Output_section::Input_section::is_merge_section_for): Use object->is_merge_section_for. * output.h (Output_section_data::is_merge_section_for): Delete. (Output_section_data::do_is_merge_section_for): Delete. * reloc.cc (Merged_symbol_value::initialize_input_to_output_map): Use object->initialize_input_to_output_map. (Merged_symbol_value::value_from_output_section): Use object->merge_output_offset. commit a8d9763abd6c461d646034537633fb03f5eabfd1 Author: Simon Marchi Date: Wed Mar 4 11:37:31 2015 -0500 Accept all-stop alternative in mi_expect_interrupt When interrupting a thread in non-stop vs all-stop, the signal given in the MI *stopped event is not the same. Currently, mi_expect_interrupt only accepts the case for non-stop, so this adds the alternative for all-stop. gdb/testsuite/ChangeLog: * lib/mi-support.exp (mi_expect_interrupt): Accept alternative event for when in all-stop mode. commit 527a273ac1b6221cb37f601d211093233afc7aaf Author: Pedro Alves Date: Wed Mar 4 20:41:17 2015 +0000 garbage collect target_decr_pc_after_break record-btrace was the only target making use of this, and it no longer uses it. gdb/ChangeLog: 2015-03-04 Pedro Alves * target.h (struct target_ops) : Delete. (target_decr_pc_after_break): Delete declaration. * target.c (default_target_decr_pc_after_break) (target_decr_pc_after_break): Delete. * linux-nat.c (check_stopped_by_breakpoint, linux_nat_wait_1): Use gdbarch_decr_pc_after_break instead of target_decr_pc_after_break. * linux-thread-db.c (check_event): Likewise. * infrun.c (adjust_pc_after_break): Likewise. * darwin-nat.c (cancel_breakpoint): Likewise. * aix-thread.c (aix_thread_wait): Likewise. * target-delegates.c: Regenerate. commit 3e572f71047489eb4f311b0fa15293a7ce83f871 Author: Pedro Alves Date: Wed Mar 4 20:41:17 2015 +0000 gdbserver/Linux: Use TRAP_BRKPT/TRAP_HWBPT This patch adjusts gdbserver's Linux backend to tell gdbserver core (and ultimately GDB) whether a trap was caused by a breakpoint. It teaches the backend to get that information out of the si_code of the SIGTRAP siginfo. gdb/gdbserver/ChangeLog: 2015-03-04 Pedro Alves * linux-low.c (check_stopped_by_breakpoint) [USE_SIGTRAP_SIGINFO]: Decide whether a breakpoint triggered based on the SIGTRAP's siginfo.si_code. (thread_still_has_status_pending_p) [USE_SIGTRAP_SIGINFO]: Don't check whether a breakpoint is inserted if relying on SIGTRAP's siginfo.si_code. (linux_low_filter_event): Check for breakpoints before checking watchpoints. (linux_wait_1): Don't re-increment the PC if relying on SIGTRAP's siginfo.si_code. (linux_stopped_by_sw_breakpoint) (linux_supports_stopped_by_sw_breakpoint) (linux_stopped_by_hw_breakpoint) (linux_supports_stopped_by_hw_breakpoint): New functions. (linux_target_ops): Install new target methods. commit 1ec68e26c982a256df03d22dce072b88ab117a73 Author: Pedro Alves Date: Wed Mar 4 20:41:16 2015 +0000 gdbserver: Support the "swbreak"/"hwbreak" stop reasons This patch teaches the core of gdbserver about the new "swbreak" and "hwbreak" stop reasons, and adds the necessary hooks a backend needs to implement to support the feature. gdb/gdbserver/ChangeLog: 2015-03-04 Pedro Alves * remote-utils.c (prepare_resume_reply): Report swbreak/hbreak. * server.c (swbreak_feature, hwbreak_feature): New globals. (handle_query) : Handle "swbreak+" and "hwbreak+". (captured_main): Clear swbreak_feature and hwbreak_feature. * server.h (swbreak_feature, hwbreak_feature): Declare. * target.h (struct target_ops) : New fields. (target_supports_stopped_by_sw_breakpoint) (target_stopped_by_sw_breakpoint) (target_supports_stopped_by_hw_breakpoint) (target_stopped_by_hw_breakpoint): Declare. commit faf09f0119da40d9b408021ad5665a906e00ee59 Author: Pedro Alves Date: Wed Mar 4 20:41:16 2015 +0000 Linux native: Use TRAP_BRKPT/TRAP_HWBPT This patch adjusts the native Linux target backend to tell the core whether a trap was caused by a breakpoint. It teaches the target to get that information out of the si_code of the SIGTRAP siginfo. Tested on x86-64 Fedora 20, s390 RHEL 7, and PPC64 Fedora 18. An earlier version was tested on ARM Fedora 21. gdb/ChangeLog: 2015-03-04 Pedro Alves * linux-nat.c (save_sigtrap): Check for breakpoints before checking watchpoints. (status_callback) [USE_SIGTRAP_SIGINFO]: Don't check whether a breakpoint is inserted if relying on SIGTRAP's siginfo.si_code. (check_stopped_by_breakpoint) [USE_SIGTRAP_SIGINFO]: Decide whether a breakpoint triggered based on the SIGTRAP's siginfo.si_code. (linux_nat_stopped_by_sw_breakpoint) (linux_nat_supports_stopped_by_sw_breakpoint) (linux_nat_stopped_by_hw_breakpoint) (linux_nat_supports_stopped_by_hw_breakpoint): New functions. (linux_nat_wait_1): Don't re-increment the PC if relying on SIGTRAP's siginfo->si_code. (linux_nat_add_target): Install new target methods. * linux-thread-db.c (check_event): Don't account for breakpoint PC offset if the target already adjusted the PC. * nat/linux-ptrace.h (USE_SIGTRAP_SIGINFO): New. (GDB_ARCH_TRAP_BRKPT): New. (TRAP_HWBKPT): Define if not already defined. commit f7e6eed5283bb5c8a3598dd986dc922b9a794f58 Author: Pedro Alves Date: Wed Mar 4 20:41:16 2015 +0000 remote+docs: software/hardware breakpoint traps This adjusts target remote to tell the core whether a trap was caused by a breakpoint. To that end, the patch teaches GDB about new RSP stop reasons "T05 swbreak" and "T05 hwbreak", that remote targets report back to GDB, similarly to how "T05 watch" indicates a stop caused by a watchpoint. Because targets that can report these events are expected to themselves adjust the PC after a software breakpoint, these new stop reasons must only be reported if the stub is talking to a GDB that understands them. Because of that, the use of the new stop reasons needs to be handshaked on initial connection, using the qSupported mechanism. GDB simply sends "swbreak+" in its qSupports query, and the stub reports back "swbreak+" too. Because these new stop reasons are required to fix a fundamental non-stop mode problem, this commit extends the remote non-stop intro section in the manual, documenting the events as required. To be clear, GDB will still cope with remote targets that don't support these new stop reasons; it will behave just like today. Tested on x86-64 Fedora 20, native and gdbserver. gdb/ChangeLog: 2015-03-04 Pedro Alves * NEWS: Mention the new "swbreak" and "hwbreak" stop reasons. * remote.c (struct remote_state) : Delete field. : New field. (PACKET_swbreak_feature, PACKET_hwbreak_feature): New enum values. (packet_set_cmd_state): New function. (remote_protocol_features): Register the "swbreak" and "hwbreak" features. (remote_query_supported): If not disabled with the corresponding "set remote foo-packet" command, report support for the swbreak and hwbreak features. (struct stop_reply) : Delete field. : New field. (remote_parse_stop_reply): Handle "swbreak" and "hwbreak". (remote_wait_as): Adjust. (remote_stopped_by_sw_breakpoint) (remote_supports_stopped_by_sw_breakpoint) (remote_stopped_by_hw_breakpoint) (remote_supports_stopped_by_hw_breakpoint): New functions. (remote_stopped_by_watchpoint): New function. (init_remote_ops): Install them. (_initialize_remote): Register new "set/show remote swbreak-feature-packet" and "set/show remote swbreak-feature-packet" commands. gdb/doc/ChangeLog: 2015-03-04 Pedro Alves * gdb.texinfo (Remote Configuration): Document the "set/show remote swbreak-feature-packet" and "set/show remote hwbreak-feature-packet" commands. (Packets) : Add cross link to the "swbreak" stop reason's decription. (Stop Reply Packets): Document the swbreak and hwbreak stop reasons. (General Query Packets): Document the swbreak and hwbreak qSupported features. (Remote Non-Stop): Explain that swbreak and hwbreak are required. commit 9e8915c6cee5c37637521b424d723e990e06d597 Author: Pedro Alves Date: Wed Mar 4 20:41:15 2015 +0000 record-full/record-btrace: software/hardware breakpoint trap This adjusts the record targets to tell the core whether a trap was caused by a breakpoint. Targets that can do this should report breakpoint traps with the PC already adjusted, so this removes the re-incrementing record-full was doing. These targets need to be adjusted before process_stratum targets beneath are, otherwise target_supports_stopped_by_sw_breakpoint, etc. would fall through to the target beneath while recording/replaying, and the core would get confused. Tested on x86-64 Fedora 20, native and gdbserver. gdb/ChangeLog: 2015-03-04 Pedro Alves * btrace.h: Include target/waitstatus.h. (struct btrace_thread_info) : New field. * record-btrace.c (record_btrace_step_thread): Use record_check_stopped_by_breakpoint instead of breakpoint_here_p. (record_btrace_decr_pc_after_break): Delete. (record_btrace_stopped_by_sw_breakpoint) (record_btrace_supports_stopped_by_sw_breakpoint) (record_btrace_stopped_by_hw_breakpoint) (record_btrace_supports_stopped_by_hw_breakpoint): New functions. (init_record_btrace_ops): Install them. * record-full.c (record_full_hw_watchpoint): Delete and replace with ... (record_full_stop_reason): ... this throughout. (record_full_exec_insn): Adjust. (record_full_wait_1): Adjust. No longer re-increment the PC. (record_full_wait_1): Adjust. Use record_check_stopped_by_breakpoint instead of breakpoint_here_p. (record_full_stopped_by_watchpoint): Adjust. (record_full_stopped_by_sw_breakpoint) (record_full_supports_stopped_by_sw_breakpoint) (record_full_supports_stopped_by_sw_breakpoint) (record_full_stopped_by_hw_breakpoint) (record_full_supports_stopped_by_hw_breakpoint): New functions. (init_record_full_ops, init_record_full_core_ops): Install them. * record.c (record_check_stopped_by_breakpoint): New function. * record.h: Include target/waitstatus.h. (record_check_stopped_by_breakpoint): New declaration. commit 15c66dd626380fbd7db6538b0c21d1fe86dda6c9 Author: Pedro Alves Date: Wed Mar 4 20:41:15 2015 +0000 enum lwp_stop_reason -> enum target_stop_reason We're going to need the same enum as enum lwp_stop_reason in more targets, so this promotes it to common code. gdb/gdbserver/ChangeLog: 2015-03-04 Pedro Alves enum lwp_stop_reason -> enum target_stop_reason * linux-low.c (check_stopped_by_breakpoint): Adjust. (thread_still_has_status_pending_p, check_stopped_by_watchpoint) (linux_wait_1, stuck_in_jump_pad_callback) (move_out_of_jump_pad_callback, linux_resume_one_lwp) (linux_stopped_by_watchpoint): * linux-low.h (enum lwp_stop_reason): Delete. (struct lwp_info) : Now an enum target_stop_reason. * linux-x86-low.c (x86_linux_prepare_to_resume): Adjust. gdb/ChangeLog: 2015-03-04 Pedro Alves enum lwp_stop_reason -> enum target_stop_reason * linux-nat.c (linux_resume_one_lwp, check_stopped_by_watchpoint) (linux_nat_stopped_by_watchpoint, status_callback) (linux_nat_wait_1): Adjust. * linux-nat.h (enum lwp_stop_reason): Delete. (struct lwp_info) : Now an enum target_stop_reason. * x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust. * target/waitstatus.h (enum target_stop_reason): New. commit 1cf4d9513af10d419c71099ae644f07b6724642b Author: Pedro Alves Date: Wed Mar 4 20:41:15 2015 +0000 Teach GDB about targets that can tell whether a trap is a breakpoint event The moribund locations heuristics are problematic. This patch teaches GDB about targets that can reliably tell whether a trap was caused by a software or hardware breakpoint, and thus don't need moribund locations, thus bypassing all the problems that mechanism has. The non-stop-fair-events.exp test is frequently failing currently. E.g., see https://sourceware.org/ml/gdb-testers/2015-q1/msg03148.html. The root cause is a fundamental problem with moribund locations. For example, the stepped_breakpoint logic added by af48d08f breaks in this case (which is what happens with that test): - Step thread A, no breakpoint is set at PC. - The kernel doesn't schedule thread A yet. - Insert breakpoint at A's PC, for some reason (e.g., a step-resume breakpoint for thread B). - Kernel finally schedules thread A. - thread A's stepped_breakpoint flag is not set, even though it now stepped a breakpoint instruction. - adjust_pc_after_break gets the PC wrong, because PC == PREV_PC, but stepped_breakpoint is not set. We needed the stepped_breakpoint logic to workaround moribund locations, because otherwise adjust_pc_after_break could apply an adjustment when it shouldn't just because there _used_ to be a breakpoint at PC (a moribund breakpoint location). For example, on x86, that's wrong if the thread really hasn't executed an int3, but instead executed some other 1-byte long instruction. Getting the PC adjustment wrong of course leads to the inferior executing the wrong instruction. Other problems with moribund locations are: - if a true SIGTRAP happens to be raised when the program is executing the PC that used to have a breakpoint, GDB will assume that is a trap for a breakpoint that has recently been removed, and thus we miss reporting the random signal to the user. - to minimize that, we get rid of moribund location after a while. That while is defined as just a certain number of events being processed. That number of events sometimes passes by before a delayed breakpoint is processed, and GDB confuses the trap for a random signal, thus reporting the random trap. Once the user resumes the thread, the program crashes because the PC was not adjusted... The fix for all this is to bite the bullet and get rid of heuristics and instead rely on the target knowing accurately what caused the SIGTRAP. The target/kernel/stub is in the best position to know what that, because it can e.g. consult priviledged CPU flags GDB has no access to, or by knowing which exception vector entry was called when the instruction trapped, etc. Most debug APIs I've seen to date report breakpoint hits as a distinct event in some fashion. For example, on the Linux kernel, whether a breakpoint was executed is exposed to userspace in the si_code field of the SIGTRAP's siginfo. On Windows, the debug API reports a EXCEPTION_BREAKPOINT exception code. We needed to keep around deleted breakpoints in an on-the-side list (the moribund locations) for two main reasons: - Know that a SIGTRAP actually is a delayed event for a hit of a breakpoint that was removed before the event was processed, and thus should not be reported as a random signal. - So we still do the decr_pc_after_break adjustment in that case, so that the thread is resumed at the correct address. In the new model, if GDB processes an event the target tells is a breakpoint trap, and GDB doesn't find the corresponding breakpoint in its breakpoint tables, it means that event is a delayed event for a breakpoint that has since been removed, and thus the event should be ignored. For the decr_pc_after_after issue, it ends up being much simpler that on targets that can reliably tell whether a breakpoint trapped, for the breakpoint trap to present the PC already adjusted. Proper multi-threading support already implies that targets needs to be doing decr_pc_after_break adjustment themselves, otherwise for example, in all-stop if two threads hit a breakpoint simultaneously, and the user does "info threads", he'll see the non-event thread that hit the breakpoint stopped at the wrong PC. This way (target adjusts) also ends up eliminating the need for some awkward re-incrementing of the PC in the record-full and Linux targets that we do today, and the need for the target_decr_pc_after_break hook. If the target always adjusts, then there's a case where GDB needs to re-increment the PC. Say, on x86, an "int3" instruction that was explicitly written in the program traps. In this case, GDB should report a random SIGTRAP signal to the user, with the PC pointing at the instruction past the int3, just like if GDB was not debugging the program. The user may well decide to pass the SIGTRAP to the program because the program being debugged has a SIGTRAP handler that handles its own breakpoints, and expects the PC to be unadjusted. Tested on x86-64 Fedora 20. gdb/ChangeLog: 2015-03-04 Pedro Alves * breakpoint.c (need_moribund_for_location_type): New function. (bpstat_stop_status): Don't skipping checking moribund locations of breakpoint types which the target tell caused a stop. (program_breakpoint_here_p): New function, factored out from ... (bp_loc_is_permanent): ... this. (update_global_location_list): Don't create a moribund location if the target supports reporting stops of the type of the removed breakpoint. * breakpoint.h (program_breakpoint_here_p): New declaration. * infrun.c (adjust_pc_after_break): Return early if the target has already adjusted the PC. Add comments. (handle_signal_stop): If nothing explains a signal, and the target tells us the stop was caused by a software breakpoint, check if there's a breakpoint instruction in the memory. If so, adjust the PC before presenting the stop to the user. Otherwise, ignore the trap. If nothing explains a signal, and the target tells us the stop was caused by a hardware breakpoint, ignore the trap. * target.h (struct target_ops) : New fields. (target_stopped_by_sw_breakpoint) (target_supports_stopped_by_sw_breakpoint) (target_stopped_by_hw_breakpoint) (target_supports_stopped_by_hw_breakpoint): Define. * target-delegates.c: Regenerate. commit be9957b82fa4e09c53521335c2a7dddf6d208309 Author: Pedro Alves Date: Wed Mar 4 17:23:55 2015 +0000 Fix gdb.threads/thread-specific-bp.exp race Gary stumbled on this: (gdb) PASS: gdb.threads/thread-specific-bp.exp: all-stop: continue to end info threads Id Target Id Frame * 1 Thread 0x7ffff7fdb700 (LWP 13717) "thread-specific" end () at /home/gary/work/archer/startswith/src/gdb/testsuite/gdb.threads/thread-specific-bp.c:29 (gdb) FAIL: gdb.threads/thread-specific-bp.exp: all-stop: thread start is gone info breakpoint The problem is that "...archer/startswith/src..." has a "start" in it, which matches the too-lax regex in the test. Rather than tweaking the regex, we can just remove the whole "info threads", like we removed similar ones in other files -- GDB nowadays does this implicitly already, so things should work without it. Thus removing this even improves testing here a bit. gdb/testsuite/ChangeLog: 2015-03-04 Pedro Alves * gdb.threads/thread-specific-bp.exp: Delete "info threads" test. commit 79639e11323e209d3dfd1355abac3b83a87c6878 Author: Pedro Alves Date: Wed Mar 4 15:03:33 2015 +0000 follow-fork: don't lose the ptids as set by the target This Linuxism has made its way into infrun.c, in the follow-fork code: inferior_ptid = ptid_build (child_pid, child_pid, 0); The OS-specific code should fill in the LWPID, TID parts with the appropriate values, if any, and the core code should not be peeking at the components of the ptids. gdb/ 2015-03-04 Pedro Alves * infrun.c (follow_fork_inferior): Use the whole of the inferior_ptid and pending_follow.related_pid ptids instead of building ptids from the process components. Adjust verbose output to use target_pid_to_str. * linux-nat.c (linux_child_follow_fork): Use the whole of the inferior_ptid and pending_follow.related_pid ptids instead of building ptids from the process components. commit d57be0f4420d42c62bb702f69c6d2a0dd5adef6a Author: Mark Kettenis Date: Wed Mar 4 15:36:03 2015 +0100 Stupid git! Apparently fixing a typo while you're editing the commit message doesn't work. commit 98fc70d642895b7b43f196e19a004e07bd5f16e7 Author: Yao Qi Date: Tue Mar 3 16:10:27 2015 +0000 Add linux-aarch64-low.c in SFILE gdb/gdbserver: 2015-03-04 Yao Qi * Makefile.in (SFILES): Add linux-aarch64-low.c. commit 4727d6136a997875c0f4a38bc7fde365474d4822 Author: Mark Kettenis Date: Wed Mar 4 14:53:14 2015 +0100 Enable gdb.base/foll-fork.exp on OpenBSD gdb/testsuite/ 2015-03-04 Mark Kettenis * gdb.base/foll-fork.exp: Enable on *-*-openbsd*. commit e85e8e5effcfa1a1834fdbf899e167da6dccd2cd Author: Mark Kettenis Date: Wed Mar 4 14:22:42 2015 +0100 Make "catch fork" work on systems with PT_GET_PROCESS_STATE These systems (OpenBSD and HP-UX 10.x) already support follow-fork including the events needed to for "catch fork". This just makes the upper layers realize this. gdb/ 2015-03-04 Mark Kettenis * inf-ptrace.c [PT_GET_PROCESS_STATE] (inf_ptrace_insert_fork_catchpoint): New function. (inf_ptrace_remove_fork_catchpoint): New function. (inf_ptrace_target) [PT_GET_PROCESS_STATE]: Install them. commit 8ef229f32be156f374b8b5e3c63dba735a81fe55 Author: Marcus Shawcroft Date: Wed Mar 4 12:21:02 2015 +0000 [AArch64] Removing unused functions. Removing a group of unused functions from the AArch64 BFD backend. commit 8e2fe09f70e721bfd8aaa0690537640a44538f25 Author: Marcus Shawcroft Date: Mon Mar 2 12:12:37 2015 +0000 [AArch64] Call abort() consistently in unhandled stub switch statements. Ensure we hard stop via abort() for unhandled stub types rather than continuing either silently (or noisly with a BFD_FAIL()). Call abort() giving a hard stop rather than BFD_FAIL () for unhandled stub types. commit 87de11c05253566abb04479a4842cc934d0c822e Author: Andreas Arnez Date: Wed Mar 4 10:40:41 2015 +0100 S390: Name "invisible" registers with the empty string instead of NULL When adding vector register support to GDB, s390_register_name() was added to suppress the right halves of the first 16 vector registers. However, that function returned NULL instead of an empty string in such a case. This leads to an incomplete list of registers returned by "complete info registers ", because completion stops at the first NULL return value from user_reg_map_regnum_to_name(). gdb/ChangeLog: * s390-linux-tdep.c (s390_register_name): Return empty string instead of NULL for registers that shouldn't be visible. commit c214c7cfd38006369e1da13644000ce2e180a5fa Author: Andreas Arnez Date: Wed Mar 4 10:40:40 2015 +0100 breakpoint-in-ro-region.exp: Support targets stopping in mid-line after "si" On some targets each of the assignments "i = 0" in the C source for "breakpoint-in-ro-region.exp" are compiled to a single instruction. Then each "si" stops at the beginning of the next source line. But on some other targets (like s390) such an assignment compiles to multiple instructions. Then "si" may stop in mid-line, and GDB displays the PC address in addition to the source line number. This was not considered by the regexp for this case. gdb/testsuite/ChangeLog: * gdb.base/breakpoint-in-ro-region.exp (test_single_step): In the regexps for GDB's current line display, accept a hex address preceding the line number. commit 6d74a497ba4fc2ba67142310a9fad42e035ac9a7 Author: Andreas Arnez Date: Wed Mar 4 10:40:40 2015 +0100 catch-syscall.exp: Fix missing architecture name for s390:31-bit For the "multiple targets" test in catch-syscall.exp, set the 'arch1' variable to a valid string. gdb/testsuite/ChangeLog: * gdb.base/catch-syscall.exp (test_catch_syscall_multi_arch): Set the 'arch1' variable for "s390*-linux*" targets. commit d851a69aa2b4b6868c07386fd795521a0e93a09a Author: Andreas Arnez Date: Wed Mar 4 10:40:40 2015 +0100 S390: Fix syscall list for s390x This patch fixes a typo that caused the wrong syscall XML file to be used for s390x targets. gdb/ChangeLog: * s390-linux-tdep.c (s390_gdbarch_init): Use the correct syscall XML file for 64-bit targets. commit df88b70224175011abf2cd599d5eec6fb81a90b7 Author: Andreas Arnez Date: Wed Mar 4 10:40:39 2015 +0100 S390: Place "s390:31-bit" after default arch in 64-bit arch list On 64-bit platforms GDB did not include "s390:31-bit" in its list of architecture names. This patch fixes that. To determine the list of architecture names for S390, gdbarch_printable_names() walks through the linked list of BFD arches starting with the default S390 arch, which is "s390:64-bit" on 64-bit platforms. But since "s390:64-bit" was at the end of that list, the 31-bit architecture was not reached. The patch swaps the elements of that list on 64-bit platforms. bfd/ChangeLog: * cpu-s390.c (N): New macro. (bfd_s390_31_arch): New. Define only if default target word size is 64 bits. Otherwise define... (bfd_390_64_arch): ...this. Make static. (bfd_s390_arch): Define according to the default target word size. Let the 'next' field point to the alternate arch. commit 511aee7c3906063902415391f288460a2c116f26 Author: Pedro Alves Date: Wed Mar 4 09:13:49 2015 +0000 gdb.threads/clone-thread_db.c: Add missing includes and fix pthread_join call This fixes: > gdb compile failed, /gdb/testsuite/gdb.threads/clone-thread_db.c: In function 'main': > /gdb/testsuite/gdb.threads/clone-thread_db.c:67:3: warning: implicit declaration of function 'alarm' [-Wimplicit-function-declaration] > alarm (300); > ^ > /gdb/testsuite/gdb.threads/clone-thread_db.c:69:3: warning: implicit declaration of function 'pthread_create' [-Wimplicit-function-declaration] > pthread_create (&child, NULL, thread_fn, NULL); > ^ > /gdb/testsuite/gdb.threads/clone-thread_db.c:70:3: warning: implicit declaration of function 'pthread_join' [-Wimplicit-function-declaration] > pthread_join (child); > ^ And then adding the missing headers revealed the pthread_join call was incorrect. This probably fixes the crash we see on ppc64be, e.g., at https://sourceware.org/ml/gdb-testers/2015-q1/msg04415.html the logs there show: ... Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x3fffb7ff54a0 (LWP 9275)] 0x00003fffb7f3ce74 in .pthread_join () from /lib64/libpthread.so.0 (gdb) FAIL: gdb.threads/clone-thread_db.exp: continue to end ... Tested on x86_64 Fedora 20. gdb/testsuite/ 2015-03-04 Pedro Alves * gdb.threads/clone-thread_db.c: Include unistd.h and pthread.h. (main): Pass missing retval argument to pthread_join call. commit e09ab7ac788fd5509adc40b86a3631a3028c1d33 Author: Richard Sandiford Date: Wed Mar 4 09:08:49 2015 +0000 Allow MOVK for R_AARCH64_TLSLE_MOVW_TPREL_G{0,1}NC bfd/ PR gas/17843 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Expect R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC to be used with MOVK rather than MOVZ. gas/ PR gas/17843 * config/tc-aarch64.c (process_movw_reloc_info): Allow R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC for MOVK. gas/testsuite/ PR gas/17843 * gas/aarch64/tls.s, gas/aarch64/tls.d: Add test for R_AARCH64_TLSLE_MOVW_TPREL_G0/R_AARCH64_TLSLE_MOVW_TPREL_G1_NC sequence. ld/testsuite/ PR gas/17843 * ld-aarch64/tlsle.s, ld-aarch64/tlsle.d: New test. * ld-aarch64/aarch64-elf.exp: Run it. commit bb3d65e427e2cf3a2fbe322443d36336e03545da Author: GDB Administrator Date: Wed Mar 4 00:00:08 2015 +0000 Automatic date update in version.in commit 71eef2bd8dc3a37709908bf14a95c48b80c04c42 Author: DJ Delorie Date: Tue Mar 3 17:49:44 2015 -0500 RL78 - fix ADDR16 relax * elf32-rl78.c (rl78_elf_relax_section): Only relax ADDR16's if there's a symbol. commit b072f6c163b25ec90d592ca42aeb56bc88e8da0c Author: Simon Marchi Date: Tue Mar 3 12:45:11 2015 -0500 Remove unused function declarations in target.h find_default_create_inferior and find_default_attach were removed in b3ccfe11. gdb/ChangeLog: * target.h (find_default_create_inferior): Remove declaration. (find_default_attach): Likewise. commit c1593e4fa9901c65a32e85c3c5d3ec41598be887 Author: Pedro Alves Date: Tue Mar 3 16:28:15 2015 +0000 inf-ptrace.c: use ptid_get_pid when resuming all threads In this case, we want to resume the entire process and not an individual thread. gdb/ 2015-03-03 Pedro Alves * inf-ptrace.c (inf_ptrace_resume): Remove spurious whitespace. Use ptid_get_pid to get the overall process id when resuming all threads. commit a64c9f7b850554956083678dd1ef330dd9a7cf22 Author: Philippe Proulx Date: Mon Mar 2 23:15:54 2015 -0500 Fix GDB/MI doc: duplicate syscall-entry under *stopped gdb/doc/ChangeLog: 2015-03-03 Philippe Proulx eeppeliteloop@gmail.com * gdb.texinfo (gdb/mi Async Records): Fix duplicate syscall-entry under *stopped. commit d8282f0eb10a1a5759bcca4582098a8369f508f8 Author: Jiong Wang Date: Tue Mar 3 15:00:59 2015 +0000 [ARM] Skip private symbol when doing objdump 2015-03-03 Jiong Wang opcode/ * arm-dis.c (arm_symbol_is_valid): Skip ARM private symbols. binutils/testsuite/ * binutils-all/arm/rvct_symbol.s: New testcase. * binutils-all/arm/objdump.exp: Run it. commit 90ad5e1d4f34d02f437ec12d1b65d7252f5b7f1c Author: Pedro Alves Date: Tue Mar 3 13:33:44 2015 +0000 Linux/ptrace: don't convert ptids when asking inf-ptrace layer to resume LWP Ref: https://sourceware.org/ml/gdb-patches/2015-03/msg00060.html The record-btrace target can hit an assertion here: Breakpoint 1, record_btrace_fetch_registers (ops=0x974bfc0 , regcache=0x9a0a798, regno=8) at gdb/record-btrace.c:1202 1202 gdb_assert (tp != NULL); (gdb) p regcache->ptid $3 = {pid = 23856, lwp = 0, tid = 0} The problem is that the linux-nat layer converts the ptid to a single-process ptid before passing the request down to the inf-ptrace layer, which loses information, and then record-btrace can't find the corresponding thread in GDB's thread list: (gdb) bt #0 record_btrace_fetch_registers (ops=0x974bfc0 , regcache=0x9a0a798, regno=8) at gdb/record-btrace.c:1202 #1 0x083f4ee2 in delegate_fetch_registers (self=0x974bfc0 , arg1=0x9a0a798, arg2=8) at gdb/target-delegates.c:149 #2 0x08406562 in target_fetch_registers (regcache=0x9a0a798, regno=8) at gdb/target.c:3279 #3 0x08355255 in regcache_raw_read (regcache=0x9a0a798, regnum=8, buf=0xbfffe6c0 "¨\003\222\tÀ8kIøæÿ¿HO5\b\035]") at gdb/regcache.c:643 #4 0x083558a7 in regcache_cooked_read (regcache=0x9a0a798, regnum=8, buf=0xbfffe6c0 "¨\003\222\tÀ8kIøæÿ¿HO5\b\035]") at gdb/regcache.c:734 #5 0x08355de3 in regcache_cooked_read_unsigned (regcache=0x9a0a798, regnum=8, val=0xbfffe738) at gdb/regcache.c:838 #6 0x0827a106 in i386_linux_resume (ops=0x9737ca0 , ptid=..., step=1, signal=GDB_SIGNAL_0) at gdb/i386-linux-nat.c:670 #7 0x08280c12 in linux_resume_one_lwp (lp=0x9a0a5b8, step=1, signo=GDB_SIGNAL_0) at gdb/linux-nat.c:1529 #8 0x08281281 in linux_nat_resume (ops=0x98da608, ptid=..., step=1, signo=GDB_SIGNAL_0) at gdb/linux-nat.c:1708 #9 0x0850738e in record_btrace_resume (ops=0x98da608, ptid=..., step=1, signal=GDB_SIGNAL_0) at gdb/record-btrace.c:1760 ... The fix is just to not lose information, and let the intact ptid reach record-btrace.c. Tested on x86-64 Fedora 20, -m32. gdb/ChangeLog: 2015-03-03 Pedro Alves * i386-linux-nat.c (i386_linux_resume): Get the ptrace PID out of the lwp field of ptid. Pass the full ptid to get_thread_regcache. * inf-ptrace.c (get_ptrace_pid): New function. (inf_ptrace_resume): Use it. * linux-nat.c (linux_resume_one_lwp): Pass the LWP's ptid ummodified to the lower layer. commit dd2ac17449b62de57f128f670b1783bb6728eac6 Author: Gary Benson Date: Tue Mar 3 12:34:40 2015 +0000 Fix incorrect vFile: prefix lengths gdb/gdbserver/ChangeLog: * hostio.c (handle_vFile): Fix prefix lengths. commit d68e53f47932eb7c374df9b90faed7aca2eed9d7 Author: Markus Metzger Date: Thu Jan 29 10:43:05 2015 +0100 btrace: support 32-bit inferior on 64-bit host The heuristic for filtering out kernel addressess in BTS trace checks the most significant bit in each address. This works fine for 32-bit and 64-bit mode. For 32-bit compatibility mode, i.e. a 32-bit inferior running on 64-bit host, we need to check bit 63 (or any bit bigger than 31), not bit 31. Use the machine field in struct utsname provided by a uname call to determine whether we are running on a 64-bit host. Thanks to Jan Kratochvil for reporting the issue. gdb/ * nat/linux-btrace.c: Include sys/utsname.h. (linux_determine_kernel_ptr_bits): New. (linux_enable_bts): Call linux_determine_kernel_ptr_bits. * x86-linux-nat.c (x86_linux_enable_btrace): Do not overwrite non-zero ptr_bits. gdbserver/ * linux-low.c (linux_low_enable_btrace): Do not overwrite non-zero ptr_bits. commit 986b66010c684a871f5606cb4f074d4e3d829e2f Author: Markus Metzger Date: Fri Jan 23 13:32:12 2015 +0100 btrace: work around _dl_runtime_resolve returning to resolved function On some systems, _dl_runtime_resolve returns to the resolved function instead of jumping to it. Since btrace will not find the function in the current stack back trace, it will start a new back trace on the same level. It will look the same to the user via the backtrace command but the frames will have different id's which confuses stepping. This fixes a test fail with 32-bit inferior reported by Jan Kratochvil. gdb/ * btrace.c (ftrace_update_function): Treat return as tailcall for "_dl_runtime_resolve". commit ce0dfbeaadee82ffae390e4515433d3b6b1e0084 Author: Markus Metzger Date: Tue Jun 24 14:25:50 2014 +0200 btrace: compute line range when printing The "record function-call-history" command prints the range of source lines for a function segment when given the /l modifier. This information is computed for the entire execution history when processing the recorded branch trace. To speed up the initial trace processing, we compute the information when we print a function segment and only if requested. The computation is fast enough (due to the limited scope) that it is not worth storing the data in struct btrace_function, anymore. gdb/ * btrace.h (btrace_function) : Remove. * btrace.c (ftrace_debug): Do not print the line range. (ftrace_skip_file, ftrace_update_lines): Remove. (ftrace_new_function): Remove lbegin and lend initialization. (btrace_compute_ftrace_bts): Remove call to ftrace_update_lines. * record-btrace.c (btrace_compute_src_line_range): New. (btrace_call_history_src_line): Call btrace_compute_src_line_range. commit 95e50b2723eba05ca34e9ea69c1de63e65ce9578 Author: Pedro Alves Date: Tue Mar 3 01:25:17 2015 +0000 follow-exec: delete all non-execing threads This fixes invalid reads Valgrind first caught when debugging against a GDBserver patched with a series that adds exec events to the remote protocol. Like these, using the gdb.threads/thread-execl.exp test: $ valgrind ./gdb -data-directory=data-directory ./testsuite/gdb.threads/thread-execl -ex "tar extended-remote :9999" -ex "b thread_execler" -ex "c" -ex "set scheduler-locking on" ... Breakpoint 1, thread_execler (arg=0x0) at src/gdb/testsuite/gdb.threads/thread-execl.c:29 29 if (execl (image, image, NULL) == -1) (gdb) n Thread 32509.32509 is executing new program: build/gdb/testsuite/gdb.threads/thread-execl [New Thread 32509.32532] ==32510== Invalid read of size 4 ==32510== at 0x5AA7D8: delete_breakpoint (breakpoint.c:13989) ==32510== by 0x6285D3: delete_thread_breakpoint (thread.c:100) ==32510== by 0x628603: delete_step_resume_breakpoint (thread.c:109) ==32510== by 0x61622B: delete_thread_infrun_breakpoints (infrun.c:2928) ==32510== by 0x6162EF: for_each_just_stopped_thread (infrun.c:2958) ==32510== by 0x616311: delete_just_stopped_threads_infrun_breakpoints (infrun.c:2969) ==32510== by 0x616C96: fetch_inferior_event (infrun.c:3267) ==32510== by 0x63A2DE: inferior_event_handler (inf-loop.c:57) ==32510== by 0x4E0E56: remote_async_serial_handler (remote.c:11877) ==32510== by 0x4AF620: run_async_handler_and_reschedule (ser-base.c:137) ==32510== by 0x4AF6F0: fd_event (ser-base.c:182) ==32510== by 0x63806D: handle_file_event (event-loop.c:762) ==32510== Address 0xcf333e0 is 16 bytes inside a block of size 200 free'd ==32510== at 0x4A07577: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==32510== by 0x77CB74: xfree (common-utils.c:98) ==32510== by 0x5AA954: delete_breakpoint (breakpoint.c:14056) ==32510== by 0x5988BD: update_breakpoints_after_exec (breakpoint.c:3765) ==32510== by 0x61360F: follow_exec (infrun.c:1091) ==32510== by 0x6186FA: handle_inferior_event (infrun.c:4061) ==32510== by 0x616C55: fetch_inferior_event (infrun.c:3261) ==32510== by 0x63A2DE: inferior_event_handler (inf-loop.c:57) ==32510== by 0x4E0E56: remote_async_serial_handler (remote.c:11877) ==32510== by 0x4AF620: run_async_handler_and_reschedule (ser-base.c:137) ==32510== by 0x4AF6F0: fd_event (ser-base.c:182) ==32510== by 0x63806D: handle_file_event (event-loop.c:762) ==32510== [Switching to Thread 32509.32532] Breakpoint 1, thread_execler (arg=0x0) at src/gdb/testsuite/gdb.threads/thread-execl.c:29 29 if (execl (image, image, NULL) == -1) (gdb) The breakpoint in question is the step-resume breakpoint of the non-main thread, the one that was "next"ed. The exact same issue can be seen on mainline with native debugging, by running the thread-execl.exp test in non-stop mode, because the kernel doesn't report a thread exit event for the execing thread. Tested on x86_64 Fedora 20. gdb/ChangeLog: 2015-03-02 Pedro Alves * infrun.c (follow_exec): Delete all threads of the process except the event thread. Extended comments. gdb/testsuite/ChangeLog: 2015-03-02 Pedro Alves * gdb.threads/thread-execl.exp (do_test): Handle non-stop. (top level): Call do_test with non-stop as well. commit cfe6bf439228831f7bddb8160fb099d0e16215a6 Author: GDB Administrator Date: Tue Mar 3 00:00:07 2015 +0000 Automatic date update in version.in commit 28054d694f6794d2866d22073117897e372803f2 Author: Pedro Alves Date: Mon Mar 2 20:05:25 2015 +0000 gdb_test_multiple: return -1 on internal error gdb_test_multiple is supposed to return -1 on internal error: # Returns: # 1 if the test failed, according to a built-in failure pattern # 0 if only user-supplied patterns matched # -1 if there was an internal error. But alas, that's broken, it returns success... It looks like the code is assuming an earlier 'set result -1' is still in effect, but 'result' is set to 0 at the end, just before we call gdb_expect: set result 0 set code [catch {gdb_expect $code} string] gdb/testsuite/ 2015-03-02 Pedro Alves * lib/gdb.exp (gdb_test_multiple) : Set result to -1. commit 2c7b626ceef8ee50d6ef6fb575cfe55b93ef7a0f Author: Cary Coutant Date: Mon Mar 2 10:20:21 2015 -0800 Fix crash when processing merge section with entsize of 0. 2015-02-04 Peter Collingbourne Cary Coutant gold/ * output.cc (Output_section::add_merge_input_section): Do not attempt to merge sections with an entsize of 0. commit 5b07cd848db1dbe9e3498e94bea5e69c8e438153 Author: Cary Coutant Date: Mon Mar 2 10:10:52 2015 -0800 Fix an internal error in do_print_to_mapfile on Arm. 2015-02-02 Khem Raj gold/ * attributes.h (class Output_attributes_section_data ): Add do_print_to_mapfile function. commit 9a284c9794a7589edc01b5701efe5406a27b5b4a Author: Doug Evans Date: Mon Mar 2 08:33:10 2015 -0800 gdb.texinfo (Specify Location): Fix syntax of filename:function. gdb/doc/ChangeLog: * gdb.texinfo (Specify Location): Fix syntax of filename:function. commit 00e474c2e96f9a56f128ee29fbdc36ac32d5e14a Author: Joel Brobecker Date: Mon Mar 2 06:05:01 2015 -0800 Revert "Remove true and false ARI checks now that we use stdbool.h." As we cannot use type bool until conversion to C++ is official, this patch re-instates the ARI checks for "true/false". gdb/ChangeLog: * contrib/ari/gdb_ari.sh: Reinstate checks for "true" and "false". commit cc7039d31aefe14a31b5b6d8d3694e32bc22b486 Author: Joel Brobecker Date: Mon Mar 2 06:01:23 2015 -0800 Remove use of stdbool.h in GDB sources. Using type bool from stdbool unfortunately causes problems trying to build GDB on AiX and Solaris: In file included from ../../src/gdb/utils.h:24:0, from ../../src/gdb/defs.h:707, from ../../src/gdb/utils.c:20: /[...]/curses.h:96:14: error: two or more data types in declaration specifiers typedef char bool; ^ make[2]: *** [utils.o] Error 1 In theory, the problem is in curses.h which, in both cases, do something similar. On Solaris: #if !defined(__cplusplus) && !defined(_BOOL) typedef char bool; #endif /* !defined(__cplusplus) && !defined(_BOOL) */ On AiX: #if !defined(__cplusplus) || (defined(__IBMCPP__) &&(__IBMCPP__<400)) #ifndef _BOOL #define _BOOL typedef int bool; #endif #endif You can reproduce the same problem by trying to compile: % cat toto.c #include #include % gcc -c toto.c In file included from toto.c:1:0: /[...]/curses.h:159:13: error: two or more data types in declaration specifiers typedef int bool; ^ This specific issue wouldn't occur if we included curses.h before including stdbool.h, and I looked at that just to be complete. Here is a small schematic representation of the include logic: * utils.c: -> defs.h -> utils.h -> stdbool.h -> gdb_curses.h -> curses.h Because defs.h should always be first on the list, it means that stdbool.h will always necessarily be included ahead of curses.h. But, thinking beyond this very specific issue, it shows that using stdbool.h is going to cause problems on these systems until either GCC fixes those includes in a way that makes them work; or we switch to C++. In the meantime, I think the path of least resistance is to revert the use of stdbool.h, and use integers, the way we've done up until now. The benefits of using type "bool" are modest, IMO, so not a great loss, and a temporary one. gdb/ChangeLog: * utils.h: Remove #include. (producer_is_gcc): Change return type to "int". * utils.c (producer_is_gcc): Change return type to int. Return 1 instead of true, and 0 instead of false. Adjust function documentation accordingly. commit 4fa5d7b436815f58688ec9245f24fc83263364b9 Author: Andreas Arnez Date: Mon Mar 2 10:57:40 2015 +0100 S390: Vector register test case Add a test case for S/390 vector registers support. gdb/testsuite/ChangeLog: * gdb.arch/s390-vregs.exp: New test. * gdb.arch/s390-vregs.S: New file. commit bf2d68ab8c9da89a7caec2abdd2cc27c607f4a04 Author: Andreas Arnez Date: Mon Mar 2 10:57:40 2015 +0100 S390: Add vector register support to gdbserver On S/390 targets with vector registers, enable gdbserver to advertise and handle the feature "org.gnu.gdb.s390.vx". gdb/gdbserver/ChangeLog: * Makefile.in (s390-vx-linux64.c, s390-tevx-linux64.c) (s390x-vx-linux64.c, s390x-tevx-linux64.c): New rules. (clean): Add "rm -f" for above C files. * configure.srv (srv_regobj): Add s390-vx-linux64.o, s390-tevx-linux64.o, s390x-vx-linux64.o, and s390x-tevx-linux64.o. (srv_xmlfiles): Add s390-vx-linux64.xml, s390-tevx-linux64.xml, s390x-vx-linux64.xml, s390x-tevx-linux64.xml, and s390-vx.xml. * linux-s390-low.c (HWCAP_S390_VX): New macro. (init_registers_s390_vx_linux64, init_registers_s390_tevx_linux64) (init_registers_s390x_vx_linux64) (init_registers_s390x_tevx_linux64) (tdesc_s390_vx_linux64, tdesc_s390_tevx_linux64) (tdesc_s390x_vx_linux64, tdesc_s390x_tevx_linux64): New extern declarations. (s390_fill_vxrs_low, s390_store_vxrs_low, s390_fill_vxrs_high) (s390_store_vxrs_high): New functions. (s390_regsets): Add entries for NT_S390_VXRS_LOW and NT_S390_VXRS_HIGH. (s390_arch_setup): Add logic for selecting one of the new target descriptions. Activate the new vector regsets if applicable. (initialize_low_arch): Also invoke init_registers_s390_vx_linux64, init_registers_s390_tevx_linux64, init_registers_s390x_vx_linux64, and init_registers_s390x_tevx_linux64. commit 550bdf96cae94bc3e6c0f7e7e9a6793399dd8fe6 Author: Andreas Arnez Date: Mon Mar 2 10:57:39 2015 +0100 S390: Add vector register support to gdb Recognize S/390 targets with the new vector feature and present their vector registers appropriately: as 32 new 128-bit wide registers v0-v31, where the first 16 embed the floating point registers f0-f15. Each of the full registers v0-v15 is modelled as a pseudo register. gdb/ChangeLog: * s390-linux-nat.c (have_regset_vxrs): New static variable. (s390_linux_fetch_inferior_registers): Handle vector registers, if present. (s390_linux_store_inferior_registers): Likewise. (s390_get_hwcap): Remove function. Embed its logic... (s390_read_description): ...here. Yield a target description with vector registers if applicable. * s390-linux-tdep.c: Include "features/s390-vx-linux64.c", "features/s390-tevx-linux64.c", "features/s390x-vx-linux64.c", and "features/s390x-tevx-linux64.c". (struct gdbarch_tdep) : New field. (s390_dwarf_regmap): Add vector registers. Remove bogus entries for "GNU/Linux-specific registers". (s390_dwarf_reg_r0l): New enum value. (s390_dwarf_reg_to_regnum): Support vector registers. (s390_adjust_frame_regnum): Adjust pseudo DWARF register numbers of GPR lower halves. (regnum_is_vxr_full): New function. (s390_register_name): New function. (s390_pseudo_register_name): Handle v0-v15, which are composed of f0-f15 and v0l-v15l. (s390_pseudo_register_type): Likewise. (s390_pseudo_register_read): Likewise. (s390_pseudo_register_write): Likewise. (s390_value_from_register): Account for the fact that values are placed left-justified in vector registers. (s390_pseudo_register_reggroup_p): Add pseudo registers v0-v15 to the vector reggroup and omit them from the general reggroup. (s390_regmap_vxrs_low, s390_regmap_vxrs_high): New register maps. (s390_vxrs_low_regset, s390_vxrs_high_regset): New regsets. (s390_iterate_over_regset_sections): Add iterations for the two new vector regsets. (s390_core_read_description): Yield a target description with vector registers if applicable. (s390_gdbarch_init): Handle target descriptions with vector registers. Add "register_name" gdbarch method. (_initialize_s390_tdep): Call new tdesc initialization functions. * s390-linux-tdep.h (HWCAP_S390_VX): New macro. (S390_V0_LOWER_REGNUM, S390_V1_LOWER_REGNUM, S390_V2_LOWER_REGNUM) (S390_V3_LOWER_REGNUM, S390_V4_LOWER_REGNUM, S390_V5_LOWER_REGNUM) (S390_V6_LOWER_REGNUM, S390_V7_LOWER_REGNUM, S390_V8_LOWER_REGNUM) (S390_V9_LOWER_REGNUM, S390_V10_LOWER_REGNUM) (S390_V11_LOWER_REGNUM, S390_V12_LOWER_REGNUM) (S390_V13_LOWER_REGNUM, S390_V14_LOWER_REGNUM) (S390_V15_LOWER_REGNUM, S390_V16_REGNUM, S390_V17_REGNUM) (S390_V18_REGNUM, S390_V19_REGNUM, S390_V20_REGNUM) (S390_V21_REGNUM, S390_V22_REGNUM, S390_V23_REGNUM) (S390_V24_REGNUM, S390_V25_REGNUM, S390_V26_REGNUM) (S390_V27_REGNUM, S390_V28_REGNUM, S390_V29_REGNUM) (S390_V30_REGNUM, S390_V31_REGNUM): New macros. (S390_NUM_REGS): Adjust value. (s390_vxrs_low_regset, s390_vxrs_high_regset): Declare. (tdesc_s390_vx_linux64, tdesc_s390_tevx_linux64) (tdesc_s390x_vx_linux64, tdesc_s390x_tevx_linux64): Likewise. * NEWS: Announce S/390 vector register support. commit 446899e472025a04017064f5172105cec70eb357 Author: Andreas Arnez Date: Mon Mar 2 10:57:39 2015 +0100 S390: Add target descriptions for vector register sets The IBM z13 has new vector registers v0-v31 which are presented by the Linux kernel as two additional register sets. This patch adds XML descriptions and the respective autogenerated .c and .dat files for S390 targets with this feature. Note that supported combinations include targets with and without a transactional execution facility. gdb/ChangeLog: * features/s390-tevx-linux64.xml: New file. * features/s390-vx-linux64.xml: New file. * features/s390-vx.xml: New file. * features/s390x-tevx-linux64.xml: New file. * features/s390x-vx-linux64.xml: New file. * features/Makefile (WHICH): Add s390-vx-linux64, s390x-vx-linux64, s390-tevx-linux64, and s390x-tevx-linux64. (s390-vx-linux64-expedite, s390-tevx-linux64-expedite) (s390x-vx-linux64-expedite, s390x-tevx-linux64-expedite): New macros. * features/s390-tevx-linux64.c: New generated file. * features/s390-vx-linux64.c: Likewise. * features/s390x-tevx-linux64.c: Likewise. * features/s390x-vx-linux64.c: Likewise. * regformats/s390-tevx-linux64.dat: Likewise. * regformats/s390-vx-linux64.dat: Likewise. * regformats/s390x-tevx-linux64.dat: Likewise. * regformats/s390x-vx-linux64.dat: Likewise. gdb/doc/ChangeLog: * gdb.texinfo (S/390 and System z Features): Describe new feature "org.gnu.gdb.s390.vx". commit daf220f0a7322ab97390d4ff33d0b4202267117d Author: Alan Modra Date: Mon Mar 2 16:53:07 2015 +1030 Correct -z nocopyreloc doc This option is misnamed. It should probably be called -z nodynbss, but it's too late to change now. * ld.texinfo (Options <-z nocopyreloc>): Rewrite. commit a07229507b48662c2d08957dca9e2d8ad16c407b Author: GDB Administrator Date: Mon Mar 2 00:00:07 2015 +0000 Automatic date update in version.in commit c966a859b96f78920c16e1161578405d88b425cf Author: Pedro Alves Date: Sun Mar 1 14:55:29 2015 +0000 Fix 32-bit x86 in-process agent build Git commit 3c14e5a39bb4fddd added a declaration for gdb_agent_get_raw_reg to tracepoint.h, and this now caught that the 32-bit x86 implementation has the wrong prototype: ../../../src/gdb/gdbserver/linux-i386-ipa.c:103:1: error: conflicting types for ‘gdb_agent_get_raw_reg’ gdb_agent_get_raw_reg (unsigned char *raw_regs, int regnum) ^ In file included from ../../../src/gdb/gdbserver/linux-i386-ipa.c:24:0: ../../../src/gdb/gdbserver/tracepoint.h:168:31: note: previous declaration of ‘gdb_agent_get_raw_reg’ was here IP_AGENT_EXPORT_FUNC ULONGEST gdb_agent_get_raw_reg ^ make[2]: *** [linux-i386-ipa.o] Error 1 gdb/gdbserver/ 2015-03-01 Pedro Alves * linux-i386-ipa.c (gdb_agent_get_raw_reg): Constify 'raw_regs' parameter. commit 3ea9863f6b965a91d3307e8661edfc81ad3be410 Author: GDB Administrator Date: Sun Mar 1 00:00:07 2015 +0000 Automatic date update in version.in commit acf1419f9c52d06ee70169b85c5f8980c7359f8f Author: Andrew Burgess Date: Fri Feb 13 17:04:42 2015 +0000 objcopy: Add --update-section option. New option for objcopy --update-section allows the contents of a section to be updated while maintaining the section flags, and, for ELF files, the section to segment mapping. New test uses --dump-section and --update-section to check that a section can be made larger and smaller with an update. binutils/ChangeLog: * objcopy.c (update_sections): New list. (command_line_switch): Add OPTION_UPDATE_SECTION. (copy_options): Add update-section. (copy_usage): Document new option. (is_update_section): New function. (is_strip_section_1): Add check for attempt to update and remove the same section. (copy_object): Update size and content of requested sections. (skip_section): Don't copy for updated sections. (copy_main): Handle --update-section. * doc/binutils.texi (objcopy): Add description of --update-section option. * NEWS: Mention --update-section option. binutils/testsuite/ChangeLog: * binutils-all/update-1.s: New file. * binutils-all/update-2.s: New file. * binutils-all/update-3.s: New file. * binutils-all/update-4.s: New file. * binutils-all/update-section.exp: New file. commit b7236fbee40060bcf5e90740a5c5706317749f91 Author: Doug Evans Date: Sat Feb 28 12:05:27 2015 -0800 symtab.h (struct symtab) : Fix comment. gdb/ChangeLog: * symtab.h (struct symtab) : Fix comment. commit 9028d9432c57fc0871479960f843ef4af194d5ac Author: Alan Modra Date: Wed Feb 25 09:36:36 2015 +1030 Pad only text sections at end by default gas/ * write.c (SUB_SEGMENT_ALIGN): Don't pad non-code sections at end to their alignment. gas/testsuite/ * gas/sparc/pcrel.d: Update for changed padding in data sections. * gas/sparc/pcrel64.d: Likewise. ld/testsuite/ * ld-sparc/gotop32.rd: Update for changed padding in data sections. * ld-sparc/gotop32.td: Likewise. * ld-sparc/gotop64.rd: Likewise. * ld-sparc/gotop64.td: Likewise. * ld-tilegx/external.s: Align .data. * ld-tilepro/external.s: Likewise. commit f01f1741df37f0330fbf2809df0ffddc992ff60c Author: Alan Modra Date: Fri Feb 27 11:43:21 2015 +1030 Tweak ppc32 tls_get_addr optimisation This patch is cosmetic. It prevents references to __tls_get_addr_opt (an alias for __tls_get_addr) when the optimisation isn't possible. * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if not PLT_NEW. commit eb704cb6566cc4594099f49f8a215bab4fa7bbb6 Author: GDB Administrator Date: Sat Feb 28 00:00:08 2015 +0000 Automatic date update in version.in commit 02e62830e26a0d3c0d47d4e09209cc04354765a6 Author: Simon Marchi Date: Fri Feb 27 17:40:36 2015 -0500 Fix Python 3 build: rename GdbMethods Rename forgotten GdbMethods to python_GdbMethods. gdb/ChangeLog: * python/python.c (python_GdbModuleDef): Rename GdbMethods to python_GdbMethods. commit c1d11331c9d84541b5002314f8cee2f302dd5763 Author: H.J. Lu Date: Fri Feb 27 11:27:31 2015 -0800 Convert mov to lea only if needed We can convert mov to lea only if there are R_386_GOT32/R_X86_64_GOTPCREL relocations against non IFUNC symbols. * elf32-i386.c (need_convert_mov_to_lea): New. (elf_i386_check_relocs): Set need_convert_mov_to_lea if needed. (elf_i386_convert_mov_to_lea): Return TRUE if need_convert_mov_to_lea is unset. * elf64-x86-64.c (need_convert_mov_to_lea): New. (elf_x86_64_check_relocs): Set need_convert_mov_to_lea if needed. (elf_x86_64_convert_mov_to_lea): Return TRUE if need_convert_mov_to_lea is unset. commit bf36a1e7df75608045be60a5d16a1df207df3464 Author: Pedro Alves Date: Thu Feb 26 14:03:47 2015 +0000 More redefinition errors in C++ mode In C++, we can't forward declare objects like in C. The compiler complains about symbol redefinition. Most cases of this were fixed in e36122e9, but dtrace probes introduced a new one meanwhile. This patch fixes it the same way e36122e9 fixed the others. gdb/ 2015-02-27 Pedro Alves * dtrace-probe.c (dtrace_probe_ops): Make extern. commit ad6aff7dead678cc0fa4f786fa59c6040c6fa758 Author: Pedro Alves Date: Mon Feb 9 14:59:12 2015 +0000 Move exception_none to common code, and use it gdb/ChangeLog: 2015-02-27 Pedro Alves * common/common-exceptions.h (exception_none): Declare. * common/common-exceptions.c (exception_none): Moved from exceptions.c. (exceptions_state_mc_init): Use exception_none. * exceptions.c (exception_none): Move to common/common-exceptions.c. * exceptions.h (exception_none): Move to common/common-exceptions.h. commit 97c185659a35d249aa20c89674e3da2baf4b4352 Author: Pedro Alves Date: Mon Feb 9 14:59:10 2015 +0000 catch_command_errors: Remove 'mask' parameter All callers of catch_command_errors pass RETURN_MASK_ALL as mask argument. This patch eliminates the mask parameter as unnecessary. gdb/ChangeLog: 2015-02-27 Pedro Alves * main.c (catch_command_errors, catch_command_errors_const): Remove 'mask' argument. Adjust. (captured_main): Adjust callers. gdb/testsuite/ChangeLog: 2015-02-27 Pedro Alves * gdb.gdb/python-interrupts.exp (test_python_interrupts): Adjust call to catch_command_errors. * gdb.gdb/python-selftest.exp (selftest_python): Adjust call to catch_command_errors. commit a37bfa30016370992c59105fb4fd97cd3a264149 Author: Pedro Alves Date: Wed Oct 22 15:14:41 2014 +0100 Adjust self tests to cope with GDB built as a C++ program gdb/testsuite/ 2015-02-27 Pedro Alves * gdb.gdb/complaints.exp (test_initial_complaints): Also accept "true" for boolean result. * gdb.gdb/selftest.exp (test_with_self): Also accept full prototype of main. commit e992c591afd3e4f047ecad5afa49bdbde6c33eac Author: Pedro Alves Date: Wed Oct 22 12:27:50 2014 +0100 python/python-internal.h: enum ‘ext_lang_rc’ not defined Fixes this in C++ mode: src/gdb/python/python-internal.h: At global scope: src/gdb/python/python-internal.h:313:13: error: use of enum ‘ext_lang_rc’ without previous declaration extern enum ext_lang_rc gdbpy_apply_val_pretty_printer ^ src/gdb/python/python-internal.h:320:41: error: invalid type in declaration before ‘;’ token const struct language_defn *language); ^ gdb/ChangeLog: 2015-02-27 Pedro Alves * python/python-internal.h: Include "extension-priv.h". commit 64166036b3de842d3e62e9471a2813b55643e3f3 Author: Pedro Alves Date: Wed Oct 22 12:26:06 2014 +0100 breakpoint.h: move enum ‘print_stop_action’ Building GDB in C++, we get: src/gdb/breakpoint.h:529:8: error: use of enum ‘print_stop_action’ without previous declaration We can't forward declare enums in C++. gdb/ChangeLog: 2015-02-27 Pedro Alves * breakpoint.h (enum print_stop_action): Move further up in the file. commit 8a526fa69afd8ea7d2e303f80c03f9eb46211390 Author: Pedro Alves Date: Wed Oct 22 12:16:56 2014 +0100 gdbarch.h: include regcache.h Building GDB in C++ mode, I got: src/gdb/gdbarch.h:240:149: error: invalid type in declaration before ‘;’ token src/gdb/gdbarch.h:240:14: error: use of enum ‘register_status’ without previous declaration src/gdb/gdbarch.h:241:13: error: use of enum ‘register_status’ without previous declaration src/gdb/gdbarch.h:241:140: error: invalid type in declaration before ‘;’ token That's because 'enum register_status' has not been declared (and we can't forward declare enums in C++). gdb/ChangeLog: 2015-02-27 Pedro Alves * gdbarch.sh: Include regcache.h. * gdbarch.h: Regenerate. commit 0fa9c223ddc05a4b823bc7982dce8ba3b45d903f Author: Pedro Alves Date: Wed Oct 22 05:58:23 2014 +0100 Remove duplicate const Building --enable-targets=all in C++ mode fails with: gdb/sparc-sol2-tdep.c:179:7: error: duplicate ‘const’ gdb/arm-tdep.c:13878:33: error: duplicate ‘const’ gdb/arm-tdep.c:13891:33: error: duplicate ‘const’ gdb/ChangeLog: 2015-02-27 Pedro Alves * arm-tdep.c (decode_insn) : Remove duplicate const. * sparc-sol2-tdep.c (sparc_sol2_static_transform_name): Remove duplicate const. commit 7cf99fb1c72769c17eed0a62951698bf56432108 Author: Pedro Alves Date: Mon Feb 9 13:22:27 2015 +0000 Exported const objects const works different in C vs C++. In C++, a global "const" variable has internal linkage by default, resulting in link errors like: ... extension.o: In function `get_ext_lang_defn(extension_language)': gdb/extension.c:126: undefined reference to `extension_language_guile' gdb/extension.c:124: undefined reference to `extension_language_guile' ... The fix is to define exported const objects with "extern const". But that in C would not be a definition. So we need to #ifdef C vs C++ in this case. EXPORTED_CONST comes from include/ansidecl.h, but in the feature_to_c.sh case I think it's better to leave the script with no dependencies. gdb/ChangeLog: 2015-02-27 Pedro Alves * cp-valprint.c (vtbl_ptr_name): Use EXPORTED_CONST. * guile/guile.c (extension_language_guile): Use EXPORTED_CONST. * features/feature_to_c.sh: Tag the generated xml_builtin array with extern const in C++ mode. commit 1424c16eab1a96de054991c346c2bbf3eac82dec Author: Tom Tromey Date: Thu Jun 5 14:36:27 2014 -0600 Rename struct lzma_stream to avoid clash with system header /home/pedro/gdb/mygit/src/gdb/minidebug.c: At global scope: /home/pedro/gdb/mygit/src/gdb/minidebug.c:55:8: error: using typedef-name ‘lzma_stream’ after ‘struct’ struct lzma_stream ^ In file included from /usr/include/lzma.h:281:0, from /home/pedro/gdb/mygit/src/gdb/minidebug.c:28: /usr/include/lzma/base.h:498:3: note: ‘lzma_stream’ has a previous declaration here } lzma_stream; ^ gdb/ChangeLog: 2015-02-27 Tom Tromey * minidebug.c (struct lzma_stream): Rename to ... (struct gdb_lzma_stream): ... this. (lzma_open, lzma_pread, lzma_close, lzma_stat): Adjust. commit 10367c7c946a123597cbc5efaa44c18912e5e43a Author: Pedro Alves Date: Wed Oct 22 05:09:07 2014 +0100 mi/mi-cmd-stack.c|frame filters: print_values <-> ext_lang_frame_args The enums are value compatible by design, but building in C++ mode trips on them, like: ... gdb/mi/mi-cmd-stack.c:363:34: error: cannot convert ‘print_values’ to ‘ext_lang_frame_args’ for argument ‘3’ to ‘ext_lang_bt_status apply_ext_lang_frame_filter(frame_info*, int, ext_lang_frame_args, ui_out*, int, int)’ ... Fix this by adding a helper function. gdb/ChangeLog: 2015-02-27 Pedro Alves * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): New function. (mi_cmd_stack_list_locals, mi_cmd_stack_list_args) (mi_cmd_stack_list_variables): Use it. commit 4180215b9db1549b88da2da2fcc320fe28233481 Author: Pedro Alves Date: Wed Oct 22 13:51:07 2014 +0100 x86 Linux/ptrace: fix offsetof usage in C++ mode In C++ mode, we get: gdb/gdbserver/linux-x86-low.c: In function ‘void x86_linux_dr_set(ptid_t, int, long unsigned int)’: gdb/gdbserver/linux-x86-low.c:558:38: error: ‘regnum’ cannot appear in a constant-expression offsetof (struct user, u_debugreg[regnum]), value); ^ gdb/gdbserver/ChangeLog: 2015-02-27 Pedro Alves * linux-x86-low.c (u_debugreg_offset): New function. (x86_linux_dr_get, x86_linux_dr_set): Use it. gdb/ChangeLog: 2015-02-27 Pedro Alves * x86-linux-nat.c (u_debugreg_offset): New function. (x86_linux_dr_get, x86_linux_dr_set): Use it. commit 2f56f7c302c8d4012cc47d8bd261b151b2ddfa22 Author: Pedro Alves Date: Mon Oct 20 00:06:55 2014 +0100 Don't forward declare enum target_hw_bp_type Can't do that in C++. 2015-02-27 Pedro Alves * nat/x86-dregs.h (enum target_hw_bp_type): Remove forward declaration. Include break-common.h. commit 570dc176ff0e33525c4c1db981de87aa0dce742e Author: Tom Tromey Date: Wed Oct 22 06:08:20 2014 +0100 Do not increment of decrement enums In C++, we can't do arithmetic on enums. This patch fixes build errors like: src/gdb/i386-tdep.c: In function ‘int i386_stap_parse_special_token(gdbarch*, stap_parse_info*)’: src/gdb/i386-tdep.c:4309:7: error: no match for ‘operator++’ (operand type is ‘i386_stap_parse_special_token(gdbarch*, stap_parse_info*)::’) ++current_state; ^ ... src/gdb/rs6000-tdep.c:4265:18: error: no match for ‘operator++’ (operand type is ‘powerpc_vector_abi’) src/gdb/arm-tdep.c:9428:71: error: no match for ‘operator++’ (operand type is ‘arm_float_model’) src/gdb/arm-tdep.c:9465:64: error: no match for ‘operator++’ (operand type is ‘arm_abi_kind’) ... gdb/ChangeLog: 2015-02-27 Tom Tromey Pedro Alves * arm-tdep.c (set_fp_model_sfunc, arm_set_abi): Use 'int' for local used to iterate over enums. * completer.c (signal_completer): Likewise. * i386-tdep.c (i386_stap_parse_special_token): Likewise. * rs6000-tdep.c (powerpc_set_vector_abi): Likewise. * tui/tui-data.c (tui_next_win, tui_prev_win): Likewise. * tui/tui-layout.c (next_layout, prev_layout): Likewise. * tui/tui-win.c (tui_refresh_all_win, tui_rehighlight_all) (tui_resize_all, tui_set_focus_command, tui_all_windows_info): Likewise. * tui-wingeneral.c (tui_refresh_all): Likewise. commit 68c14faadaf5bfd9816ac913dc8858116aa15a84 Author: Pedro Alves Date: Wed Oct 22 04:35:38 2014 +0100 target.h: Include infrun.h Fixes: src/gdb/target.h:753:10: error: use of enum ‘exec_direction_kind’ without previous declaration in C++ mode. We can't forward declare enums. gdb/ChangeLog: 2015-02-27 Pedro Alves * target.h: Include "infrun.h". commit 749bab0110ddc56835bfe70765675577e3dea05a Author: Pedro Alves Date: Mon Feb 9 14:59:09 2015 +0000 proc-service, extern "C" libthread_db.so calls symbols in the client (GDB), through the proc-service interface. These routines must have extern "C" linkage so their symbol names are not mangled when GDB is built as a C++ program. On the GDBserver side, we were missing fallback declarations for all these symbols. gdb/ChangeLog: 2015-02-27 Pedro Alves * gdb_proc_service.h: Wrap with EXTERN_C_PUSH/EXTERN_C_POP. gdb/gdbserver/ChangeLog: 2015-02-27 Pedro Alves * gdb_proc_service.h: Wrap with EXTERN_C_PUSH/EXTERN_C_POP. [!HAVE_PROC_SERVICE_H] (struct ps_prochandle): Forward declare. [!HAVE_PROC_SERVICE_H] (ps_pdread, ps_pdwrite, ps_ptread) ps_ptwrite, ps_lgetregs, ps_lsetregs, ps_lgetfpregs) (ps_lsetfpregs, ps_getpid) (ps_get_thread_area, ps_pglobal_lookup, ps_pstop, ps_pcontinue) (ps_lstop, ps_lcontinue, ps_lgetxregsize, ps_lgetxregs) (ps_lsetxregs, ps_plog): Declare. commit 3c14e5a39bb4fddd911ba49483c44a12294ae6ef Author: Pedro Alves Date: Mon Feb 9 14:59:08 2015 +0000 Make functions and variables exported by the IPA be extern "C" Functions and variables that are exported by the IPA DSO (that GDBserver needs to look up) should have "C" mangling, thus be declared with extern "C". Function and variable declarations need the extern "C" marker, but variable definitions can't be marked extern, so the patch splits IP_AGENT_EXPORT into three. Building in C++ mode revealed that a few variables were missing IP_AGENT_EXPORT, thus the IPA has been broken when stripped, even in C mode... So this ends being a bug fix as well. gdb/ChangeLog: 2015-02-27 Pedro Alves * common/agent.h (IPA_SYM_EXPORTED_NAME): New. (IPA_SYM): Use it. * common/common-defs.h (EXTERN_C_PUSH, EXTERN_C_POP): New macros. gdb/gdbserver/ChangeLog: 2015-02-27 Pedro Alves * linux-amd64-ipa.c (gdb_agent_get_raw_reg): Use IP_AGENT_EXPORT_FUNC. * linux-i386-ipa.c (gdb_agent_get_raw_reg): Use IP_AGENT_EXPORT_FUNC. * tracepoint.c (ATTR_USED, ATTR_NOINLINE, ATTR_CONSTRUCTOR) (IP_AGENT_EXPORT): Delete. (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end) (gdb_trampoline_buffer, gdb_trampoline_buffer_end) (gdb_trampoline_buffer_error, collecting, gdb_collect) (stop_tracing, flush_trace_buffer, about_to_request_buffer_space) (trace_buffer_is_full, stopping_tracepoint, expr_eval_result) (error_tracepoint, tracepoints, tracing, trace_buffer_ctrl) (trace_buffer_ctrl_curr, trace_buffer_lo, trace_buffer_hi) (traceframe_read_count, traceframe_write_count) (traceframes_created, trace_state_variables, get_raw_reg) (get_trace_state_variable_value, set_trace_state_variable_value) (ust_loaded, helper_thread_id, cmd_buf): Use IPA_SYM_EXPORTED_NAME. (stop_tracing, flush_trace_buffer): Use IP_AGENT_EXPORT_FUNC. (tracepoints) Use IP_AGENT_EXPORT_VAR. (stopping_tracepoint, trace_buffer_is_full, expr_eval_result): Use IP_AGENT_EXPORT_VAR and wrap in EXTERN_C_PUSH/EXTERN_C_POP. (last_tracepoint): Move into !IN_PROCESS_AGENT block. (error_tracepoint): Use IP_AGENT_EXPORT_VAR and wrap in EXTERN_C_PUSH/EXTERN_C_POP. (trace_state_variables): Use IP_AGENT_EXPORT_VAR. (trace_buffer_lo, trace_buffer_hi): Use IP_AGENT_EXPORT_VAR and wrap in EXTERN_C_PUSH/EXTERN_C_POP. (trace_buffer_ctrl, trace_buffer_ctrl_curr) (traceframe_write_count, traceframe_read_count) (traceframes_created, tracing): Use IP_AGENT_EXPORT_VAR. (about_to_request_buffer_space, get_trace_state_variable_value) (set_trace_state_variable_value): Use IP_AGENT_EXPORT_FUNC. (collecting): Use IP_AGENT_EXPORT_VAR and wrap in EXTERN_C_PUSH/EXTERN_C_POP. (gdb_collect): Use IP_AGENT_EXPORT_FUNC. (ust_loaded, cmd_buf): Use IP_AGENT_EXPORT_VAR. (helper_thread_id, gdb_agent_capability): Use IP_AGENT_EXPORT_VAR and wrap in EXTERN_C_PUSH/EXTERN_C_POP. (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end) (gdb_trampoline_buffer, gdb_trampoline_buffer_end) (gdb_trampoline_buffer_error): Use IP_AGENT_EXPORT_VAR. * tracepoint.h (ATTR_USED, ATTR_NOINLINE, EXPORTED_SYMBOL): Define. (IP_AGENT_EXPORT_FUNC, IP_AGENT_EXPORT_VAR) (IP_AGENT_EXPORT_VAR_DECL): Define. (tracing): Declare. (gdb_agent_get_raw_reg): Declare. commit 56000a9801956afa7622249f114da778afc8887f Author: Pedro Alves Date: Mon Feb 9 14:59:08 2015 +0000 Add extern "C" to declarations of C symbols These symbols are defined in C code, so in C++ mode we need to use extern "C" to declare them. As extern "C" can't be used inside a function's scope, we move the declarations to the global scope at the same time. gdb/ChangeLog: 2015-02-27 Pedro Alves * cli-out.c (_rl_erase_entire_line): Move declaration out of cli_mld_erase_entire_line, and make it extern "C". * common/common-defs.h (EXTERN_C): New. * completer.c (_rl_completion_prefix_display_length) (_rl_print_completions_horizontally, QSFUNC): Move declarations out of gdb_display_match_list_1. (_rl_qsort_string_compare): Move declaration out of gdb_display_match_list_1, and make it extern "C". * defs.h (re_comp): Use EXTERN_C. * maint.c (_mcleanup): Move declaration out of mcleanup_wrapper, and make it extern "C". (monstartup): Move declaration out of maintenance_set_profile_cmd, and make it extern "C". (main): Move declaration out of maintenance_set_profile_cmd. * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason_string): Use EXTERN_C. commit bcabf4207e7ba20f09e15141c6c3241862ac4aee Author: Pedro Alves Date: Mon Feb 9 14:59:06 2015 +0000 Make array object extern Compiling python.c in C++ mode, we get: ...src/gdb/python/python.c: At global scope: ...src/gdb/python/python.c:106:31: error: storage size of ‘GdbMethods’ isn’t known static PyMethodDef GdbMethods[]; ^ Fix it by making the affected array objects extern. gdb/ChangeLog: 2015-02-27 Pedro Alves * python/python.c (GdbMethods): Rename to ... (python_GdbMethods): ... this and make extern. (GdbModuleDef): Rename to ... (python_GdbModuleDef): ... this and make extern. commit 928dbe07562fa842a990d1c3aa65e12343426e68 Author: Pedro Alves Date: Mon Feb 9 17:13:39 2015 +0000 record-btrace.c: Remove redefinitions The set_record_btrace_cmdlist and show_record_btrace_cmdlist objects are declared twice in the file, seemingly a simply copy/paste oversight. In C, the first time counts as forward declaration, but in C++, they are all definitions. That results in: src/gdb/record-btrace.c:80:33: error: redefinition of ‘cmd_list_element* set_record_btrace_cmdlist’ src/gdb/record-btrace.c:61:33: error: ‘cmd_list_element* set_record_btrace_cmdlist’ previously declared here src/gdb/record-btrace.c:81:33: error: redefinition of ‘cmd_list_element* show_record_btrace_cmdlist’ src/gdb/record-btrace.c:62:33: error: ‘cmd_list_element* show_record_btrace_cmdlist’ previously declared here gdb/ChangeLog: 2015-02-27 Pedro Alves * record-btrace.c (set_record_btrace_cmdlist) (show_record_btrace_cmdlist): Remove redefinitions. --- gdb/record-btrace.c | 4 ---- 1 file changed, 4 deletions(-) commit 52059ffd6935427d02ee418be3eceeff6fd5c066 Author: Tom Tromey Date: Mon Feb 9 14:59:05 2015 +0000 Fix struct, union, and enum nesting in C++ In C, an enum or structure defined inside other structure has global scope just like it had been defined outside the struct in the first place. However, in C++, such a nested structure is given a name that is nested inside the structure. This patch moves such affected structures/enums out to global scope, so that code using them works the same in C++ as it works today in C. gdb/ChangeLog: 2015-02-27 Tom Tromey Pedro Alves * dwarf2-frame.c (enum cfa_how_kind, struct dwarf2_frame_state_reg_info): Move out of struct dwarf2_frame_state. * dwarf2read.c (struct tu_stats): Move out of struct dwarf2_per_objfile. (struct file_entry): Move out of struct line_header. (struct nextfield, struct nextfnfield, struct fnfieldlist, struct typedef_field_list): Move out of struct field_info. * gdbtypes.h (enum dynamic_prop_kind, union dynamic_prop_data): Move out of struct dynamic_prop. (union type_owner, union field_location, struct field, struct range_bounds, union type_specific): Move out of struct main_type. (struct fn_fieldlist, struct fn_field, struct typedef_field) (VOFFSET_STATIC): Move out of struct cplus_struct_type. (struct call_site_target, union call_site_parameter_u, struct call_site_parameter): Move out of struct call_site. * m32c-tdep.c (enum m32c_prologue_kind): Move out of struct m32c_prologue. (enum srcdest_kind): Move out of struct srcdest. * main.c (enum cmdarg_kind): Move out of struct cmdarg. * prologue-value.h (enum prologue_value_kind): Move out of struct prologue_value. * s390-linux-tdep.c (enum s390_abi_kind): Move out of struct gdbarch_tdep. * stabsread.c (struct nextfield, struct next_fnfieldlist): Move out of struct field_info. * symfile.h (struct other_sections): Move out of struct section_addr_info. * symtab.c (struct symbol_cache_slot): Move out struct block_symbol_cache. * target-descriptions.c (enum tdesc_type_kind): Move out of typedef struct tdesc_type. * tui/tui-data.h (enum tui_line_or_address_kind): Move out of struct tui_line_or_address. * value.c (enum internalvar_kind, union internalvar_data): Move out of struct internalvar. * xtensa-tdep.h (struct ctype_cache): Move out of struct gdbarch_tdep. commit fe978cb071b460b2d4aed2f9a71d895f84efce0e Author: Pedro Alves Date: Fri Feb 27 16:33:07 2015 +0000 C++ keyword cleanliness, mostly auto-generated This patch renames symbols that happen to have names which are reserved keywords in C++. Most of this was generated with Tromey's cxx-conversion.el script. Some places where later hand massaged a bit, to fix formatting, etc. And this was rebased several times meanwhile, along with re-running the script, so re-running the script from scratch probably does not result in the exact same output. I don't think that matters anyway. gdb/ 2015-02-27 Tom Tromey Pedro Alves Rename symbols whose names are reserved C++ keywords throughout. gdb/gdbserver/ 2015-02-27 Tom Tromey Pedro Alves Rename symbols whose names are reserved C++ keywords throughout. commit 3bc3d82a005466a66fa22f704c90f4486ca71344 Author: Pedro Alves Date: Fri Feb 27 13:11:25 2015 +0000 Add --enable-build-with-cxx configure switch This new option, disabled by default for now, allows specifying whether to build GDB, GDBserver, and friends with a C++ (98/03) compiler. The name of the switch should be familiar to those who followed GCC's own C++ conversion process. . Adding -fpermissive to COMPILER in C++ mode (see the new build-with-cxx.m4 file) makes errors like these be warnings instead: gdb/infrun.c:6597:1: error: initializing argument 1 of ‘void sig_print_info(gdb_signal)’ [-fpermissive] sig_print_info (enum gdb_signal oursig) ^ gdb/infrun.c: In function ‘void do_restore_infcall_suspend_state_cleanup(void*)’: gdb/infrun.c:7164:39: error: invalid conversion from ‘void*’ to ‘infcall_suspend_state*’ [-fpermissive] restore_infcall_suspend_state (state); ^ so that the compiler carries on compiling the file. -Werror still catches the warnings, so nothing is lost, only our lifes are made easier by concentrating on getting other more important things out of the way first. There's no way to quiet those warnings. Until they're all fixed, when building in C++ mode, -Werror is disabled by default. . Adding -Wno-narrowing suppresses thousands of instances of this warning: gdb/arm-linux-tdep.c:439:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘ULONGEST {aka long unsigned int}’ inside { } is ill-formed in C++11 [-Werror=narrowing] gdb/arm-linux-tdep.c:439:1: error: narrowing conversion of ‘-1l’ from ‘LONGEST {aka long int}’ to ‘ULONGEST {aka long unsigned int}’ inside { } is ill-formed in C++11 [-Werror=narrowing] gdb/arm-linux-tdep.c:450:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘ULONGEST {aka long unsigned int}’ inside { } is ill-formed in C++11 [-Werror=narrowing] We can defer handling those until we target C++11. . Adding -Wno-sign-compare suppresses thousands of instances of this warning: gdb/linux-record.c:1763:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (tmpulongest == tdep->fcntl_F_GETLK64) ^ . Adding -Wno-write-strings suppresses thousands of instances of this warning: gdb/mi/mi-cmd-var.c: In function ‘void mi_cmd_var_show_attributes(char*, char**, int)’: gdb/mi/mi-cmd-var.c:514:12: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] attstr = "editable"; ^ gdb/mi/mi-cmd-var.c:516:12: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] attstr = "noneditable"; ^ For now, it's best to hide these warnings from view until we're '-fpermissive'-clean, and can thus start building with -Werror. The C compiler has always managed to build working GDBs with these issues in the code, so a C++ compiler should too. gdb/ChangeLog: 2015-02-27 Pedro Alves * Makefile.in (COMPILER): New, get it from autoconf. (COMPILE.pre, CC_LD): Use COMPILER. (CXX): Get from autoconf instead. (CXX_FOR_TARGET): Default to g++ instead of gcc. * acinclude.m4: Include build-with-cxx.m4. * build-with-cxx.m4: New file. * configure.ac: Call AC_PROG_CXX and GDB_AC_BUILD_WITH_CXX. Disable -Werror by default if building in C++ mode. (build_warnings): Add -Wno-sign-compare, -Wno-write-strings and -Wno-narrowing in C++ mode. Only enable -Wpointer-sign in C mode. Run supported-warning-flags tests with the C++ compiler. Save/restore CXXFLAGS too. * configure: Regenerate. gdb/gdbserver/ChangeLog: 2015-02-27 Pedro Alves * Makefile.in (COMPILER): New, get it from autoconf. (CXX): Get from autoconf instead. (COMPILE.pre): Use COMPILER. (CC-LD): Rename to ... (CC_LD): ... this. Use COMPILER. (gdbserver$(EXEEXT), gdbreplay$(EXEEXT), $(IPA_LIB)): Adjust. (CXX_FOR_TARGET): Default to g++ instead of gcc. * acinclude.m4: Include build-with-cxx.m4. * configure.ac: Call AC_PROG_CXX and GDB_AC_BUILD_WITH_CXX. Disable -Werror by default if building in C++ mode. (build_warnings): Add -Wno-sign-compare, -Wno-write-strings and -Wno-narrowing in C++ mode. Run supported-warning-flags tests with the C++ compiler. Save/restore CXXFLAGS too. * configure: Regenerate. commit f0673d2040a49ecebfc0d3a03993d09fb4dd3e17 Author: Nick Clifton Date: Fri Feb 27 16:19:57 2015 +0000 Fixes a problem with the linker script parser not always handling the ! character in memort region attributes. PR ld/17900 * ldlang.c (lang_set_flags): Allow exclamation mark to reverse the sense of the following memory region attribute characters. commit 07697489f4587e41f4f63aa526c1bd7d2fcd5494 Author: Pedro Alves Date: Fri Feb 27 15:52:02 2015 +0000 Create libiberty.m4, have GDB and GDBserver use it Converting GDB to be a C++ program, I stumbled on 'basename' issues, like: src/gdb/../include/ansidecl.h:169:64: error: new declaration ‘char* basename(const char*)’ /usr/include/string.h:597:26: error: ambiguates old declaration ‘const char* basename(const char*)’ which I believe led to this bit in gold's configure.ac: dnl We have to check these in C, not C++, because autoconf generates dnl tests which have no type information, and current glibc provides dnl multiple declarations of functions like basename when compiling dnl with C++. AC_CHECK_DECLS([basename, ffs, asprintf, vasprintf, snprintf, vsnprintf, strverscmp]) These checks IIUC intend to generate all the HAVE_DECL_FOO symbols that libiberty.h and ansidecl.h check. GDB is missing these checks currently, which results in the conflict shown above. This adds an m4 file that both GDB and GDBserver's configury use to pull in the autoconf checks that libiberty clients needs done in order to use these libiberty.h/ansidecl.h. gdb/ChangeLog: 2015-02-27 Pedro Alves * libiberty.m4: New file. * acinclude.m4: Include libiberty.m4. * configure.ac: Call libiberty_INIT. * config.in, configure: Regenerate. gdb/gdbserver/ 2015-02-27 Pedro Alves * acinclude.m4: Include libiberty.m4. * configure.ac: Call libiberty_INIT. * config.in, configure: Regenerate. commit cdb602b17548eeebb5e700c507d734ea5f887a49 Author: Nick Clifton Date: Fri Feb 27 15:38:32 2015 +0000 Fixes a problem recognizing libraries created by Visual Studio. PR binutils/17910 * coffgen.c (_bfd_coff_internal_syment_name): Only check for string length overflow when the string table length is actually set. commit 6f98576f29a70ed947f102015df0388bccc6aa1a Author: Pedro Alves Date: Fri Feb 27 13:54:22 2015 +0000 Add "../lib/unbuffer_output.c" and use it in gdb.base/interrupt.c 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. See discussion here: https://sourceware.org/ml/gdb-patches/2015-02/msg00809.html We have a hack in place that works around this for Windows testing, that forces every test program to link with an .o file that does (lib/set_unbuffered_mode.c): static int __gdb_set_unbuffered_output (void) __attribute__ ((constructor)); static int __gdb_set_unbuffered_output (void) { setvbuf (stdout, NULL, _IONBF, BUFSIZ); setvbuf (stderr, NULL, _IONBF, BUFSIZ); } That's a bit hacky; it ends up done for _all_ tests. This patch adds a way to do this unbuffering explicitly from the test code itself, so it is done only when necessary, and for all targets/hosts. For starters, it adjusts gdb.base/interrupt.c to use it. 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/ 2015-02-27 Pedro Alves * lib/unbuffer_output.c: New file. * gdb.base/interrupt.c: Include "../lib/unbuffer_output.c". (main): Call gdb_unbuffer_output. commit eba5ab56cf54396325f855a39654964bb9e28a9c Author: Yao Qi Date: Fri Feb 27 13:45:06 2015 +0000 Don't skip catch-syscall.exp on hppa*-hp-hpux* target As far as I know, "catch syscall" is supported on hppa*-hp-hpux*, but the test catch-syscall.exp is skipped on this target by mistake. This patch is to fix it. However, I don't have a hpux machine to test. gdb/testsuite: 2015-02-27 Yao Qi * gdb.base/catch-syscall.exp: Don't skip it on hppa*-hp-hpux* target. commit 96c20bc18d71ca5ae3335d48ff2b459d495032d3 Author: Marcus Shawcroft Date: Fri Feb 27 12:21:54 2015 +0000 Regenerate bfd-in2.h and libbfd.h commit a3976a7c56ec803f6ba141576cc56afe02663a8a Author: Nick Clifton Date: Fri Feb 27 09:49:20 2015 +0000 Fixes problems building the V850 simulator introduced with the previous delta. * sim-main.h (reg64_t): New type. (v850_regs): Add selID_sregs field. (VR, SAT16, SAT32, ABS16, ABS32 ): New macros. * v850-dc: Add fields for v850e3v5 instructions. * v850.igen (cvtf.dl): Use correctly signed local value. (cvtf.dw, cvtf.sw, trncf.dul, trncf.dl, trncf.sul, trncf.sw): Likewise. * interp.c: Fix old style function declarations. * simops.c: Likewise. commit 60abeae4f219a7a445d11ebaf72d2939413ffe80 Author: Andreas Arnez Date: Fri Feb 27 10:47:54 2015 +0100 S390: Fix compiler invocation with "compile" command On 64-bit S390 platforms the "compile" command always failed because gcc was not invoked correctly. This patch fixes the compiler invocation. gdb/ChangeLog: * s390-linux-tdep.c (s390_gcc_target_options): Not just handle 31-bit targets, but 64-bit targets as well. (s390_gnu_triplet_regexp): New function. (s390_gdbarch_init): Set the gcc_target_options gdbarch method for 64-bit targets as well. Set the gnu_triplet_regexp gdbarch method. commit f44466fb654c587908d417b016c16c0fd27bf415 Author: Joel Brobecker Date: Fri Feb 27 09:49:59 2015 +0100 Mark latest entry in gdb/ChangeLog as "(tiny patch)". commit f0666312fd86272e0234d5f7c92d8f65d5c6505e Author: Jon TURNEY Date: Wed Feb 18 23:13:47 2015 +0000 Retrieve segment registers on Windows amd64 For amd64, CONTEXT_FULL does not contain CONTEXT_SEGMENTS, which seems to be needed to retrieve all the segment registers. Add it explicitly, with a little de-cruftification. The value of the segment registers isn't terribly useful on amd64, but at least this makes the output of 'info registers' correct. Before: (gdb) i r cs ss ds es fs gs cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0 After: (gdb) i r cs ss ds es fs gs cs 0x33 51 ss 0x2b 43 ds 0x2b 43 es 0x2b 43 fs 0x53 83 gs 0x2b 43 gdb/ChangeLog 2015-02-27 Jon TURNEY * windows-nat.c (CONTEXT_DEBUGGER): Remove. (CONTEXT_DEBUGGER_DR): Add CONTEXT_SEGMENTS. Incorporate flags from CONTEXT_DEBUGGER. commit 73920eed1d5331150d6a0e3207aa653e10f0a1ac Author: Marcus Shawcroft Date: Fri Feb 27 08:07:55 2015 +0000 Adjust ChangeLog entry. commit 0def5aaad6a89e78f09cef2b95635dc3254ce304 Author: Doug Evans Date: Thu Feb 26 17:31:29 2015 -0800 Add missing CHECK_TYPEDEF calls to recent vptr_{fieldno,basetype} cleanup. gdb/ChangeLog: * gdbtypes.c (internal_type_vptr_fieldno): Add missing call to CHECK_TYPEDEF. (set_type_vptr_fieldno): Ditto. (internal_type_vptr_basetype, set_type_vptr_basetype): Ditto. * gnu-v3-abi.c (gnuv3_dynamic_class): Ditto. gdb/testsuite/ChangeLog: * gdb.cp/class2.cc (Dbase, D): New classes. (main): New local delta. * gdb.cp/class2.exp: Test printing delta. * gdb.cp/classes.cc (DynamicBase2, DynamicBar): New classes. (dynbar): New global. * gdb.cp/classes.exp (test_ptype_class_objects): Test ptype DynamicBar. commit 330b17b30f85b091a214c2987de5dfef1e9733ac Author: Alan Modra Date: Thu Feb 26 13:01:50 2015 +1030 Fix recent h8300 configury changes * Makefile.am (ALL_EMULATION_SOURCES): Sort new h8300 entries. (eh8300elf_linux.c, eh8300helf_linux.c, eh8300self_linux.c, eh8300sxelf_linux.c): Do not invoke genscripts here. * Makefile.in: Regenerate. commit 2ae824de90cee5f16c444a79cc1b442eb9c2cedd Author: GDB Administrator Date: Fri Feb 27 00:00:08 2015 +0000 Automatic date update in version.in commit 60d1b0d6a43b984b88da499f6bbc13cf729f0447 Author: Marcus Shawcroft Date: Thu Feb 19 09:52:24 2015 +0000 [AArch64] Add tiny DESC test cases. commit 1ada945d059789e05542ebf573bd9b7eab2a2654 Author: Marcus Shawcroft Date: Wed Feb 18 15:37:35 2015 +0000 [AArch64] Add support for :tlsdesc: and TLSDESC_LD_PREL19 commit 389b8029b69e2a4cdbc3a23d0ee9d5b3c974bd34 Author: Marcus Shawcroft Date: Wed Feb 18 15:36:40 2015 +0000 [AArch64] Add support for :tlsdesc: and TLSDESC_ADR_PREL21 commit b480a4819bb85f0d8004cc0904e7a2eeb03cb2b7 Author: Marcus Shawcroft Date: Thu Feb 19 09:10:11 2015 +0000 Add tiny memory model GD test cases. commit 3c12b0543695609d96f818b2a60c74b624fc0ffb Author: Marcus Shawcroft Date: Fri Feb 13 07:13:57 2015 +0000 Add ADR :tlsgd: directive and TLSGD_ADR_PREL21 support. commit b108998791b5ac14ba97a0ca3f2e2ed8742f27bb Author: Marcus Shawcroft Date: Wed Feb 18 18:10:59 2015 +0000 Adding tls-tiny-ie test. commit 043bf05a3d8e4bf7706f7c038540b893ec075051 Author: Marcus Shawcroft Date: Fri Feb 13 09:57:11 2015 +0000 Adding support for TLSIE_LD_GOTTREL_PREL19. commit 74ad790c76cf890fc7f42d6dd5a4cebfde5cc0db Author: Marcus Shawcroft Date: Wed Feb 18 18:10:27 2015 +0000 Adding ld_literal_type. Extend the address modifier parsing to distinguish between the modifers used in LDR literal and LDR register offset address modes. The current parser incorrectly accepts the :got: modifier on a register offset instruction resulting in silent corruption of the output binary. commit 27228ca23e80c31ecbf3da261224b1d2ece4be83 Author: Marcus Shawcroft Date: Wed Feb 18 18:32:43 2015 +0000 Adding test case for abuse of :got: in offset load The :got: modifier is not meaningful in a register offset load store instruction and should result in a diagnostic. commit 6f4a313ba49c84d9f8b266d8d90c9cedbd11b1bc Author: Marcus Shawcroft Date: Thu Feb 5 16:57:09 2015 +0000 Adding adr_type and prevent adr :got: The current implementation of the :got: assembler modifier does not distinguish the ADR and ADRP instruction. The :got: modifier does not make sense on and ADR instruction and should be error'd rather than the current behavior of applying an inappropriate relocation to the output and scrambling the underlying instruction silently. commit 3e29ed9f07740a848432a1825c3fb466cdb98a4a Author: Marcus Shawcroft Date: Thu Feb 5 13:16:33 2015 +0000 Add test case for ADR :got:foo The modifier :got: does not make sense on an ADR instruction. Add a test case to ensure we gripe. commit 7366006f66f6b781832e397dd177ed8698d4fdc7 Author: Marcus Shawcroft Date: Wed Feb 18 15:08:34 2015 +0000 Fix field size for TLSDESC_CALL This relocation is a marker and does not result in a modification to the binary. Changing the HOWTO bit field width to reflect this property. commit 07875fbce7911d7e6174d6398cec2872eb489613 Author: Marcus Shawcroft Date: Thu Feb 26 21:20:05 2015 +0000 Fix field size for TLSLE_MOVW_TPREL_* relocations. The HOWTO table entries for the TLSLE_MOVW_TPREL_* relocations are wrong by inspection. The current implementation does not actually use these field widths for these relocations but they should be corrected. commit 49d8f92c6e07977ede747163090b6a702f345629 Author: Marcus Shawcroft Date: Wed Feb 18 15:00:27 2015 +0000 Fix TLSIE_MOVW_GOTTPREL_G0_NC field size. commit 1db365dcdff81c772d4c22e73a86971016ebb6e2 Author: Marcus Shawcroft Date: Fri Feb 13 06:02:52 2015 +0000 Remove dead code. commit d93c7787a0dd4261b8ac65a92a33196b62ef57b4 Author: Nick Clifton Date: Thu Feb 26 22:16:16 2015 +0000 Fix arithmetic overflows running srconv on fuzzed binaries. PR binutils/17512 * coffgrok.c (do_type): Check for an out of range tag index. Check for integer overflow computing array dimension. (do_define): Likewise. commit c86934ceee0971a04bbfc145c7b9a53357c25c91 Author: Nick Clifton Date: Thu Feb 26 21:32:04 2015 +0000 Fixes illegal memory access errors and arithmetic overflows when running strip on fuzzed binaries. PR binutils/17512 * coffcode.h (coff_compute_section_file_positions): Report negative page sizes. * elf.c (elf_fake_sections): Handle excessive alignmment powers. (assign_file_positions_for_non_load_sections): Replace assertion with an error message. (rewrite_elf_program_header): Handle excessive segment alignments. * mach-o.c (bfd_mach_o_read_section_32): Likewise. (bfd_mach_o_read_section_64): Likewise. * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Use %B to print a bfd name, not %A. commit 9beb7c4e1d403e1374096df3a16607132a8cfe84 Author: Pedro Alves Date: Thu Feb 26 18:48:46 2015 +0000 gdbserver/Linux: Simplify stepping past program breakpoint a little .decr_pc_after_break is never higher than .breakpoint_len, so use .breakpoint_len directly. Based on idea from Yao here: https://sourceware.org/ml/gdb-patches/2015-02/msg00689.html gdb/gdbserver/ChangeLog: 2015-02-26 Pedro Alves * linux-low.c (linux_wait_1): When incrementing the PC past a program breakpoint always use the_low_target.breakpoint_len as increment, rather than the maximum between that and the_low_target.decr_pc_after_break. commit 77b64a49e24dd4b5f4c7edb5d4030fe8aa1eec44 Author: Pedro Alves Date: Thu Feb 26 18:29:12 2015 +0000 Add ATTRIBUTE_PRINTF attributes, and fix fallout Fixes building gdb on x86_64-apple-darwin14 with clang, which produces a number of warnings from -Wformat-nonliteral. Ref: https://sourceware.org/ml/gdb/2015-02/msg00047.html gdb/ChangeLog: 2015-02-26 Pedro Alves * auto-load.h (file_is_auto_load_safe): Add ATTRIBUTE_PRINTF. * complaints.c (vcomplaint): Pass argument FMT directly to printf-like functions instead of complaint->fmt. * ctf.c (ctf_save_write_metadata): Add ATTRIBUTE_PRINTF. * darwin-nat.c (inferior_debug): Add ATTRIBUTE_PRINTF. * compile/compile-loc2c.c (pushf, unary, binary): Add ATTRIBUTE_PRINTF. (do_compile_dwarf_expr_to_c): Pass string literal as format string to pushf. (BINARY): Pass string literal as format string to 'binary'. * compile/compile-object-load.c (link_callbacks_einfo): Add ATTRIBUTE_PRINTF. * guile/guile-internal.h (gdbscm_printf): Add ATTRIBUTE_PRINTF. commit 06b73f4199944fb8a7d2c8874f91ed1deb7f4c44 Author: Andrew Burgess Date: Thu Feb 26 17:17:46 2015 +0000 objcopy: Avoid shadowing optarg. In commit 7173b38a442c007a554ea200817a0eadce89c87b I used optarg as the name for a function parameter, shadowing the global of that name. This commit changes the function parameter to be called arg. binutils/ChangeLog: * objcopy.c (init_section_add): Rename optarg to arg in order to avoid shadowing a global variable. commit 532f44ed674a74edc1ef1aa6fd7fed911413e1ba Author: Pedro Alves Date: Thu Feb 26 17:13:58 2015 +0000 Rename windows-termcap.c -> stub-termcap.c Preparation for using this on all hosts. Confirmed that --host=x86_64-w64-mingw32 still builds the stub termcap. gdb/ChangeLog: 2015-02-26 Pedro Alves * windows-termcap.c: Rename to ... * stub-termcap.c: ... this. Adjust header line. * Makefile.in (SFILES): Refer to stub-termcap.c instead of windows-termcap.c. * configure: Regenerate. * configure.ac: Refer to stub-termcap.o instead of windows-termcap.o. * gdb_curses.h: Mention stub-termcap.c instead of windows-termcap.c. commit 081a1c2cede38dfb837e3d89539416fd836be4fe Author: Jan Kratochvil Date: Thu Feb 26 17:40:57 2015 +0100 compile: Fix GNU-IFUNC funcs called from injected code One could not call IFUNCs (=indirect functions) from the compiled injected code. Either it errored with: gdb command line:1:1: error: function return type cannot be function or it just called the IFUNC dispatcher in normal way, returning real function implementation address instead of the function return value (and thus no function was called). gdb/ChangeLog 2015-02-26 Jan Kratochvil * compile/compile-c-symbols.c (convert_one_symbol, convert_symbol_bmsym) (gcc_symbol_address): Call gnu_ifunc_resolve_addr. gdb/testsuite/ChangeLog 2015-02-26 Jan Kratochvil * gdb.compile/compile-ifunc.c: New file. * gdb.compile/compile-ifunc.exp: New file. commit 2f41223f62de5d893bd6a4bd832293c2c3e80d91 Author: Antoine Tremblay Date: Wed Feb 25 11:00:01 2015 -0500 Fix print of value type in a corner case of finish When doing finish in a function, if gdb fails to return a value, gdb also fails at printing the value type if this type is a struct. For example : (gdb) fin .... Value returned has type: . Cannot determine contents This patch fixes this by calling type_to_string to print the type so that we can support these types. This patch returns the following example output : (gdb) fin .... Value returned has type: struct test. Cannot determine contents Also, this patch modifies structs.exp to check that we return the correct type. gdb/ChangeLog: * gdb/infcmd.c (print_return_value): use type_to_string to print type. gdb/testsuite/ChangeLog: * gdb.base/structs.exp: Check for correct struct on finish. commit c8071705c69a13d237aeca4709bf91deaff7e5cb Author: Nick Clifton Date: Thu Feb 26 14:21:54 2015 +0000 Fix undefined arithmetic operations detected by -fsanitize=undefined when running readelf on fuzzed binaries. PR binutils/17512 * dwarf.c (display_debug_loc): Pacify the undefined behaviour sanitizer by simplifying address difference calculation. (struct Frame_Chunk): Change type of cfa_offset to dwarf_vma in order to avoid arithmetic overflows. (frame_display_row): Cast cfa_offset before printing it. (display_debug_frames): Likewise. Check for an unexpected segment size. Chnage type of 'l' local to dwarf_vma and cast it back to an int when printing. (process_cu_tu_index): Tighten check for an invalid ncols value. * readelf.c (process_corefile_note_segment): Check for inote.descdata extending beyond the end of the section. (process_v850_notes): Likewise. commit 03eddd80d7c9b406109c43c07741c9991520954b Author: Yao Qi Date: Thu Feb 26 14:21:19 2015 +0000 Dwarf assembler: handle one instruction function On aarch64, we got the following fail: (gdb) disassemble func Dump of assembler code for function func: 0x0000000000400730 <+0>: ret End of assembler dump.^M (gdb) x/2i func+0^M 0x400730 : ret^M 0x400734
: stp x29, x30, [sp,#-16]!^M (gdb) FAIL: gdb.dwarf2/dw2-ifort-parameter.exp: x/2i func+0 the pattern in proc function_range expects to match , however, GDB doesn't display the offset when it is zero. This patch is to adjust the pattern when $func_length is zero. gdb/testsuite: 2015-02-26 Yao Qi * lib/dwarf.exp (function_range): Adjust pattern when $func_length is zero. commit 80c570537e380c1b8e48754c0ddbce2abcde2d00 Author: Jan Kratochvil Date: Thu Feb 26 14:08:01 2015 +0100 SEGV in ppc64_elf_get_synthetic_symtab reading a separate debug file The attached patch fixes the SEGV and lets GDB successfully load all kernel modules installed by default on RHEL 7. Valgrind on F-21 x86_64 host has shown me more clear what is the problem: Reading symbols from /home/jkratoch/t/cordic.ko...Reading symbols from /home/jkratoch/t/cordic.ko.debug...================================================================= ==22763==ERROR: AddressSanitizer: heap-use-after-free on address 0x6120000461c8 at pc 0x150cdbd bp 0x7fffffffc7e0 sp 0x7fffffffc7d0 READ of size 8 at 0x6120000461c8 thread T0 #0 0x150cdbc in ppc64_elf_get_synthetic_symtab /home/jkratoch/redhat/gdb-test-asan/bfd/elf64-ppc.c:3282 #1 0x8c5274 in elf_read_minimal_symbols /home/jkratoch/redhat/gdb-test-asan/gdb/elfread.c:1205 #2 0x8c55e7 in elf_symfile_read /home/jkratoch/redhat/gdb-test-asan/gdb/elfread.c:1268 [...] 0x6120000461c8 is located 264 bytes inside of 288-byte region [0x6120000460c0,0x6120000461e0) freed by thread T0 here: #0 0x7ffff715454f in __interceptor_free (/lib64/libasan.so.1+0x5754f) #1 0xde9cde in xfree common/common-utils.c:98 #2 0x9a04f7 in do_my_cleanups common/cleanups.c:155 #3 0x9a05d3 in do_cleanups common/cleanups.c:177 #4 0x8c538a in elf_read_minimal_symbols /home/jkratoch/redhat/gdb-test-asan/gdb/elfread.c:1229 #5 0x8c55e7 in elf_symfile_read /home/jkratoch/redhat/gdb-test-asan/gdb/elfread.c:1268 [...] previously allocated by thread T0 here: #0 0x7ffff71547c7 in malloc (/lib64/libasan.so.1+0x577c7) #1 0xde9b95 in xmalloc common/common-utils.c:41 #2 0x8c4da2 in elf_read_minimal_symbols /home/jkratoch/redhat/gdb-test-asan/gdb/elfread.c:1147 #3 0x8c55e7 in elf_symfile_read /home/jkratoch/redhat/gdb-test-asan/gdb/elfread.c:1268 [...] SUMMARY: AddressSanitizer: heap-use-after-free /home/jkratoch/redhat/gdb-test-asan/bfd/elf64-ppc.c:3282 ppc64_elf_get_synthetic_symtab [...] ==22763==ABORTING A similar case a few lines later I have fixed in 2010 by: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=3f1eff0a2c7f0e7078f011f55b8e7f710aae0cc2 My testcase does not always reproduce it but at least a bit: * GDB without ppc64 target (even as a secondary one) is reported as "untested" * ASAN-built GDB with ppc64 target always crashes (and PASSes with this fix) * unpatched non-ASAN-built GDB with ppc64 target crashes from commandline * unpatched non-ASAN-built GDB with ppc64 target PASSes from runtest (?) gdb/ChangeLog 2015-02-26 Jan Kratochvil * elfread.c (elf_read_minimal_symbols): Use bfd_alloc for bfd_canonicalize_symtab. gdb/testsuite/ChangeLog 2015-02-26 Jan Kratochvil * gdb.arch/cordic.ko.bz2: New file. * gdb.arch/cordic.ko.debug.bz2: New file. * gdb.arch/ppc64-symtab-cordic.exp: New file. commit e3ee40059d4a4e04d10e2b5c46bacd2a810355ca Author: Nick Clifton Date: Thu Feb 26 12:23:18 2015 +0000 Fixes a resource exhaustion problem when running windres on a corrupt binary. PR binutils/17512 * resrc.c (write_rc_messagetable): Tighten check for invalid message lengths. commit bd4d2eaad0f624bc47b2e27222480a44d1a48108 Author: Alan Modra Date: Thu Feb 26 21:26:42 2015 +1030 PowerPC64 thread-safe stubs not needed for iplt I was looking at a current glibc using objdump today and saw an odd plt call stub. 0000000000044d80 <00000033.plt_call.__strchrnul>: 44d80: f8 41 00 28 std r2,40(r1) 44d84: e9 82 8c f8 ld r12,-29448(r2) 44d88: 7d 89 03 a6 mtctr r12 44d8c: e8 42 8d 00 ld r2,-29440(r2) 44d90: 28 22 00 00 cmpldi r2,0 44d94: 4c e2 04 20 bnectr+ 44d98: 48 13 84 f0 b 17d288 What? It doesn't branch to __strchrnul@plt on finding a zero r2? Turns out this isn't a real problem since the stub is for loading an ifunc, so will not be lazily resolved and thus r2 will never be zero. Of course, that means the thread-safety check is unnecessary. I also tweak the special __tls_get_addr_opt call stub here, to restore r2 immediately after the call. Not doing that might affect eh_frame unwinding. * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build thread-safe stubs for iplt. (build_tls_get_addr_stub): Restore r2 immediately after call. commit cf424aef0af89903abdd6c4e055684929e4990af Author: John Baldwin Date: Wed Feb 25 09:51:42 2015 -0500 Rework signal frame probing for FreeBSD/x86 - Use signal frame sniffers that look for the signal trampoline instruction sequence to detect most signal frames. - FreeBSD kernels between 9.2 and 10.1 inclusive do not include the signal trampoline code in process core dumps. To detect signal frames for core dumps under these kernels, use the kern.proc.sigtramp. sysctl to fetch the location of the signal trampoline in the gdb process and assume that PC values within this location are signal frames. This depends on that location being identical for all binaries. gdb/ChangeLog: 2015-02-25 John Baldwin * amd64fbsd-nat.c: Include sys/user.h. (_initialize_amd64fbsd_nat): Use the KERN_PROC_SIGTRAMP sysctl instead of KERN_PS_STRINGS to locate the signal trampoline. * i386fbsd-nat.c: Include sys/user.h. (_initialize_i386fbsd_nat): Use the KERN_PROC_SIGTRAMP sysctl instead of KERN_PS_STRINGS to locate the signal trampoline. * amd64fbsd-tdep.c (amd64fbsd_sigtramp_code): New. (amd64fbsd_sigtramp_p): New. (amd64fbsd_sigtramp_start_addr, amd64fbsd_sigtramp_end_addr): No longer set default values. (amd64fbsd_init_abi): Set "sigtramp_p" to "amd64fbsd_sigtramp_p". * i386fbsd-tdep.c (i386fbsd_sigtramp_start) (i386fbsd_sigtramp_middle, i386fbsd_sigtramp_end) (i386fbsd_freebsd4_sigtramp_start) (i386fbsd_freebsd4_sigtramp_middle) (i386fbsd_freebsd4_sigtramp_end, i386fbsd_osigtramp_start) (i386fbsd_osigtramp_middle, i386fbsd_osigtramp_end): New. (i386fbsd_sigtramp_p): New. (i386fbsd_sigtramp_start_addr, i386fbsd_sigtramp_end_addr): No longer set default values. (i386fbsd_init_abi): Set "sigtramp_p" to "i386fbsd_sigtramp_p". commit c5cb74eeb3ea13a9fbeb0ec26b5bad10c4b92e4a Author: John Baldwin Date: Thu Feb 26 11:07:57 2015 +0000 Fix infinite recursion in amd64fbsd_sigcontext_addr amd64fbsd_sigcontext_addr is using frame_unwind_register_unsigned to fetch the stack pointer which results in infinite recursion. This patch changes it to use get_frame_register to match the sigcontext_addr methods in the i386-bsd and amd64-linux targets instead. gdb/ChangeLog: 2015-02-25 John Baldwin * amd64fbsd-tdep.c (amd64fbsd_sigcontext_addr): Use get_frame_register instead of frame_unwind_register_unsigned. commit 17487d857c372c01fb84b028062eaf1cdb41048a Author: Jan Kratochvil Date: Thu Feb 26 11:50:08 2015 +0100 Change // comment in gdb/compile/ Missing ChangeLog in the previous commit: bb2b33b9395662e7562be34b47b9533620b583c6 gdb/ChangeLog 2015-02-26 Jan Kratochvil PR build/18033 * compile/compile-c-support.c (c_compute_program): Change // comment. * compile/compile-object-load.c (setup_sections): Change // comment. commit bb2b33b9395662e7562be34b47b9533620b583c6 Author: Jan Kratochvil Date: Thu Feb 26 11:48:18 2015 +0100 Change // comment in gdb/compile/ commit 9357a9e66e08fea2a13446a4dfba2ceaf11da827 Author: Joel Brobecker Date: Thu Feb 26 10:42:04 2015 +0100 Remove // comment in gdb/iq2000-tdep.c gdb/ChangeLog: PR build/18033: * iq2000-tdep.c (iq2000_frame_cache): Delete C++-style comment. commit 99654aaf360c38a7bff69be8c175a78b83a7d263 Author: Terry Guo Date: Thu Feb 26 14:11:41 2015 +0800 [ARM]Update for Tag_ABI_HardFP_use per EABI doc Updated how we merge and display this attribute per the latest EABI documents. bfd/ChangeLog * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we merge Tag_ABI_HardFP_use. binutils/ChangeLog * readelf.c (arm_attr_tag_ABI_HardFP_use): Update how we display it. ld/testsuite/ChangeLog * ld-arm/attr-merge-3.attr: Remove Tag_ABI_HardFP_use. * ld-arm/attr-merge-vfp-10.d: Likewise. * ld-arm/attr-merge-vfp-10r.d: Likewise. * ld-arm/attr-merge-vfp-12.d: Likewise. * ld-arm/attr-merge-vfp-12r.d: Likewise. * ld-arm/attr-merge-vfp-13.d: Likewise. * ld-arm/attr-merge-vfp-13r.d: Likewise. * ld-arm/attr-merge-vfp-14.d: Likewise. * ld-arm/attr-merge-vfp-14r.d: Likewise. * ld-arm/attr-merge-vfp-6.d: Likewise. * ld-arm/attr-merge-vfp-6r.d: Likewise. * ld-arm/attr-merge-vfp-7.d: Likewise. * ld-arm/attr-merge-vfp-7r.d: Likewise. * ld-arm/attr-merge-vfp-8.d: Likewise. * ld-arm/attr-merge-vfp-8r.d: Likewise. commit a127494f2dcad834743e613be4cfea39511ad5ec Author: Alan Modra Date: Mon Feb 23 16:45:05 2015 +1030 Use dynamic text relocs for protected vars Rather than reporting a link error on attempting to use dynbss for protected vars, use dynamic text relocs. * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc. Use text relocs rather than giving an error on trying to use .dynbss for protected shared lib vars. * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. commit e26e3344573513d33e99bca5c659bbbe3a9b647c Author: GDB Administrator Date: Thu Feb 26 00:00:08 2015 +0000 Automatic date update in version.in commit 7173b38a442c007a554ea200817a0eadce89c87b Author: Andrew Burgess Date: Fri Feb 20 20:12:56 2015 +0000 objcopy: Factor out some of the option parsing code. This patch splits out some of the option parsing code, increasing code reuse. binutils/ChangeLog: * objcopy.c (init_section_add): New function. (section_add_load_file): New function. (copy_main): Make use of new functions. commit bac13f5a4c05ed88d7c4639c37ad01bb7e305419 Author: Andrew Burgess Date: Thu Jan 8 22:07:48 2015 +0000 AVR/ld: Use .avr.prop data during linker relaxation. Make use of the data held within the .avr.prop section during linker relaxation in order to maintain the properties of the .org and .align directives. In relation to the .align directives, if enough bytes are deleted before a .align directive then the alignment can be moved while still maintaining the alignment requirement. bfd/ChangeLog: * elf32-avr.c (struct elf_avr_section_data): New structure. (struct avr_relax_info): New structure. (elf_avr_new_section_hook): New function. (struct elf_avr_section_data): Add relax_info. (get_avr_relax_info): New function. (init_avr_relax_info): New function. (elf32_avr_relax_delete_bytes): Find next property record before deleting bytes. When deleting don't move bytes beyond the next property record. (avr_elf32_assign_records_to_section): New function. (avr_property_record_compare): New function. (avr_load_all_property_sections): New function. (elf32_avr_relax_section): Load property data. After relaxing the section, move any .align directives that have enough deleted bytes before them. (bfd_elf32_new_section_hook): Define. ld/testsuite/ChangeLog: * ld-avr/avr-prop-1.d: New file. * ld-avr/avr-prop-1.s: New file. * ld-avr/avr-prop-2.d: New file. * ld-avr/avr-prop-2.s: New file. * ld-avr/avr-prop-3.d: New file. * ld-avr/avr-prop-3.s: New file. * ld-avr/avr-prop-4.d: New file. * ld-avr/avr-prop-4.s: New file. commit 137c83d69fad77677cc818593f9399caa777a0c5 Author: Andrew Burgess Date: Thu Jan 8 21:55:43 2015 +0000 avr/objdump: Support dumping .avr.prop section. Add support to objdump for dumping the .avr.prop section in a structured way. binutils/ChangeLog: * od-elf32_avr.c: Add elf32-avr.h include. (OPT_AVRPROP): Define. (options[]): Add 'avr-prop' entry. (elf32_avr_help): Add avr-prop help text. (elf32_avr_dump_avr_prop): New function. (elf32_avr_dump): Add check for avr-prop. bfd/ChangeLog: * elf32-avr.h (struct avr_property_header): New strucure. (avr_elf32_load_property_records): Declare. (avr_elf32_property_record_name): Declare. * elf32-avr.c: Add bfd_stdint.h include. (retrieve_local_syms): New function. (get_elf_r_symndx_section): New function. (get_elf_r_symndx_offset): New function. (internal_reloc_compare): New function. (struct avr_find_section_data): New structure. (avr_is_section_for_address): New function. (avr_find_section_for_address): New function. (avr_elf32_load_records_from_section): New function. (avr_elf32_load_property_records): New function. (avr_elf32_property_record_name): New function. gas/testsuite/ChangeLog: * gas/avr/avr-prop-1.d: New file. * gas/avr/avr-prop-1.s: New file. commit fdd410ac7a07dfb47dcb992201000582a280d8b2 Author: Andrew Burgess Date: Thu Jan 8 20:55:10 2015 +0000 avr/gas: Write out data to track .org/.align usage. Adds support to the assembler to write out data for tracking the use of .org and .align directives. This data is collected within the assembler and written out to a section ".avr.prop" (if there's anything to write out). This patch does not add any tests. The next patch in this series will add a better mechanism for visualising the contents of .avr.prop which will make writing tests much easier. This patch also does not make any use of this collected data, that will also come along in a later patch; the intended consumer is the linker, during linker relaxation this information will be used to ensure that the .org and .align directives are honoured. bfd/ChangeLog: * elf32-avr.h (AVR_PROPERTY_RECORD_SECTION_NAME): Define. (AVR_PROPERTY_RECORDS_VERSION): Define. (AVR_PROPERTY_SECTION_HEADER_SIZE): Define. (struct avr_property_record): New structure. gas/ChangeLog: * config/tc-avr.c: Add elf32-avr.h include. (struct avr_property_record_link): New structure. (avr_output_property_section_header): New function. (avr_record_size): New function. (avr_output_property_record): New function. (avr_create_property_section): New function. (avr_handle_align): New function. (exclude_section_from_property_tables): New function. (create_record_for_frag): New function. (append_records_for_section): New function. (avr_create_and_fill_property_section): New function. (avr_post_relax_hook): New function. * config/tc-avr.h (md_post_relax_hook): Define. (avr_post_relax_hook): Declare. (HANDLE_ALIGN): Define. (avr_handle_align): Declare. (strut avr_frag_data): New structure. (TC_FRAG_TYPE): Define. commit ac99436572d903781c124fa3cc72d83360202b76 Author: Oleg Endo Date: Wed Feb 25 21:22:54 2015 +0100 [SH] Fix clrs, sets, pref insn arch memberships. opcodes/ * sh-opc.h (clrs, sets): Mark as arch_sh3_nommu_up instead of arch_sh_up. (pref): Mark as arch_sh2a_nofpu_or_sh3_nommu_up instead of arch_sh2a_nofpu_or_sh4_nommu_nofpu_up. gas/testsuite/ * gas/sh/arch/arch.exp: Replace dead code to generate expected .s files with ... * gas/sh/arch/sh-opc-gen-as.pl: ... this new script. * gas/sh/arch/arch_expected.txt: Regenerate. * gas/sh/arch/sh-dsp.s: Likewise. * gas/sh/arch/sh-opc-gen-as.pl: Likewise. * gas/sh/arch/sh.s: Likewise. * gas/sh/arch/sh2.s: Likewise. * gas/sh/arch/sh2a-nofpu-or-sh3-nommu.s: Likewise. * gas/sh/arch/sh2a-nofpu-or-sh4-nommu-nofpu.s: Likewise. * gas/sh/arch/sh2a-nofpu.s: Likewise. * gas/sh/arch/sh2a-or-sh3e.s: Likewise. * gas/sh/arch/sh2a-or-sh4.s: Likewise. * gas/sh/arch/sh2a.s: Likewise. * gas/sh/arch/sh2e.s: Likewise. * gas/sh/arch/sh3-dsp.s: Likewise. * gas/sh/arch/sh3-nommu.s: Likewise. * gas/sh/arch/sh3.s: Likewise. * gas/sh/arch/sh3e.s: Likewise. * gas/sh/arch/sh4-nofpu.s: Likewise. * gas/sh/arch/sh4-nommu-nofpu.s: Likewise. * gas/sh/arch/sh4.s: Likewise. * gas/sh/arch/sh4a-nofpu.s: Likewise. * gas/sh/arch/sh4a.s: Likewise. * gas/sh/arch/sh4al-dsp.s: Likewise. ld/testsuite/ * ld-sh/arch/arch_expected.txt: Regenerate. * ld-sh/arch/sh-dsp.s: Likewise. * ld-sh/arch/sh.s: Likewise. * ld-sh/arch/sh2.s: Likewise. * ld-sh/arch/sh2a-nofpu-or-sh3-nommu.s: Likewise. * ld-sh/arch/sh2a-nofpu-or-sh4-nommu-nofpu.s: Likewise. * ld-sh/arch/sh2a-nofpu.s: Likewise. * ld-sh/arch/sh2a-or-sh3e.s: Likewise. * ld-sh/arch/sh2a-or-sh4.s: Likewise. * ld-sh/arch/sh2a.s: Likewise. * ld-sh/arch/sh2e.s: Likewise. * ld-sh/arch/sh3-dsp.s: Likewise. * ld-sh/arch/sh3-nommu.s: Likewise. * ld-sh/arch/sh3.s: Likewise. * ld-sh/arch/sh3e.s: Likewise. * ld-sh/arch/sh4-nofpu.s: Likewise. * ld-sh/arch/sh4-nommu-nofpu.s: Likewise. * ld-sh/arch/sh4.s: Likewise. * ld-sh/arch/sh4a-nofpu.s: Likewise. * ld-sh/arch/sh4a.s: Likewise. * ld-sh/arch/sh4al-dsp.s: Likewise. commit 4469186b996eb84ee9341f4cdcd0f92c412b3f27 Author: Kyrylo Tkachov Date: Wed Feb 25 13:40:08 2015 +0000 [gas][ARM] Document supported ARMv8 cores. 2015-02-25 Matthew Wahab * doc/c-arm.texi (-mcpu=): Add cortex-a53, cortex-a57 and cortex-a72. commit 21613c12d1822dcb71116ce8f386ff87719e104f Author: Yao Qi Date: Wed Feb 25 10:39:59 2015 +0000 [aarch64] Fix one fail in gdb.xml/tdesc-regs.exp Hi, I see the following fail in aarch64-linux-gnu testing... (gdb) set tdesc file /XXX/gdb/testsuite/gdb.xml/single-reg.xml^M warning: Architecture rejected target-supplied description^M (gdb) FAIL: gdb.xml/tdesc-regs.exp: set tdesc file single-reg.xml core-regs isn't set for aarch64 target, and looks it is an oversight when aarch64 port was added. gdb/testsuite: 2015-02-25 Yao Qi * gdb.xml/tdesc-regs.exp: Set core-regs to aarch64-core.xml for aarch64*-*-* target. commit ca7ae53a8669bd0a4c64d90072f42741f4c0ddd7 Author: GDB Administrator Date: Wed Feb 25 00:00:07 2015 +0000 Automatic date update in version.in commit 9ad55e9b25ea4423413b46be0714fc5590f85eb6 Author: Nick Clifton Date: Tue Feb 24 17:58:50 2015 +0000 Adds support for emulating V850 e3v5 instructions to the simulator. * v850.igen: Add more e3v5 support. (FMAF.S): New pattern. (FMSF.S): New pattern. (FNMAF.S): New pattern. (FNMSF.S): New pattern. (cnvq15q30): New pattern. (cnvq30q15): New pattern. (cnvq31q62): New pattern. (cnvq62q31): New pattern. (dup.h): New pattern. (dup.w): New pattern. (expq31): New pattern. (modadd): New pattern. (mov.dw): New pattern. (mov.h): New pattern. (mov.w): New pattern. (pki16i32): New pattern. (pki16ui8): New pattern. (pki32i16): New pattern. (pki64i32): New pattern. (pkq15q31): New pattern. (pkq30q31): New pattern. (pkq31q15): New pattern. (pkui8i16): New pattern. (vabs.h): New pattern. (vabs.w): New pattern. (vadd.dw): New placeholder pattern. (vadd.h): New placeholder pattern. (vadd.w): New placeholder pattern. (vadds.h): New placeholder pattern. (vadds.w): New placeholder pattern. (vaddsat.h): New placeholder pattern. (vaddsat.w): New placeholder pattern. (vand): New pattern. (vbiq.h): New placeholder pattern. (vbswap.dw): New placeholder pattern. (vbswap.h): New placeholder pattern. (vbswap.w): New placeholder pattern. (vcalc.h): New placeholder pattern. (vcalc.w): New placeholder pattern. (vcmov): New placeholder pattern. commit 685080f2100373d1a45932521f9a24922a68d68f Author: Nick Clifton Date: Tue Feb 24 17:54:09 2015 +0000 Adds support for generating notes in V850 binaries. bfd * elf32-v850.c (v850_set_note): New function. Creates a Renesas style note entry. (v850_elf_make_note_section): New function. Creates a note section. (v850_elf_create_sections): New function. Create a note section if one is not already present. (v850_elf_set_note): New function. Adds a note to a bfd. (v850_elf_copy_private_bfd_data): New function. Copies V850 notes. (v850_elf_merge_notes): New function. Merges V850 notes. (print_v850_note): New function. Displays a V850 note. (v850_elf_print_notes): New function. Displays all notes attached to a bfd. (v850_elf_merge_private_bfd_data): Call v850_elf_merge_notes. (v850_elf_print_private_bfd_data): Call v850_elf_print_notes. (v850_elf_fake_sections): Set the type of the V850 note section. * bfd-in.h (v850_elf_create_sections): Add prototype. (v850_elf_set_note): Add prototype. * bfd-in2.h: Regenerate. binutils* readelf.c (get_machine_flags): Remove deprecated V850 machine flags. (get_v850_section_type_name): New function. Handles V850 special sections. (get_section_type_name): Add support for V850. (get_v850_elf_note_type): New function. Returns the name of a V850 note. (print_v850_note): New function. Prints a V850 note. (process_v850_notes): New function. Prints V850 notes. (process_note_sections): Add support for V850. binutils/testsute * binutils-all/objcopy.exp: Skip the strip-10 test for the V850. gas * config/tc-v850.c (soft_float): New variable. (v850_data_8): New variable. (md_show_usage): Add -msoft-float/-mhard-float. (md_parse_option): Likewise. (md_begin): Set the default value of soft_float. (v850_md_end): New function. Creates a note section. * config/tc-v850.h (md_end): Define. * doc/c-v850.texi: Document -msoft-float/-mhard-float. gas/testsuite * gas/elf/elf.exp: Add special version of the section2 test for the V850. * gas/elf/section2.e-v850: New file. include/elf * v850.h (EF_RH850_SIMD): Delete deprecated flag. (EF_RH850_CACHE): Likewise. (EF_RH850_MMU): Likewise. (EF_RH850_DATA_ALIGN8): Likewise. (SHT_RENESAS_IOP): Fix typo in name. (SHT_RENESAS_INFO): Define. (V850_NOTE_SECNAME): Define. (SIZEOF_V850_NOTE): Define. (V850_NOTE_NAME): Define. (enum v850_notes): New enum. (NUM_V850_NOTES): Define. ld/ChangeLog 2015-02-24 Nick Clifton * Makefile.am (ev850.c): Add dependency upon $(srcdir)/emultempl/v850elf.em. (ev850_rh850.c): Likewise. * Makefile.in: Regenerate. * emultempl/v850elf.em: New file. * emulparams/v850.sh (EXTRA_EM_FILE): Define. * emulparams/v850_rh850.sh (EXTRA_EM_FILE): Define. * scripttempl/v850.sc: Add .note.renesas section. * scripttempl/v850_rh850.sc: Likewise. ld/testsuite * ld-elf/extract-symbol-1sec.d: Expect to fail on the V850. commit 31593e1b96c792abba3c5268d6423975aefa56b2 Author: Nick Clifton Date: Tue Feb 24 17:01:23 2015 +0000 Fixes compiling peXXigen under MAC OS/X where the wcsncasecmp function is not available. * configure.ac (AC_CHECK_HEADERS): Add wctype.h. * configure: Regenerate. * config.in: Regenerate. * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined. (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined. (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H is defined. commit 94d15024fe3dff908ab570aaa741b1c834c856d6 Author: Mike Frysinger Date: Tue Feb 24 01:47:51 2015 -0500 readelf: handle corrupted chains better The current chain walker tries to protect itself against loops, by only works with loops of length 1: a chain that points to itself. If you have a chain longer than that (3->4->3->4->...), readelf will still hang. Since we know the max length of the chain, simply abort when we've walked more times than that. The only way that could have happened is if there was a loop. commit 884151a7b8f1770a823e5017c8f5025802c44f24 Author: Alan Modra Date: Tue Feb 24 23:04:20 2015 +1030 Add aligned string merge test * ld-elf/merge3.s, * ld-elf/merge3.d: New test. commit 948f632f5671aa16c239507652d92f23f7713703 Author: Dmitry Antipov Date: Tue Feb 24 13:21:10 2015 +0000 Speed up the display of unwind tables by using a binary chop search to locate function symbols. * readelf.c (find_symbol_for_address): Use a binary search to speed up symbol location. Skip check for function symbol type. (*_unw_aux_info): Add funtab and nfuns fields contains a sorted list of function symbols. (dump_ia64_unwind): Initialise the funtab and nfuns fields and pass them to find_symbol_for_address. (dump_hppa_unwind): Likewise. (arm_print_vma_and_name): Pass funtab to find_symbol_for_address. (dump_arm_unwind): Initialise the funtab and nfuns fields. commit cb0728165e282be2ad9b121c8c1e9da98c9784e4 Author: Senthil Kumar Selvaraj Date: Tue Feb 24 11:26:28 2015 +0000 This patch modifies the AVR linker script templates to use ___REGION_LENGTH__ symbols, if provided, for setting memory region lengths, defaulting to the current constant values otherwise. ld * scripttempl/avr.sc: Add new user_signatures region. Define and Use symbols for all region lengths. * scripttempl/avrtiny.sc: Define and use symbols for all region lengths. testsuite * ld-avr/region_overflow.d: New test. * ld-avr/region_overflow.s: Likewise. commit 0821d5b14efc2fb0c929ba077855cbc5e7a0932a Author: Nick Clifton Date: Tue Feb 24 11:10:07 2015 +0000 Improves the warning message produyced by objdump when it cannot load a section. * objdump.c (dump_section): Extend the warning message displayed when a section cannot be loaded. commit 10d602c7f9c043a149741acaffb5bbd32f9bff6f Author: Nick Clifton Date: Tue Feb 24 10:27:07 2015 +0000 Fix the detection of illegal memory accesses in the MSP430 simulator. * msp430-sim.c (sim_open): Allocate memory regions matching those declared in the libgloss/msp430 linker scripts. Allow sim_load_file to fail. (get_op): Test the correct address bit when checking for out of range addresses. Include the address in the error message when an illegal access to the hardware multiplier is detected. (put_op): Test the correct address bit when checking for out of range addresses. commit 3ad797fd086ee8eb71041992877e6d169266b4b5 Author: Nick Clifton Date: Tue Feb 24 10:13:51 2015 +0000 Fix the gas test align2 for the PDP11 by ensuring that the .text and .data sections are written to their aligned sizes. * pdp11.c (set_section_contents): Pad the .text and .data sections to their aligned sizes. commit ec86f43468e2591127c493d67882de59dbfd79de Author: Alan Modra Date: Tue Feb 24 18:16:26 2015 +1030 PowerPC64 GOLD: complain on misaligned _DS relocs PR 18010 * powerpc.cc (Powerpc_relocate_functions::addr16_ds): Always complain if value is not a multiple of four. (Target_powerpc::Relocate::relocate): Correct handling of R_POWERPC_GOT_TPREL16 and R_POWERPC_GOT_TPREL16_LO for ppc64. commit ecfe5151674f7837eb05f0f05dea868586ce2848 Author: GDB Administrator Date: Tue Feb 24 00:00:11 2015 +0000 Automatic date update in version.in commit b615dd209febdbf5f13e1c4e7667c172d65bd777 Author: Doug Evans Date: Mon Feb 23 13:39:45 2015 -0800 Fix typo in earlier entry. commit 7ee67ee4424a318e4c975ea61465d6e529da794b Author: Sergio Durigan Junior Date: Mon Feb 23 16:15:29 2015 -0500 PR gdb/18008: Fix typo in documentation This obvious patch fixes a typo in our documentation (s/problam/problem). gdb/doc/ChangeLog: 2015-02-23 Sergio Durigan Junior PR gdb/18008 * gdb.texinfo (maint internal-error, maint internal-warning, maint demangler-warning): Fix typo ("problam"). commit 8090aef2bf5021f35c94193a035eb1ecd5e25e41 Author: Pedro Alves Date: Mon Feb 23 18:59:38 2015 +0000 gdbserver: redo stepping over breakpoint that was on top of a permanent breakpoint I'm going to add an alternate mechanism of breakpoint trap identification to 'check_stopped_by_breakpoint' that does not rely on checking the instruction at PC. The mechanism currently used to tell whether we're stepping over a permanent breakpoint doesn't fit in that new method. This patch redoes the whole logic in a different way that works with both old and new methods, in essence moving the "stepped permanent breakpoint" detection "one level up". It makes lower level check_stopped_by_breakpoint always the adjust the PC, and then has linux_wait_1 advance the PC past the breakpoint if necessary. This ends up being better also because this now handles non-decr_pc_after_break targets too. Before, such targets would get stuck forever reexecuting the breakpoint instruction. Tested on x86_64 Fedora 20. gdb/gdbserver/ChangeLog: 2015-02-23 Pedro Alves * linux-low.c (check_stopped_by_breakpoint): Don't check if the thread was doing a step-over; always adjust the PC if we stepped over a permanent breakpoint. (linux_wait_1): If we stepped over breakpoint that was on top of a permanent breakpoint, manually advance the PC past it. commit d8b901edd1a9b717bd397400ce498c7a2d9504d0 Author: Pedro Alves Date: Mon Feb 23 17:35:09 2015 +0000 delete_breakpoints: Rewrite using gdb_test_multiple Because delete_breakpoints uses gdb_expect directly, an internal error results in slow timeouts instead of quickly bailing out. This patch rewrites the procedure to use gdb_test_multiple instead, while preserving the existing general logic ("delete breakpoints" + "info breakpoints"). gdb/testsuite/ 2015-02-23 Pedro Alves * lib/gdb.exp (delete_breakpoints): Rewrite using gdb_test_multiple. commit fd63f640f645878605e4b4bc33ca31fb51583ecd Author: Vinay Date: Mon Feb 23 17:16:30 2015 +0000 Adds a space between the operands of the RL78's MOV instruction for consistency with the disassembling of other instructions. * rl78-decode.opc (MOV): Added space between two operands for 'mov' instruction in index addressing mode. * rl78-decode.c: Regenerate. commit 5518c738a47f0282d6fcc6768e1cde598e9538e0 Author: Yoshinori Sato Date: Mon Feb 23 17:04:53 2015 +0000 Add support for the h8300-linux target. ld * Makefile.am: (ALL_EMULATION_SOURCES): Add new emulations. * Makefile.in: Regenerate. * configure.tgt: Add h8300-*-linux * emulparams/h8300elf_linux.sh: Add new emulation. * emulparams/h8300helf_linux.sh: Likewise. * emulparams/h8300self_linux.sh: Likewise. * emulparams/h8300sxelf_linux.sh: Likewise. bfd * config.bfd: Add h8300-*-linux. * configure.ac: Add h8300_elf32_linux_vec. * configure: Regenerate. * elf32-h8300.c: Likewise. * targets.c(_bfd_target_vector): Likewise. gas * config/tc-h8300.c (line_separater_chars): Add a version for h8300-linux that includes a separator. (default_mach): New variable. (md_main): Use it. (md_longopts): Add '--march' option. (md_parse_option): Parse the new option. * config/tc-h8300.h (TARGET_FORMAT): Add elf32-h8300-linux. * configure.tgt: Add h8300-*-linux * doc/c-h8300.texi: Document --march. commit 1f10ba14bc8c53120432ccc7b2ba5605b4cee80e Author: Pedro Alves Date: Mon Feb 23 16:45:39 2015 +0000 remote.c: simplify parsing stop reasons in T stop replies We need to be careful with parsing optional stop reasons that start with an hex character ("awatch", "core"), as GDBs that aren't aware of them parse them as real numbers. That's silly of course, given that there should be a colon after those magic "numbers". So if strtol on "abbz:" doesn't return "first invalid char" pointing to the colon, we know that "abbz" isn't really a register number. It must be optional stop info we don't know about. This adjusts GDB to work that way, removing the need for the special casing done upfront: /* If this packet is an awatch packet, don't parse the 'a' as a register number. */ if (strncmp (p, "awatch", strlen("awatch")) != 0 && strncmp (p, "core", strlen ("core") != 0)) For as long as we care about compatibility with GDB 7.9, we'll need to continue to be careful about this, so I added a comment. Tested on x86_64 Fedora 20, native gdbserver. gdb/ChangeLog: 2015-02-23 Pedro Alves * remote.c (skip_to_semicolon): New function. (remote_parse_stop_reply) : Use it. Don't special case the stop reasons that look like hex numbers upfront. Instead handle real register numbers after matching all the known stop reasons. commit f971c12fc5aca91875b2fff0a115611577d01909 Author: Nick Clifton Date: Mon Feb 23 15:33:56 2015 +0000 Fixes a problem where "ld -ixxx" would report an error of "ld: bad -rpath option". * lexsup.c (parse_args): Produce a more reasonable error message when -ixxx or -rxxx is the last option on the linker command line. commit 0f8f0c57ea4742ad2d9b0598a18243331c1c06e3 Author: Nick Clifton Date: Mon Feb 23 14:53:02 2015 +0000 Fixes the generation of dwarf line debug information for the msp430, even in the presence of function sections and linker garbage collection. PR 17940 * dwarf2dbg.c (out_header): When generating dwarf sections use real symbols not temps for the start and end symbols. * config/tc-msp430.h (TC_FORCE_RELOCATION_SUB_SAME): Also prevent adjustments to relocations in debug sections. (TC_LINKRELAX_FIXUP): Likewise. * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug symbols at end of sections. Adjust function sizes. commit 8f3102ea1a9954ed00f84a9e3452a79e94953840 Author: Nick Clifton Date: Mon Feb 23 13:43:11 2015 +0000 Fixes a typo in the license notice in include/elf/score.h PR 17915 * score.h: Fix typo in license header. commit e5b85ead638e4916ee188698e434dd1940e484e4 Author: Pedro Alves Date: Mon Feb 23 14:03:48 2015 +0000 gdb.base/info-os.c: Include stdlib.h Fixes: > gdb compile failed, /gdb/testsuite/gdb.base/info-os.c: In function 'main': > /gdb/testsuite/gdb.base/info-os.c:65:3: warning: implicit declaration of function 'atexit' [-Wimplicit-function-declaration] > atexit (ipc_cleanup); > ^ > FAIL: gdb.base/info-os.exp: cannot compile test program with recent GCCs. gdb/testsuite/ChangeLog: 2015-02-23 Pedro Alves * gdb.base/info-os.c: Include stdlib.h. commit cb967f0d6ce36d566d97cf37b298265434fb6db5 Author: Nick Clifton Date: Mon Feb 23 13:39:51 2015 +0000 Fixes a couple of typos in the license header of the cpu-w65.c file. PR 17914 * cpu-w65.c: Correct typos in license notice. commit bc9540e842eb5639ca59cb133adef211d252843c Author: Pedro Alves Date: Mon Feb 23 13:03:10 2015 +0000 gdbserver: 64-bit kernel / 32-inferior, syscall restarting $ make check RUNTESTFLAGS="--target_board=native-gdbserver/-m32 clone-thread_db.exp" gdb.log shows: Running target native-gdbserver/-m32 ... clone-thread_db: src/gdb/testsuite/gdb.threads/clone-thread_db.c:57: thread_fn: Assertion `res != -1' failed. ... (gdb) FAIL: gdb.threads/clone-thread_db.exp: continue to end That was waitpid returning -1 / EINTR. We don't see that when testing with unix/-m32 (native debugging). Turns out to be that when debugging a 32-bit inferior, a 64-bit GDBserver is reading/writing $orig_eax from/to the wrong ptrace register buffer offset. When gdbserver is 64-bit, the ptrace register buffer is in 64-bit layout, so the register is found at "ORIG_EAX * 8", not at "ORIG_EAX * 4". Fixes these with --target_board=native-gdbserver/-m32 on x86_64 Fedora 20: -FAIL: gdb.threads/clone-thread_db.exp: continue to end +PASS: gdb.threads/clone-thread_db.exp: continue to end -FAIL: gdb.threads/hand-call-in-threads.exp: all dummies popped +PASS: gdb.threads/hand-call-in-threads.exp: all dummies popped PASS: gdb.threads/hand-call-in-threads.exp: breakpoint on all_threads_running PASS: gdb.threads/hand-call-in-threads.exp: breakpoint on hand_call PASS: gdb.threads/hand-call-in-threads.exp: disable scheduler locking @@ -29339,15 +29331,15 @@ PASS: gdb.threads/hand-call-in-threads.e PASS: gdb.threads/hand-call-in-threads.exp: discard hand call, thread 4 PASS: gdb.threads/hand-call-in-threads.exp: discard hand call, thread 5 PASS: gdb.threads/hand-call-in-threads.exp: dummy stack frame number, thread 1 -FAIL: gdb.threads/hand-call-in-threads.exp: dummy stack frame number, thread 2 -FAIL: gdb.threads/hand-call-in-threads.exp: dummy stack frame number, thread 3 -FAIL: gdb.threads/hand-call-in-threads.exp: dummy stack frame number, thread 4 +PASS: gdb.threads/hand-call-in-threads.exp: dummy stack frame number, thread 2 +PASS: gdb.threads/hand-call-in-threads.exp: dummy stack frame number, thread 3 +PASS: gdb.threads/hand-call-in-threads.exp: dummy stack frame number, thread 4 PASS: gdb.threads/hand-call-in-threads.exp: dummy stack frame number, thread 5 PASS: gdb.threads/hand-call-in-threads.exp: enable scheduler locking PASS: gdb.threads/hand-call-in-threads.exp: hand call, thread 1 -FAIL: gdb.threads/hand-call-in-threads.exp: hand call, thread 2 -FAIL: gdb.threads/hand-call-in-threads.exp: hand call, thread 3 -FAIL: gdb.threads/hand-call-in-threads.exp: hand call, thread 4 +PASS: gdb.threads/hand-call-in-threads.exp: hand call, thread 2 +PASS: gdb.threads/hand-call-in-threads.exp: hand call, thread 3 +PASS: gdb.threads/hand-call-in-threads.exp: hand call, thread 4 PASS: gdb.threads/hand-call-in-threads.exp: hand call, thread 5 PASS: gdb.threads/hand-call-in-threads.exp: prepare to discard hand call, thread 1 PASS: gdb.threads/hand-call-in-threads.exp: prepare to discard hand call, thread 2 gdb/gdbserver/ChangeLog 2015-02-23 Pedro Alves * linux-x86-low.c (REGSIZE): Define in both 32-bit and 64-bit modes. (x86_fill_gregset, x86_store_gregset): Use it when handling $orig_eax. commit a17b84dd9f9171bdfaee82f61ce6df9f65e94d0b Author: GDB Administrator Date: Mon Feb 23 00:00:09 2015 +0000 Automatic date update in version.in commit 5634e839cc1af4629b3baae1138b0ddeebbacd71 Author: Jiri Gaisler Date: Thu Feb 19 23:31:34 2015 +0100 sim/erc32: Use readline.h for readline types and functions. Use gdb's readline.h for readline types. commit be66981e1605eff305ac9c561825f4bd6801fca2 Author: H.J. Lu Date: Sun Feb 22 05:18:50 2015 -0800 Set GOLD_DEFAULT_SIZE to 32 for x32 * configure.ac (default_size): Set to 32 for x32. * configure: Regenerated. commit 85c3a371b327377ba1014e8962ba41554599d3e6 Author: Doug Evans Date: Sun Feb 22 09:11:55 2015 -0800 testcase for PR symtab/17855 gdb/testsuite/ChangeLog: PR symtab/17855 * gdb.ada/exec_changed.exp: Add second test where symbol lookup cache is read after symbols have been re-read. * gdb.ada/exec_changed/first.adb (First): New procedure Break_Me. * gdb.ada/exec_changed/second.adb (Second): Ditto. commit 96553a0cffb30d2ac6068eb71bed38ea7432073b Author: Doug Evans Date: Sat Feb 21 21:58:31 2015 -0800 PR c++/17976, symtab/17821 This patch addresses two issues. The basic problem is that "(anonymous namespace)" doesn't get entered into the symbol table because when dwarf2read.c:new_symbol_full is called the DIE has no name (dwarf2_name returns NULL). PR 17976: ptype '(anonymous namespace)' should work like any namespace PR 17821: perf issue looking up (anonymous namespace) bash$ gdb monster-program (gdb) mt set per on (gdb) mt set symbol-cache-size 0 (gdb) break (anonymous namespace)::foo Before: Command execution time: 3.266289 (cpu), 6.169030 (wall) Space used: 811429888 (+12910592 for this command) After: Command execution time: 1.264076 (cpu), 4.057408 (wall) Space used: 798781440 (+0 for this command) gdb/ChangeLog: PR c++/17976, symtab/17821 * cp-namespace.c (cp_search_static_and_baseclasses): New parameter is_in_anonymous. All callers updated. (find_symbol_in_baseclass): Ditto. (cp_lookup_nested_symbol_1): Ditto. Don't search all static blocks for symbols in an anonymous namespace. * dwarf2read.c (namespace_name): Don't call dwarf2_name, fetch DW_AT_name directly. (dwarf2_name): Convert missing namespace name to CP_ANONYMOUS_NAMESPACE_STR. gdeb/testsuite/ChangeLog: * gdb.cp/anon-ns.exp: Add test for ptype '(anonymous namespace)'. commit e26473a140d91672765866857e2284e4a7f105b4 Author: Jiri Gaisler Date: Thu Feb 19 23:31:25 2015 +0100 sim/erc32: File loading via command line did not work * sis.c (main) load binary file from argv parameters commit 96d67095792f5c8c0c91522820de861e54c37728 Author: Jiri Gaisler Date: Thu Feb 19 23:31:24 2015 +0100 sim/erc32: Fix incorrect simulator performance report commit bb6ead917c6aa8159281cac13b603e43035dcea3 Author: Jiri Gaisler Date: Thu Feb 19 23:31:23 2015 +0100 sim/erc32: Remove unused defines in Makefile and switch off statistics commit 0172ee3adcd28ffdc89f8288eb11924f4b1274d7 Author: Jiri Gaisler Date: Thu Feb 19 23:31:22 2015 +0100 sim/erc32: Use fenv.h for host FPU access commit 20a0ffe33a7d43ba13eff917ec3f50b4f7644f81 Author: Jiri Gaisler Date: Thu Feb 19 23:31:21 2015 +0100 sim/erc32: Perform pseudo-init if binary linked to non-zero address. Binaries produced by most erc32 tool-chains do not include system initialization. sis will detect this and initialize necessary registers for memory and timer control. commit df9bc4163b1331c8a4dad6830afeff4ff305a20a Author: Jiri Gaisler Date: Thu Feb 19 23:31:20 2015 +0100 sim/erc32: Corrected wrong CPU implementation and version ID in psr commit 53b5af48f6591c3120fb076f078188a4f117c2b7 Author: Jiri Gaisler Date: Thu Feb 19 23:31:19 2015 +0100 sim/erc32: Disassembly in stand-alone mode did not work. The API to print_insn_sparc() has changed over the years ... commit 74f4df0028f256214ede2091cb102ffd496463c9 Author: GDB Administrator Date: Sun Feb 22 00:00:08 2015 +0000 Automatic date update in version.in commit 9035ed511099fd79bc5a76d1ac457c0a8226a324 Author: Mike Frysinger Date: Sat Feb 21 16:10:04 2015 -0500 binutils: readelf: add missing newline to warning message commit 97a0c6972eb9eb730df3817a95f351545a8f7cac Author: Jan Kratochvil Date: Sat Feb 21 15:24:20 2015 +0100 Testsuite patch for: i386: Fix internal error when prstatus in core file is too big gdb/testsuite/ChangeLog 2015-02-21 Jan Kratochvil PR corefiles/17808 * gdb.arch/i386-biarch-core.core.bz2: New file. * gdb.arch/i386-biarch-core.exp: New file. commit a47cd6e95a6eeaae01c96b89880330c4c1db0c4b Author: Pedro Alves Date: Sat Feb 21 12:03:23 2015 +0000 gdb.threads/multi-create-ns-info-thr.exp and native-extended-remote board The buildbot shows that the new gdb.threads/multi-create-ns-info-thr.exp test is timing out when tested with --target=native-extended-remote. The reason is: No breakpoints or watchpoints. (gdb) break main Breakpoint 1 at 0x10000b00: file ../../../binutils-gdb/gdb/testsuite/gdb.threads/multi-create.c, line 72. (gdb) run Starting program: /home/gdb-buildbot/fedora-21-ppc64be-1/fedora-ppc64be-native-extended-gdbserver/build/gdb/testsuite/outputs/gdb.threads/multi-create-ns-info-thr/multi-cre ate-ns-info-thr Process /home/gdb-buildbot/fedora-21-ppc64be-1/fedora-ppc64be-native-extended-gdbserver/build/gdb/testsuite/outputs/gdb.threads/multi-create-ns-info-thr/multi-create-ns-inf o-thr created; pid = 16266 Unexpected vCont reply in non-stop mode: T0501:00003fffffffd190;40:00000080560fe290;thread:p3f8a.3f8a;core:0; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (gdb) break multi-create.c:45 Breakpoint 2 at 0x10000994: file ../../../binutils-gdb/gdb/testsuite/gdb.threads/multi-create.c, line 45. (gdb) commands Type commands for breakpoint(s) 2, one per line. Non-stop tests don't really work with the --target_board=native-extended-remote board, because tests toggle non-stop on after GDB is already connected to gdbserver, while Currently, non-stop must be enabled before connecting. This adjusts the test to bail if running to main fails, like all other non-stop tests. Note non-stop tests do work with --target_board=native-gdbserver. gdb/testsuite/ChangeLog: 2015-02-21 Pedro Alves * gdb.threads/multi-create-ns-info-thr.exp: Return early if runto_main fails. commit fa1824c2509a59ec6290d925865b80c30d954fb2 Author: GDB Administrator Date: Sat Feb 21 00:00:09 2015 +0000 Automatic date update in version.in commit c5facdc449f43f79a7db6d7ec418caac18aa5c94 Author: Pedro Alves Date: Fri Feb 20 23:10:53 2015 +0000 Fix gdb.base/solib-corrupted.exp after dtrace probes changes Commit 6f9b8491 (Adapt `info probes' to support printing probes of different types.) added a new type column to "info probes". That caused a solib-corrupted.exp regression: ~~~~~~~~~~~~~~~~~~~~~ Running /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/solib-corrupted.exp ... FAIL: gdb.base/solib-corrupted.exp: corrupted list === gdb Summary === # of expected passes 2 # of unexpected failures 1 ~~~~~~~~~~~~~~~~~~~~~ Tested on x86_64 Fedora 20. gdb/testsuite/ChangeLog: 2015-02-20 Pedro Alves * gdb.base/solib-corrupted.exp: Expect "stap" as first column of info probes. commit 2db9a4275ceada4aad3443dc157b96dd2e23afc0 Author: Pedro Alves Date: Fri Feb 20 20:21:59 2015 +0000 GNU/Linux: Stop using libthread_db/td_ta_thr_iter TL;DR - GDB can hang if something refreshes the thread list out of the target while the target is running. GDB hangs inside td_ta_thr_iter. The fix is to not use that libthread_db function anymore. Long version: Running the testsuite against my all-stop-on-top-of-non-stop series is still exposing latent non-stop bugs. I was originally seeing this with the multi-create.exp test, back when we were still using libthread_db thread event breakpoints. The all-stop-on-top-of-non-stop series forces a thread list refresh each time GDB needs to start stepping over a breakpoint (to pause all threads). That test hits the thread event breakpoint often, resulting in a bunch of step-over operations, thus a bunch of thread list refreshes while some threads in the target are running. The commit adds a real non-stop mode test that triggers the issue, based on multi-create.exp, that does an explicit "info threads" when a breakpoint is hit. IOW, it does the same things the as-ns series was doing when testing multi-create.exp. The bug is a race, so it unfortunately takes several runs for the test to trigger it. In fact, even when setting the test running in a loop, it sometimes takes several minutes for it to trigger for me. The race is related to libthread_db's td_ta_thr_iter. This is libthread_db's entry point for walking the thread list of the inferior. Sometimes, when GDB refreshes the thread list from the target, libthread_db's td_ta_thr_iter can somehow see glibc's thread list as a cycle, and get stuck in an infinite loop. The issue is that when a thread exits, its thread control structure in glibc is moved from a "used" list to a "cache" list. These lists are simply circular linked lists where the "next/prev" pointers are embedded in the thread control structure itself. The "next" pointer of the last element of the list points back to the list's sentinel "head". There's only one set of "next/prev" pointers for both lists; thus a thread can only be in one of the lists at a time, not in both simultaneously. So when thread C exits, simplifying, the following happens. A-C are threads. stack_used and stack_cache are the list's heads. Before: stack_used -> A -> B -> C -> (&stack_used) stack_cache -> (&stack_cache) After: stack_used -> A -> B -> (&stack_used) stack_cache -> C -> (&stack_cache) td_ta_thr_iter starts by iterating at the list's head's next, and iterates until it sees a thread whose next pointer points to the list's head again. Thus in the before case above, C's next points to stack_used, indicating end of list. In the same case, the stack_cache list is empty. For each thread being iterated, td_ta_thr_iter reads the whole thread object out of the inferior. This includes the thread's "next" pointer. In the scenario above, it may happen that td_ta_thr_iter is iterating thread B and has already read B's thread structure just before thread C exits and its control structure moves to the cached list. Now, recall that td_ta_thr_iter is running in the context of GDB, and there's no locking between GDB and the inferior. From it's local copy of B, td_ta_thr_iter believes that the next thread after B is thread C, so it happilly continues iterating to C, a thread that has already exited, and is now in the stack cache list. After iterating C, td_ta_thr_iter finds the stack_cache head, which because it is not stack_used, td_ta_thr_iter assumes it's just another thread. After this, unless the reverse race triggers, GDB gets stuck in td_ta_thr_iter forever walking the stack_cache list, as no thread in thatlist has a next pointer that points back to stack_used (the terminating condition). Before fully understanding the issue, I tried adding cycle detection to GDB's td_ta_thr_iter callback. However, td_ta_thr_iter skips calling the callback in some cases, which means that it's possible that the callback isn't called at all, making it impossible for GDB to break the loop. I did manage to get GDB stuck in that state more than once. Fortunately, we can avoid the issue altogether. We don't really need td_ta_thr_iter for live debugging nowadays, given PTRACE_EVENT_CLONE. We already know how to map and lwp id to a thread id without iterating (thread_from_lwp), so use that more. gdb/ChangeLog: 2015-02-20 Pedro Alves * linux-nat.c (linux_handle_extended_wait): Call thread_db_notice_clone whenever a new clone LWP is detected. (linux_stop_and_wait_all_lwps, linux_unstop_all_lwps): New functions. * linux-nat.h (thread_db_attach_lwp): Delete declaration. (thread_db_notice_clone, linux_stop_and_wait_all_lwps) (linux_unstop_all_lwps): Declare. * linux-thread-db.c (struct thread_get_info_inout): Delete. (thread_get_info_callback): Delete. (thread_from_lwp): Use td_thr_get_info and record_thread. (thread_db_attach_lwp): Delete. (thread_db_notice_clone): New function. (try_thread_db_load_1): If /proc is mounted and shows the process'es task list, walk over all LWPs and call thread_from_lwp instead of relying on td_ta_thr_iter. (attach_thread): Don't call check_thread_signals here. Split the tail part of the function (which adds the thread to the core GDB thread list) to ... (record_thread): ... this function. Call check_thread_signals here. (thread_db_wait): Don't call thread_db_find_new_threads_1. Always call thread_from_lwp. (thread_db_update_thread_list): Rename to ... (thread_db_update_thread_list_org): ... this. (thread_db_update_thread_list): New function. (thread_db_find_thread_from_tid): Delete. (thread_db_get_ada_task_ptid): Simplify. * nat/linux-procfs.c: Include . (linux_proc_task_list_dir_exists): New function. * nat/linux-procfs.h (linux_proc_task_list_dir_exists): Declare. gdb/gdbserver/ChangeLog: 2015-02-20 Pedro Alves * thread-db.c: Include "nat/linux-procfs.h". (thread_db_init): Skip listing new threads if the kernel supports PTRACE_EVENT_CLONE and /proc/PID/task/ is accessible. gdb/testsuite/ChangeLog: 2015-02-20 Pedro Alves * gdb.threads/multi-create-ns-info-thr.exp: New file. commit 3b27ef472df3b4cdcdd54629281610d594c99c97 Author: Pedro Alves Date: Fri Feb 20 20:21:59 2015 +0000 linux-nat.c: fix a few lin_lwp_attach_lwp issues This function has a few latent bugs that are triggered by a non-stop mode test that will be added in a subsequent patch. First, as described in the function's intro comment, the function is supposed to return 1 if we're already auto attached to the thread, but haven't processed the PTRACE_EVENT_CLONE event of its parent thread yet. Then, we may find that we're trying to attach to a clone child that hasn't yet stopped for its initial stop, and therefore 'waitpid(..., WNOHANG)' returns 0. In that case, we're currently adding the LWP to the stopped_pids list, which results in linux_handle_extended_wait skipping the waitpid call on the child, and thus confusing things later on when the child eventually reports the stop. Then, the tail end of lin_lwp_attach_lwp always sets the last_resume_kind of the LWP to resume_stop, which is wrong given that the user may be doing "info threads" while some threads are running. And then, the else branch of lin_lwp_attach_lwp always sets the stopped flag of the LWP. This branch is reached if the LWP is the main LWP, which may well be running at this point (to it's wrong to set its 'stopped' flag). AFAICS, there's no reason anymore for special-casing the main/leader LWP here: - For the "attach" case, linux_nat_attach already adds the main LWP to the lwp list, and sets its 'stopped' flag. - For the "run" case, after linux_nat_create_inferior, end up in linux_nat_wait_1 here: /* The first time we get here after starting a new inferior, we may not have added it to the LWP list yet - this is the earliest moment at which we know its PID. */ if (ptid_is_pid (inferior_ptid)) { /* Upgrade the main thread's ptid. */ thread_change_ptid (inferior_ptid, ptid_build (ptid_get_pid (inferior_ptid), ptid_get_pid (inferior_ptid), 0)); lp = add_initial_lwp (inferior_ptid); lp->resumed = 1; } ... which adds the LWP to the LWP list already, before lin_lwp_attach_lwp can ever be reached. gdb/ChangeLog: 2015-02-20 Pedro Alves * linux-nat.c (lin_lwp_attach_lwp): No longer special case the main LWP. Handle the case of waitpid returning 0 if we're already attached to the LWP. Don't set the LWP's last_resume_kind to resume_stop if we already knew about the LWP. (linux_nat_filter_event): Add debug logs. commit 1cc28231d23d8dd604d3482dd4bd46031d5a4052 Author: Pedro Alves Date: Thu Feb 19 20:48:49 2015 +0000 Garbage collect forward_target_decr_pc_after_break The definition was removed a year ago, but the declaration managed to stay behind. gdb/ChangeLog 2015-02-20 Pedro Alves * target.h (forward_target_decr_pc_after_break): Delete declaration. commit afa8d396f6a952d17b348a981dd2c56f83305611 Author: Pedro Alves Date: Thu Feb 19 20:48:54 2015 +0000 fix gdbserver/linux-low'c's pending status handling Another fix I'm working made schedlock.exp fail with gdbserver frequently. Looking deeper, it turns out to be a pre-existing bug. status_pending_p_callback is filtering out LWPs incorrectly. The result is that that sometimes status_pending_p_callback returns a pending event for an LWP that isn't expected, and then GDBserver gets very confused. E.g,. when doing a step-over, linux_wait_for_event is called with a particular LWP's ptid, meaning events for all other LWPs should be left pending, but here we see it retuning an event for some other LWP: linux_wait_1: [] step_over_bkpt set [LWP 29577.29577], doing a blocking wait <-------- my_waitpid (-1, 0x40000001) my_waitpid (-1, 0x80000001): status(57f), 0 LWFE: waitpid(-1, ...) returned 0, ERRNO-OK pc is 0x4007a0 src/gdb/gdbserver/linux-low.c:2587: A problem internal to GDBserver has been detected. linux_wait_1: got event for 29581 <-------- Remote connection closed (gdb) FAIL: gdb.threads/schedlock.exp: continue to breakpoint: return to loop (initial) delete breakpoints Tested on x86_64 Fedora 20. gdb/gdbserver/ChangeLog: 2015-02-20 Pedro Alves * linux-low.c (status_pending_p_callback): Use ptid_match. commit 60fb7e9efa12266437d28d19191e49e7f1e0013d Author: Pedro Alves Date: Fri Feb 20 19:50:36 2015 +0000 Fix no-attach-trace.exp with "target remote" / gdbserver $ make check RUNTESTFLAGS="--target_board=native-gdbserver no-attach-trace.exp" ... (gdb) trace main Tracepoint 1 at 0x400594: file /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.trace/no-attach-trace.c, line 25. (gdb) PASS: gdb.trace/no-attach-trace.exp: set tracepoint on main tstart You can't do that when your target is `exec' (gdb) FAIL: gdb.trace/no-attach-trace.exp: tstart Even though this target supports tracing, the test restarts GDB and doesn't do gdb_run_cmd so does not reconnect to the remote target. So at that point, GDB only has the "exec" target, which obviously doesn't do tracing. The test is about doing "tstart" before running a program, so the fix is to do gdb_target_supports_trace with whatever target GDB ends up connected after clean_restart. Tested on x86_64 Fedora 20, native, native-gdbserver and native-extended-gdbserver boards. The test passes with the latter, and is skipped with the first two. gdb/testsuite/ChangeLog: 2015-02-20 Pedro Alves * gdb.trace/no-attach-trace.exp: Don't run to main. Do clean_restart before gdb_target_supports_trace. commit 5c5019c27c5a4a73ec53281b4b69044f82b179f0 Author: Pedro Alves Date: Fri Feb 20 19:00:21 2015 +0000 PR18006: internal error if threaded program calls clone(CLONE_VM) On GNU/Linux, if a pthreaded program has a thread call clone(CLONE_VM) directly, and then that clone LWP hits a debug event (breakpoint, etc.) GDB internal errors. Threaded programs shouldn't really be calling clone directly, but GDB shouldn't crash either. The crash looks like this: (gdb) break clone_fn Breakpoint 2 at 0x4007d8: file clone-thread_db.c, line 35. (gdb) r ... [Thread debugging using libthread_db enabled] ... src/gdb/linux-nat.c:1030: internal-error: lin_lwp_attach_lwp: Assertion `lwpid > 0' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. The problem is that 'clone' ends up clearing the parent thread's tid field in glibc's thread data structure. For x86_64, the glibc code in question is here: sysdeps/unix/sysv/linux/x86_64/clone.S: ... testq $CLONE_THREAD, %rdi jne 1f testq $CLONE_VM, %rdi movl $-1, %eax <---- jne 2f movl $SYS_ify(getpid), %eax syscall 2: movl %eax, %fs:PID movl %eax, %fs:TID <---- 1: When GDB refreshes the thread list out of libthread_db, it finds a thread with LWP with pid -1 (the clone's parent), which naturally isn't yet on the thread list. GDB then tries to attach to that bogus LWP id, which is caught by that assertion. The fix is to detect the bad PID early. Tested on x86-64 Fedora 20. GDBserver doesn't need any fix. gdb/ChangeLog: 2015-02-20 Pedro Alves PR threads/18006 * linux-thread-db.c (thread_get_info_callback): Return early if the thread's lwp id is -1. gdb/testsuite/ChangeLog: 2015-02-20 Pedro Alves PR threads/18006 * gdb.threads/clone-thread_db.c: New file. * gdb.threads/clone-thread_db.exp: New file. commit f3978e91005fc54b695779d3fc9c67f8e203d28a Author: Joel Brobecker Date: Fri Feb 20 21:20:23 2015 +0400 Document the GDB 7.9 release in gdb/ChangeLog gdb/ChangeLog: GDB 7.9 released. commit 4ef9f41a9538c9c7e4e540277e437b137cb64c4c Author: Andreas Arnez Date: Fri Feb 20 10:39:53 2015 +0100 S390: Support new vector register sections The IBM z13 has new 128-bit wide vector registers v0-v31, where v0-v15 include the existing 64-bit wide floating point registers. The Linux kernel presents the vector registers as two additional register sets, one for the right halves of v0-v15 and another one for the full registers v16-v31. Thus a new core file may contain two new register note sections, and this patch adds support to binutils for them. bfd/ * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype. (elfcore_write_s390_vxrs_high): Likewise. * elf.c (elfcore_grok_s390_vxrs_low): New function. (elfcore_grok_s390_vxrs_high): New function. (elfcore_grok_note): Call them. (elfcore_write_s390_vxrs_low): New function. (elfcore_write_s390_vxrs_high): New function. (elfcore_write_register_note): Call them. binutils/ * readelf.c (get_note_type): Add NT_S390_VXRS_LOW and NT_S390_VXRS_HIGH. include/elf/ * common.h (NT_S390_VXRS_LOW): New macro. (NT_S390_VXRS_HIGH): Likewise. commit dc049bf460bb1243aaaa48745bb8df64bbb3e1cd Author: Mike Frysinger Date: Thu Feb 19 04:09:54 2015 -0500 sim: drop unused headers These look like left over hacks from the days where we had to protect ourselves from the compiler and C library. None of these checks are relevant, and we have common configure logic to do header tests. Punt them all now. commit 4c4ca605d5332d4d5b0112932cbf379d82bb7d15 Author: Mike Frysinger Date: Thu Feb 19 04:04:02 2015 -0500 sim: drop unused sim_kill function This has been deprecated for a long time and no one calls it. commit bb264c6411b43d08ef518df453dce7647cb9f91e Author: GDB Administrator Date: Fri Feb 20 00:00:08 2015 +0000 Automatic date update in version.in commit 16218fd311d470f8f3540f4badee69f2ed14d854 Author: Chen Gang Date: Fri Feb 20 06:51:12 2015 +0800 sim: ChangeLog: Correct the related items position and format. Move several items from sim/ChangeLog to sim/*/ChangeLog. Also remove the incorrect white space in sim/common/ChangeLog. commit f63c17760fab6fbf56ba500f7a8c746aa15b34a4 Author: Pedro Alves Date: Thu Feb 12 09:59:03 2015 +0000 Wrap a few opcodes headers in extern "C" for C++ These are sufficient to link an --enable-targets=all GDB build in C++ mode, on x86_64 Fedora 20. include/opcode/ 2015-02-19 Pedro Alves * cgen.h [__cplusplus]: Wrap in extern "C". * msp430-decode.h [__cplusplus]: Likewise. * nios2.h [__cplusplus]: Likewise. * rl78.h [__cplusplus]: Likewise. * rx.h [__cplusplus]: Likewise. * tilegx.h [__cplusplus]: Likewise. opcodes/ 2015-02-19 Pedro Alves * microblaze-dis.h [__cplusplus]: Wrap in extern "C". commit 07df97c8578023d1c9313bcec8aceef14de3e90b Author: Pedro Alves Date: Thu Feb 19 22:44:44 2015 +0000 floatformat.h: Wrap in extern "C" Just like libiberty.h. So that C++ programs, such as GDB when built as a C++ program, can use it. include/ChangeLog: 2015-02-19 Pedro Alves * floatformat.h [__cplusplus]: Wrap in extern "C". commit ffdf88ecd798f111b18060e6394b040a1accf7fb Author: Steve Ellcey Date: Thu Feb 19 14:42:37 2015 -0800 2015-02-19 Steve Ellcey * dtrace-probe.c (dtrace_process_dof_probe): Initialize arg.expr. (dtrace_get_probes) Change type of variable 'dof'. commit c9587f88230e9df836f17c195181aaf50c3a1117 Author: Antoine Tremblay Date: Thu Feb 12 14:55:08 2015 -0500 Fix non executable stack handling when calling functions in the inferior. When gdb creates a dummy frame to execute a function in the inferior, the process may generate a SIGSEGV, SIGTRAP or SIGILL because the stack is non executable. If the signal handler set in gdb has option print or stop enabled for these signals gdb handles this correctly. However, in the case of noprint and nostop the signal is short-circuited and the inferior process is sent the signal directly. This causes the inferior to crash because of gdb. This patch adds a check for SIGSEGV, SIGTRAP or SIGILL so that these signals are sent to gdb rather than short-circuited in the inferior. gdb then handles them properly and the inferior process does not crash. This patch also fixes the same behavior in gdbserver. Also added a small testcase to test the issue called catch-gdb-caused-signals. This applies to Linux only, tested on Linux. gdb/ChangeLog: PR breakpoints/16812 * linux-nat.c (linux_nat_filter_event): Report SIGTRAP,SIGILL,SIGSEGV. * nat/linux-ptrace.c (linux_wstatus_maybe_breakpoint): Add. * nat/linux-ptrace.h: Add linux_wstatus_maybe_breakpoint. gdb/gdbserver/ChangeLog: PR breakpoints/16812 * linux-low.c (wstatus_maybe_breakpoint): Remove. (linux_low_filter_event): Update wstatus_maybe_breakpoint name. (linux_wait_1): Report SIGTRAP,SIGILL,SIGSEGV. gdb/testsuite/ChangeLog: PR breakpoints/16812 * gdb.base/catch-gdb-caused-signals.c: New file. * gdb.base/catch-gdb-caused-signals.exp: New file. commit 53cf2ee0d933ac4d95530555854a6f8d3cefc2e8 Author: David Taylor Date: Thu Feb 19 18:53:50 2015 +0400 [gdb/ax] small "setv" fix and documentation's adjustment. gdb/doc/agentexpr.texi documents the "setv" opcode as follow: @item @code{setv} (0x2d) @var{n}: @result{} @var{v} Set trace state variable number @var{n} to the value found on the top of the stack. The stack is unchanged, so that the value is readily available if the assignment is part of a larger expression. The handling of @var{n} is as described for @code{getv}. The @item line is incorrect (and does not match with its description), so this patch fixes it. Additionally, in gdb/common/ax.def we find the line: DEFOP (setv, 2, 0, 0, 1, 0x2d) From the comment earlier in the file: Each line is of the form: DEFOP (name, size, data_size, consumed, produced, opcode) [...] CONSUMED is the number of stack elements consumed. PRODUCED is the number of stack elements produced. which is saying that nothing is consumed and one item is produced. Both should be 0 or both should be 1. This patch sets them both to 1, which seems better since if nothing is on the stack an error will occur. gdb/ChangeLog: * common/ax.def (setv): Fix consumed entry in setv DEFOP. gdb/doc/ChangeLog: * agentexpr.texi (Bytecode Descriptions): Fix summary line for setv. Tested on x86_64-linux. commit db95bb7c5946a109e1584ab2c43c052ff39e63bd Author: H.J. Lu Date: Thu Feb 19 04:45:27 2015 -0800 Use nm/readelf with "failif" PR ld/4317 * ld-i386/compressed1.d: Use nm/readelf with "failif". * ld-x86-64/compressed1.d: Likewise. * ld-x86-64/pie1.d: Likewise. commit 837914eeb43cd0231cc3c25e8644f0d6190034e6 Author: Branko Drevensek Date: Thu Feb 19 22:05:21 2015 +1030 Fix buffer overrun in verilog code PR 17995 * verilog.c (verilog_write_record): Correct buffer size. commit dfaf2c472c619338d2dbf4e3a72a251dd45c34c0 Author: Mike Frysinger Date: Thu Feb 19 03:41:36 2015 -0500 sim: microblaze: fix build failure after opcodes update Commit 07774fccc3280323f43db9ed204f628503b34663 update the microblaze opcodes table to avoid C++ collisions, but missed updating the sim. That caused it to fail to build due to missing keywords. commit cf18fda46276a088b0b2ee60a84f8670de2ef4c0 Author: Alan Modra Date: Tue Feb 17 07:18:15 2015 +1030 tidy _bfd_elf_define_linkage_sym * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier. commit 5c9352f317d63cab0ebe512a8461e5256b6a913b Author: Alan Modra Date: Sat Feb 14 18:32:48 2015 +1030 gas doc warning fixes * doc/as.texinfo (Local Symbol Names): Don't use ':' in pxref. * doc/c-i386.texi: Reorder i386-Bugs after i386-Arch. commit d983c8c5503d680c6d4955ceb610a9beebc64460 Author: Alan Modra Date: Wed Feb 18 17:02:39 2015 +1030 Strip undefined symbols from .symtab bfd/ PR ld/4317 * elflink.c (elf_link_input_bfd): Drop undefined local syms. (elf_link_output_extsym): Drop local and global undefined syms. Tidy. Expand comment. ld/testsuite/ PR ld/4317 * ld-aarch64/gc-tls-relocs.d, * ld-cris/locref2.d, * ld-elf/ehdr_start-weak.d, * ld-elf/group1.d, * ld-i386/compressed1.d, * ld-ia64/error1.d, * ld-ia64/error2.d, * ld-ia64/error3.d, * ld-mips-elf/pic-and-nonpic-1.nd, * ld-mmix/undef-3.d, * ld-powerpc/tlsexe.r, * ld-powerpc/tlsexetoc.r, * ld-powerpc/tlsso.r, * ld-powerpc/tlstocso.r, * ld-x86-64/compressed1.d, * ld-x86-64/pie1.d: Update. commit 8545136955641adbf35e121fbbfc8cd5fd06e4a7 Author: GDB Administrator Date: Thu Feb 19 00:00:08 2015 +0000 Automatic date update in version.in commit acfe0940a8c5a23111aaf44d70e7ad582c775f63 Author: Patrick Palka Date: Wed Feb 18 18:50:51 2015 -0500 Add missing gdb/ChangeLog entry for previous change. commit c4ef48c6b22472f197eeefbda1d9fb295ff61a77 Author: Patrick Palka Date: Tue Feb 17 11:13:43 2015 -0500 Asynchronously resize the TUI This patch teaches the TUI to resize itself asynchronously instead of synchronously. Asynchronously resizing the screen when the underlying terminal gets resized is the more intuitive behavior and is surprisingly simple to implement thanks to GDB's async infrastructure. The implementation is straightforward. TUI's SIGWINCH handler is just tweaked to asynchronously invoke a new callback, tui_async_resize_screen, which is responsible for safely resizing the screen. Care must be taken to not to attempt to asynchronously resize the screen while the TUI is not active. When the TUI is not active, the callback will do nothing, but the screen will yet be resized in the next call to tui_enable() by virtue of win_resized being TRUE. (So, after the patch there are still two places where the screen gets resized: one in tui_enable() and the other now in tui_async_resize_screen() as opposed to being in tui_handle_resize_during_io(). The one in tui_enable() is still necessary to handle the case where the terminal gets resized inside the CLI: in that case, the TUI still needs resizing, but it must wait until the TUI gets re-enabled.) gdb/ChangeLog: * tui/tui-io.c (tui_handle_resize_during_io): Remove this function. (tui_putc): Don't call tui_handle_resize_during_io. (tui_getc): Likewise. (tui_mld_getc): Likewise. * tui/tui-win.c: Include event-loop.h and tui/tui-io.h. (tui_sigwinch_token): New static variable. (tui_initialize_win): Adjust documentation. Set tui_sigwinch_token. (tui_async_resize_screen): New asynchronous callback. (tui_sigwinch_handler): Adjust documentation. Asynchronously invoke tui_async_resize_screen. commit f6a88844c36e2c03806563c9703b92af6ba0b345 Author: Jose E. Marchesi Date: Wed Feb 18 13:52:53 2015 +0100 Factorize target program transformations in the GDB_AC_TRANSFORM macro. This patch introduces a new M4 macro GDB_AC_TRANSFORM to avoid repeating the common idiom which is the transformation of target program names, i.e. from gdb to sparc64-linux-gnu-gdb. It also makes gdb/configure.ac and gdb/testsuite/configure.ac to use the new macro. gdb/ChangeLog: 2015-02-18 Jose E. Marchesi * configure: Regenerated. * configure.ac: Use GDB_AC_TRANSFORM. * Makefile.in (aclocal_m4_deps): Added transform.m4. * acinclude.m4: sinclude transform.m4. * transform.m4: New file. (GDB_AC_TRANSFORM): New macro. gdb/testsuite/ChangeLog: 2015-02-18 Jose E. Marchesi * configure: Regenerated. * configure.ac: Use GDB_AC_TRANSFORM. * aclocal.m4: sinclude ../transform.m4. commit e3ee8ed41b6a4365897d776cc181a1bd813010c6 Author: Alan Modra Date: Wed Feb 18 22:36:35 2015 +1030 Fix gold error: hidden symbol '...' is not defined locally Found when applying relocs in .debug that reference removed functions. PR 17954 * powerpc.cc (Global_symbol_visitor_opd::operator()): Set default visibility. commit 4398b0e490f5f0f0feadfbf0e38867a49fcce436 Author: GDB Administrator Date: Wed Feb 18 00:00:08 2015 +0000 Automatic date update in version.in commit 3a935c6cf98c47eaac4395622bfaf2ff517abd34 Author: Rafael Ávila de Espíndola Date: Tue Feb 17 10:49:41 2015 -0500 Simplify Garbage_collection::add_reference a bit. this->section_reloc_map_[src_id] is created if it doesn't exist, so there is no point in doing a find. commit e0a1e121b39ac99e76b77b73cba1db40ef75c7c8 Author: Rafael Ávila de Espíndola Date: Tue Feb 17 10:47:02 2015 -0500 avoid std::vector copy. commit 45a4fb1a700abeb4b3d8315b312ab31eee8efe72 Author: Rafael Ávila de Espíndola Date: Tue Feb 17 10:43:20 2015 -0500 Use std::upper_bound to simplify code a bit. With std::upper_bound we don't have to check p->input_offset > input_offset. commit b05e3b0dd2a257f7f0c1e23ff4c36f369438ea81 Author: Jose E. Marchesi Date: Tue Feb 17 16:43:48 2015 +0100 Announce the DTrace USDT probes support in NEWS. This patch simply adds a small entry to `Changes since GDB 7.8' announcing the support for dtrace probes. gdb/ChangeLog: 2015-02-17 Jose E. Marchesi * NEWS: Announce the support for DTrace SDT probes. commit 3133f8c11fd2e18b9f5ffd35bb26410dc61a69c5 Author: Jose E. Marchesi Date: Tue Feb 17 16:42:15 2015 +0100 Documentation for DTrace USDT probes. This patch modifies the `Static Probe Points' section on the GDB manual in order to cover the support for DTrace USDT probes, in addition to SystemTap SDT probes. gdb/doc/ChangeLog: 2015-02-17 Jose E. Marchesi * gdb.texinfo (Static Probe Points): Add cindex `static probe point, DTrace'. (Static Probe Points): Modified to cover DTrace probes in addition to SystemTap probes. Also modified to cover the `enable probe' and `disable probe' commands. commit 497c491beac9bc95f62ccecbd9fbab98638fc1f2 Author: Jose E. Marchesi Date: Tue Feb 17 16:41:16 2015 +0100 Simple testsuite for DTrace USDT probes. This patch adds some simple tests testing the support for DTrace USDT probes. The testsuite will be skipped as unsupported in case the user does not have DTrace installed on her system. The tests included in the test suite test breakpointing on DTrace probes, enabling and disabling probes, printing of probe arguments of several types and also breakpointing on several probes with the same name. gdb/ChangeLog: 2015-02-17 Jose E. Marchesi * lib/dtrace.exp: New file. * gdb.base/dtrace-probe.exp: Likewise. * gdb.base/dtrace-probe.d: Likewise. * gdb.base/dtrace-probe.c: Likewise. * lib/pdtrace.in: Likewise. * configure.ac: Output variables with the transformed names of the strip, readelf, as and nm tools. AC_SUBST lib/pdtrace.in. * configure: Regenerated. commit c3e3045e5ce820055e2823e8c5b03b0e99a4b514 Author: Jose E. Marchesi Date: Tue Feb 17 16:04:01 2015 +0100 Support for DTrace USDT probes in x86_64 targets. This patch adds the target-specific code in order to support the calculation of DTrace probes arguments in x86_64 targets, and also the enabling and disabling of probes. This is done by implementing the `dtrace_*' gdbarch handlers. gdb/ChangeLog: 2015-02-17 Jose E. Marchesi * amd64-linux-tdep.c: Include "parser-defs.h" and "user-regs.h". (amd64_dtrace_parse_probe_argument): New function. (amd64_dtrace_probe_is_enabled): Likewise. (amd64_dtrace_enable_probe): Likewise. (amd64_dtrace_disable_probe): Likewise. (amd64_linux_init_abi): Register the `gdbarch_dtrace_probe_argument', `gdbarch_dtrace_enable_probe', `gdbarch_dtrace_disable_probe' and `gdbarch_dtrace_probe_is_enabled' hooks. (amd64_dtrace_disabled_probe_sequence_1): New constant. (amd64_dtrace_disabled_probe_sequence_2): Likewise. (amd64_dtrace_enable_probe_sequence): Likewise. (amd64_dtrace_disable_probe_sequence): Likewise. commit d4777acbc94f3fb210fad9f97133ab3e9f1ccc57 Author: Jose E. Marchesi Date: Tue Feb 17 16:03:22 2015 +0100 New probe type: DTrace USDT probes. This patch adds a new type of probe to GDB: the DTrace USDT probes. The new type is added by providing functions implementing all the entries of the `probe_ops' structure defined in `probe.h'. The implementation is self-contained and does not depend on DTrace source code in any way. gdb/ChangeLog: 2015-02-7 Jose E. Marchesi * breakpoint.c (BREAK_ARGS_HELP): Help string updated to mention the -probe-dtrace new vpossible value for PROBE_MODIFIER. * configure.ac (CONFIG_OBS): dtrace-probe.o added if BFD can handle ELF files. * Makefile.in (SFILES): dtrace-probe.c added. * configure: Regenerate. * dtrace-probe.c: New file. (SHT_SUNW_dof): New constant. (dtrace_probe_type): New enum. (dtrace_probe_arg): New struct. (dtrace_probe_arg_s): New typedef. (struct dtrace_probe_enabler): New struct. (dtrace_probe_enabler_s): New typedef. (dtrace_probe): New struct. (dtrace_probe_is_linespec): New function. (dtrace_dof_sect_type): New enum. (dtrace_dof_dofh_ident): Likewise. (dtrace_dof_encoding): Likewise. (DTRACE_DOF_ENCODE_LSB): Likewise. (DTRACE_DOF_ENCODE_MSB): Likewise. (dtrace_dof_hdr): New struct. (dtrace_dof_sect): Likewise. (dtrace_dof_provider): Likewise. (dtrace_dof_probe): Likewise. (DOF_UINT): New macro. (DTRACE_DOF_PTR): Likewise. (DTRACE_DOF_SECT): Likewise. (dtrace_process_dof_probe): New function. (dtrace_process_dof): Likewise. (dtrace_build_arg_exprs): Likewise. (dtrace_get_arg): Likewise. (dtrace_get_probes): Likewise. (dtrace_get_probe_argument_count): Likewise. (dtrace_can_evaluate_probe_arguments): Likewise. (dtrace_evaluate_probe_argument): Likewise. (dtrace_compile_to_ax): Likewise. (dtrace_probe_destroy): Likewise. (dtrace_gen_info_probes_table_header): Likewise. (dtrace_gen_info_probes_table_values): Likewise. (dtrace_probe_is_enabled): Likewise. (dtrace_probe_ops): New variable. (info_probes_dtrace_command): New function. (_initialize_dtrace_probe): Likewise. (dtrace_type_name): Likewise. commit 8b367e1771078f3cfc8c0fa2d5c5d5e9656c8fb9 Author: Jose E. Marchesi Date: Tue Feb 17 15:54:44 2015 +0100 New gdbarch functions: dtrace_parse_probe_argument, dtrace_probe_is_enabled, dtrace_enable_probe, dtrace_disable_probe. This patch adds several gdbarch functions (along with the corresponding predicates): `dtrace_parse_probe_argument', `dtrace_probe_is_enabled', `dtrace_enable_probe' and `dtrace_disable_probe'. These functions will be implemented by target-specific code, and called from the DTrace probes implementation in order to calculate the value of probe arguments, and manipulate is-enabled probes. gdb/ChangeLog: 2015-02-17 Jose E. Marchesi * gdbarch.sh (dtrace_parse_probe_argument): New. (dtrace_probe_is_enabled): Likewise. (dtrace_enable_probe): Likewise. (dtrace_disable_probe): Likewise. * gdbarch.c: Regenerate. * gdbarch.h: Regenerate. commit 9aca2ff83e4299875343cb07add9c0ef7e5f3188 Author: Jose E. Marchesi Date: Tue Feb 17 15:51:07 2015 +0100 New commands `enable probe' and `disable probe'. This patch adds the above-mentioned commands to the generic probe abstraction implemented in probe.[ch]. The effects associated to enabling or disabling a probe depend on the type of probe being handled, and is triggered by invoking two back-end hooks in `probe_ops'. In case some particular probe type does not support the notion of enabling and/or disabling, the corresponding fields on `probe_ops' can be initialized to NULL. This is the case of SystemTap probes. gdb/ChangeLog: 2015-02-17 Jose E. Marchesi * stap-probe.c (stap_probe_ops): Add NULLs in the static stap_probe_ops for `enable_probe' and `disable_probe'. * probe.c (enable_probes_command): New function. (disable_probes_command): Likewise. (_initialize_probe): Define the cli commands `enable probe' and `disable probe'. (parse_probe_linespec): New function. (info_probes_for_ops): Use parse_probe_linespec. * probe.h (probe_ops): New hooks `enable_probe' and `disable_probe'. gdb/doc/ChangeLog: 2015-02-17 Jose E. Marchesi * gdb.texinfo (Static Probe Points): Cover the `enable probe' and `disable probe' commands. commit 03e98035a2a5d928ceb36ddd7b43369fbf72a008 Author: Jose E. Marchesi Date: Tue Feb 17 15:50:19 2015 +0100 Move `compute_probe_arg' and `compile_probe_arg' to probe.c This patch moves the `compute_probe_arg' and `compile_probe_arg' functions from stap-probe.c to probe.c. The rationale is that it is reasonable to assume that all backends will provide the `$_probe_argN' convenience variables, and that the user must be placed on the PC of the probe when requesting that information. The value and type of the argument can still be determined by the probe backend via the `pops->evaluate_probe_argument' and `pops->compile_to_ax' handlers. Note that a test in gdb.base/stap-probe.exp had to be adjusted because the "No SystemTap probe at PC" messages are now "No probe at PC". gdb/ChangeLog: 2015-02-17 Jose E. Marchesi * probe.c (compute_probe_arg): Moved from stap-probe.c (compile_probe_arg): Likewise. (probe_funcs): Likewise. * stap-probe.c (compute_probe_arg): Moved to probe.c. (compile_probe_arg): Likewise. (probe_funcs): Likewise. gdb/testsuite/ChangeLog: 2015-02-17 Jose E. Marchesi * gdb.base/stap-probe.exp (stap_test): Remove "SystemTap" from expected message when trying to access $_probe_* convenience variables while not on a probe. commit 6f9b84910f8cabf565598f499258bbea51cc06d4 Author: Jose E. Marchesi Date: Tue Feb 17 15:49:12 2015 +0100 Adapt `info probes' to support printing probes of different types. A "probe type" (backend for the probe abstraction implemented in probe.[ch]) can extend the information printed by `info probes' by defining additional columns. This means that when `info probes' is used to print all the probes regardless of their types, some of the columns will be "not applicable" to some of the probes (like, say, the Semaphore column only makes sense for SystemTap probes). This patch makes `info probes' fill these slots with "n/a" marks (currently it breaks the table) and not include headers for which no actual probe has been found in the list of defined probes. This patch also adds support for a new generic column "Type", that displays the type of each probe. SystemTap probes identify themselves as "stap" probes. gdb/ChangeLog: 2015-02-17 Jose E. Marchesi * probe.c (print_ui_out_not_applicables): New function. (exists_probe_with_pops): Likewise. (info_probes_for_ops): Do not include column headers for probe types for which no probe has been actually found on any object. Also invoke `print_ui_out_not_applicables' in order to match the column rows with the header when probes of several types are listed. Print the "Type" column. * probe.h (probe_ops): Added a new probe operation `type_name'. * stap-probe.c (stap_probe_ops): Add `stap_type_name'. (stap_type_name): New function. commit 2ec55de302e4a6c49a06c673c8262a119fa6226f Author: Alan Modra Date: Tue Feb 17 09:14:59 2015 +1030 Properly place the NULL STT_FILE symbol revistited I was having a little closer look at what is going on here and noticed that HJ unconditionally emits a NULL STT_FILE symbol before emitting forced local symbols. That means we really don't need a second pass over forced local symbols. The only reason for two passes is when some forced local symbol can be emitted before the NULL STT_FILE. So I set about removing the second pass, updating the testsuite all over again. It's also unnecessary to emit the NULL STT_FILE when no previous file symbol has been emitted. bfd/ PR ld/17975 * elflink.c (struct elf_outext_info): Remove need_second_pass and second_pass. (elf_link_output_extsym): Delete code handling second forced local pass. Move code emitting NULL STT_FILE symbol later, so that it can be omitted if forced local is stripped. Don't emit the NULL STT_FILE if no file symbols have been output. (bfd_elf_final_link): Remove second forced local pass. * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms. (ppc_elf_size_dynamic_sections): Likewise. * elf64-ppc.c (ppc_build_one_stub): Likewise. (build_global_entry_stubs): Likewise. (ppc64_elf_build_stubs): Likewise. ld/testsuite/ PR ld/17975 * ld-aarch64/gc-tls-relocs.d, * ld-alpha/tlspic.rd, * ld-cris/libdso-2.d, * ld-i386/tlsdesc-nacl.rd, * ld-i386/tlsdesc.rd, * ld-i386/tlsnopic-nacl.rd, * ld-i386/tlsnopic.rd, * ld-i386/tlspic-nacl.rd, * ld-i386/tlspic.rd, * ld-ia64/tlspic.rd, * ld-powerpc/tlsexe.r, * ld-powerpc/tlsexetoc.r, * ld-powerpc/tlsso.r, * ld-powerpc/tlstocso.r, * ld-s390/tlspic.rd, * ld-s390/tlspic_64.rd, * ld-sparc/tlssunnopic32.rd, * ld-sparc/tlssunnopic64.rd, * ld-sparc/tlssunpic32.rd, * ld-sparc/tlssunpic64.rd, * ld-tic6x/shlib-1.rd, * ld-tic6x/shlib-1b.rd, * ld-tic6x/shlib-1r.rd, * ld-tic6x/shlib-1rb.rd, * ld-tic6x/shlib-noindex.rd, * ld-x86-64/tlsdesc-nacl.rd, * ld-x86-64/tlsdesc.rd, * ld-x86-64/tlspic-nacl.rd, * ld-x86-64/tlspic.rd: Update. commit 69efdff130b843838e791065335b44d5f91f7075 Author: Patrick Palka Date: Tue Feb 17 08:06:10 2015 -0500 Remove superfluous function key_is_command_char() The function key_is_command_char() is simply a predicate that determines whether the function tui_dispatch_ctrl_char() will do anything useful. Since tui_dispatch_ctrl_char() performs the same checks as key_is_command_char() it is unnecessary to keep key_is_command_char() around. This patch removes this useless function and instead unconditionally calls tui_dispatch_ctrl_char() inside its only caller, tui_getc(). gdb/ChangeLog: * tui/tui-io.c (tui_getc): Don't call key_is_command_char. (key_is_command_char): Delete. commit f8e5e23e3dc46042fcf5fad6013e6fa8db13ec43 Author: Pedro Alves Date: Tue Feb 17 10:05:52 2015 +0000 TUI: resize windows to new terminal size before displaying them If the user: #1 - disables the TUI #2 - resizes the terminal #3 - and then re-enables the TUI the next wgetch() returns KEY_RESIZE. This indicates to the ncurses client that ncurses detected that the terminal has been resized. We don't handle KEY_RESIZE anywhere, so it gets passed on to readline which interprets it as a multibyte character, and then the end result is that the first key press after enabling the TUI is misinterpreted. We shouldn't really need to handle KEY_RESIZE (and not all ncurses implementations have that). We have our own SIGWINCH handler, and, when we re-enable the TUI, we explicitly detect terminal resizes and resize all windows. The reason ncurses currently does detects a resize is that something within tui_enable forces a refresh/display of some window before we get to do the actual resizing. Setting a break on ncurses' 'resizeterm' function helps find the culprit(s): (top-gdb) bt #0 resizeterm (ToLines=28, ToCols=114) at ../../ncurses/base/resizeterm.c:462 #1 0x0000003b42812f3f in _nc_update_screensize (sp=0x2674730) at ../../ncurses/tinfo/lib_setup.c:443 #2 0x0000003b0821cbe0 in doupdate () at ../../ncurses/tty/tty_update.c:726 #3 0x0000003b08215539 in wrefresh (win=0x2a7bc00) at ../../ncurses/base/lib_refresh.c:65 #4 0x00000000005257cb in tui_refresh_win (win_info=0xd73d60 <_locator>) at /home/pedro/gdb/mygit/src/gdb/tui/tui-wingeneral.c:60 #5 0x000000000052265b in tui_show_locator_content () at /home/pedro/gdb/mygit/src/gdb/tui/tui-stack.c:269 #6 0x00000000005273a6 in tui_set_key_mode (mode=TUI_COMMAND_MODE) at /home/pedro/gdb/mygit/src/gdb/tui/tui.c:321 #7 0x00000000005278c7 in tui_enable () at /home/pedro/gdb/mygit/src/gdb/tui/tui.c:494 #8 0x0000000000527011 in tui_rl_switch_mode (notused1=1, notused2=1) at /home/pedro/gdb/mygit/src/gdb/tui/tui.c:108 That is, tui_enable calls tui_set_key_mode before we've resized all windows, and that refreshes a window as side effect. And if we're already debugging something (there's a frame), then we'll instead show a window from within tui_show_frame_info: (top-gdb) bt #0 resizeterm (ToLines=28, ToCols=114) at ../../ncurses/base/resizeterm.c:462 #1 0x0000003b42812f3f in _nc_update_screensize (sp=0x202e6c0) at ../../ncurses/tinfo/lib_setup.c:443 #2 0x0000003b0821cbe0 in doupdate () at ../../ncurses/tty/tty_update.c:726 #3 0x0000003b08215539 in wrefresh (win=0x2042890) at ../../ncurses/base/lib_refresh.c:65 #4 0x00000000005257cb in tui_refresh_win (win_info=0xd73d60 <_locator>) at /home/pedro/gdb/mygit/src/gdb/tui/tui-wingeneral.c:60 #5 0x000000000052265b in tui_show_locator_content () at /home/pedro/gdb/mygit/src/gdb/tui/tui-stack.c:269 #6 0x0000000000522931 in tui_show_frame_info (fi=0x16b9cc0) at /home/pedro/gdb/mygit/src/gdb/tui/tui-stack.c:364 #7 0x00000000005278ba in tui_enable () at /home/pedro/gdb/mygit/src/gdb/tui/tui.c:491 #8 0x0000000000527011 in tui_rl_switch_mode (notused1=1, notused2=1) at /home/pedro/gdb/mygit/src/gdb/tui/tui.c:108 The fix is to resize windows earlier. gdb/ChangeLog: 2015-02-17 Pedro Alves * tui/tui.c (tui_enable): Resize windows before anything might show a window. commit 9f2e07213aa91f1882112df3e0d227638b7a085b Author: Maxim Ostapenko Date: Mon Feb 16 20:24:53 2015 +0400 Fix GDB build fail on Aarch64 when -fno-common is enabled Current trunk GDB (and gdb-7.8.1 too) fails to build on Aarch64 when -fno-common is enabled. It fails during link stage due to multiple definition of `tdesc_aarch64': ... [ 199s] aarch64-linux-nat.o: In function `initialize_tdesc_aarch64': [ 199s] /home/abuild/rpmbuild/BUILD/gdb-7.8.1/gdb/features/aarch64.c:11: multiple definition of `tdesc_aarch64' [ 199s] aarch64-tdep.o:/home/abuild/rpmbuild/BUILD/gdb-7.8.1/gdb/objfiles.h:540: first defined here [ 199s] aarch64-linux-nat.o: In function `initialize_tdesc_aarch64': [ 199s] /home/abuild/rpmbuild/BUILD/gdb-7.8.1/gdb/features/aarch64.c:11: multiple definition of `tdesc_aarch64' [ 199s] aarch64-tdep.o:/home/abuild/rpmbuild/BUILD/gdb-7.8.1/gdb/objfiles.h:540: first defined here [ 199s] collect2: error: ld returned 1 exit status [ 199s] make[2]: *** [gdb] Error 1 ... This happens because struct target_desc *tdesc_aarch64 is defined in gdb/features/aarch64.c, which is included by two files (gdb/aarch64-linux-nat.c and gdb/aarch64-tdep.c). gdb/Changelog 2015-02-17 Max Ostapenko PR gdb/17984 * aarch64-linux-nat.c: Don't include features/aarch64.c anymore. (aarch64_linux_read_description): Remove initialize_tdesc_aarch64 call. * aarch64-tdep.h (tdesc_aarch64): Declare. commit 2d9afefe223de983d6e86b5de9da0e5650057ac9 Author: Mark Wielaard Date: Tue Feb 10 00:02:34 2015 +0100 [gold] Recognize DWARF5/GCC5 DW_LANG_Fortran03 and DW_LANG_Fortran08. DWARFv5 defines and GCC5 may output two new DW_LANG constants for the Fortran 2003 and Fortran 2008 standards. Recognize both in gold gdb-index as unsupported. For consistency also add the other new DWARF5/GCC5 language constants in the elfcpp::DW_LANG enum to match include/dwarf2.h. elfcpp/ChangeLog: * dwarf.h (enum DW_LANG): Add DW_LANG_C_plus_plus_11, DW_LANG_C11, DW_LANG_C_plus_plus_14, DW_LANG_Fortran03 and DW_LANG_Fortran08 from ../include/dwarf2.h. gold/ChangeLog: * gdb-index.cc (Gdb_index_info_reader::visit_top_die): Recognize DW_LANG_Fortran03 and DW_LANG_Fortran08. commit e9c1bdad269c0c3352eebcc9481ed65144001b0b Author: Cary Coutant Date: Mon Feb 16 22:15:12 2015 -0800 Fix --dynamic-list so that symbols not in the list are still exported. In PR 13577, the complaint was that -Bsymbolic was overriding the binding behavior for symbols listed in the --dynamic-list by setting the DT_SYMBOLIC tag in the dynamic table. In reading the Gnu ld manual, I decided that --dynamic-list should be mutually exclusive of -Bsymbolic, and modified gold so that --dynamic-list would treat symbols listed as preemptible, and all other symbols as internally bound. I was wrong. PR 16992 shows that with --dynamic-list (and not -Bsymbolic), a symbol not listed in the dynamic list is being internally bound within the shared library, but because it's still in the dynamic symbol table, we expose it to a COPY relocation, and things go really bad from there. (I can reproduce the same failure, simply by turning on -Bsymbolic-functions with the Gnu linker. Even though the symbol is bound internally, it's still exported to the dynamic symbol table, and is exposed to a COPY relocation.) I've backed out part of the fix for PR 13577, and -Bsymbolic (or -Bsymbolic-functions) can now be used with --dynamic-list, but if the two are used together, we do not set DT_SYMBOLIC or DF_SYMBOLIC (this matches Gnu ld behavior). We now treat symbols listed in the dynamic list as premptible, but we do not automatically treat symbols not listed there as non-premptible. gold/ PR gold/13577 PR gold/16992 * layout.cc (Layout::finish_dynamic_section): Don't set DT_SYMBOLIC or DF_SYMBOLIC if --dynamic-list option is used. * options.cc (General_options::finalize): --dynamic-list is not mutually exclusive with -Bsymbolic. * symtab.h (Symbol::is_preemptible): Don't exclude dynamic symbols not listed in --dynamic-list. * testsuite/Makefile.am (dynamic_list_lib2.so): Add -Bsymbolic-functions. * testsuite/Makefile.in: Regenerate. commit 0ed4b0bf3d2ca248778a2ffbcb2c5cafbfdd64dc Author: Cary Coutant Date: Mon Feb 16 20:14:08 2015 -0800 Remove redundant include of "output.h". gold/ PR gold/17971 * incremental.cc: Remove redundant include of "output.h". commit ab32a8e052b016c4065f8b991dddb4f7a4e38c38 Author: GDB Administrator Date: Tue Feb 17 00:00:09 2015 +0000 Automatic date update in version.in commit 67ca0b7662419d76375773e0e8aba545d0c43e34 Author: H.J. Lu Date: Mon Feb 16 09:07:42 2015 -0800 Correct a typo in ld/testsuite/ChangeLog commit 49bd1d6e875d4b9ab0cdb909ae6db2bfc95f364b Author: H.J. Lu Date: Mon Feb 16 08:35:17 2015 -0800 Update more ld testcases after PR ld/17975 fix * ld-alpha/tlspic.rd: Updated. * ld-powerpc/tlsexe.r: Likewise. * ld-powerpc/tlsexetoc.r: Likewise. * ld-powerpc/tlsso.r: Likewise. * ld-powerpc/tlstocso.r: Likewise. * ld-s390/tlspic.rd: Likewise. * ld-s390/tlspic_64.rd: Likewise. * ld-sparc/gotop32.dd: Likewise. * ld-sparc/gotop64.dd: Likewise. * ld-sparc/tlssunnopic32.rd: Likewise. * ld-sparc/tlssunnopic64.rd: Likewise. * ld-sparc/tlssunpic32.rd: Likewise. * ld-sparc/tlssunpic64.rd: Likewise. * ld-tic6x/shlib-1.rd: Likewise. * ld-tic6x/shlib-1b.rd: Likewise. * ld-tic6x/shlib-1r.rd: Likewise. * ld-tic6x/shlib-1rb.rd: Likewise. * ld-tic6x/shlib-noindex.rd: Likewise. commit 6dfb72b9068626cbbf0017df092162d11304a3b0 Author: H.J. Lu Date: Mon Feb 16 07:31:46 2015 -0800 Add ChangeLog entries for PR ld/17975 fix commit 35f82954b5e46ef5f56653d4f3aa0d1236f558da Author: H.J. Lu Date: Sat Feb 14 20:17:28 2015 -0800 Properly place the NULL STT_FILE symbol We output a NULL STT_FILE symbol for forced local symbols so that they are not associated with the STT_FILE symbol for real local symbols. This patch makes sure that the NULL STT_FILE symbol is placed before forced local symbols. bfd/ PR ld/17975 * elflink.c (elf_link_output_extsym): Only check filesym_count when outputting a NULL FILE symbol. Set second_pass_sym to h->forced_local && !h->root.linker_def. ld/testsuite/ PR ld/17975 * ld-i386/tlsbin-nacl.rd: Likewise. * ld-i386/tlsbin.rd: Likewise. * ld-i386/tlsbindesc-nacl.rd: Likewise. * ld-i386/tlsbindesc.rd: Likewise. * ld-i386/tlsdesc-nacl.rd: Likewise. * ld-i386/tlsdesc.rd: Likewise. * ld-i386/tlsnopic-nacl.rd: Likewise. * ld-i386/tlsnopic.rd: Likewise. * ld-i386/tlspic-nacl.rd: Likewise. * ld-i386/tlspic.rd: Likewise. * ld-x86-64/tlsbin-nacl.rd: Likewise. * ld-x86-64/tlsbin.rd: Likewise. * ld-x86-64/tlsbindesc-nacl.rd: Likewise. * ld-x86-64/tlsbindesc.rd: Likewise. * ld-x86-64/tlsdesc-nacl.rd: Likewise. * ld-x86-64/tlsdesc.rd: Likewise. * ld-x86-64/tlspic-nacl.rd: Likewise. * ld-x86-64/tlspic.rd: Likewise. commit 171e6b1cf621bff93e1aea3fe76bdaa6132df9f6 Author: Mark Wielaard Date: Thu Feb 12 16:51:53 2015 +0100 Remove true and false ARI checks now that we use stdbool.h. gdb/ChangeLog: * contrib/ari/gdb_ari.sh: Remove checks for "true" and "false". commit 5348a025be9a49e05b7ae4ac4081bae6e2399b65 Author: GDB Administrator Date: Mon Feb 16 00:00:08 2015 +0000 Automatic date update in version.in commit 576fa8831a7334ef5be41d9f3dc72a92bc227979 Author: H.J. Lu Date: Sat Feb 14 20:17:10 2015 -0800 Set root.linker_def on _TLS_MODULE_BASE_ * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def on _TLS_MODULE_BASE_. * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise. commit 49987e5cbb94d95e844374952923b7bb8f13ca87 Author: Nick Clifton Date: Sun Feb 15 15:05:18 2015 +0000 This fixes a bug I introduced to the PDP11 target when I was trying to fix an illegal memory access problem. * pdp11.c (aout_get_external_symbols): Return TRUE if there are no symbols - just set the count to zero. commit 62f8d21784db0dd5f8e3717290bff32bd824cf2f Author: Alan Modra Date: Sun Feb 15 19:02:46 2015 +1030 fix dbb3fbbb dwarf2.c breakage m68hc11-elf +FAIL: 68HC12 indexed addressing mode with 5, 9 and 16-bit offsets (indexed12) m68hc12-elf +FAIL: 68HC12 indexed addressing mode with 5, 9 and 16-bit offsets (indexed12) * dwarf2.c (read_rangelist): Correct buffer overflow check Whitespace throughout file. commit deef1eedc13aa322abdb1d76cdc3fcf6ab3b70cd Author: GDB Administrator Date: Sun Feb 15 00:00:07 2015 +0000 Automatic date update in version.in commit f58926a652e71cc4809758c693ff005d9fdc46e1 Author: H.J. Lu Date: Sat Feb 14 05:45:08 2015 -0800 Add a testcase for PR ld/17973 ld/ PR ld/17973 * testplug2.c (allsymbolsread_silent): New. (set_register_hook): Handle allsymbolsreadsilent. (onall_symbols_read): Skip a message if allsymbolsread_silent is TRUE. ld/testsuite/ PR ld/17973 * ld-plugin/plugin.exp (regassilent): New. Compile tmpdir/dummy.s and ld-plugin/pr17973.s. (plugin_tests): Add a test for PR ld/17973. * ld-plugin/pr17973.d: New file. * ld-plugin/pr17973.s: Likewise. commit ce875075f9c8acc57bb0ec516ae3ba50064e52b7 Author: Alan Modra Date: Sat Feb 14 18:38:32 2015 +1030 PR ld/17973 LTO file syms LTO output objects have an STT_FILE symbol using the name of the file, a temporary file. This results in executables that can't be exactly reproduced, so the file name needs to be dropped. We don't want to lose all file symbols when linking a mix of lto and non-lto objects as a file symbol can be used to figure which source file generated a given local symbol. So lto output objects need to be marked. I chose to mark lto output objects with a new bfd flag. This flag is also used to fix a bug in the link-once handling; An object being loaded after "loading_lto_outputs" is set might be one extracted from an archive to satisfy new references from lto objects, not an lto object itself. The new flag is copied from archive to elements, and the same done for no_export. This fixes a bug in that --exclude-libs doesn't work with thin archives. I'm not completely happy with this part of the patch and may revist this to avoid the hack in _bfd_look_for_bfd_in_cache. PR ld/17973 include/ * bfdlink.h (struct bfd_link_info): Delete loading_lto_outputs. bfd/ * bfd.c (struct bfd): Add lto_output. * linker.c (_bfd_handle_already_linked): Explicitly test for objects added by the lto plugin. * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and no_export flags from archive. * archive.c (open_nested_file): New function, setting lto_output and no_export, extracted from.. (find_nested_archive): ..here. Flip params. Rename from _bfd_find_nested_archive. (_bfd_get_elt_at_filepos): Correct var typo. Use open_nested_file. (_bfd_look_for_bfd_in_cache): Copy no_export. * elflink.c (elf_link_add_object_symbols): Remove now unnecessary my_archive->no_export test. (elf_link_input_bfd): Drop existing lto_output STT_FILE syms. Don't use the file name when adding lto_output STT_FILE sym. * bfd-in2.h: Regenerate. ld/ * ldlang.h (struct lang_input_statement_flags): Add lto_output. * ldlang.c (lang_process): Don't set loading_lto_outputs. * ldfile.c (ldfile_try_open_bfd): Transfer entry flags.lto_output to bfd. * plugin.c (add_input_file, add_input_library): Set flags.lto_output. commit 0a60f874dc25306c48fab8f7655813eb1bfeca8f Author: GDB Administrator Date: Sat Feb 14 00:00:08 2015 +0000 Automatic date update in version.in commit d5ff04826ed6ffd265d47690e0e636e2dff5e6ae Author: Doug Evans Date: Fri Feb 13 12:03:50 2015 -0800 misc cp-namespace.c cleanups gdb/ChangeLog: * cp-namespace.c (cp_basic_lookup_symbol): Rename parameter anonymous_namespace to is_in_anonymous for consistency with the rest of the file. (cp_lookup_bare_symbol): Fix typo in comment. (cp_search_static_and_baseclasses): Ditto. (search_symbol_list): Use vertical space in comment better. (reset_directive_searched): Ditto. Fix typo. (cp_lookup_nested_symbol_1): Clarify contents of NESTED_NAME parameter. commit dc1d9d1fcbc719cd4377aa178703ad00b1d8a3ac Author: Chen Gang Date: Fri Feb 13 05:32:30 2015 +0800 sim/common/gentmap.c: Include "string.h". The related warnings: gcc ../../../binutils-gdb/sim/mcore/../common/gentmap.c -o gentmap -g -O -I. -I../../../binutils-gdb/sim/mcore -I../common -I../../../binutils-gdb/sim/mcore/../common -I../../include -I../../../binutils-gdb/sim/mcore/../../include -I../../bfd -I../../../binutils-gdb/sim/mcore/../../bfd -I../../opcodes -I../../../binutils-gdb/sim/mcore/../../opcodes ../../../binutils-gdb/sim/mcore/../common/gentmap.c: In function ‘main’: ../../../binutils-gdb/sim/mcore/../common/gentmap.c:119:7: warning: implicit declaration of function ‘strcmp’ [-Wimplicit-function-declaration] if (strcmp (argv[1], "-h") == 0) ^ 2015-02-13 Chen Gang * gentmap.c: Include "string.h". commit b0619670ab9822e5c116c273ba484909e608a943 Author: H.J. Lu Date: Fri Feb 13 07:54:21 2015 -0800 Mention support for LLVM plugin in NEWS * NEWS: Mention support for LLVM plugin. commit ffc0f143c74a7d49f6d1ae3f835e404ef4e56772 Author: Nick Clifton Date: Fri Feb 13 14:17:18 2015 +0000 Fixes for memory access violations triggered by running readelf on fuzzed binaries. PR binutils/17531 * dwarf.c (display_debug_aranges): Add check for an excessive ar_length value. (process_cu_tu_index): Check for a row * columns sum being too large. commit 951eaaec17411eba4debe19781f6b8b54306256e Author: Nick Clifton Date: Fri Feb 13 12:14:05 2015 +0000 Fix illegal memory access errors triggered by running srconv on fuzzed binaries. PR binutils/17512 * dwarf.c (read_leb128): Fix test for shift becoming too large. * coffgrok.c (do_define): Add check for type size overflow. * srconv.c (walk_tree_sfile): Check that enough sections are available before parsing. (prescan): Likewise. commit f641dd969f91a83adf319b269c2411141b0a26a9 Author: Nick Clifton Date: Fri Feb 13 11:13:20 2015 +0000 Fix mistake in recent code to check for an unterminated leb128 number. * dwarf.c (read_leb128): Fix test for shift becoming too large. commit 9f04ac5f92a1efc97b38cb6560fc10146fad64b6 Author: Yao Qi Date: Fri Feb 13 10:23:16 2015 +0000 Update Yao Qi's email address in MAINTAINERS gdb: * MAINTAINERS: Update my email address. commit b4eb7656c21fd8cad2eaa0d27883226127cb1620 Author: Alan Modra Date: Thu Feb 12 13:40:00 2015 +1030 binutils/dwarf.c white space The style fix here is for num_units * sizeof * debug_information. * dwarf.c: Formatting, whitespace. (process_debug_info): Style fix. commit 66bc8739876b17b4e8b57cd1f1337814b4b734db Author: Alan Modra Date: Thu Feb 12 13:40:33 2015 +1030 Correct ld.texinfo cross reference Fixes warning: @pxref cross-reference name should not contain `:' * ld.texinfo (Options <--defsym>): Correct cross reference. commit 451dfd384383160be5bc60f50a7920975e66f593 Author: Alan Modra Date: Fri Feb 13 10:16:16 2015 +1030 PowerPC64 offset check should test entire 64-bit value is in section PR binutils/17512 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove now redundant assert. commit fc4c425de70c3a4f7826010c0d65bfe6fbf00fb8 Author: GDB Administrator Date: Fri Feb 13 00:00:07 2015 +0000 Automatic date update in version.in commit 1a920511af007e7476df68f87ff42ec8be80531d Author: Jing Yu Date: Thu Feb 12 11:22:25 2015 -0800 Add missing TLSLE relocations for gold aarch64 backend. gold/ChangeLog: * aarch64-reloc.def (TLSLE_MOVW_TPREL_G2, TLSLE_MOVW_TPREL_G1, TLSLE_MOVW_TPREL_G1_NC, TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC,): New relocation. * aarch64.cc (Target_aarch64::Scan::local): Add cases for new TLSLE_MOVW_* relocations. (Target_aarch64::Scan::global): Likewise. (Target_aarch64::Relocate::relocate): Likewise. (Target_aarch64::Relocate::relocate_tls): Add cases and handlings for new TLSLE_MOVW_* relocations. commit 013d031916a1f154054c3b2ccc2d35fa9ff5e397 Author: Doug Evans Date: Thu Feb 12 13:32:36 2015 -0800 completer.c (completion_list_add_name): Fix memory leak. gdb/ChangeLog: * completer.c (completion_list_add_name): Fix memory leak. commit fa3f8d5ac61f98d5efde8dc92ba4c9f3dc12938b Author: David Taylor Date: Thu Feb 12 22:38:28 2015 +0200 Fix documentation of the QTDV packet gdb/doc/ChangeLog 2015-02-12 David Taylor * gdb.texinfo (Tracepoint Packets): Document the builtin and name fields of the QTDV packet. commit 9a7e538ee10ff885d8bb49ad71da262729a1604d Author: Doug Evans Date: Thu Feb 12 12:19:31 2015 -0800 completer.c (complete_line): Remove incorrect comment. gdb/ChangeLog: * completer.c (complete_line): Remove incorrect comment. commit dbb3fbbb1a3b387a0d33dfd5764cf92bc3da7f41 Author: Nick Clifton Date: Thu Feb 12 16:45:11 2015 +0000 Fix memory access violations triggered by running addr2line on fuzzed binaries. PR binutils/17512 * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes) (read_4_bytes, read_8_bytes, read_n_bytes, read_string) (read_indirect_string, read_alt_indirect_string) (read_alt_indirect_ref, read_address, read_abbrevs) (read_attribute_value, read_attribute, decode_line_info) (find_abstract_instance_name, read_rangelist) (scan_unit_for_symbols, parse_comp_unit) (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code. Pass end pointers to reading functions and check for offsets taking pointers out of range. Replace calls to read_*_leb128 with calls to safe_read_leb128. (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge offset. * syms.c (_bfd_stab_section_find_nearest_line): Add checks for computed file_name address being before the start of the string table. commit 0e7f931f3acb65a739dffb2a4edec9e7afb1ccbe Author: Nick Clifton Date: Thu Feb 12 16:32:28 2015 +0000 oops - changelog entry accidentally omitted from previous delta. commit 761e2bd47975100f96422d2cafe0d545b781205d Author: H.J. Lu Date: Thu Feb 12 04:59:57 2015 -0800 Replace elf_i386 with elf_i386_nacl for nacl * ld-i386/i386.exp: Replace elf_i386 with elf_i386_nacl for nacl. commit f0af5632f2630d173b26df4a929ba6ba5d0508e9 Author: GDB Administrator Date: Thu Feb 12 00:00:08 2015 +0000 Automatic date update in version.in commit 88b9e2eb547b002431ae7e4b7799f1a06241da3c Author: H.J. Lu Date: Wed Feb 11 12:16:36 2015 -0800 Add --[no-]map-whole-files for gold compatibility Gold supports: --map-whole-files Map whole files to memory (default on 64-bit hosts) --no-map-whole-files Map relevant file parts to memory (default on 32-bit hosts) This patch adds --[no-]map-whole-files command line options for gold compatibility. They are ignored for ld. * lexsup.c (ld_options): Add --[no-]map-whole-files for gold option compatibility. commit 45e813544eb076dd52fefe7b36e28b088963207d Author: H.J. Lu Date: Wed Feb 11 12:16:07 2015 -0800 Output "warning:" or "error:" in plugin messages When plugin generates LDPL_WARNING, LDPL_FATAL and LDPL_ERROR messages, linker should display "warning:" or "error:" in plugin messages like regular linker messages. ld/ * plugin.c (message): Output "warning:" for LDPL_WARNING. Output "error:" for LDPL_FATAL and LDPL_ERROR. * testplug2.c (parse_option): Handle fatal, error and warning. ld/testsuite/ * ld-plugin/plugin-27.d: New. * ld-plugin/plugin-28.d: Likewise. * ld-plugin/plugin-29.d: Likewise. * plugin.exp (plugin_tests): Add tests for LDPL_FATAL, LDPL_ERROR and LDPL_WARNING. commit e3001fd92063282c55ad251d58f112b10a0cf7d6 Author: H.J. Lu Date: Wed Feb 11 13:35:07 2015 -0800 Remove unused dump_tv_tag * testplug2.c (dump_tv_tag): Removed. (onall_symbols_read): Return LDPS_ERR if the file descriptor isn't closed. * testplug3.c (dump_tv_tag): Removed. (onclaim_file): Fix typo. commit 90092e730582d024f621c78c6b5b1e6f2348e77d Author: Nick Clifton Date: Wed Feb 11 14:36:39 2015 +0000 Fixes a problem with the RL78 disassembler which would incorrectly disassemble [HL+0] as [HL]. * rl78-decode.opc: Add 'a' attribute to instructions that support [HL+0] addressing. * rl78-decode.c: Regenerate. * rl78-dis.c (print_insn_rl78): Display the offset in [HL+0] addresses. commit aa31c464df60c72920e849ed5cf64eef545e3014 Author: Jiong Wang Date: Wed Feb 11 14:35:27 2015 +0000 [AArch64] Fix code formatting in the cpu-table 2015-02-11 Matthew Wahab * config/tc-aarch64.c (aarch64_cpus): Fix code formatting. commit 63cc30e93a0a77a734ddf2f8ccf6e3b032248aea Author: Jan Kratochvil Date: Wed Feb 11 14:53:14 2015 +0100 framefilter quit: New test It definitely does not test all the RETURN_MASK_ERROR cases. But it tests at least two of them. gdb/testsuite/ChangeLog 2015-02-11 Jan Kratochvil * gdb.python/py-framefilter.exp (pagination quit - *): New tests. commit e1fcd5757be08c23c5e72595d3cc4f5736fa7cda Author: Jan Kratochvil Date: Wed Feb 11 14:50:09 2015 +0100 framefilter quit: Use RETURN_MASK_ERROR Now when the code is exception safe we can let RETURN_QUIT to pass through as all the installed cleanups with handle that. gdb/ChangeLog 2015-02-11 Jan Kratochvil * python/py-framefilter.c (py_print_single_arg, enumerate_locals) (py_print_frame): Use RETURN_MASK_ERROR. commit 4185814eb444c3a793dcb7ef567acf3d74019d07 Author: Chen Gang Date: Wed Feb 11 21:39:01 2015 +0800 sim/mcore/interp.c: Include "unistd.h". The related warnings: gcc -DHAVE_CONFIG_H -DPROFILE=1 -DWITH_PROFILE=-1 -DDEFAULT_INLINE=0 -I. -I../../../binutils-gdb/sim/mcore -I../common -I../../../binutils-gdb/sim/mcore/../common -I../../include -I../../../binutils-gdb/sim/mcore/../../include -I../../bfd -I../../../binutils-gdb/sim/mcore/../../bfd -I../../opcodes -I../../../binutils-gdb/sim/mcore/../../opcodes -g -O2 -c -o interp.o -MT interp.o -MMD -MP -MF .deps/interp.Tpo ../../../binutils-gdb/sim/mcore/interp.c ../../../binutils-gdb/sim/mcore/interp.c: In function ‘handle_trap1’: ../../../binutils-gdb/sim/mcore/interp.c:559:22: warning: implicit declaration of function ‘link’ [-Wimplicit-function-declaration] cpu.gr[RET1] = link ((char *) a[0], (char *) a[1]); ^ ../../../binutils-gdb/sim/mcore/interp.c:585:22: warning: implicit declaration of function ‘access’ [-Wimplicit-function-declaration] cpu.gr[RET1] = access ((char *) a[0], a[1]); ^ 2015-02-11 Chen Gang * interp.c: Include "unistd.h". commit b99bf4e352f8590ccee3fbe3b4b031efdfcccdab Author: Jan Kratochvil Date: Wed Feb 11 14:44:00 2015 +0100 framefilter quit: Make it exception safe gdb/ChangeLog 2015-02-11 Jan Kratochvil * python/py-framefilter.c (py_print_frame): Mention RETURN_QUIT in function comment. Wrap all function that can throw in cleanups. (gdbpy_apply_frame_filter): Wrap all function that can throw in cleanups. commit 800eb1cebe736f6867d13e5df40a2c463a4b23ad Author: Jan Kratochvil Date: Wed Feb 11 14:40:14 2015 +0100 framefilter quit: Code cleanup: Avoid gotos goto error patters are sometimes AFAIK used in C for the cases like: int retval=-1; if (!(a=malloc())) goto error; if (!(b=malloc())) goto error_a; if (!(c=malloc())) goto error_b; retval=0; error_c: free(c); error_b: free(b); error_a: free(a); error: return retval; But here there is single error label with one do_cleanups() which I do not find it worth the goto complication. Without goto one can then furher merge code in the exit paths in the next patches and ... after all it is all the same, just without a goto. gdb/ChangeLog 2015-02-11 Jan Kratochvil * python/py-framefilter.c (py_print_frame): Substitute goto error. Remove the error label. commit 34019068f0082676b31926c7ec84dba0cfb2aba5 Author: Jan Kratochvil Date: Wed Feb 11 14:37:40 2015 +0100 framefilter quit: Code cleanup: Reindentation Nothing significant but I find code more clear with less deep indentation. gdb/ChangeLog 2015-02-11 Jan Kratochvil * python/py-framefilter.c (py_print_frame): Put conditional code paths with goto first, indent the former else codepath left. Put variable 'elided' to a new inner block. commit 8d4a54e2fb7f44c20ff3ddf42ff67db6bd08bdab Author: Jan Kratochvil Date: Wed Feb 11 14:33:48 2015 +0100 framefilter quit: Obvious whitespacing fixes gdb/ChangeLog 2015-02-11 Jan Kratochvil * python/py-framefilter.c (py_print_frame): Whitespacing fixes. commit 7275e869fe708d1f5dc3774df3ae0dc68ebf9128 Author: H.J. Lu Date: Wed Feb 11 05:16:40 2015 -0800 Add ChangeLogs for 439b7f41b commit b9dc5a878402036ec7f631abae7505583a52b385 Author: H.J. Lu Date: Wed Feb 11 05:14:11 2015 -0800 Add ChangeLogs for commit 5ae0078cd commit 362beea4b400bcd5aca3bb1215a77e9e749b07fe Author: Nick Clifton Date: Wed Feb 11 13:05:04 2015 +0000 Fixes for invalid memory accesses triggered by running readelf on fuzzed binaries. PR binutils/17531 * dwarf.c (display_debug_pubnames_worker): Work around compiler bug checking address ranges. (display_debug_frames): Likewise. (display_gdb_index): Likewise. (process_cu_tu_index): Add range check on the ncols value. commit 439b7f41b5fee5ec5902aecc8f3fd105be6270b3 Author: H.J. Lu Date: Wed Feb 11 05:01:37 2015 -0800 Add tests for non-object IR file This patch adds linker, nm and ar tests for non-object IR file, including archive with non-object IR member. ld/ PR ld/17878 * Makefile.am (noinst_LTLIBRARIES): Add libldtestplug2.la and libldtestplug3.la. (libldtestplug2_la_SOURCES): New. (libldtestplug2_la_CFLAGS): Likewise. (libldtestplug2_la_LDFLAGS): Likewise. (libldtestplug3_la_SOURCES): New. (libldtestplug3_la_CFLAGS): Likewise. (libldtestplug3_la_LDFLAGS): Likewise. * Makefile.in: Regenerated. * testplug2.c: New file. * testplug3.c: Likewise. ld/testsuite/ PR ld/17878 * ld-plugin/func.c: Add some comments. * ld-plugin/plugin-13.d: New file. * ld-plugin/plugin-14.d: Likewise. * ld-plugin/plugin-15.d: Likewise. * ld-plugin/plugin-16.d: Likewise. * ld-plugin/plugin-17.d: Likewise. * ld-plugin/plugin-18.d: Likewise. * ld-plugin/plugin-19.d: Likewise. * ld-plugin/plugin-20.d: Likewise. * ld-plugin/plugin-21.d: Likewise. * ld-plugin/plugin-22.d: Likewise. * ld-plugin/plugin-23.d: Likewise. * ld-plugin/plugin-24.d: Likewise. * ld-plugin/plugin-25.d: Likewise. * ld-plugin/plugin-26.d: Likewise. * ld-plugin/plugin.exp (plugin2_name): New. (plugin3_name): Likewise. (plugin2_path): Likewise. (plugin3_path): Likewise. (testsrcfiles): Likewise. (testsrcfiles_notext): Likewise. (plugin_tests): Add tests for non-object IR file. (plugin_lib_tests): Likewise. (plugin_extra_elf_tests): Likewise. (plugin_src_tests): New tests for non-object IR file. Run nm --plugin test. Run ar --plugin test. Run plugin_src_tests. commit 5ae0078cd2b6b69e6119864e20987c8724916b29 Author: H.J. Lu Date: Wed Feb 11 05:01:03 2015 -0800 Merge linker plugin handling into BFD plugin support Linker plugin_maybe_claim is the interface of linker plugin support. This patch extracts linker plugin_maybe_claim into plugin_object_p and makes it available to BFD via a new function: void register_ld_plugin_object_p (const bfd_target *(*) (bfd *)); bfd_plugin_object_p calls plugin_object_p registered by linker first. It adds an enum bfd_plugin_format field and a pointer to plugin dummy BFD so that plugin_object_p stores plugin dummy BFD to allow plugin_maybe_claim to retrieve it later. bfd/ PR ld/17878 * bfd.c (bfd_plugin_format): New. (bfd): Add plugin_format and plugin_dummy_bfd. * plugin.c (try_load_plugin): Take a pointer to bfd_boolean argument to return TRUE if any plugin is found. Set plugin_format. (has_plugin): New. (bfd_plugin_target_p): New. (bfd_plugin_specified_p): Likewise. (bfd_plugin_target_p): Likewise. (register_ld_plugin_object_p): Likewise. (bfd_plugin_set_plugin): Set has_plugin. (load_plugin): Cache try_load_plugin result. (bfd_plugin_object_p): Try ld_plugin_object_p first. Check plugin_format. * plugin.h (bfd_plugin_target_p): New. (bfd_plugin_specified_p): Likewise. (register_ld_plugin_object_p): Likewise. * bfd-in2.h: Regenerated. ld/ PR ld/17878 * plugin.c: Include ../bfd/plugin.h. (plugin_get_ir_dummy_bfd): Call bfd_create with link_info.output_bfd instead of srctemplate. Copy BFD info from srctemplate only if it doesn't use BFD plugin target vector. (plugin_load_plugins): Call register_ld_plugin_object_p with (plugin_object_p) (plugin_maybe_claim): Renamed to ... (plugin_object_p): This. Return dummy BFD target vector if input is calimed by plugin library, otherwise return NULL. Update plugin_format and plugin_dummy_bfd. (plugin_maybe_claim): New. Use plugin_object_p. xx commit 18ad82c16379e7ed7daa3043abdacee1d934867d Author: Pedro Alves Date: Tue Feb 10 11:01:21 2015 +0000 xcoffread.c: delete 'within_function' definition Linking GDB as a C++ program, we get: src/gdb/buildsym.c:226: multiple definition of `within_function' xcoffread.o:src/gdb/xcoffread.c:181: first defined here gdb/ 2015-02-11 Pedro Alves * xcoffread.c (within_function): Delete. commit e36122e9d76b35474c49aa1873e50e12c7b722b6 Author: Tom Tromey Date: Wed Feb 11 11:20:21 2015 +0000 Fix redefinition errors in C++ mode In C, we can forward declare static structure instances. That doesn't work in C++ though. C++ treats these as definitions. So then the compiler complains about symbol redefinition, like: src/gdb/elfread.c:1569:29: error: redefinition of ‘const sym_fns elf_sym_fns_lazy_psyms’ src/gdb/elfread.c:53:29: error: ‘const sym_fns elf_sym_fns_lazy_psyms’ previously declared here The intent of static here is naturally to avoid making these objects visible outside the compilation unit. The equivalent in C++ would be to instead define the objects in the anonymous namespace. But given that it's desirable to leave the codebase compiling as both C and C++ for a while, this just makes the objects extern. (base_breakpoint_ops is already declared in breakpoint.h, so we can just remove the forward declare from breakpoint.c) gdb/ChangeLog: 2015-02-11 Tom Tromey Pedro Alves * breakpoint.c (base_breakpoint_ops): Delete. * dwarf2loc.c (dwarf_expr_ctx_funcs): Make extern. * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_lazy_psyms): Make extern. * guile/guile.c (guile_extension_script_ops, guile_extension_ops): Make extern. * ppcnbsd-tdep.c (ppcnbsd2_sigtramp): Make extern. * python/py-arch.c (arch_object_type): Make extern. * python/py-block.c (block_syms_iterator_object_type): Make extern. * python/py-bpevent.c (breakpoint_event_object_type): Make extern. * python/py-cmd.c (cmdpy_object_type): Make extern. * python/py-continueevent.c (continue_event_object_type) * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove 'qual' parameter. Update all callers. * python/py-evtregistry.c (eventregistry_object_type): Make extern. * python/py-exitedevent.c (exited_event_object_type): Make extern. * python/py-finishbreakpoint.c (finish_breakpoint_object_type): Make extern. * python/py-function.c (fnpy_object_type): Make extern. * python/py-inferior.c (inferior_object_type, membuf_object_type): Make extern. * python/py-infevents.c (call_pre_event_object_type) (inferior_call_post_event_object_type). (memory_changed_event_object_type): Make extern. * python/py-infthread.c (thread_object_type): Make extern. * python/py-lazy-string.c (lazy_string_object_type): Make extern. * python/py-linetable.c (linetable_entry_object_type) (linetable_object_type, ltpy_iterator_object_type): Make extern. * python/py-newobjfileevent.c (new_objfile_event_object_type) (clear_objfiles_event_object_type): Make extern. * python/py-objfile.c (objfile_object_type): Make extern. * python/py-param.c (parmpy_object_type): Make extern. * python/py-progspace.c (pspace_object_type): Make extern. * python/py-signalevent.c (signal_event_object_type): Make extern. * python/py-symtab.c (symtab_object_type, sal_object_type): Make extern. * python/py-type.c (type_object_type, field_object_type) (type_iterator_object_type): Make extern. * python/python.c (python_extension_script_ops) (python_extension_ops): Make extern. * stap-probe.c (stap_probe_ops): Make extern. commit b19f47add047bd9bf102088530e28c2af38393cc Author: Jiong Wang Date: Wed Feb 11 10:54:50 2015 +0000 [ARM] Add support for Cortex-A72 2015-02-11 Matthew Wahab * config/tc-arm.c: Add support for Cortex-A72. commit 55172d69d08941ecb3bb1abd640f22abca10de47 Author: Pedro Alves Date: Wed Feb 11 10:04:47 2015 +0000 Wrap BFD headers in extern "C" These were the BFD changes needed for building a C++ GDB with --enable-targets=all, on x86_64 Fedora 20. For libbfd.h and libcoff.h, this does same as already done when generating bfd.h: open extern "C" in the -in.h header, and close it from the Makefile. bfd/doc/ChangeLog: 2015-02-11 Pedro Alves * Makefile.am (libbfd.h, libcoff.h): Close extern "C" scope. * Makefile.in: Regenerate. bfd/ChangeLog: 2015-02-11 Pedro Alves * libbfd-in.h [__cplusplus]: Open extern "C" scope. * libcoff-in.h [__cplusplus]: Open extern "C" scope. * libbfd.h: Regenerate. * libcoff.h: Regenerate. * elf-bfd.h [__cplusplus]: Wrap in extern "C". * mach-o.h [__cplusplus]: Wrap in extern "C". * som.h [__cplusplus]: Wrap in extern "C". commit 0703599a49d082a957ee233fe018fb6ea7864920 Author: Pedro Alves Date: Wed Feb 11 09:45:41 2015 +0000 Fix adjust_pc_after_break, remove still current thread check On decr_pc_after_break targets, GDB adjusts the PC incorrectly if a background single-step stops somewhere where PC-$decr_pc has a breakpoint, and the thread that finishes the step is not the current thread, like: ADDR1 nop <-- breakpoint here ADDR2 jmp PC IOW, say thread A is stepping ADDR2's line in the background (an infinite loop), and the user switches focus to thread B. GDB's adjust_pc_after_break logic confuses the single-step stop of thread A for a hit of the breakpoint at ADDR1, and thus adjusts thread A's PC to point at ADDR1 when it should not, and reports a breakpoint hit, when thread A did not execute the instruction at ADDR1 at all. The test added by this patch exercises exactly that. I can't find any reason we'd need the "thread to be examined is still the current thread" condition in adjust_pc_after_break, at least nowadays; it might have made sense in the past. Best just remove it, and rely on currently_stepping(). Here's the test's log of a run with an unpatched GDB: 35 while (1); (gdb) PASS: gdb.threads/step-bg-decr-pc-switch-thread.exp: next over nop next& (gdb) PASS: gdb.threads/step-bg-decr-pc-switch-thread.exp: next& over inf loop thread 1 [Switching to thread 1 (Thread 0x7ffff7fc2740 (LWP 29027))](running) (gdb) PASS: gdb.threads/step-bg-decr-pc-switch-thread.exp: switch to main thread Breakpoint 2, thread_function (arg=0x0) at ...src/gdb/testsuite/gdb.threads/step-bg-decr-pc-switch-thread.c:34 34 NOP; /* set breakpoint here */ FAIL: gdb.threads/step-bg-decr-pc-switch-thread.exp: no output while stepping gdb/ChangeLog: 2015-02-11 Pedro Alves * infrun.c (adjust_pc_after_break): Don't adjust the PC just because the event thread is not the current thread. gdb/testsuite/ChangeLog: 2015-02-11 Pedro Alves * gdb.threads/step-bg-decr-pc-switch-thread.c: New file. * gdb.threads/step-bg-decr-pc-switch-thread.exp: New file. commit 07f107f306e422497915e62f6c3d3d6d7b20e8e1 Author: Will Newton Date: Mon Feb 9 17:11:54 2015 +0800 gold/arm.cc: Output mapping symbol for PLT code Output an ARM state mapping symbol at the start of the PLT. With the current code objdump will fail to disassemble the PLT that gold creates. gold/ChangeLog: 2015-02-11 Will Newton PR gold/13321 * arm.cc (Target_arm::make_plt_section): Create an ARM state mapping symbol at the start of the PLT. commit 7e60a48ee004387aefcef48391ec93af203c6369 Author: Doug Evans Date: Tue Feb 10 22:07:06 2015 -0800 lib/gdb.exp (gdb_load): Always return a result. gdb/testsuite/ChangeLog: * lib/gdb.exp (gdb_load): Always return a result. commit eaaf76abdc6444e07860067e01c8135303a429ca Author: Doug Evans Date: Tue Feb 10 21:18:59 2015 -0800 internal_type_self_type: Handle TYPE_SPECIFIC_NONE. gdb/ChangeLog: * gdbtypes.c (internal_type_self_type): If TYPE_SPECIFIC_FIELD hasn't been initialized yet, return NULL. commit d319a098bca9372e7d1840cd31c47d05b0c7540e Author: H.J. Lu Date: Tue Feb 10 19:02:07 2015 -0800 Initialize use_mmap * plugin.c (plugin_maybe_claim): Initialize use_mmap. commit 386047969d9d36980fd6c4129b372e4a400114e0 Author: H.J. Lu Date: Tue Feb 10 17:01:17 2015 -0800 Unmap the buffer if plugin didn't claim the file If plugin didn't claim the file, unmap the buffer. * plugin.c (plugin_input_file_t): Add use_mmap. (plugin_pagesize): New. (get_view): Use plugin_pagesize. Set use_mmap if mmap is used. (plugin_load_plugins): Initialize plugin_pagesize. (plugin_maybe_claim): Unmap the buffer if plugin didn't claim the file. commit e7d52ed30408677f63c121e88a1493e6300b80ba Author: Doug Evans Date: Tue Feb 10 17:01:37 2015 -0800 Rename new_symfile_objfile, make static. gdb/ChangeLog: * symfile.h (new_symfile_objfile): Delete. * symfile.c (finish_new_objfile): Renamed from new_symfile_objfile. All callers updated. commit fc6b1256ee5062cda1dfdaf2173bee6563eacdb9 Author: Patrick Palka Date: Tue Feb 10 18:45:10 2015 -0500 Fix a pair of screen-resizing issues in TUI This patch fixes a pair of TUI issues related to screen resizing: 1. In tui_handle_resize_during_io(), when the TUI screen gets resized, we fail to update GDB's idea about the height of the output window. You can see this bug by doing: a. Enter TUI mode. b. "show height" c. Resize the terminal. d. "show height" And observe that despite resizing the terminal, the reported height remains unchanged. Note that a similar issue exists in the CLI. The fix for this is simple: call tui_update_gdb_sizes() after performing a resize, so that the "height" variable remains consistent with the height of TUI's output window. 2. In tui_enable(), the call to tui_update_gdb_sizes() may clobber readline's idea of the actual screen dimensions, and a subsequent pending resize will use bogus terminal dimensions. You can see this bug by doing: a. Enter TUI mode. b. Exit TUI mode. c. Resize the terminal. d. Enter TUI mode. e. Press a key to resize the screen. And observe that the terminal gets incorrectly resized to the wrong dimensions. To fix this issue, we should oppurtunistically resize the screen in tui_enable(). That way we eliminate the possibility of a pending resize triggering right after we call tui_update_gdb_sizes(). gdb/ChangeLog: * tui/tui-io.c (tui_handle_resize_during_io): Call tui_update_gdb_sizes() after resizing the screen. * tui/tui.c (tui_enable): Resize the terminal before calling tui_update_gdb_sizes(). commit d9080678121a84fc433a5f2ee141ee98512d2167 Author: Patrick Palka Date: Tue Feb 10 18:44:56 2015 -0500 Fix truncation of TUI command history If we submit a command while the prompt cursor is somewhere other than at the end of the command line, the command line gets truncated as the command window gets shifted one line up. This happens because we fail to properly move the cursor to the end of the command line before transmitting the newline to ncurses. We need to move the cursor because when ncurses outputs a newline it truncates any text that appears past the end of the cursor. The fix is generic enough to work properly even in multi-line secondary prompts like the quit prompt. gdb/ChangeLog: * tui/tui-io.c (tui_getc): Move cursor to the end of the command line before printing a newline. commit 084910afdd2d98e3e60ff35f124549fc3c180edc Author: GDB Administrator Date: Wed Feb 11 00:00:08 2015 +0000 Automatic date update in version.in commit 9f615e3af0356052a475812cb5a4380a5fe51182 Author: Mark Wielaard Date: Wed Feb 11 00:45:31 2015 +0100 gdb producer_is_gcc fix bool return value. gdb/ChangeLog: * utils.c (producer_is_gcc): Return true or false. commit b1ffba5a7fe1eb1fb97f3e81dd5cc78b59eb1fea Author: Mark Wielaard Date: Wed Feb 4 18:14:33 2015 +0100 Change producer_is_gcc function return type to bool. gdb/ChangeLog: * utils.h (producer_is_gcc): Change return type to bool. Add major argument. * utils.c (producer_is_gcc): Likewise. (producer_is_gcc_ge_4): Adjust producer_is_gcc call. * dwarf2read.c (check_producer): Likewise. commit 01b088bc51fe37e07905d36547f4ea43904837c0 Author: Pedro Alves Date: Mon Jan 26 17:52:28 2015 +0000 Add "signal SIGTRAP" test Some local changes I was working on related to SIGTRAP handling resulted in "signal SIGTRAP" no longer passing the SIGTRAP to the inferior. Surprisingly, only annota1.exp catches this. This commit adds a test that doesn't rely on annotations, so that at the point annotations are finaly dropped, we still have this use case covered ... This is a multi-threaded test to also exercise the case of first needing to do a step-over before delivering the signal. Tested on x86_64 Fedora 20, native, remote/extended-remote gdbserver. gdb/testsuite/ 2015-02-10 Pedro Alves * gdb.threads/signal-sigtrap.c: New file. * gdb.threads/signal-sigtrap.exp: New file. commit b052c4fbf5e64a2e96452642adf433f60b185245 Author: Pedro Alves Date: Tue Feb 10 19:13:31 2015 +0000 displaced_step_fixup may access memory from the wrong inferior/thread displaced_step_fixup takes an thread to work with, as argument. OTOH, gdbarch_displaced_step_fixup fixes up the current thread. The former calls the latter without making sure the current thread is the one that was passed in. If it is not, then gdbarch_displaced_step_fixup may e.g., try reading from a running thread, which doesn't work on some targets, or worse, read memory from the wrong inferior and succeed. This is mostly a latent problem currently, as non-stop switches the current thread to the event thread early in fetch_inferior_event. Tested on x86_64 Fedora 20. gdb/ 2015-02-10 Pedro Alves * infrun.c (displaced_step_fixup): Switch to the event thread before calling gdbarch_displaced_step_fixup. commit b05ec7a53f8a3b0cbcb2b42772ca0e70a319d2ab Author: Antoine Tremblay Date: Mon Jan 26 13:08:53 2015 -0500 gdbserver: Fix crash when QTinit is handled with no inferior process attached When gdbserver is called with --multi and attach has not been called yet and tstart is called on the gdb client, gdbserver would crash. This patch fixes gdbserver so that it returns E01 to the gdb client. Also this patch adds a testcase to verify this bug named no-attach-trace.exp gdb/gdbserver/ChangeLog: PR breakpoints/15956 * tracepoint.c (cmd_qtinit): Add check for current_thread. gdb/testsuite/ChangeLog: * gdb.trace/no-attach-trace.c: New file. * gdb.trace/no-attach-trace.exp: New file. commit 3ac240d438dceeaa5bd8ec65dafc4619b9295b09 Author: Antoine Tremblay Date: Tue Feb 10 13:29:36 2015 -0500 Add myself as write-after-approval GDB maintainer gdb/ChangeLog: * MAINTAINERS (Write After Approval): Add Antoine Tremblay. commit 07774fccc3280323f43db9ed204f628503b34663 Author: Pedro Alves Date: Tue Feb 10 18:09:39 2015 +0000 opcodes/microblaze: Rename 'or', 'and', 'xor' to avoid C++ conflict Building GDB as a C++ program, we see: In file included from gdb/microblaze-tdep.c:37:0: gdb/../opcodes/../opcodes/microblaze-opcm.h: At global scope: gdb/../opcodes/../opcodes/microblaze-opcm.h:32:51: error: expected identifier before ‘or’ token ncget, ncput, muli, bslli, bsrai, bsrli, mului, or, and, xor, ^ gdb/../opcodes/../opcodes/microblaze-opcm.h:32:51: error: expected ‘}’ before ‘or’ token gdb/../opcodes/../opcodes/microblaze-opcm.h:32:51: error: expected unqualified-id before ‘or’ token gdb/../opcodes/../opcodes/microblaze-opcm.h:60:1: error: expected declaration before ‘}’ token }; ^ opcodes/ChangeLog: 2015-02-10 Pedro Alves Tom Tromey * microblaze-opcm.h (or, and, xor): Rename to microblaze_or, microblaze_and, microblaze_xor. * microblaze-opc.h (opcodes): Adjust. commit c1cc6152620563bbe861cfc2fa0a796e71ca87b5 Author: Simon Marchi Date: Tue Feb 10 10:46:12 2015 -0500 Finish constification of varobj interface This completes the constification of the struct varobj pointers in the lang_varobj_ops interface partially done in b09e2c591f9221d865bfe8425990a6bf9fab24e3. As suggested by Pedro, varobj_get_path_expr casts away the const to assign the "mutable" struct member. gdb/ChangeLog: * ada-varobj.c (ada_name_of_child): Constify parent. (ada_path_expr_of_child): Same. (ada_value_of_child): Same. (ada_type_of_child): Same. * c-varobj.c (c_is_path_expr_parent): Same. (c_describe_child): Same. (c_name_of_child): Same. (c_value_of_child): Same. (c_type_of_child): Same. (cplus_number_of_children): Same. (cplus_describe_child): Constify var. (cplus_name_of_child): Constify parent. (cplus_value_of_child): Same. (cplus_type_of_child): Same. * jv-varobj.c (java_name_of_child): Same. (java_value_of_child): Same. (java_type_of_child): Same. * varobj.c (value_of_child): Same. (varobj_default_is_path_expr_parent): Constify var, parent and return value. (varobj_get_path_expr): Constify var, modify path_expr through mutable_var. (install_new_value): Constify parent. (value_of_child): Constify parent. * varobj.h (struct varobj): Constify parent. (struct lang_varobj_ops): Constify name_of_child, value_of_child and type_of_child. (varobj_get_path_expr): Constify var. (varobj_get_path_expr_parent): Constify var and return value. commit 834f871cdc6e5d9f5bda9ce607fd3c47f41a2ade Author: Nick Clifton Date: Tue Feb 10 17:53:53 2015 +0000 Fix memory access violations discovered by running readelf compiled with undefined memory access sanitization on fuzzed binaries. PR binutils/17531 * dwarf.c (display_debug_pubnames_worker): Use dwarf_vma type for offset. * readelf.c (dump_relocations): Handle printing offsets which are MIN_INT. (process_corefile_note_segment): Add range check of the namesz field. commit 03a91817f163986f10cb843f58e2f2cd9186e4f0 Author: Nick Clifton Date: Tue Feb 10 17:13:31 2015 +0000 Fixes for memory access violations triggered by running readelf on fuzzed binaries. PR binutils/17531 * dwarf.c (process_debug_info): Zero the debug information array since correct initialisation cannot be relied upon. (process_cu_tu_index): Improve range checks. commit 77ef86547510cee3a2bff27bea9f19f0b2715bae Author: Nick Clifton Date: Tue Feb 10 14:11:00 2015 +0000 Fix memory access violations triggered by running objdump compiled with out-of-bounds sanitization checking. PR binutils/17512 * dwarf.c (eh_addr_size): Use an unsigned type. (size_of_encoded_value): Return an unsigned type. (read_leb128): Break if the shift becomes too big. (process_extended_line_op): Do not read the address if the length is too long. (read_cie): Warn and fail if the pointer size or segment size are too big. * dwarf.h (DWARF2_External_LineInfo): Delete unused and incorrect structure definition. (DWARF2_External_PubNames): Likewise. (DWARF2_External_CompUnit): Likewise. (DWARF2_External_ARange): Likewise. (DWARF2_Internal_LineInfo): Use dwarf_vma type for li_prologue_length. (eh_addr_size): Update prototype. * coffcode.h (styp_to_sec_flags): Use an unsigned long type to hold the flag bits. * peXXigen.c (pe_print_reloc): Use unsigned types to hold the size and number of relocs. (pe_print_debugdata): Use a 32-bit aligned buffer to store the codeview record. * versados.c (process_otr): Check the esdid value before using it to access the EDATA. commit b677c4562dea82ffaf413e7e9311ca4b9c1c6ec6 Author: H.J. Lu Date: Tue Feb 10 05:46:38 2015 -0800 Add the missing HAVE_GETPAGESIZE check in get_view commit fe9057895e9224b764c905de470e0e38d6c5efac Author: H.J. Lu Date: Tue Feb 10 05:28:26 2015 -0800 Align offset passed to mmap Offset passed to mmap must be a multiple of the page size. This patch aligns offset passed to mmap. * plugin.c (get_view): Align offset passed to mmap. commit c1ee941477569693777617d2f5defbba21085216 Author: Luis Machado Date: Tue Feb 10 09:46:11 2015 -0200 Relax ARM prologue unwinder assumption Modify the ARM prologue unwinder to use the stop_reason hook instead of returning imprecise frame id's through the arm prologue this_id hook. gdb/ 2015-02-10 Luis Machado * arm-tdep.c (arm_prologue_unwind_stop_reason): New function. (arm_prologue_this_id): Move PC and SP limit checks to arm_prologue_unwind_stop_reason. (arm_prologue_unwind) : Set to arm_prologue_unwind_stop_reason. commit f7de9aab902f68a79e83954d2645daf90f9eae33 Author: Mark Wielaard Date: Mon Feb 9 23:14:38 2015 +0100 Recognize new DWARF5/GCC5 DW_LANG Fortran 2003 and Fortran 2008 standards. DWARFv5 defines and GCC5 may output two new DW_LANG constants for the Fortran 2003 and Fortran 2008 standards. Recognize both as variants of language_fortran. gdb/ChangeLog: * dwarf2read.c (set_cu_language): Recognize DW_LANG_Fortran03 and DW_LANG_Fortran08 as language_fortran. http://dwarfstd.org/ShowIssue.php?issue=141121.1 commit 5a19504458d7a4113ef91875a447f4e841df7598 Author: Mark Wielaard Date: Mon Feb 9 23:36:54 2015 +0100 Recognize new DWARF5/GCC5 DW_LANG constants for Fortran 03 and Fortran 08. DWARFv5 defines and GCC5 may output two new DW_LANG constants for the Fortran 2003 and Fortran 2008 standards. Handle and display both in binutils. binutils/ChangeLog: * dwarf.c (read_and_display_attr_value): Handle DW_LANG_Fortran03 and DW_LANG_Fortran08. include/ChangeLog: * dwarf2.h: Add DW_LANG_Fortran03 and DW_LANG_Fortran08. http://dwarfstd.org/ShowIssue.php?issue=141121.1 commit 0b24eb2de5a6dbefe48fd57fcf5d0e7fb24895d4 Author: Sergio Durigan Junior Date: Mon Feb 9 18:58:12 2015 -0500 PR remote/17946: Fix wrong comparison of pointer against char We were comparing a pointer against a char on remote.c. 'dcb' filed a bug to inform us about that. I pushed the following patch under the obvious rule. gdb/ChangeLog: 2015-02-09 Sergio Durigan Junior PR remote/17946 * gdb/remote.c (remote_parse_stop_reply): Fix wrong comparison of pointer against char. commit 134cdf8ed364a702e89f9d4525a361068d502893 Author: GDB Administrator Date: Tue Feb 10 00:00:08 2015 +0000 Automatic date update in version.in commit 35181b3eaa305458f1a6ff04b97cf13e2ef10946 Author: Ed Maste Date: Mon Feb 9 13:55:34 2015 -0800 Avoid incrementing uninitialized variable * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing uninitialized and unused variable. * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise. commit a2c2acaf15e9cc40bae8a6eebba78aadd3a31b8e Author: Mark Wielaard Date: Mon Feb 9 14:58:25 2015 +0100 GCC5/DWARFv5 Handle DW_TAG_atomic_type for C11 _Atomic type qualifier. gdb/ChangeLog * c-typeprint.c (cp_type_print_method_args): Handle '_Atomic'. (c_type_print_modifier): Likewise. * dwarf2read.c (read_tag_atomic_type): New function. (read_type_die_1): Handle DW_TAG_atomic_type. * gdbtypes.c (make_atomic_type): New function. (recursive_dump_type): Handle TYPE_ATOMIC. * gdbtypes.h (enum type_flag_values): Renumber. (enum type_instance_flag_value): Add TYPE_INSTANCE_FLAG_ATOMIC. (TYPE_ATOMIC): New macro. (make_atomic_type): Declare. gdb/testsuite/ChangeLog * gdb.dwarf2/atomic.c: New file. * gdb.dwarf2/atomic-type.exp: Likewise. include/ChangeLog * dwarf2.def: Add DW_TAG_atomic_type. commit e051a5b512a282642030720c69b5b4f9a85314ea Author: H.J. Lu Date: Mon Feb 9 05:33:19 2015 -0800 Replace two_file_shared_2.so with two_file_shared_1.so There are two_file_shared_2_pic_1_test_LDADD = two_file_test_2_pic.o two_file_shared_1.so There should be two_file_shared_1.so, not two_file_shared_2.so in two_file_shared_2_pic_1_test_DEPENDENCIES. * testsuite/Makefile.am (two_file_shared_2_pic_1_test_DEPENDENCIES): Replace two_file_shared_2.so with two_file_shared_1.so. * testsuite/Makefile.in: Regenerated. commit 5c3696f89f878a438c42b342a2f4bc004eed95e0 Author: Kyrylo Tkachov Date: Mon Feb 9 11:20:30 2015 +0000 [ARM][gas] Use as_tsktsk instead of as_warn for deprecation messages. * config/tc-arm.c (warn_deprecated_sp): Use as_tsktsk instead of as_warn for deprecation messages. (encode_arm_addr_mode_2): Likewise. (check_obsolete): Likewise. (do_rd_rm_rn): Likewise. (do_co_reg): Likewise. (do_setend): Likewise. (do_t_mov_cmp): Likewise. (do_neon_ldr_str): Likewise. (opcode_lookup): Likewise. (if_fsm_post_encode): Likewise. (md_assemble): Likewise. * gas/arm/armv1.l: Remove 'Warning: ' from expected messages for deprecations. * gas/arm/armv8-a-bad.l: Likewise. * gas/arm/armv8-a-it-bad.l: Likewise. * gas/arm/depr-swp.l: Likewise. * gas/arm/ldsgeb.l: Likewise. * gas/arm/ldsgeh.l: Likewise. * gas/arm/thumb2_bad_reg.l: Likewise. * gas/arm/thumb32.l: Likewise. * gas/arm/udf.l: Likewise. * gas/arm/vstr-arm-bad.l: Likewise. commit 31fd9caad9fa8e13bbc132dce264f0c3bc53412f Author: Markus Metzger Date: Thu Jan 30 09:51:10 2014 +0100 record-btrace: indicate gaps Indicate gaps in the trace due to decode errors. Internally, a gap is represented as a btrace function segment without instructions and with a non-zero format-specific error code. Show the gap when traversing the instruction or function call history. Also indicate gaps in "info record". It looks like this: (gdb) info record Active record target: record-btrace Recording format: Branch Trace Store. Buffer size: 64KB. Recorded 32 instructions in 5 functions (1 gaps) for thread 1 (process 7182). (gdb) record function-call-history /cli 1 fib inst 1,9 at src/fib.c:9,14 2 fib inst 10,20 at src/fib.c:6,14 3 [decode error (1): instruction overflow] 4 fib inst 21,28 at src/fib.c:11,14 5 fib inst 29,33 at src/fib.c:6,9 (gdb) record instruction-history 20,22 20 0x000000000040062f : sub $0x1,%rax [decode error (1): instruction overflow] 21 0x0000000000400613 : add $0x1,%rax 22 0x0000000000400617 : mov %rax,0x200a3a(%rip) (gdb) Gaps are ignored during reverse execution and replay. 2015-02-09 Markus Metzger * btrace.c (ftrace_find_call): Skip gaps. (ftrace_new_function): Initialize level. (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return) (ftrace_new_switch): Update level computation. (ftrace_new_gap): New. (ftrace_update_function): Create new function after gap. (btrace_compute_ftrace_bts): Create gap on error. (btrace_stitch_bts): Update parameters. Clear trace if it becomes empty. (btrace_stitch_trace): Update parameters. Update callers. (btrace_clear): Reset the number of gaps. (btrace_insn_get): Return NULL if the iterator points to a gap. (btrace_insn_number): Return zero if the iterator points to a gap. (btrace_insn_end): Allow gaps at the end. (btrace_insn_next, btrace_insn_prev, btrace_insn_cmp): Handle gaps. (btrace_find_insn_by_number): Assert that the found iterator does not point to a gap. (btrace_call_next, btrace_call_prev): Assert that the last function is not a gap. * btrace.h (btrace_bts_error): New. (btrace_function): Update comment. (btrace_function) : Update comment. (btrace_function) : New. (btrace_thread_info) : New. (btrace_thread_info) : Update comment. (btrace_insn_get): Update comment. * record-btrace.c (btrace_ui_out_decode_error): New. (record_btrace_info): Print number of gaps. (btrace_insn_history, btrace_call_history): Call btrace_ui_out_decode_error for gaps. (record_btrace_step_thread, record_btrace_start_replaying): Skip gaps. testsuite/ * gdb.btrace/buffer-size.exp: Update "info record" output. * gdb.btrace/delta.exp: Update "info record" output. * gdb.btrace/enable.exp: Update "info record" output. * gdb.btrace/finish.exp: Update "info record" output. * gdb.btrace/instruction_history.exp: Update "info record" output. * gdb.btrace/next.exp: Update "info record" output. * gdb.btrace/nexti.exp: Update "info record" output. * gdb.btrace/step.exp: Update "info record" output. * gdb.btrace/stepi.exp: Update "info record" output. * gdb.btrace/nohist.exp: Update "info record" output. commit afb778a2a85ab4ac883638e309442f454f158692 Author: Markus Metzger Date: Fri Feb 14 09:25:40 2014 +0100 btrace: identify cpu Add a struct for identifying a processor and use it in linux-btrace.c when identifying the processor we're running on. We will need this feature for the new btrace format. 2015-02-09 Markus Metzger * common/btrace-common.h (btrace_cpu_vendor, btrace_cpu): New. * nat/linux-btrace.c: (btrace_this_cpu): New. (cpu_supports_bts): Call btrace_this_cpu. (intel_supports_bts): Add cpu parameter. commit 7d5c24b3ae60b6cfa41ebf9329b2f7832053b0f6 Author: Markus Metzger Date: Wed Jan 29 12:56:09 2014 +0100 btrace: extend struct btrace_insn Add the instruction's size as well as a coarse classification to struct btrace_insn. Use the information in ftrace_update_function and ftrace_find_call. 2015-02-09 Markus Metzger * btrace.h (btrace_insn_class): New. (btrace_insn) : New. * btrace.c (ftrace_find_call): Update parameters. Update users. Use instruction classification. (ftrace_new_return): Update parameters. Update users. (ftrace_update_function): Update parameters. Update users. Use instruction classification. (ftrace_update_insns): Update parameters. Update users. (ftrace_classify_insn): New. (btrace_compute_ftrace_bts): Fill in new btrace_insn fields. Add TRY_CATCH around call to gdb_insn_length. commit 76235df10b96f85815d799b586a6bb32bc89c90f Author: Markus Metzger Date: Wed Jan 29 11:12:06 2014 +0100 btrace: update btrace_compute_ftrace parameters Pass thread_info instead of btrace_thread_info to btrace_compute_ftrace. We will need the thread_info in subsequent patches. 2015-02-09 Markus Metzger * btrace.c (btrace_compute_ftrace_bts, btrace_compute_ftrace): Update parameters. Update users. commit d33501a51f46193387ff2d101752a9a878202f82 Author: Markus Metzger Date: Thu Nov 28 16:39:12 2013 +0100 record-btrace: add bts buffer size configuration option Allow the size of the branch trace ring buffer to be defined by the user. The specified buffer size will be used when BTS tracing is enabled for new threads. The obtained buffer size may differ from the requested size. The actual buffer size for the current thread is shown in the "info record" command. Bigger buffers mean longer traces, but also longer processing time. 2015-02-09 Markus Metzger * btrace.c (parse_xml_btrace_conf_bts): Add size. (btrace_conf_bts_attributes): New. (btrace_conf_children): Add attributes. * common/btrace-common.h (btrace_config_bts): New. (btrace_config): New. (btrace_config): Update comment. * nat/linux-btrace.c (linux_enable_btrace, linux_enable_bts): Use config. * features/btrace-conf.dtd: Increment version. Add size attribute to bts element. * record-btrace.c (set_record_btrace_bts_cmdlist, show_record_btrace_bts_cmdlist): New. (record_btrace_adjust_size, record_btrace_print_bts_conf, record_btrace_print_conf, cmd_set_record_btrace_bts, cmd_show_record_btrace_bts): New. (record_btrace_info): Call record_btrace_print_conf. (_initialize_record_btrace): Add commands. * remote.c: Add PACKET_Qbtrace_conf_bts_size enum. (remote_protocol_features): Add Qbtrace-conf:bts:size packet. (btrace_sync_conf): Synchronize bts size. (_initialize_remote): Add Qbtrace-conf:bts:size packet. * NEWS: Announce new commands and new packets. doc/ * gdb.texinfo (Branch Trace Configuration Format): Add size. (Process Record and Replay): Describe new set|show commands. (General Query Packets): Describe Qbtrace-conf:bts:size packet. testsuite/ * gdb.btrace/buffer-size: New. gdbserver/ * linux-low.c (linux_low_btrace_conf): Print size. * server.c (handle_btrace_conf_general_set): New. (hanle_general_set): Call handle_btrace_conf_general_set. (handle_query): Report Qbtrace-conf:bts:size as supported. commit f4abbc168227003a4836dd1a5dd558f40be96372 Author: Markus Metzger Date: Thu Nov 28 15:44:13 2013 +0100 record btrace: add configuration struct Add a struct to describe the branch trace configuration and use it for enabling branch tracing. The user will be able to set configuration fields for each tracing format to be used for new threads. The actual configuration that is active for a given thread will be shown in the "info record" command. At the moment, the configuration struct only contains a format field that is set to the only available format. The format is the only configuration option that can not be set via set commands. It is given as argument to the "record btrace" command when starting recording. 2015-02-09 Markus Metzger * Makefile.in (XMLFILES): Add btrace-conf.dtd. * x86-linux-nat.c (x86_linux_enable_btrace): Update parameters. (x86_linux_btrace_conf): New. (x86_linux_create_target): Initialize to_btrace_conf. * nat/linux-btrace.c (linux_enable_btrace): Update parameters. Check format. Split into this and ... (linux_enable_bts): ... this. (linux_btrace_conf): New. (perf_event_skip_record): Renamed into ... (perf_event_skip_bts_record): ... this. Updated users. (linux_disable_btrace): Split into this and ... (linux_disable_bts): ... this. (linux_read_btrace): Check format. * nat/linux-btrace.h (linux_enable_btrace): Update parameters. (linux_btrace_conf): New. (btrace_target_info): Moved. (btrace_target_info): New. (btrace_target_info): Split into this and ... (btrace_tinfo_bts): ... this. Updated users. * btrace.c (btrace_enable): Update parameters. (btrace_conf, parse_xml_btrace_conf_bts, parse_xml_btrace_conf) (btrace_conf_children, btrace_conf_attributes) (btrace_conf_elements): New. * btrace.h (btrace_enable): Update parameters. (btrace_conf, parse_xml_btrace_conf): New. * common/btrace-common.h (btrace_config): New. * feature/btrace-conf.dtd: New. * record-btrace.c (record_btrace_conf): New. (record_btrace_cmdlist): New. (record_btrace_enable_warn, record_btrace_open): Pass &record_btrace_conf. (record_btrace_info): Print recording format. (cmd_record_btrace_bts_start): New. (cmd_record_btrace_start): Call cmd_record_btrace_bts_start. (_initialize_record_btrace): Add "record btrace bts" subcommand. Add "record bts" alias command. * remote.c (remote_state): New. (remote_btrace_reset, PACKET_qXfer_btrace_conf): New. (remote_protocol_features): Add qXfer:btrace-conf:read. (remote_open_1): Call remote_btrace_reset. (remote_xfer_partial): Handle TARGET_OBJECT_BTRACE_CONF. (btrace_target_info): New. (btrace_sync_conf, btrace_read_config): New. (remote_enable_btrace): Update parameters. Call btrace_sync_conf and btrace_read_conf. (remote_btrace_conf): New. (init_remote_ops): Initialize to_btrace_conf. (_initialize_remote): Add qXfer:btrace-conf packet. * target.c (target_enable_btrace): Update parameters. (target_btrace_conf): New. * target.h (target_enable_btrace): Update parameters. (target_btrace_conf): New. (target_object): New. (target_ops): Update parameters and comment. (target_ops): New. * target-delegates: Regenerate. * target-debug.h (target_debug_print_const_struct_btrace_config_p) (target_debug_print_const_struct_btrace_target_info_p): New. NEWS: Announce new command and new packet. doc/ * gdb.texinfo (Process Record and Replay): Describe the "record btrace bts" command. (General Query Packets): Describe qXfer:btrace-conf:read packet. (Branch Trace Configuration Format): New. gdbserver/ * linux-low.c (linux_low_enable_btrace): Update parameters. (linux_low_btrace_conf): New. (linux_target_ops): Initialize. * server.c (current_btrace_conf): New. (handle_btrace_enable): Rename to ... (handle_btrace_enable_bts): ... this. Pass ¤t_btrace_conf to target_enable_btrace. Update comment. Update users. (handle_qxfer_btrace_conf): New. (qxfer_packets): Add btrace-conf entry. (handle_query): Report qXfer:btrace-conf:read as supported packet. * target.h (target_ops): Update parameters and comment. (target_ops): New. (target_enable_btrace): Update parameters. (target_read_btrace_conf): New. testsuite/ * gdb.btrace/delta.exp: Update "info record" output. * gdb.btrace/enable.exp: Update "info record" output. * gdb.btrace/finish.exp: Update "info record" output. * gdb.btrace/instruction_history.exp: Update "info record" output. * gdb.btrace/next.exp: Update "info record" output. * gdb.btrace/nexti.exp: Update "info record" output. * gdb.btrace/step.exp: Update "info record" output. * gdb.btrace/stepi.exp: Update "info record" output. * gdb.btrace/nohist.exp: Update "info record" output. commit aadf7753fd4cc3d9eb1cd0c089fd7a483b58f59e Author: Markus Metzger Date: Fri Jan 17 14:40:02 2014 +0100 btrace, linux: add perf event buffer abstraction Collect perf event buffer related fields from btrace_target_info into a new struct perf_event_buffer. Update functions that operated on the buffer to take a struct perf_event_buffer pointer rather than a btrace_target_info pointer. 2015-02-09 Markus Metzger * nat/linux-btrace.h (perf_event_buffer): New. (btrace_target_info) : Replace with ... : ... this. * nat/linux-btrace.c (perf_event_header, perf_event_mmap_size) (perf_event_buffer_size, perf_event_buffer_begin) (perf_event_buffer_end, linux_btrace_has_changed): Removed. Updated users. (perf_event_new_data): New. commit 043c35779713a14e0916a1b3e31e006cd1270ee4 Author: Markus Metzger Date: Fri Jan 17 13:29:19 2014 +0100 btrace: add format argument to supports_btrace Add a format argument to the various supports_btrace functions to check for support of a specific btrace format. This is to prepare for a new format. Removed two redundant calls. The check will be made in the subsequent btrace_enable call. 2015-02-09 Markus Metzger * btrace.c (btrace_enable): Pass BTRACE_FORMAT_BTS. * record-btrace.c (record_btrace_open): Remove call to target_supports_btrace. * remote.c (remote_supports_btrace): Update parameters. * target.c (target_supports_btrace): Update parameters. * target.h (to_supports_btrace, target_supports_btrace): Update parameters. * target-delegates.c: Regenerate. * target-debug.h (target_debug_print_enum_btrace_format): New. * nat/linux-btrace.c (kernel_supports_btrace): Rename into ... (kernel_supports_bts): ... this. Update users. Update warning text. (intel_supports_btrace): Rename into ... (intel_supports_bts): ... this. Update users. (cpu_supports_btrace): Rename into ... (cpu_supports_bts): ... this. Update users. (linux_supports_btrace): Update parameters. Split into this and ... (linux_supports_bts): ... this. * nat/linux-btrace.h (linux_supports_btrace): Update parameters. gdbserver/ * server.c (handle_btrace_general_set): Remove call to target_supports_btrace. (supported_btrace_packets): New. (handle_query): Call supported_btrace_packets. * target.h: include btrace-common.h. (btrace_target_info): Removed. (supports_btrace, target_supports_btrace): Update parameters. commit 734b0e4bda4c56d0003182cdc3f5137d4bea00d4 Author: Markus Metzger Date: Wed Nov 13 15:31:07 2013 +0100 btrace: add struct btrace_data Add a structure to hold the branch trace data and an enum to describe the format of that data. So far, only BTS is supported. Also added a NONE format to indicate that no branch trace data is available. This will make it easier to support different branch trace formats in the future. 2015-02-09 Markus Metzger * Makefile.in (SFILES): Add common/btrace-common.c. (COMMON_OBS): Add common/btrace-common.o. (btrace-common.o): Add build rules. * btrace.c (parse_xml_btrace): Update parameters. (parse_xml_btrace_block): Set format field. (btrace_add_pc, btrace_fetch): Use struct btrace_data. (do_btrace_data_cleanup, make_cleanup_btrace_data): New. (btrace_compute_ftrace): Split into this and... (btrace_compute_ftrace_bts): ...this. (btrace_stitch_trace): Split into this and... (btrace_stitch_bts): ...this. * btrace.h (parse_xml_btrace): Update parameters. (make_cleanup_btrace_data): New. * common/btrace-common.c: New. * common/btrace-common.h: Include common-defs.h. (btrace_block_s): Update comment. (btrace_format): New. (btrace_format_string): New. (btrace_data_bts): New. (btrace_data): New. (btrace_data_init, btrace_data_fini, btrace_data_empty): New. * remote.c (remote_read_btrace): Update parameters. * target.c (target_read_btrace): Update parameters. * target.h (target_read_btrace): Update parameters. (target_ops): Update parameters. * x86-linux-nat.c (x86_linux_read_btrace): Update parameters. * target-delegates.c: Regenerate. * target-debug (target_debug_print_struct_btrace_data_p): New. * nat/linux-btrace.c (linux_read_btrace): Split into this and... (linux_read_bts): ...this. * nat/linux-btrace.h (linux_read_btrace): Update parameters. gdbserver/ * Makefile.in (SFILES): Add common/btrace-common.c. (OBS): Add common/btrace-common.o. (btrace-common.o): Add build rules. * linux-low: Include btrace-common.h. (linux_low_read_btrace): Use struct btrace_data. Call btrace_data_init and btrace_data_fini. commit 989f98793c06132bb5cdc2f7807b7eee5108342f Author: Alan Modra Date: Thu Jan 29 19:38:28 2015 +1030 Don't segfault or assert on NULL tls_sec Real code won't hit these, but it's possible to contrive a testcase.. * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL tls_sec. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec. commit ca4be51cd81b0bfff2ada60c98e7c67c936045b7 Author: Alan Modra Date: Thu Feb 5 17:30:57 2015 +1030 elflink.c whitespace, formatting and a plugin symbol tweak * elflink.c: Whitespace, formatting fixes. (elf_link_input_bfd): Clarify comment. (elf_link_output_extsym): Exclude symbols in linker created sections when testing for plugin symbols. commit dddcc5b9a8bf064875053e94d692241be5be49c8 Author: Alan Modra Date: Fri Feb 6 18:20:49 2015 +1030 Gold testsuite make clean * testsuite/Makefile.am (MOSTLYCLEANFILES): Add libweak_undef_2.a, plugin_test_thin.a and defsym_test. * testsuite/Makefile.in: Regenerate. commit 1474044c6282acdc70e559e8ed10c7f17e4d6b2a Author: GDB Administrator Date: Mon Feb 9 00:00:08 2015 +0000 Automatic date update in version.in commit 1d5b29cfe459ceb6d0965ca3ab8936e0d72e1fd5 Author: H.J. Lu Date: Sun Feb 8 15:00:34 2015 -0800 Don't bfd_check_format if not needed When plugin isn't active or there is no thing more to claim, we don't need to call bfd_check_format. * ldfile.c (ldfile_try_open_bfd): Don't call bfd_check_format if plugin isn't active or there is no thing more to claim. commit e13419c472637ebc6ad1554bdc6d50f2bd793574 Author: H.J. Lu Date: Sun Feb 8 08:45:23 2015 -0800 Check format against bfd_object directly There is no need to call bfd_check_format. We should just check format against bfd_object directly. * plugin.c (plugin_maybe_claim): Check format against bfd_object directly. commit 63a5fbcfa8e56cb07bcffa73dbef7518f3c0990a Author: GDB Administrator Date: Sun Feb 8 00:00:12 2015 +0000 Automatic date update in version.in commit 9384389406b55ffac5ea34ead9a34f23b8cdf72e Author: H.J. Lu Date: Sat Feb 7 12:50:17 2015 -0800 Replace entry->the_bfd with ibfd * plugin.c (plugin_maybe_claim): Replace entry->the_bfd with ibfd. commit 35a1e5f3055fc28f129e4d5d0a993218d8af1baf Author: H.J. Lu Date: Sat Feb 7 11:01:22 2015 -0800 Update plugin_maybe_claim This patch removes the argument of pointer to struct ld_plugin_input_file. This is the first step to extract a plugin_object_p out of plugin_maybe_claim for BFD. * plugin.c: Include "libbfd.h". (plugin_strdup): New. (plugin_maybe_claim): Remove the argument of pointer to struct ld_plugin_input_file. Open and handle input entry. * plugin.h (plugin_maybe_claim): Updated. * ldfile.c (ldfile_try_open_bfd): Call plugin_maybe_claim directly without passing a pointer to struct ld_plugin_input_file. * ldmain.c: Don't include "libbfd.h". (add_archive_element): Call plugin_maybe_claim directly without passing a pointer to struct ld_plugin_input_file. commit 1952c5cd7d3d24b9647b396731bc4808a2d63d9c Author: H.J. Lu Date: Sat Feb 7 05:28:06 2015 -0800 Issue relocation in RO section warning for -z text This patch changes linker to issue a warning for relocation in readonly section for -z text. bfd/ PR ld/17935 * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a warning for relocation in readonly section for -z text. (elf_i386_size_dynamic_sections): Likewise. * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise. (elf_x86_64_size_dynamic_sections): Likewise. ld/testsuite/ PR ld/17935 * ld-i386/i386.exp: Run pr17935-1 and pr17935-2. * ld-x86-64/x86-64.exp: Likewise. * ld-i386/pr17935-1.d: New file. * ld-i386/pr17935-1.s: Likewise. * ld-i386/pr17935-2.d: Likewise. * ld-i386/pr17935-2.s: Likewise. * ld-x86-64/pr17935-1.d: Likewise. * ld-x86-64/pr17935-1.s: Likewise. * ld-x86-64/pr17935-2.d: Likewise. * ld-x86-64/pr17935-2.s: Likewise. commit 11228d29d5146828325a7f14596b9d87f7a2edf7 Author: GDB Administrator Date: Sat Feb 7 00:00:08 2015 +0000 Automatic date update in version.in commit bd2e0e9e9ab61b1838167c1110c35da8b21c8f02 Author: Doug Evans Date: Fri Feb 6 12:17:21 2015 -0800 remote-m32r-sdi.c: Include symfile.h. gdb/ChangeLog: * remote-m32r-sdi.c: Include symfile.h. commit f176c4b57f57c8965807256bad1cd487b92b5457 Author: Doug Evans Date: Fri Feb 6 11:32:01 2015 -0800 Move clear_symtab_users, deduce_language_from_filename decls to better place. gdb/ChangeLog: * symtab.h (clear_symtab_users, deduce_language_from_filename): Move * symfile.h (clear_symtab_users, deduce_language_from_filename): ... to here. commit 8dfef1bd769223b3abfffabf8bd13a9b74258231 Author: H.J. Lu Date: Fri Feb 6 10:01:35 2015 -0800 Document -z text, -z notext and -z textoff * ld.texinfo: Document -z text, -z notext and -z textoff. * emultempl/elf32.em (gld${EMULATION_NAME}_list_options): Add -z text, -z notext and -z textoff. commit 2aec968d4df313f893f239a1a69aef2392a16b85 Author: H.J. Lu Date: Fri Feb 6 09:05:35 2015 -0800 Use mmap and cache the view buffer for get_view This patch uses mmap if it is available and works. It also caches the view buffer for get_view. * configure.ac: Add AC_FUNC_MMAP. * config.in: Regenerated. * configure: Likewise. * plugin.c: Include . (MAP_FAILED): New. Defined if not defined. (PROT_READ): Likewise. (MAP_PRIVATE): Likewise. (view_buffer_t): New. (plugin_input_file_t): Add view_buffer. (get_view): Try mmap and cache the view buffer. (plugin_maybe_claim): Initialize view_buffer. commit d6c146e9ea09e050e6f05fa00312de3fe763e811 Author: Pedro Alves Date: Mon Jan 26 17:52:25 2015 +0000 libthread_db: attaching to terminated/joined threads, debug output Add a bit of debug output that made things a bit easier for me before. gdb/ 2015-02-06 Pedro Alves * linux-thread-db.c (find_new_threads_callback): Add debug output. gdb/gdbserver/ 2015-02-06 Pedro Alves * thread-db.c (find_new_threads_callback): Add debug output. commit b9d6130764916fac3d9bcfde2d672053a0ef3316 Author: Simon Marchi Date: Mon Feb 2 14:57:31 2015 -0500 "enable count" user input error handling (PR gdb/15678) Typing "enable count" by itself crashes GDB. Also, if you omit the breakpoint number/range, the error message is not very clear: (gdb) enable count 2 warning: bad breakpoint number at or near '' (gdb) enable count Segmentation fault (core dumped) With this patch, the error messages are slightly more helpful: (gdb) enable count 2 Argument required (one or more breakpoint numbers). (gdb) enable count Argument required (hit count). gdb/ChangeLog: PR gdb/15678 * breakpoint.c (map_breakpoint_numbers): Check for empty args string. (enable_count_command): Check args for NULL value. gdb/testsuite/ChangeLog: PR gdb/15678 * gdb.base/ena-dis-br.exp: Test "enable count" for bad user input. commit 55325047241cf38dae3c6a577561c740a9024bf3 Author: Nick Clifton Date: Fri Feb 6 12:59:25 2015 +0000 Fix an invalid memory access triggered by running readelf on a fuzzed binary. PR binutils/17531 * readelf.c (process_mips_specific): Fail if an option has an invalid size. commit 9e2dec471006de3e0489a34fbeb922fee1e302af Author: H.J. Lu Date: Fri Feb 6 04:25:36 2015 -0800 Properly mark the plugin symbol undefined Mark the unused plugin defined symbol in elf_link_input_bfd instead of _bfd_elf_fix_symbol_flags. Limit the PR ld/12365 test to x86 targets. bfd/ PR ld/12365 PR ld/14272 * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change. (elf_link_input_bfd): Mark the plugin symbol undefined if it is referenced from a non-IR file. ld/testsuite/ PR ld/12365 PR ld/14272 * ld-plugin/lto.exp: Run the PR ld/12365 test only for x86 targets. * ld-plugin/plugin-7.d: Updated. * ld-plugin/plugin-8.d: Likewise. commit e584fdbc6a9b0da786c5a55855f9fd9f7e676198 Author: Pedro Alves Date: Fri Feb 6 13:24:32 2015 +0100 Improve gdb.threads/attach-many-short-lived-threads.exp timeout handling The buildbot shows that this test is still racy, and occasionally fails with time outs on some machines. I'd like to get major issues with load out of the way. The test currently exits after 180s, which is just a random number, that has no relation to what the .exp file considers a time out. This commit makes the program wait a bit longer than what the .exp file considers a time out, and, resets the timer for each iteration. Tested on x86_64 Fedora 20, native and extended-remote gdbserver. gdb/testsuite/ 2015-02-06 Pedro Alves * gdb.threads/attach-many-short-lived-threads.c (SECONDS): New macro. (seconds_left, again): New globals. (main): Wait seconds_left in a 1-second sleep loop instead of sleeping 180 seconds. If 'again' is set, reset the seconds counter. * gdb.threads/attach-many-short-lived-threads.exp (test): Set 'again' in the inferior before detaching. Print the seconds left. (options): New global. (top level): Build program with -DTIMEOUT=$timeout. commit 8490fb409a37072389da7cafc3a92255e9a34c98 Author: Nick Clifton Date: Fri Feb 6 12:19:20 2015 +0000 Fix memory access violations triggered by processing fuzzed binaries with a 32-bit version of readelf, compiled on a 64-bit host. PR binutils/17531 * dwarf.c (xcmalloc): Fail if the arguments are too big. (xcrealloc): Likewise. (xcalloc2): Likewise. commit 5929c344f957f93253efa4c3495a996789d48ae7 Author: Nick Clifton Date: Fri Feb 6 11:12:02 2015 +0000 Fixes illegal memory accesses triggereb by running a 32-bit binary version of objdump compiled on a 64-bit host. PR binutils/17512 * dwarf.c (display_debug_frames): Fix range checks to work on 32-bit binaries complied on a 64-bit host. * peXXigen.c (rsrc_print_resource_entries): Add range check for addresses that wrap around the address space. (rsrc_parse_entry): Likewise. commit 77f41761432a70930ea0a917a2f135b392af34f5 Author: Pedro Alves Date: Fri Feb 6 11:09:42 2015 +0100 gdb.base/gdb-sigterm.exp: Fix spurious FAILs The buildbot shows that some machines FAIL this test frequently. E.g.: https://sourceware.org/ml/gdb-testers/2015-q1/msg00997.html If I stress my machine, I can sometimes see it fail too. Bumping the 200 limit and tweaking the test to show the step count, I get: ... PASS: gdb.base/gdb-sigterm.exp: SIGTERM stepped 12 times PASS: gdb.base/gdb-sigterm.exp: SIGTERM stepped 8 times PASS: gdb.base/gdb-sigterm.exp: SIGTERM stepped 13 times PASS: gdb.base/gdb-sigterm.exp: SIGTERM stepped 7 times --> FAIL: gdb.base/gdb-sigterm.exp: SIGTERM stepped 228 times <-- PASS: gdb.base/gdb-sigterm.exp: SIGTERM stepped 11 times PASS: gdb.base/gdb-sigterm.exp: SIGTERM stepped 13 times PASS: gdb.base/gdb-sigterm.exp: SIGTERM stepped 12 times PASS: gdb.base/gdb-sigterm.exp: SIGTERM stepped 8 times PASS: gdb.base/gdb-sigterm.exp: SIGTERM stepped 9 times PASS: gdb.base/gdb-sigterm.exp: SIGTERM stepped 7 times PASS: gdb.base/gdb-sigterm.exp: SIGTERM stepped 11 times PASS: gdb.base/gdb-sigterm.exp: SIGTERM stepped 8 times ... Thinking that this might be a problem of SIGTERM reaching GDB, but then the event loop taking too long to handle it, I hacked GDB to print a debug log whenever the SIGTERM handler was called, and, whenever the event loop finally calls the async SIGTERM handler. Here's what I see: infrun: 30011 [Thread 30011], infrun: status->kind = stopped, signal = GDB_SIGNAL_TRAP infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x4005de --> infrun: got SIGTERM <-- infrun: stepping inside range [0x4005de-0x4005e0] infrun: resume (step=1, signal=GDB_SIGNAL_0), ... infrun: prepare_to_wait --> infrun: handling async SIGTERM <-- Cannot execute this command while the target is running. Use the "interrupt" command to stop the target and then try again. gdb.base/gdb-sigterm.exp: expect eof #27 FAIL: gdb.base/gdb-sigterm.exp: SIGTERM stepped 228 times So, no delay on the GDB side. It just happens that occasionally it takes more than 200 single-steps before SIGTERM even reaches GDB. This just looks like a kernel/scheduling issue --- some extra usage spike in the system (e.g., an I/O spike) might cause it for me. For the build slaves, I'm guessing they're frequently busy enough to trip on this often. Particularly more so now that we're having them run tests in parallel mode. The fix is to detect failure by timeout instead of counting single steps. This should be more reliable. Indeed for me, after this commit, I couldn't trigger a FAIL anymore, even after letting the test run for an hour. By timeout is also nicer in that a board file for a slow host/target can increase it (like, e.g., an embedded GNU/Linux board). Tested on x86_64 Fedora 20, native, gdbserver, and extended-remote gdbserver. gdb/testsuite/ 2015-02-06 Pedro Alves * gdb.base/gdb-sigterm.c (main): Use the TIMEOUT define to determine how many seconds to pass to 'alarm'. * gdb.base/gdb-sigterm.exp (top level): Build program with -DTIMEOUT=$timeout. (do_test): Return success/failure indication. Add more verbose logging. Don't fail if 200 single steps are seen. Instead, fail when the test times out. (passes): New global. (top level): Break the testing loop if testing fails on any iteration. Use gdb_assert. commit 73e7610887dfd4313b66f33436bc18570d58b2ac Author: Jan Beulich Date: Fri Feb 6 09:11:09 2015 +0100 gas: fix a few omissions in .cfi_label handling While actually starting to use that new directive, I noticed a few oversights of the original commit. gas/ 2015-02-06 Jan Beulich * dw2gencfi.c (select_cie_for_fde): Also bail on CFI_label. (cfi_change_reg_numbers): Also do nothing for CFI_label. (cfi_pseudo_table): Also handle .cfi_label when not supporting CFI directives. commit e9fbd0432f8ab3983b166ae0b4d3e2ab6fbc8cf3 Author: Doug Evans Date: Thu Feb 5 23:31:05 2015 -0800 guile/scm-frame.c: Fix spelling errors in a comment. gdb/ChangeLog: * guile/scm-frame.c: Fix spelling errors in a comment. commit 119d62ffb87b8e6fc24d1cfa040586ec94f5655a Author: H.J. Lu Date: Thu Feb 5 16:57:09 2015 -0800 Close fd only if fd != -1 This patch closes fd only if fd != -1. * plugin.c (release_input_file): Set fd to -1 after closing it. (plugin_maybe_claim): Close fd only if fd != -1. commit 8e2470d34f4306cc3a21fdcd8099443896a61313 Author: GDB Administrator Date: Fri Feb 6 00:00:08 2015 +0000 Automatic date update in version.in commit f4b78d1898203363e7f551497b6231d0f891d6f9 Author: H.J. Lu Date: Thu Feb 5 05:00:52 2015 -0800 Add plugin_input_file_t This patchs adds plugin_input_file_t to implement get_input_file, get_view and release_input_file. The maximum memeory overhead per IR input file are about 40 bytes for plugin_input_file_t plus the memory to store input IR filename. According to http://gcc.gnu.org/wiki/whopr/driver RELEASE_INPUT_FILE: Function pointer to the linker interface that releases a file descriptor for a claimed input file. The plug-in library must call this interface for each file descriptor obtained by the "get input file" interface. It must release all such file descriptors before returning from the WPA phase. However, GCC plug-in library doesn't use the "get input file" interface. It processed the IR input in the claim file handler. Since the the file descriptor opened for the IR input was unused after the claim file handler returns and GCC plug-in library before GCC 5 doesn't call the RELEASE_INPUT_FILE function pointer, ld closed the file descriptor to avoid leaking file descriptor. But this approach doesn't work with other plug-in libraries which uses the "get input file", "get view" and "release input file" interfaces. To avoid file descriptor leak with GCC prior to GCC 5 and support other plug-in libraries at the same time, we close the file descriptor only if the input IR file is a bfd_object file. This scheme doesn't work when a plug-in library needs the file descriptor and its IR is stored in bfd_object file. PR ld/17878 * plugin.c: Include . (errno): New. Declare if needed. (plugin_input_file_t): New. (get_input_file): Implemented. (get_view): Likewise. (release_input_file): Likewise. (add_symbols): Updated. (get_symbols): Likewise. (plugin_maybe_claim): Allocate a plugin_input_file_t. Close fd only for a bfd_object input. commit 7cc78d0780858b2f4a76c2867351cbfbb339c327 Author: Alan Modra Date: Thu Feb 5 17:20:38 2015 +1030 Don't refer to optarg in dwarf.c function This one is passed in optarg as its argument. PR binutils/17926 * dwarf.c (dwarf_select_sections_by_letters): Don't refer to optarg. commit 54ebc97a0dcfd178839462f9260c91978aaab90a Author: GDB Administrator Date: Thu Feb 5 00:00:07 2015 +0000 Automatic date update in version.in commit 64a81db054a44e5539c4de5103125f3587de6403 Author: Alan Modra Date: Thu Feb 5 09:14:56 2015 +1030 Fix msp430 build with gcc-5 gcc-5 correctly complains "loop exit may only be reached after undefined behavior". I was going to correct this by checking the index before dereferencing the array rather than the other way around, but then I noticed it is possible for extract_cmd to write the terminating zero one past the end of "cmd". Fixing that means no index check is needed in md_assemble. * config/tc-msp430.c (md_assemble): Correct size passed to extract_cmd. Remove index check. commit b39b8b9d90e142179709e846c15afdebd49b0fb1 Author: Rafael Ávila de Espíndola Date: Wed Feb 4 17:37:05 2015 -0500 Combine loop epilogue into main loop body to reduce duplication. commit b9394193d08bef2193f805ded0af898e4c10a509 Author: Don Breazeal Date: Wed Feb 4 13:15:06 2015 -0800 Clean up System V IPC objects allocated by test. This commit modifies the test program gdb.base/info-os.c so that it cleans up all allocated System V IPC objects when a fatal error occurs. Without this, it was possible for the program to leave IPC objects on the system, and such objects persist until they are manually deleted or the system reboots. I looked at changing the SysV IPC key for allocating the IPC objects to IPC_PRIVATE. That would prevent errors due to namespace conflicts with the key. However, the test needs to read the actual key number from the 'info os' command output, and IPC_PRIVATE won't work for that. gdb/testsuite/ChangeLog: 2015-02-04 Don Breazeal * gdb.base/info-os.c (shmid, semid, msqid): Make variables static and initialize them. (ipc_cleanup): New function. (main): Don't declare shmid, semid, and msqid. Add a call to atexit so that we call ipc_cleanup on exit. commit 881d5d5db08ee6b343e1f1fc560d785fed29428e Author: Jan Kratochvil Date: Wed Feb 4 20:31:17 2015 +0100 Fix Python 3 build error on 32-bit hosts on Fedora Rawhide (==22) i686 using --with-python=/usr/bin/python3 one gets: ./python/py-value.c:1696:3: error: initialization from incompatible pointer type [-Werror] valpy_hash, /*tp_hash*/ ^ ./python/py-value.c:1696:3: error: (near initialization for ‘value_object_type.tp_hash’) [-Werror] cc1: all warnings being treated as errors Makefile:2628: recipe for target 'py-value.o' failed This is because in Python 2 tp_hash was: typedef long (*hashfunc)(PyObject *); while in Python 3 tp_hash is: typedef Py_hash_t (*hashfunc)(PyObject *); Py_hash_t is int for 32-bit hosts and long for 64-bit hosts. While on 32-bit hosts sizeof(long)==sizeof(int) still the hashfunc type is formally incompatible. As this patch should have no compiled code change it is not really necessary for gdb-7.9, it would fix there just this non-fatal compilation warning: ./python/py-value.c:1696:3: warning: initialization from incompatible pointer type valpy_hash, /*tp_hash*/ ^ ./python/py-value.c:1696:3: warning: (near initialization for ‘value_object_type.tp_hash’) gdb/ChangeLog 2015-02-04 Jan Kratochvil * python/python-internal.h (Py_hash_t): Define it for Python <3.2. * python/py-value.c (valpy_fetch_lazy): Use it. Remove cast to the return type. commit 2abdd192f1ed671c5dcf0d6e52ebee96c8610b40 Author: Jiong Wang Date: Wed Feb 4 19:17:12 2015 +0000 [AArch64] Add support for Cortex-A72 2015-02-04 Matthew Wahab * config/tc-aarch64.c (aarch64_cpus): Add support for Cortex-A72. * doc/c-aarch64.texi (-mcpu=): Add "cortex-a72". commit b66d1c52ac4537484353797ce8d791c0552b3839 Author: Cary Coutant Date: Wed Feb 4 10:36:07 2015 -0800 Add missing ChangeLog entry. commit 20ba1ce66d31b9dd16ed8c648f46ce32aa3a03e0 Author: Pedro Alves Date: Wed Feb 4 19:13:28 2015 +0100 Linux: don't resume new LWPs until we've pulled all events out of the kernel Since the starvation avoidance series (https://sourceware.org/ml/gdb-patches/2014-12/msg00631.html), both GDB and GDBserver pull all events out of ptrace before deciding which event to process. There's one problem with that though. Because we resume new threads immediately when we see a PTRACE_EVENT_CLONE event, if the program constantly spawns threads fast enough, new threads can spawn threads faster we can pull events out of the kernel, and thus we'd get stuck in an infinite loop, never returning any event to the core to process. I occasionally see this happen with the attach-many-short-lived-threads.exp test against gdbserver. The fix is to delay resuming new threads until we've pulled out all events out of the kernel. On native, we already have the resume_stopped_resumed_lwps function that knows to resume LWPs that are stopped with no event to report to the core. So the patch just adds another use. GDBserver didn't have the equivalent yet, so the patch adds one. Tested on x86_64 Fedora 20, native and gdbserver (remote and extended-remote). gdb/gdbserver/ChangeLog: 2015-02-04 Pedro Alves * linux-low.c (handle_extended_wait): Don't resume LWPs here. (resume_stopped_resumed_lwps): New function. (linux_wait_for_event_filtered): Use it. gdb/ChangeLog: 2015-02-04 Pedro Alves * linux-nat.c (handle_extended_wait): Don't resume LWPs here. (wait_lwp): Don't call wait_lwp if linux_handle_extended_wait returns true. (resume_stopped_resumed_lwps): Don't check whether the thread is marked as executing. (linux_nat_wait_1): Use resume_stopped_resumed_lwps. commit 3c537f7fdb11f02f7082749f3f21dfdd2c2025e8 Author: Peter Collingbourne Date: Wed Feb 4 09:47:28 2015 -0800 Resolve forwarding symbols in plugins. 2015-02-04 Peter Collingbourne * plugin.cc (Pluginobj::get_symbol_resolution_info): Resolve forwarding symbols when computing symbol resolution info for plugins. commit 42d9e5288b6576b56f3f803901433b88ee863bc6 Author: Pedro Alves Date: Wed Feb 4 14:53:24 2015 +0100 Fix '--target_board=native-extended-gdbserver/-m32' Running the testsuite with the native-extended-gdbserver.exp board and passing a variant spec, like make check RUNTESTFLAGS="--target_board=native-extended-gdbserver/-m32" results in dejagnu trying to open a rsh connection to "native-extended-gdbserver", which of course is wrong. The point of this board is running things locally. The issue is that the native-extended-gdbserver board does not clear the "isremote" flag properly. Reported by Sergio at: https://sourceware.org/ml/gdb-patches/2015-02/msg00067.html testsuite/ 2015-02-04 Pedro Alves * boards/native-extended-gdbserver.exp: Remove any target variant specifications from the board name before clearing the isremote flag from board_info. commit f962539ad23759af4ba8f7eece1946fdc2f50876 Author: Andreas Arnez Date: Thu Jan 15 10:20:45 2015 +0000 Warn if core file register section is larger than expected When reading a core file register section which is larger than expected, emit a warning. Assume that a register section usually has exactly the size specified by the regset section iterator. In some special cases this assumption is wrong, or at least does not match the regset supply function's logic. Thus also add a way to suppress the warning in those cases, using a new flag REGSET_VARIABLE_SIZE. gdb/ChangeLog: * regset.h (struct regset): Add flags field. (REGSET_VARIABLE_SIZE): New value for a regset's flags field. * corelow.c (get_core_register_section): Add warning if the size exceeds the requested size and the regset does not have the REGSET_VARIABLE_SIZE flag set. * alphanbsd-tdep.c (alphanbsd_gregset): Add REGSET_VARIABLE_SIZE flag. * armbsd-tdep.c (armbsd_gregset): Likewise. * hppa-hpux-tdep.c (hppa_hpux_regset): Likewise. * hppaobsd-tdep.c (hppaobsd_gregset): Likewise. * m68kbsd-tdep.c (m68kbsd_gregset): Likewise. * mipsnbsd-tdep.c (mipsnbsd_gregset): Likewise. commit dde9acd693251ccbe28d2d9c6c8b3cdc8ca884ed Author: Andreas Arnez Date: Wed Jan 14 17:53:23 2015 +0000 x86: Use correct .reg-xstate section size When reading the XSAVE extended state from an i386 or AMD64 core file, the respective regset iterator requests a minimum section size of zero. Since the respective regset supply function does not check the size either, this may lead to accessing data out of range if the section is too short. In write mode, the iterator always uses the maximum supported size for the XSAVE extended state. This is now changed such that the iterator always requests the expected size of this section based on xcr0, both for reading and writing. gdb/ChangeLog: * amd64-linux-tdep.c (amd64_linux_iterate_over_regset_sections): For ".reg-xstate", explicitly specify the requested section size via X86_XSTATE_SIZE instead of just 0 on input and X86_XSTATE_MAX_SIZE on output. * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise. commit 1528345d6c4a407e0b36b3474eb458cbd04146f7 Author: Andreas Arnez Date: Wed Jan 14 12:01:38 2015 +0000 Fix internal error when core file section is too big As reported in PR 17808, a test case with a forged (invalid) core file can crash GDB with an assertion failure. In that particular case the prstatus of an i386 core file looks like that from an AMD64 core file. Consequently the respective regset supply function i386_supply_gregset is invoked with a larger buffer than usual. But i386_supply_gregset asserts a specific buffer size, and this assertion fails. The patch relaxes all buffer size assertions in regset supply functions such that they merely check for a sufficiently large buffer. For consistency the regset collect functions are adjusted as well. gdb/ChangeLog: PR corefiles/17808: * gdbarch.sh (iterate_over_regset_sections_cb): Document this function type, particularly its SIZE parameter. * gdbarch.h: Regenerate. * amd64-tdep.c (amd64_supply_fpregset): In gdb_assert, compare actual against required size using ">=" instead of "==". (amd64_collect_fpregset): Likewise. * i386-tdep.c (i386_supply_gregset): Likewise. (i386_collect_gregset): Likewise. (i386_supply_fpregset): Likewise. (i386_collect_fpregset): Likewise. * mips-linux-tdep.c (mips_supply_gregset_wrapper): Likewise. (mips_fill_gregset_wrapper): Likewise. (mips_supply_fpregset_wrapper): Likewise. (mips_fill_fpregset_wrapper): Likewise. (mips64_supply_gregset_wrapper): Likewise. (mips64_fill_gregset_wrapper): Likewise. (mips64_supply_fpregset_wrapper): Likewise. (mips64_fill_fpregset_wrapper): Likewise. * mn10300-linux-tdep.c (am33_supply_gregset_method): Likewise. (am33_supply_fpregset_method): Likewise. (am33_collect_gregset_method): Likewise. (am33_collect_fpregset_method): Likewise. commit 8962a307ae3dd59166a4a6dc4e60a4da880686cd Author: H.J. Lu Date: Wed Feb 4 04:34:11 2015 -0800 Pass -flto-partition=none to the PR ld/12365 test * ld-plugin/lto.exp: Pass -flto-partition=none to the PR ld/12365 test. commit 3101e6373ee4bd78f7efbe21a730a4327b0ca8f6 Author: Nick Clifton Date: Wed Feb 4 12:00:58 2015 +0000 Fix encoding of "addw ax, [hl]" and "subw ax, [hl]". * config/rl78-parse.y (addsubw): Fix encoding of [HL] variant of these instructions. commit 518be979d905d8e8708c70149fdb3207aba53aa1 Author: Doug Evans Date: Wed Feb 4 12:27:28 2015 +0100 Speed up GDB's TUI output In the TUI mode, we call wrefresh after outputting every single character. This results in the I/O becoming very slow. Fix this by delaying refreshing the console window until an explicit flush of gdb_stdout is requested, or a write to any other (unbuffered) file is done. 2015-02-04 Doug Evans Pedro Alves Eli Zaretskii PR tui/17810 * tui/tui-command.c (tui_refresh_cmd_win): New function. * tui/tui-command.c (tui_refresh_cmd_win): Declare. * tui/tui-file.c: #include tui/tui-command.h. (tui_file_fputs): Refresh command window if stream is not gdb_stdout. (tui_file_flush): Refresh command window if stream is gdb_stdout. * tui/tui-io.c (tui_puts): Remove calls to wrefresh, fflush. commit f3853b34448594744f284fa96f26e41fd533a50d Author: Nick Clifton Date: Wed Feb 4 10:40:05 2015 +0000 More fixes for memory access violations triggered by running readelf on fuzzed binaries. PR binutils/17531 * dwarf.c (read_and_display_attr_value): Test for a block length being so long that it wraps around to before the start of the block. (process_debug_info): Test for section_begin wrapping around to before the start of the section. (display_gdb_index): Test for num_cus being so large that the end address wraps around to before the start of the section. (process_cu_tu_index): Test for j being so large that the section index pool wraps around to before the start of the section. commit 80bd5fab6252d1cdff1ca95096ebe9b3053c8ec3 Author: Pedro Alves Date: Wed Feb 4 11:05:58 2015 +0100 Fix build breakage due to event loop simplification commit 70b66289 (Simplify event-loop core, remove two-step event processing) causes a build failure when compiling GDB with gcc/-O2: gdb/event-loop.c: In function ‘gdb_do_one_event’: gdb/event-loop.c:296:10: error: ‘res’ may be used uninitialized in this function [-Werror=maybe-uninitialized] if (res > 0) ^ GCC isn't realizing that event_source_head can never be > 2 and that therefore 'res' is always initialized in all possible paths. Adding a default case that internal_error's makes GCC realize that. Tested on x86_64 Fedora 20. gdb/ChangeLog: 2015-02-04 Pedro Alves Fix build breakage. * event-loop.c (gdb_do_one_event): Add default switch case. commit 23081de0180381317070db296fbe3f587b501ccf Author: Cary Coutant Date: Tue Feb 3 20:18:25 2015 -0800 Add missing ChangeLog entries. commit 2cfbf2fece582c29df348104b28677c38a8301f4 Author: Cary Coutant Date: Tue Feb 3 19:54:57 2015 -0800 Fix a file descriptor leak in gold. When an LTO linker plugin claims an external member of a thin archive, gold does not properly unlock the file and make its file descriptor available for reuse. This patch fixes the problem by modifying Archive::include_member to unlock the object file via an RAII class instance, ensuring that it will be unlocked no matter what path is taken through the function. gold/ PR gold/15660 * archive.cc (Thin_archive_object_unlocker): New class. (Archive::include_member): Unlock external members of thin archives. * testsuite/Makefile.am (plugin_test_1): Rename .syms files. (plugin_test_2): Likewise. (plugin_test_3): Likewise. (plugin_test_4): Likewise. (plugin_test_5): Likewise. (plugin_test_6): Likewise. (plugin_test_7): Likewise. (plugin_test_8): Likewise. (plugin_test_9): Likewise. (plugin_test_10): Likewise. (plugin_test_11): New test case. * testsuite/Makefile.in: Regenerate. * testsuite/plugin_test.c (claim_file_hook): Check for parallel .syms file to decide whether to claim file. (all_symbols_read_hook): Likewise. * testsuite/plugin_test_1.sh: Adjust expected output. * testsuite/plugin_test_2.sh: Likewise. * testsuite/plugin_test_3.sh: Likewise. * testsuite/plugin_test_6.sh: Likewise. * testsuite/plugin_test_tls.sh: Likewise. * testsuite/plugin_test_11.sh: New testcase. commit 8265ef950202a4bf0d3444802ad5d7087b4b185d Author: Cary Coutant Date: Mon Feb 2 11:47:58 2015 -0800 Add extra debugging output for files and descriptors. gold/ * descriptors.cc (Descriptors::open): Set artificially-low limit for file descriptors when debugging enabled. Add debug output. (Descriptors::release): Add debug output. (Descriptors::close_some_descriptor): Likewise. (Descriptors::close_all): Likewise. * fileread.cc (File_read::lock): Likewise. (File_read::unlock): Likewise. commit b10c5c5012c3accfefa3f3847d3eb83a788bdbbf Author: GDB Administrator Date: Wed Feb 4 00:00:08 2015 +0000 Automatic date update in version.in commit 570286220e28e606e199b37a06cd199cadb592ba Author: Nick Clifton Date: Tue Feb 3 20:42:36 2015 +0000 Fix memory access violations triggered by running readelf on fuzzed binaries. PR binutils/17531 * dwarf.c (process_debug_info): Add range check. (display_debug_pubnames_worker): Likewise. (display_gdb_index): Fix range check. (process_cu_tu_index): Add range check. * readelf.c (get_data): Change parameter types from size_t to bfd_size_type. Add checks for loss of accuracy when casting from bfd_size_type to size_t. (get_dynamic_data): Likewise. (process_section_groups): Limit number of error messages. commit a7606d8083c9e217294f6e47a8d2903716c6337c Author: Jan Kratochvil Date: Tue Feb 3 18:17:02 2015 +0100 compile: Filter out -fpreprocessed With global system gcc-5.0 if one also installs ccache (needing a different patch https://bugzilla.samba.org/show_bug.cgi?id=11060 for -fplugin=libcc1plugin) it breaks as GDB will read from inferior DW_AT_producer containing -fpreprocessed (due to ccache used to compile the inferior). DW_AT_producer : (indirect string, offset: 0x52): GNU C11 5.0.0 20150114 (Red Hat 5.0.0-0.1) -fpreprocessed -mtune=generic - march=x86-64 -g It is wrong that gcc puts -fpreprocessed into DW_AT_producer - fixed it in trunk GCCs: https://gcc.gnu.org/ml/gcc-patches/2015-01/msg01495.html But even with that fix there are already built inferiors out there which GDB could be compatible (for the 'compile' mode) with. gdb/ChangeLog 2015-02-03 Jan Kratochvil Filter out inferior gcc option -fpreprocessed. * compile/compile.c (filter_args): New function. (get_args): Use it. commit 60f79275127603876d94da4bf4e3f6212903b407 Author: H.J. Lu Date: Tue Feb 3 09:03:23 2015 -0800 Mark the plugin symbol undefined LTO may optimize out a plugin symbol, which is also referenced by a non-IR file. When that happens, we should mark the plugin symbol undefined. It isn't the problem since LTO already determined the symbols in the non-IR file aren't used. bfd/ PR ld/12365 PR ld/14272 * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol undefined if it is referenced from a non-IR file. ld/testsuite/ PR ld/12365 * ld-plugin/pr12365a.c: New file. * ld-plugin/pr12365b.c: Likewise. * ld-plugin/pr12365c.c: Likewise. * ld-plugin/lto.exp (lto_link_tests): Prepare for the PR ld/12365 test. Run the PR ld/12365 test. commit 9910b1c8f3b0821944303fbcb4ef4c8872cf4e08 Author: H.J. Lu Date: Tue Feb 3 08:24:50 2015 -0800 Add a testcase for PR ld/14918 PR ld/14918 * ld-plugin/lto.exp (lto_link_elf_tests): Add PR ld/14918 test. * ld-plugin/pr14918.c: New file. * ld-plugin/pr14918.d: Likewise. commit 2d3ea0d5ba74fee0320766c4ceaa6d8f43a37a74 Author: Nick Clifton Date: Tue Feb 3 15:34:50 2015 +0000 Fix typo in previous delta for mach-o.c. commit 70b662892cfcf35d5addd40adf22a7354626598c Author: Pedro Alves Date: Tue Feb 3 16:07:54 2015 +0100 Simplify event-loop core, remove two-step event processing Even with the previous patch installed, we'll still see sigall-reverse.exp occasionally fail. The problem is that the event loop's event handling processing is done in two steps: #1 - poll all event sources, and push new event objects to the event queue, until all event sources are drained. #2 - go through the event queue, processing each event object at a time. For each event, call the associated callback, and deletes the event object from the queue. and then bad things happen if between #1 and #2 something decides that events from an event source that has already queued events shouldn't be processed yet. To do that, we either remove the event source from the list of event sources, or clear its "have events" flag. However, if an event for that source has meanwhile already been pushed in the event queue, #2 will still process it and call the associated callback... One way to fix it that I considered was to do something to the event objects already in the event queue when an event source is no longer interesting. But then I couldn't find any good reason for the two-step process in the first place. It's much simpler (and less code) to call the event source callbacks as we poll the sources and find events. Tested on x86-64 Fedora 20, native and gdbserver. gdb/ 2015-02-03 Pedro Alves * event-loop.c: Don't declare nor define a queue type for gdb_event_p. (event_queue): Delete. (create_event, create_file_event, gdb_event_xfree) (initialize_event_loop, process_event): Delete. (gdb_do_one_event): Return as soon as one event is handled. (handle_file_event): Change prototype. Used the passed in file_handler pointer and ready_mask instead of looping over all file handlers. (gdb_wait_for_event): Update the poll/select timeouts before blocking. Run event handlers directly instead of queueing events. Return as soon as one event is handled. (struct async_event_handler_data): Delete. (invoke_async_event_handler): Delete. (check_async_event_handlers): Change return type to int. Run event handlers directly instead of queueing events. Return as soon as one event is handled. (handle_timer_event): Delete. (update_wait_timeout): New function, factored out from poll_timers. (poll_timers): Reimplement. * event-loop.h (initialize_event_loop): Delete declaration. * top.c (gdb_init): Don't call initialize_event_loop. commit b7d2e91626b0e587f3fd5023e79b5079da6baed5 Author: Pedro Alves Date: Tue Feb 3 16:07:54 2015 +0100 When disabling target async, remove all target event sources from the event loop The sigall-reverse.exp test occasionally fails with something like this: (gdb) PASS: gdb.reverse/sigall-reverse.exp: send signal TERM continue Continuing. The next instruction is syscall exit_group. It will make the program exit. Do you want to stop the program?([y] or n) FAIL: gdb.reverse/sigall-reverse.exp: continue to signal exit (timeout) FAIL: gdb.reverse/sigall-reverse.exp: reverse to handler of TERM (timeout) FAIL: gdb.reverse/sigall-reverse.exp: reverse to gen_TERM (timeout) This is another event-loop/async related problem exposed by the patch that made 'query' use gdb_readline_wrapper (588dcc3edbde19f9). The problem is that even though gdb_readline_wrapper disables target-async while the secondary prompt is in progress, the record target's async event source is left marked. So when gdb_readline_wrapper nests an event loop to process input, it may happen that that event loop ends up processing a target event while GDB is not really ready for it. Here's the relevant part of the backtrace showing the root issue in action: ... #14 0x000000000061cb48 in fetch_inferior_event (client_data=0x0) at src/gdb/infrun.c:4158 #15 0x0000000000642917 in inferior_event_handler (event_type=INF_REG_EVENT, client_data=0x0) at src/gdb/inf-loop.c:57 #16 0x000000000077ca5c in record_full_async_inferior_event_handler (data=0x0) at src/gdb/record-full.c:791 #17 0x0000000000640fdf in invoke_async_event_handler (data=...) at src/gdb/event-loop.c:1067 #18 0x000000000063fb01 in process_event () at src/gdb/event-loop.c:339 #19 0x000000000063fb2a in gdb_do_one_event () at src/gdb/event-loop.c:360 #20 0x000000000074d607 in gdb_readline_wrapper (prompt=0x3588f40 "The next instruction is syscall exit_group. It will make the program exit. Do you want to stop the program?([y] or n) ") at src/gdb/top.c:842 #21 0x0000000000750bd9 in defaulted_query (ctlstr=0x8c6588 "The next instruction is syscall exit_group. It will make the program exit. Do you want to stop the program?", defchar=121 'y', args=0x7fff70524410) at src/gdb/utils.c:1279 #22 0x0000000000750e4c in yquery (ctlstr=0x8c6588 "The next instruction is syscall exit_group. It will make the program exit. Do you want to stop the program?") at src/gdb/utils.c:1358 #23 0x00000000004b020e in record_linux_system_call (syscall=gdb_sys_exit_group, regcache=0x3529450, tdep=0xd6c840 ) at src/gdb/linux-record.c:1933 With my all-stop-on-top-of-non-stop series, I'm also seeing gdb.server/ext-attach.exp fail occasionally due to the same issue. The first part of the fix is for target_async implementations to make sure to remove/unmark all target-related event sources from the event loop. Tested on x86_64 Fedora 20, native and gdbserver. gdb/ 2015-02-03 Pedro Alves * event-loop.c (clear_async_event_handler): New function. * event-loop.h (clear_async_event_handler): New declaration. * record-btrace.c (record_btrace_async): New function. (init_record_btrace_ops): Install record_btrace_async. * record-full.c (record_full_async): New function. (record_full_resume): Don't mark the async event source here. (init_record_full_ops): Install record_full_async. (record_full_core_resume): Don't mark the async event source here. (init_record_full_core_ops): Install record_full_async. * remote.c (remote_async): Mark and clear the async stop reply queue event-loop token as appropriate. commit d9d41e786a077db1b536b1124af6e135b9ad46a0 Author: Pedro Alves Date: Tue Feb 3 16:07:53 2015 +0100 Fix up some target is-async vs can-async confusions In all these cases we're interested in whether the target is currently async, with its event sources installed in the event loop, not whether it can async if needed. Also, I'm not seeing the point of the target_async call from within linux_nat_wait. That's normally done on resume instead, which this target already does. Tested on x86_64 Fedora 20, native and gdbserver. gdb/ 2015-02-03 Pedro Alves * linux-nat.c (linux_child_follow_fork, linux_nat_wait_1): Use target_is_async_p instead of target_can_async. (linux_nat_wait): Use target_is_async_p instead of target_can_async. Don't enable async here. * remote.c (interrupt_query, remote_wait, putpkt_binary): Use target_is_async_p instead of target_can_async. commit 64d2901806c171c0d949f8fb1b29b4e5ba8cf04d Author: Nick Clifton Date: Tue Feb 3 14:34:54 2015 +0000 More fixes for illegal memory accesses triggered by running objdump on fuzzed binaries. PR binutils/17512 * objdump.c (display_any_bfd): Fail if archives nest too deeply. * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays. (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol index or an out of range fdr index. * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message. * elf32-arc.c (arc_info_to_howto_rel): Likewise. * elf32-avr.c (avr_info_to_howto_rela): Likewise. * elf32-cr16.c (elf_cr16_info_to_howto): Likewise. * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise. * elf32-cris.c (cris_info_to_howto_rela): Likewise. * elf32-crx.c (elf_crx_info_to_howto): Likewise. * elf32-d10v.c (d10v_info_to_howto_rel): Likewise. * elf32-d30v.c (d30v_info_to_howto_rel): Likewise. * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise. * elf32-fr30.c (fr30_info_to_howto_rela): Likewise. * elf32-frv.c (frv_info_to_howto_rela): Likewise. * elf32-i370.c (i370_elf_info_to_howto): Likewise. * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise. * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise. * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise. * elf32-lm32.c (lm32_info_to_howto_rela): Likewise. * elf32-m32c.c (m32c_info_to_howto_rela): Likewise. * elf32-m32r.c (m32r_info_to_howto_rel): Likewise. * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise. * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise. * elf32-mcore.c (mcore_elf_info_to_howto): Likewise. * elf32-mep.c (mep_info_to_howto_rela): Likewise. * elf32-metag.c (metag_info_to_howto_rela): Likewise. * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise. * elf32-moxie.c (moxie_info_to_howto_rela): Likewise. * elf32-msp430.c (msp430_info_to_howto_rela): Likewise. * elf32-mt.c (mt_info_to_howto_rela): Likewise. * elf32-nds32.c (nds32_info_to_howto_rel): Likewise. * elf32-or1k.c (or1k_info_to_howto_rela): Likewise. * elf32-pj.c (pj_elf_info_to_howto): Likewise. * elf32-ppc.c (ppc_elf_info_to_howto): Likewise. * elf32-rl78.c (rl78_info_to_howto_rela): Likewise. * elf32-rx.c (rx_info_to_howto_rela): Likewise. * elf32-sh.c (sh_elf_info_to_howto): Likewise. * elf32-spu.c (spu_elf_info_to_howto): Likewise. * elf32-v850.c (v850_elf_perform_relocation): Likewise. * elf32-vax.c (rtype_to_howto): Likewise. * elf32-visium.c (visium_info_to_howto_rela): Likewise. * elf32-xgate.c (xgate_info_to_howto_rel): Likewise. * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise. * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise. * elf64-mmix.c (mmix_info_to_howto_rela): Likewise. * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays. (bfd_mach_o_canonicalize_one_reloc): Fix check on out of range symbol indicies. (bfd_mach_o_canonicalize_relocs): Check for out of range alloc. (bfd_mach_o_canonicalize_dynamic_reloc): Likewise. (bfd_mach_o_build_dysymtab): Likewise. (bfd_mach_o_write_symtab_content): Set the string table size to zero upon error. (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the read fails. * peXXigen.c (pe_print_edata): Check for numeric overflow in edt fields. * tekhex.c (first_phase): Check for src pointer reaching end of buffer. commit 46b87d490296235ab7c76c68816de7c402a79326 Author: Will Newton Date: Wed Jan 28 10:39:21 2015 +0000 bfd/elfnn-aarch64.c: Set st_value to zero for undefined symbols Unless pointer_equality_needed is set then set st_value to be zero for undefined symbols. bfd/ChangeLog: 2015-02-03 Will Newton * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Set st_value to zero for undefined symbols if the reference is weak or pointer_equality_needed is FALSE. commit 3a63561744873b54e13c45923fba4aaca7a2fec7 Author: Will Newton Date: Tue Feb 3 12:51:14 2015 +0000 bfd/elf32-arm.c: Improve comment in elf32_arm_finish_dynamic_symbol Improve the comment discussing why we clear st_value for some symbols. bfd/ChangeLog: 2015-02-03 Will Newton * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve comment discussing why we clear st_value for some symbols. commit 8e02d7f52092fe95f29d006e1df45b110490adc1 Author: Jiong Wang Date: Tue Feb 3 14:02:24 2015 +0000 [AARCH64] Document .arch and .arch_extension directive 2015-02-03 Renlin Li gas/ * doc/c-aarch64.texi (.arch): Document the directive. (.arch_extension): Likewise. commit 6d012254d46550b0930705b132ad9a49479573b6 Author: Nick Clifton Date: Tue Feb 3 10:10:51 2015 +0000 Fix use of uninitialised memory by the RL78 port of GAS. * config/tc-rl78.h (TC_PARSE_CONS_EXPRESSION): Define. commit 43fbf91ff858af23fa03371b7bf84d4bd2cd82d2 Author: GDB Administrator Date: Tue Feb 3 00:00:13 2015 +0000 Automatic date update in version.in commit 907c4910c3175ce3e9fc9bfb897527ca241ffd24 Author: Chen Gang Date: Sat Jan 31 06:13:39 2015 +0800 sim: Be sure of calling freeargv() after successfully call buildargv(). Or there will be memory leak. 2015-02-02 Chen Gang * microblaze/interp.c (sim_do_command): Call freeargv() before return. commit cd71915c7738f0992daefe0320b10e3b1960535c Author: Chen Gang Date: Sat Jan 31 06:06:38 2015 +0800 sim: Be sure of calling freeargv() after successfully call buildargv(). Or there will be memory leak. 2015-02-02 Chen Gang * mcore/interp.c (sim_do_command): Call freeargv() before return. commit c9ba137e2157b989b878198f94c7d5f01a937500 Author: Chen Gang Date: Sat Jan 31 05:58:51 2015 +0800 sim: Call freeargv() when failure occurs After successfully call buildargv(), the code need to be sure of calling freeargv() in any cases. 2015-02-02 Chen Gang * common/sim-options.c (sim_args_command): Call freeargv() when failure occurs. commit 24dd580891ed5fc331758d608b16d636eabd1ad3 Author: Cary Coutant Date: Mon Feb 2 11:46:45 2015 -0800 Fix bug with previous patch for unresolved TLS symbol. We need to check that the output is executable before assuming that we can replace the reference with zero. 2015-02-02 Cary Coutant gold/ * x86_64.cc (Target_x86_64::Relocate::relocate_tls): Check for executable output file. commit aa3de2670f9f9327b25c47546c0005d4a80da546 Author: Simon Marchi Date: Mon Feb 2 13:17:08 2015 -0500 Mention which return values need to be freed in lang_varobj_ops This is the result of a little bit of investigation of the C and Ada languages, as well as some common sense. gdb/ChangeLog: * varobj.h (lang_varobj_ops): Mention which return values need to be freed. commit 6c2573b7abfc3a504b902e46169cc521b6aa5eb7 Author: Alan Modra Date: Mon Feb 2 21:48:46 2015 +1030 xlc -z relro toc section fixes Moving .toc out of .got caused us to lose toc sorting and multi-toc support. * emultempl/ppc64elf.em (toc_section_name): New var. (ppc_after_open): Set it. (ppc_before_allocation): Use it. (gld${EMULATION_NAME}_after_allocation): Here too. commit 0c4bd9d97731e2cdff46efa7e7325e4716641a59 Author: Kuan-Lin Chen Date: Mon Feb 2 13:42:51 2015 +0800 NDS32/bfd: Add one more argument to control contents cache. The hook bfd_elf32_bfd_get_relocated_section_contents frees contents in gdb, and it make contents pointer mismatched. commit 2c811c0f343426fe6b61dc89d3944a51b20a100a Author: Joel Brobecker Date: Mon Feb 2 07:54:02 2015 +0400 Add missing i18n marker in dwarf2_evaluate_property warning message. gdb/ChangeLog: * dwarf2loc.c (dwarf2_evaluate_property): Add i18n marker. commit b1eedac962b9d935ecb40725a614f6fa6cb0783a Author: Joel Brobecker Date: Mon Feb 2 07:28:12 2015 +0400 [Ada] Do not re-cache symbol-lookup result found from cache lookup. When ada-lang.c:ada_lookup_symbol_list_worker finds a match in the symbol cache, it caches the result again, which is unecessary. This patch fixes the code to avoid that. gdb/ChangeLog: PR gdb/17856: * ada-lang.c (ada_lookup_symbol_list_worker): Do not re-cache results found in the cache. Tested on x86_64-linux, no regression. commit 66c168ae56fa2d67f821ccae774fd25c695fd9ce Author: Joel Brobecker Date: Mon Feb 2 07:20:58 2015 +0400 [Ada] pspace_data->sym_cache is always NULL The Ada symbol cache has been designed to have one instance of that of that cache per program space, and for each instance to be created on-demand. ada_get_symbol_cache is the function responsible for both lookup and creation on demand. Unfortunately, ada_get_symbol_cache forgot to store the reference to newly created caches, thus causing it to: - Leak old caches; - Allocate a new cache each time the cache is being searched or a new entry is to be inserted. This patch fixes the issue by avoiding the use of the local variable, which indirectly allowed the bug to happen. We manipulate the reference in the program-space data instead. gdb/ChangeLog: PR gdb/17854: * ada-lang.c (ada_get_symbol_cache): Set pspace_data->sym_cache when allocating a new one. commit ed2b91f0d8ecc0a6ce61abe40962e132a5f90d91 Author: GDB Administrator Date: Mon Feb 2 00:00:08 2015 +0000 Automatic date update in version.in commit 4bdc02b207c6a3baa1f5c761874a96c1ad04da61 Author: Tom Tromey Date: Sun Feb 1 11:59:27 2015 -0700 remove myself from MAINTAINERS 2015-02-01 Tom Tromey * MAINTAINERS: Remove myself. commit ae6ae97502b183d0cdb9c298a60fa05240f230bf Author: Doug Evans Date: Sat Jan 31 21:40:57 2015 -0800 Move vptr_{fieldno,basetype} out of main_type, and update everything accordingly. Every type has to pay the price in memory usage for their presence. The proper place for them is in the type_specific field which exists for this purpose. gdb/ChangeLog: * dwarf2read.c (process_structure_scope): Update setting of TYPE_VPTR_BASETYPE, TYPE_VPTR_FIELDNO. * gdbtypes.c (internal_type_vptr_fieldno): New function. (set_type_vptr_fieldno): New function. (internal_type_vptr_basetype): New function. (set_type_vptr_basetype): New function. (get_vptr_fieldno): Update setting of TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE. (allocate_cplus_struct_type): Initialize vptr_fieldno. (recursive_dump_type): Printing of vptr_fieldno, vptr_basetype ... (print_cplus_stuff): ... moved here. (copy_type_recursive): Don't copy TYPE_VPTR_BASETYPE. * gdbtypes.h (struct main_type): Members vptr_fieldno, vptr_basetype moved to ... (struct cplus_struct_type): ... here. All uses updated. (TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE): Rewrite. (internal_type_vptr_fieldno, set_type_vptr_fieldno): Declare. (internal_type_vptr_basetype, set_type_vptr_basetype): Declare. * stabsread.c (read_tilde_fields): Update setting of TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE. gdb/testsuite/ChangeLog: * gdb.base/maint.exp : Update expected output. commit 09e2d7c72040dd2d1833c140b5f04a85bc3f6a0f Author: Doug Evans Date: Sat Jan 31 21:21:01 2015 -0800 Move TYPE_SELF_TYPE into new field type_specific. This patch moves TYPE_SELF_TYPE into new field type_specific.self_type for MEMBERPTR,METHODPTR types, and into type_specific.func_stuff for METHODs, and then updates everything to use that. TYPE_CODE_METHOD could share some things with TYPE_CODE_FUNC (e.g. TYPE_NO_RETURN) and it seemed simplest to keep them together. Moving TYPE_SELF_TYPE into type_specific.func_stuff for TYPE_CODE_METHOD is also nice because when we allocate space for function types we assume they're TYPE_CODE_FUNCs. If TYPE_CODE_METHODs don't need or use that space then that space would be wasted, and cleaning that up would involve more invasive changes. In order to catch errant uses I've added accessor functions that do some checking. One can no longer assign to TYPE_SELF_TYPE like this: TYPE_SELF_TYPE (foo) = bar; One instead has to do: set_type_self_type (foo, bar); But I've left reading of the type to the macro: bar = TYPE_SELF_TYPE (foo); In order to discourage bypassing the TYPE_SELF_TYPE macro I've named the underlying function that implements it internal_type_self_type. While testing this I found the stabs reader leaving methods as TYPE_CODE_FUNCs, hitting my newly added asserts. Since the dwarf reader smashes functions to methods (via smash_to_method) I've done a similar thing for stabs. gdb/ChangeLog: * cp-valprint.c (cp_find_class_member): Rename parameter domain_p to self_p. (cp_print_class_member): Rename local domain to self_type. * dwarf2read.c (quirk_gcc_member_function_pointer): Rename local domain_type to self_type. (set_die_type) : Handle TYPE_CODE_METHODPTR, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHOD. * gdb-gdb.py (StructMainTypePrettyPrinter): Handle TYPE_SPECIFIC_SELF_TYPE. * gdbtypes.c (internal_type_self_type): New function. (set_type_self_type): New function. (smash_to_memberptr_type): Rename parameter domain to self_type. Update setting of TYPE_SELF_TYPE. (smash_to_methodptr_type): Update setting of TYPE_SELF_TYPE. (smash_to_method_type): Rename parameter domain to self_type. Update setting of TYPE_SELF_TYPE. (check_stub_method): Call smash_to_method_type. (recursive_dump_type): Handle TYPE_SPECIFIC_SELF_TYPE. (copy_type_recursive): Ditto. * gdbtypes.h (enum type_specific_kind): New value TYPE_SPECIFIC_SELF_TYPE. (struct main_type) : New member self_type. (struct cplus_struct_type) : Update comment. (TYPE_SELF_TYPE): Rewrite. (internal_type_self_type, set_type_self_type): Declare. * gnu-v3-abi.c (gnuv3_print_method_ptr): Rename local domain to self_type. (gnuv3_method_ptr_to_value): Rename local domain_type to self_type. * m2-typeprint.c (m2_range): Replace TYPE_SELF_TYPE with TYPE_TARGET_TYPE. * stabsread.c (read_member_functions): Mark methods with TYPE_CODE_METHOD, not TYPE_CODE_FUNC. Update setting of TYPE_SELF_TYPE. commit 4bfb94b8648cebad2683d24ebe033ef539df1dbb Author: Doug Evans Date: Sat Jan 31 21:17:05 2015 -0800 gdbtypes.h (TYPE_SELF_TYPE): Renamed from TYPE_DOMAIN_TYPE. gdb/ChangeLog: * gdbtypes.h (TYPE_SELF_TYPE): Renamed from TYPE_DOMAIN_TYPE. All uses updated. commit 5f4ce105edc3ebbd4b0425d41ccac0064e3cec41 Author: Doug Evans Date: Sat Jan 31 21:14:17 2015 -0800 Be more strict about what kinds of types can be passed. gdb/ChangeLog: * gnu-v3-abi.c (gnuv3_dynamic_class): Assert only passed structs or unions. Return zero if union. (gnuv3_get_vtable): Call check_typedef. Assert only passed structs. (gnuv3_rtti_type): Pass already-check_typedef'd value to gnuv3_get_vtable. (compute_vtable_size): Assert only passed structs. (gnuv3_print_vtable): Don't call gnuv3_get_vtable for non-structs. commit f6b3afbf2fce69c31bd738e0543c55fbd848e74a Author: Doug Evans Date: Sat Jan 31 21:13:02 2015 -0800 gdbtypes.c (copy_type_recursive): Handle all TYPE_SPECIFIC_FIELD kinds. gdb/ChangeLog: * gdbtypes.c (copy_type_recursive): Handle all TYPE_SPECIFIC_FIELD kinds. commit 6779e036f5249881d6fc511b99e047c7033a9313 Author: GDB Administrator Date: Sun Feb 1 00:00:13 2015 +0000 Automatic date update in version.in commit cfb069a8bebfacaf00dee6446e86a856978670be Author: Gary Benson Date: Sat Jan 31 15:24:26 2015 -0800 ChangeLog entries for max-completions patch. gdb/ChangeLog: PR cli/9007 PR cli/11920 PR cli/15548 * cli/cli-cmds.c (complete_command): Notify user if max-completions reached. * common/common-exceptions.h (enum errors) : New value. * completer.h (get_max_completions_reached_message): New declaration. (max_completions): Likewise. (completion_tracker_t): New typedef. (new_completion_tracker): New declaration. (make_cleanup_free_completion_tracker): Likewise. (maybe_add_completion_enum): New enum. (maybe_add_completion): New declaration. (throw_max_completions_reached_error): Likewise. * completer.c (max_completions): New global variable. (new_completion_tracker): New function. (free_completion_tracker): Likewise. (make_cleanup_free_completion_tracker): Likewise. (maybe_add_completions): Likewise. (throw_max_completions_reached_error): Likewise. (complete_line): Remove duplicates and limit result to max_completions entries. (get_max_completions_reached_message): New function. (gdb_display_match_list): Handle max_completions. (_initialize_completer): New declaration and function. * symtab.c: Include completer.h. (completion_tracker): New static variable. (completion_list_add_name): Call maybe_add_completion. (default_make_symbol_completion_list_break_on_1): Renamed from default_make_symbol_completion_list_break_on. Maintain completion_tracker across calls to completion_list_add_name. (default_make_symbol_completion_list_break_on): New function. * top.c (init_main): Set rl_completion_display_matches_hook. * tui/tui-io.c: Include completer.h. (tui_old_rl_display_matches_hook): New static global. (tui_rl_display_match_list): Notify user if max-completions reached. (tui_setup_io): Save/restore rl_completion_display_matches_hook. * NEWS (New Options): Mention set/show max-completions. gdb/doc/ChangeLog: * gdb.texinfo (Command Completion): Document new "set/show max-completions" option. gdb/testsuite/ChangeLog: * gdb.base/completion.exp: Disable completion limiting for existing tests. Add new tests to check completion limiting. * gdb.linespec/ls-errs.exp: Disable completion limiting. commit ef0b411a110cd2602cb89c3fb237baf8beb28545 Author: Gary Benson Date: Sat Jan 31 15:07:22 2015 -0800 Add max-completions parameter, and implement tab-completion limiting. This commit adds a new exception, MAX_COMPLETIONS_REACHED_ERROR, to be thrown whenever the completer has generated too many candidates to be useful. A new user-settable variable, "max_completions", is added to control this behaviour. A top-level completion limit is added to complete_line_internal, as the final check to ensure the user never sees too many completions. An additional limit is added to default_make_symbol_completion_list_break_on, to halt time-consuming symbol table expansions. gdb/ChangeLog: PR cli/9007 PR cli/11920 PR cli/15548 * cli/cli-cmds.c (complete_command): Notify user if max-completions reached. * common/common-exceptions.h (enum errors) : New value. * completer.h (get_max_completions_reached_message): New declaration. (max_completions): Likewise. (completion_tracker_t): New typedef. (new_completion_tracker): New declaration. (make_cleanup_free_completion_tracker): Likewise. (maybe_add_completion_enum): New enum. (maybe_add_completion): New declaration. (throw_max_completions_reached_error): Likewise. * completer.c (max_completions): New global variable. (new_completion_tracker): New function. (free_completion_tracker): Likewise. (make_cleanup_free_completion_tracker): Likewise. (maybe_add_completions): Likewise. (throw_max_completions_reached_error): Likewise. (complete_line): Remove duplicates and limit result to max_completions entries. (get_max_completions_reached_message): New function. (gdb_display_match_list): Handle max_completions. (_initialize_completer): New declaration and function. * symtab.c: Include completer.h. (completion_tracker): New static variable. (completion_list_add_name): Call maybe_add_completion. (default_make_symbol_completion_list_break_on_1): Renamed from default_make_symbol_completion_list_break_on. Maintain completion_tracker across calls to completion_list_add_name. (default_make_symbol_completion_list_break_on): New function. * top.c (init_main): Set rl_completion_display_matches_hook. * tui/tui-io.c: Include completer.h. (tui_old_rl_display_matches_hook): New static global. (tui_rl_display_match_list): Notify user if max-completions reached. (tui_setup_io): Save/restore rl_completion_display_matches_hook. * NEWS (New Options): Mention set/show max-completions. gdb/doc/ChangeLog: * gdb.texinfo (Command Completion): Document new "set/show max-completions" option. gdb/testsuite/ChangeLog: * gdb.base/completion.exp: Disable completion limiting for existing tests. Add new tests to check completion limiting. * gdb.linespec/ls-errs.exp: Disable completion limiting. commit e11c72c7e4879894b9711b5c0b8247c20c6050f6 Author: Gary Benson Date: Sat Jan 31 14:48:29 2015 -0800 Build list of completions as symbol tables are expanded. This commit makes default_make_symbol_completion_list_break_on build the list of completions as it expands the necessary symbol tables, rather than expanding all necessary symbol tables first and then building the completion lists second. This allows for the early termination of symbol table expansion if required. gdb/ChangeLog: * symtab.c (struct add_name_data) : New field. Updated comments. (add_symtab_completions): New function. (symtab_expansion_callback): Likewise. (default_make_symbol_completion_list_break_on): Set datum.code. Move minimal symbol scan before calling expand_symtabs_matching. Scan known primary symtabs for externs and statics before calling expand_symtabs_matching. Pass symtab_expansion_callback as expansion_notify argument to expand_symtabs_matching. Do not scan primary symtabs for externs and statics after calling expand_symtabs_matching. commit 276d885b572b12221f639641846ab94ef9582995 Author: Gary Benson Date: Sat Jan 31 14:45:26 2015 -0800 new callback parameter expansion_notify for expand_symtabs_matching This commit adds a new callback parameter, "expansion_notify", to the top-level expand_symtabs_matching function and to all the vectorized functions it defers to. If expansion_notify is non-NULL, it will be called every time a symbol table is expanded. gdb/ChangeLog: * symfile.h (expand_symtabs_exp_notify_ftype): New typedef. (struct quick_symbol_functions) : New argument expansion_notify. All uses updated. (expand_symtabs_matching): New argument expansion_notify. All uses updated. * symfile-debug.c (debug_qf_expand_symtabs_matching): Also print expansion notify. * symtab.c (expand_symtabs_matching_via_partial): Call expansion_notify whenever a partial symbol table is expanded. * dwarf2read.c (dw2_expand_symtabs_matching): Call expansion_notify whenever a symbol table is instantiated. commit 5dd31d7995882a43fab9b35b11775499126d7bd8 Author: Doug Evans Date: Sat Jan 31 14:26:54 2015 -0800 gdb.ada/dyn_arrayidx.exp: Add additional_flags=-gnat12. gdb/testsuite/ChangeLog: * gdb.ada/dyn_arrayidx.exp: Add additional_flags=-gnat12. commit 05cdcf3d36ce579b3bf8c45badee7974b6adb88d Author: Doug Evans Date: Sat Jan 31 14:17:16 2015 -0800 Remove premature comments from previous patch to completer.c These comments are for a followup patch. commit 82083d6dbbc0b2f6a76095582c6e7ffb3e06432a Author: Doug Evans Date: Sat Jan 31 14:11:54 2015 -0800 Unify CLI/TUI interface to readline tab completion. This copies a lot of code from readline, but this is temporary. Readline currently doesn't export what we need. The plan is to have something that has been working for awhile, and then we'll have a complete story to present to the readline maintainers. gdb/ChangeLog: * cli-out.c: #include completer.h, readline/readline.h. (cli_mld_crlf, cli_mld_putch, cli_mld_puts): New functions. (cli_mld_flush, cld_mld_erase_entire_line): Ditto. (cli_mld_beep, cli_mld_read_key, cli_display_match_list): Ditto. * cli-out.h (cli_display_match_list): Declare. * completer.c (MB_INVALIDCH, MB_NULLWCH): New macros. (ELLIPSIS_LEN): Ditto. (gdb_get_y_or_n, gdb_display_match_list_pager): New functions. (gdb_path_isdir, gdb_printable_part, gdb_fnwidth): Ditto. (gdb_fnprint, gdb_print_filename): Ditto. (gdb_complete_get_screenwidth, gdb_display_match_list_1): Ditto. (gdb_display_match_list): Ditto. * completer.h (mld_crlf_ftype, mld_putch_ftype): New typedefs. (mld_puts_ftype, mld_flush_ftype, mld_erase_entire_line_ftype): Ditto. (mld_beep_ftype, mld_read_key_ftype): Ditto. (match_list_displayer): New struct. (gdb_display_match_list): Declare. * top.c (init_main): Set rl_completion_display_matches_hook. * tui/tui-io.c: #include completer.h. (printable_part, PUTX, print_filename, get_y_or_n): Delete. (tui_mld_crlf, tui_mld_putch, tui_mld_puts): New functions. (tui_mld_flush, tui_mld_erase_entire_line, tui_mld_beep): Ditto. (tui_mld_getc, tui_mld_read_key): Ditto. (tui_rl_display_match_list): Rewrite. (tui_handle_resize_during_io): New arg for_completion. All callers updated. commit f57d2163da62044205c3f53e0ecf186923296b63 Author: Doug Evans Date: Sat Jan 31 13:29:33 2015 -0800 Add symbol lookup cache. gdb/ChangeLog: Add symbol lookup cache. * NEWS: Document new options and commands. * symtab.c (symbol_cache_key): New static global. (DEFAULT_SYMBOL_CACHE_SIZE, MAX_SYMBOL_CACHE_SIZE): New macros. (SYMBOL_LOOKUP_FAILED): New macro. (symbol_cache_slot_state): New enum. (block_symbol_cache): New struct. (symbol_cache): New struct. (new_symbol_cache_size, symbol_cache_size): New static globals. (hash_symbol_entry, eq_symbol_entry): New functions. (symbol_cache_byte_size, resize_symbol_cache): New functions. (make_symbol_cache, free_symbol_cache): New functions. (get_symbol_cache, symbol_cache_cleanup): New function. (set_symbol_cache_size, set_symbol_cache_size_handler): New functions. (symbol_cache_lookup, symbol_cache_clear_slot): New function. (symbol_cache_mark_found, symbol_cache_mark_not_found): New functions. (symbol_cache_flush, symbol_cache_dump): New functions. (maintenance_print_symbol_cache): New function. (maintenance_flush_symbol_cache): New function. (symbol_cache_stats): New function. (maintenance_print_symbol_cache_statistics): New function. (symtab_new_objfile_observer): New function. (symtab_free_objfile_observer): New function. (lookup_static_symbol, lookup_global_symbol): Use symbol cache. (_initialize_symtab): Init symbol_cache_key. New parameter maint symbol-cache-size. New maint commands print symbol-cache, print symbol-cache-statistics, flush-symbol-cache. Install new_objfile, free_objfile observers. gdb/doc/ChangeLog: * gdb.texinfo (Symbols): Document new commands "maint print symbol-cache", "maint print symbol-cache-statistics", "maint flush-symbol-cache". Document new option "maint set symbol-cache-size". commit e700d1b279b26d4b7d86cfae70d2e022ee748068 Author: Joel Brobecker Date: Sat Jan 31 12:43:02 2015 -0800 PR symtab/17855 gdb/ChangeLog: PR symtab/17855 * symfile.c (clear_symtab_users): Move call to breakpoint_re_set to end. commit 9f0500621b6a4908986394eb0fac151ef097f520 Author: Doug Evans Date: Sat Jan 31 12:01:13 2015 -0800 Add support for inlining scripts into .debug_gdb_scripts. include/gdb/ChangeLog: * section-scripts.h: Remove "future extension" comment. (SECTION_SCRIPT_ID_PYTHON_TEXT): New macro. (SECTION_SCRIPT_ID_SCHEME_TEXT): New macro. gdb/ChangeLog: * NEWS: Mention inlined scripts in .debug_gdb_scripts section. * auto-load.c: #include ctype.h. (struct auto_load_pspace_info): Replace member loaded_scripts with new members loaded_script_files, loaded_script_texts. (auto_load_pspace_data_cleanup): Update. (init_loaded_scripts_info): Update. (get_auto_load_pspace_data_for_loading): Update. (maybe_add_script_file): Renamed from maybe_add_script. All callers updated. (maybe_add_script_text): New function. (clear_section_scripts): Update. (source_script_file, execute_script_contents): New functions. (source_section_scripts): Add support for SECTION_SCRIPT_ID_PYTHON_TEXT, SECTION_SCRIPT_ID_GUILE_TEXT. (print_scripts): New function. (auto_load_info_scripts): Also print inlined scripts. (maybe_print_unsupported_script_warning): Renamed from unsupported_script_warning_print. All callers updated. (maybe_print_script_not_found_warning): Renamed from script_not_found_warning_print. All callers updated. * extension-priv.h (struct extension_language_script_ops): New member objfile_script_executor. * extension.c (ext_lang_objfile_script_executor): New function. * extension.h (objfile_script_executor_func): New typedef. (ext_lang_objfile_script_executor): Declare. * guile/guile-internal.h (gdbscm_execute_objfile_script): Declare. * guile/guile.c (guile_extension_script_ops): Update. * guile/scm-objfile.c (gdbscm_execute_objfile_script): New function. * python/python.c (python_extension_script_ops): Update. (gdbpy_execute_objfile_script): New function. gdb/doc/ChangeLog: * gdb.texinfo (dotdebug_gdb_scripts section): Update docs to distinguish script files vs inlined scripts. * python.texi (Python Auto-loading): Ditto. gdb/testsuite/ChangeLog: * gdb.guile/scm-section-script.c: Add duplicate inlined section script entries. Duplicate file section script entries. * gdb.guile/scm-section-script.exp: Add tests for duplicate entries, inlined entries. Add test for safe-path rejection. * gdb.python/py-section-script.c: Add duplicate inlined section script entries. Duplicate file section script entries. * gdb.python/py-section-script.exp: Add tests for duplicate entries, inlined entries. Add test for safe-path rejection. commit 312809f8838911dabff84d7ad3ccf341307d2b19 Author: Eli Zaretskii Date: Sat Jan 31 10:47:14 2015 +0200 Make sure TABs are expanded in TUI windows on MS-Windows. gdb/ 2015-01-31 Eli Zaretskii * tui/tui-io.c (tui_expand_tabs): New function. (tui_puts, tui_redisplay_readline): Expand TABs into the appropriate number of spaces. * tui/tui-regs.c: Include tui-io.h. (tui_register_format): Call tui_expand_tabs to expand TABs into the appropriate number of spaces. * tui/tui-io.h: Add prototype for tui_expand_tabs. commit b6577aab8a7e97470c5ff96000f3d0dbdb2c1ee1 Author: Doug Evans Date: Fri Jan 30 20:49:51 2015 -0800 Add producer string to output of info source. gdb/ChangeLog: * NEWS: "info source" command now display producer string if present. * source.c (source_info): Print producer string if present. gdb/doc/ChangeLog: * gdb.texinfo (Symbols) : Output now contains producer string if present. commit 230c609dce78f1db4fd3c860f0346ea4b6b46c58 Author: GDB Administrator Date: Sat Jan 31 00:00:09 2015 +0000 Automatic date update in version.in commit 6da58d3e02f50801176cfdb9006d843b5f6ab2d4 Author: Simon Marchi Date: Fri Jan 30 15:16:43 2015 -0500 Fix varobj_delete comment gdb/ChangeLog: * varobj.c (varobj_delete): Fix comment. commit 837ce2523fb0b81a8548624d204c857438c647ec Author: Simon Marchi Date: Fri Jan 30 15:14:46 2015 -0500 Mention that create_child takes ownership of the allocated name gdb/ChangeLog: * varobj.c (create_child): Modify comment. commit b09e2c591f9221d865bfe8425990a6bf9fab24e3 Author: Simon Marchi Date: Fri Jan 30 15:07:15 2015 -0500 Constify some parameters in the varobj code To make it clear that some functions should not modify the variable object, this patch adds the const qualifier where it makes sense to some struct varobj * parameters. Most getters should take a const pointer to guarantee they don't modify the object. Unfortunately, I couldn't add it to some callbacks (such as name_of_child). In the C implementation, they call c_describe_child, which calls varobj_get_path_expr. varobj_get_path_expr needs to modify the object in order to cache the computed value. It therefore can't take a const pointer, and it affects the whole call chain. I suppose that's where you would use a "mutable" in C++. I did that to make sure there was no other cases like the one fixed in the previous patch. I don't think it can hurt. gdb/ChangeLog: * ada-varobj.c (ada_number_of_children): Constify struct varobj * parameter. (ada_name_of_variable): Same. (ada_path_expr_of_child): Same. (ada_value_of_variable): Same. (ada_value_is_changeable_p): Same. (ada_value_has_mutated): Same. * c-varobj.c (varobj_is_anonymous_child): Same. (c_is_path_expr_parent): Same. (c_number_of_children): Same. (c_name_of_variable): Same. (c_path_expr_of_child): Same. (get_type): Same. (c_value_of_variable): Same. (cplus_number_of_children): Same. (cplus_name_of_variable): Same. (cplus_path_expr_of_child): Same. (cplus_value_of_variable): Same. * jv-varobj.c (java_number_of_children): Same. (java_name_of_variable): Same. (java_path_expr_of_child): Same. (java_value_of_variable): Same. * varobj.c (number_of_children): Same. (name_of_variable): Same. (is_root_p): Same. (varobj_ensure_python_env): Same. (varobj_get_objname): Same. (varobj_get_expression): Same. (varobj_get_display_format): Same. (varobj_get_display_hint): Same. (varobj_has_more): Same. (varobj_get_thread_id): Same. (varobj_get_frozen): Same. (dynamic_varobj_has_child_method): Same. (varobj_get_gdb_type): Same. (is_path_expr_parent): Same. (varobj_default_is_path_expr_parent): Same. (varobj_get_language): Same. (varobj_get_attributes): Same. (varobj_is_dynamic_p): Same. (varobj_get_child_range): Same. (varobj_value_has_mutated): Same. (varobj_get_value_type): Same. (number_of_children): Same. (name_of_variable): Same. (check_scope): Same. (varobj_editable_p): Same. (varobj_value_is_changeable_p): Same. (varobj_floating_p): Same. (varobj_default_value_is_changeable_p): Same. * varobj.h (struct lang_varobj_ops): Consitfy some struct varobj * parameters. (varobj_get_objname): Constify struct varobj * parameter. (varobj_get_expression): Same. (varobj_get_thread_id): Same. (varobj_get_frozen): Same. (varobj_get_child_range): Same. (varobj_get_display_hint): Same. (varobj_get_gdb_type): Same. (varobj_get_language): Same. (varobj_get_attributes): Same. (varobj_editable_p): Same. (varobj_floating_p): Same. (varobj_has_more): Same. (varobj_is_dynamic_p): Same. (varobj_ensure_python_env): Same. (varobj_default_value_is_changeable_p): Same. (varobj_value_is_changeable_p): Same. (varobj_get_value_type): Same. (varobj_is_anonymous_child): Same. (varobj_value_get_print_value): Same. (varobj_default_is_path_expr_parent): Same. commit 2568868e69f710e470c8698a34010daf36500a30 Author: Simon Marchi Date: Fri Jan 30 14:43:59 2015 -0500 Set varobj->path_expr in varobj_get_path_expr It seems like different languages are doing this differently (e.g. C and Ada). For C, var->path_expr is set inside c_path_expr_of_child. The next time the value is requested, is it therefore not recomputed. Ada does not set this field, but just returns the value. Since the field is never set, the value is recomputed every time it is requested. This patch makes it so that path_expr_of_child's only job is to compute the path expression, not save/cache the value. The field is set by the varobj common code. gdb/ChangeLog: * varobj.c (varobj_get_path_expr): Set var->path_expr. * c-varobj.c (c_path_expr_of_child): Set local var instead of child->path_expr. (cplus_path_expr_of_child): Same. commit ca83fa81892ab61870295cb5397c59daff1a55e0 Author: Simon Marchi Date: Fri Jan 30 13:56:56 2015 -0500 Free results of varobj_get_expression varobj_get_expression returns an allocated string, which must be freed by the caller. gdb/ChangeLog: * mi-cmd-var.c (print_varobj): Free varobj_get_expression result. (mi_cmd_var_info_expression): Same. * varobj.c (varobj_get_expression): Mention in the comment that the result must by freed by the caller. commit afa269ae41673cd5cc5f50d683a0f2d275a643e8 Author: Simon Marchi Date: Fri Jan 30 13:54:50 2015 -0500 Free results of varobj_get_type and type_to_string varobj_get_type and type_to_string return an allocated string, which is not freed at a couple of places. New in v2: * Rename char * type to type_name. * Free in all cases in update_type_if_necessary. gdb/ChangeLog: * mi/mi-cmd-var.c (mi_cmd_var_info_type): Free result of varobj_get_type. (varobj_update_one): Same. * varobj.c (update_type_if_necessary): Free curr_type_str and new_type_str. (varobj_get_type): Specify in comment that the result needs to be freed by the caller. commit 9fc1d6863b1f46fd639afc3dfbe0b4c6d809ac05 Author: GDB Administrator Date: Fri Jan 30 00:00:28 2015 +0000 Automatic date update in version.in commit 1a215085d4bc09f76028c323ca3729abbd822bae Author: H.J. Lu Date: Thu Jan 29 11:11:03 2015 -0800 Move -rc before $aropts * lib/ld-lib.exp (ar_simple_create): Move -rc before $aropts. commit cd366ee8c6ca1dfe8aa11540402904b64775b208 Author: Doug Evans Date: Thu Jan 29 10:26:38 2015 -0800 PR symtab/17890 gdb/ChangeLog: PR symtab/17890 * dwarf2read.c (dwarf_decode_line_header): Punt if version > 4. commit fa89cc82f5ca51f3135a9f2043b85b6a16c205eb Author: Han Shen Date: Thu Jan 29 10:00:46 2015 -0800 This patch adds IFUNC support for arm gold backend. This is a feature required in chromeos arm development work. Tested: 1) Built passed all-gold on x86_64 machine 2) Tested with basic gold aarch64 ifunc unittests - a) global ifunc, statically/non-statically linked b) local ifunc, statically/non-statically linked c) global/local, other shared library routine mixed, statically/non-statically linked d) arm/thumb mode ifunc e) linking chrome browser passed commit 716db898b72787d0d342c639c421cdd97f3afe9c Author: H.J. Lu Date: Thu Jan 29 04:56:39 2015 -0800 Remove plugin_active_plugins_p() Replace plugin_active_plugins_p() with link_info.lto_plugin_active. * ldfile.c (ldfile_try_open_bfd): Replace plugin_active_plugins_p() with link_info.lto_plugin_active. * ldlang.c (lang_process): Likewise. * ldmain.c (add_archive_element): Likewise. * plugin.c (plugin_active_plugins_p): Removed. * plugin.h (plugin_active_plugins_p): Likewise. commit 38360086aea4f956dcd4ba406318595ea11f7dea Author: Mark Wielaard Date: Sun Jan 25 11:20:39 2015 +0100 Merge GCC producer parsers. Allow digits in identifiers. Both dwarf2read.c (checkproducer) and utils.c (producer_is_gcc_ge_4) implemented a GCC producer parser that tried to extract the major and minor version of GCC. Merge them into one GCC producer parser used by both. Also allow digits in the identifier after "GNU " such as used by GCC5 like: "GNU C11 5.0.0 20150123 (experimental) -mtune=generic -march=x86-64 -gdwarf-5" gdb/ChangeLog: * dwarf2read.c (checkproducer): Call producer_is_gcc. * utils.c (producer_is_gcc_ge_4): Likewise. (producer_is_gcc): New function. * utils.h (producer_is_gcc): New declaration. commit 0f81d3f0a799c6e8c2a89d7f519916e3c9c0f65e Author: Alan Modra Date: Thu Jan 29 20:33:26 2015 +1030 Correct GOLD PowerPC64 local-dynamic TLS linker optimization Similar to b86ac8e3 * powerpc.cc (Target_powerpc::Relocate::relocate): Correct GOT_TLSLD and GOT_TLSGD to LE optimization. commit ea16498d5a740e2888feb2f8bce92d9565baf244 Author: Kuan-Lin Chen Date: Thu Jan 29 15:49:02 2015 +0800 NDS32: Set branch instruction to relaxable. Relaxable fragments can be relaxed when there are alignment requirements. Besides, insert a dummy fragment in the final to make sure that all alignment is traversed. Finally, convert these fragments in md_convert_frag with relax_table. commit 3d7ad9b42685b426329370cdb8bebc9cda6d8911 Author: Joel Brobecker Date: Thu Jan 29 12:10:12 2015 +0400 Fix patch author issue in gdb/ChangeLog entry. commit df25ebbd091aebc132f97ffd6ce9cf7964a57981 Author: Joel Brobecker Date: Mon Jan 5 14:32:36 2015 +0400 gdb/DWARF: Support for arrays whose bound is a discriminant. Consider the following declarations: type Array_Type is array (Integer range <>) of Integer; type Record_Type (N : Integer) is record A : Array_Type (1 .. N); end record; R : Record_Type := Get (10); It defines what Ada programers call a "discriminated record", where "N" is a component of that record called a "discriminant", and where "A" is a component defined as an array type whose upper bound is equal to the value of the discriminant. So far, we rely on a number of fairly complex GNAT-specific encodings to handle this situation. This patch is to enhance GDB to be able to print this record in the case where the compiler has been modified to replace those encodings by pure DWARF constructs. In particular, the debugging information generated for the record above looks like the following. "R" is a record.. .uleb128 0x10 # (DIE (0x13e) DW_TAG_structure_type) .long .LASF17 # DW_AT_name: "foo__record_type" ... whose is is of course dynamic (not our concern here)... .uleb128 0xd # DW_AT_byte_size .byte 0x97 # DW_OP_push_object_address .byte 0x94 # DW_OP_deref_size .byte 0x4 .byte 0x99 # DW_OP_call4 .long 0x19b .byte 0x23 # DW_OP_plus_uconst .uleb128 0x7 .byte 0x9 # DW_OP_const1s .byte 0xfc .byte 0x1a # DW_OP_and .byte 0x1 # DW_AT_decl_file (foo.adb) .byte 0x6 # DW_AT_decl_line ... and then has 2 members, fist "n" (our discriminant); .uleb128 0x11 # (DIE (0x153) DW_TAG_member) .ascii "n\0" # DW_AT_name .byte 0x1 # DW_AT_decl_file (foo.adb) .byte 0x6 # DW_AT_decl_line .long 0x194 # DW_AT_type .byte 0 # DW_AT_data_member_location ... and "A"... .uleb128 0x11 # (DIE (0x181) DW_TAG_member) .ascii "a\0" # DW_AT_name .long 0x15d # DW_AT_type .byte 0x4 # DW_AT_data_member_location ... which is an array ... .uleb128 0x12 # (DIE (0x15d) DW_TAG_array_type) .long .LASF18 # DW_AT_name: "foo__record_type__T4b" .long 0x194 # DW_AT_type ... whose lower bound is implicitly 1, and the upper bound a reference to DIE 0x153 = "N": .uleb128 0x13 # (DIE (0x16a) DW_TAG_subrange_type) .long 0x174 # DW_AT_type .long 0x153 # DW_AT_upper_bound This patch enhanced GDB to understand references to other DIEs where the DIE's address is at an offset of its enclosing type. The difficulty was that the address used to resolve the array's type (R's address + 4 bytes) is different from the address used as the base to compute N's address (an offset to R's address). We're solving this issue by using a stack of addresses rather than a single address when trying to resolve a type. Each address in the stack corresponds to each containing level. For instance, if resolving the field of a struct, the stack should contain the address of the field at the top, and then the address of the struct. That way, if the field makes a reference to an object of the struct, we can retrieve the address of that struct, and properly resolve the dynamic property references that struct. gdb/ChangeLog: * gdbtypes.h (struct dynamic_prop): New PROP_ADDR_OFFSET enum kind. * gdbtypes.c (resolve_dynamic_type_internal): Replace "addr" parameter by "addr_stack" parameter. (resolve_dynamic_range): Replace "addr" parameter by "stack_addr" parameter. Update function documentation. Update code accordingly. (resolve_dynamic_array, resolve_dynamic_union) (resolve_dynamic_struct, resolve_dynamic_type_internal): Likewise. (resolve_dynamic_type): Update code, following the changes made to resolve_dynamic_type_internal's interface. * dwarf2loc.h (struct property_addr_info): New. (dwarf2_evaluate_property): Replace "address" parameter by "addr_stack" parameter. Adjust function documentation. (struct dwarf2_offset_baton): New. (struct dwarf2_property_baton): Update documentation of field "referenced_type" to be more general. New field "offset_info" in union data field. * dwarf2loc.c (dwarf2_evaluate_property): Replace "address" parameter by "addr_stack" parameter. Adjust code accordingly. Add support for PROP_ADDR_OFFSET properties. * dwarf2read.c (attr_to_dynamic_prop): Add support for DW_AT_data_member_location attributes as well. Use case statements instead of if/else condition. gdb/testsuite/ChangeLog: * gdb.ada/disc_arr_bound: New testcase. Tested on x86_64-linux, no regression. commit 4a0ca9ec1ee3bc18da72ce42cdd7c2959e58aa76 Author: Joel Brobecker Date: Wed Jan 14 18:39:24 2015 +0400 [Ada/varobj] number of children of null pointer to dynamic array. This is preparation work to avoid a regression in the Ada/varobj. An upcoming patch is going to add support for types in DWARF which have dynamic properties whose value is a reference to another DIE. Consider for instance the following declaration: type Variant_Type (N : Int := 0) is record F : String(1 .. N) := (others => 'x'); end record; type Variant_Type_Access is access all Variant_Type; VTA : Variant_Type_Access := null; This declares a variable "VTA" which is an access (=pointer) to a variant record Variant_Type. This record contains two components, the first being "N" (the discriminant), and the second being "F", an array whose lower bound is 1, and whose upper bound depends on the value of "N" (the discriminant). Of interest to us, here, is that second component ("F"), and in particular its bounds. The debugging info, and in particular the info for the array looks like the following... .uleb128 0x9 # (DIE (0x91) DW_TAG_array_type) .long .LASF16 # DW_AT_name: "bar__variant_type__T2b" .long 0xac # DW_AT_GNAT_descriptive_type .long 0x2cb # DW_AT_type .long 0xac # DW_AT_sibling .uleb128 0xa # (DIE (0xa2) DW_TAG_subrange_type) .long 0xc4 # DW_AT_type .long 0x87 # DW_AT_upper_bound .byte 0 # end of children of DIE 0x91 ... where the upper bound of the array's subrange type is a reference to "n"'s DIE (0x87): .uleb128 0x8 # (DIE (0x87) DW_TAG_member) .ascii "n\0" # DW_AT_name [...] Once the patch to handle this dynamic property gets applied, this is what happens when creating a varobj for variable "VTA" (whose value is null), and then trying to list its children: (gdb) -var-create vta * vta ^done,name="vta",numchild="2",value="0x0", type="bar.variant_type_access",has_more="0" (gdb) -var-list-children 1 vta ^done,numchild="2", children=[child={name="vta.n",[...]}, child={name="vta.f",exp="f", numchild="43877616", <<<<----- value="[43877616]", <<<<----- type="array (1 .. n) of character"}], has_more="0" It has an odd number of children. In this case, we cannot really determine the number of children, since that number depends on the value of a field in a record for which we do not have a value. Up to now, the value we've been displaying is zero - meaning we have an empty array. What happens in this case, is that, because the VTA is a null pointer, we're not able to resolve the pointer's target type, and therefore end up asking ada_varobj_get_array_number_of_children to return the number of elements in that array; for that, it relies blindly on get_array_bounds, which assumes the type is no longer dynamic, and therefore the reads the bound without seeing that it's value is actually a reference rather than a resolved constant. This patch prevents the issue by explicitly handling the case of dynamic arrays, and returning zero child in that case. gdb/ChangeLog: * ada-varobj.c (ada_varobj_get_array_number_of_children): Return zero if PARENT_VALUE is NULL and parent_type's range type is dynamic. gdb/testsuite/ChangeLog: * gdb.ada/mi_var_array: New testcase. Tested on x86_64-linux. commit ddb87a81ac5b031da67fb251b2c11a94e9834ae3 Author: Joel Brobecker Date: Mon Jan 5 18:39:02 2015 +0400 gdb/DWARF: dynamic subrange type of dynamic subrange type. Consider the following code: type Record_Type (N : Integer) is record A : Array_Type (1 .. N); end record; [...] R : Record_Type := Get (10); Trying to print the bounds of the array R.A yielded: (gdb) p r.a'last $4 = cannot find reference address for offset property A slightly different example, but from the same cause: (gdb) ptype r type = record n: integer; a: array (cannot find reference address for offset property Looking at the debugging info, "A" is described as... .uleb128 0x11 # (DIE (0x181) DW_TAG_member) .ascii "a\0" # DW_AT_name .long 0x15d # DW_AT_type [...] ... which is an array... .uleb128 0x12 # (DIE (0x15d) DW_TAG_array_type) .long .LASF18 # DW_AT_name: "foo__record_type__T4b" .long 0x194 # DW_AT_type .long 0x174 # DW_AT_sibling ... whose bounds are described as: .uleb128 0x13 # (DIE (0x16a) DW_TAG_subrange_type) .long 0x174 # DW_AT_type .long 0x153 # DW_AT_upper_bound .byte 0 # end of children of DIE 0x15d We can see above that the range has an implict lower value of 1, and an upper value which is a reference 0x153="n". All Good. But looking at the array's subrange subtype, we see... .uleb128 0x14 # (DIE (0x174) DW_TAG_subrange_type) .long 0x153 # DW_AT_upper_bound .long .LASF19 # DW_AT_name: "foo__record_type__T3b" .long 0x18d # DW_AT_type ... another subrange type whose bounds are exactly described the same way. So we have a subrange of a subrange, both with one bound that's dynamic. What happens in the case above is that GDB's resolution of "R.A" yields a array whose index type has static bounds. However, the subtype of the array's index type was left untouched, so, when taking the subtype of the array's subrange type, we were left with the unresolved subrange type, triggering the error above. gdb/ChangeLog: * gdbtypes.c (is_dynamic_type_internal) : Return nonzero if the type's subtype is dynamic. (resolve_dynamic_range): Also resolve the range's subtype. Tested on x86_64-linux, no regression. commit 7a270e0c9ba0eb738a4c30258ab29c09963fcd4d Author: Alexander Klimov Date: Tue Jan 27 19:56:45 2015 +0200 Fix build failure in symfile.c::unmap_overlay_command (GCC5 bug) Compilation of (GDB) 7.9.50.20150127-cvs with (GCC) 5.0.0 20150127 fails with In file included from symfile.c:32:0: symfile.c: In function 'unmap_overlay_command': objfiles.h:628:3: error: 'sec' may be used uninitialized in this function [-Werror=maybe-uninitialized] for (osect = objfile->sections; osect < objfile->sections_end; osect++) \ ^ symfile.c:3442:23: note: 'sec' was declared here struct obj_section *sec; ^ cc1: all warnings being treated as errors make[2]: *** [symfile.o] Error 1 make[2]: Leaving directory `gdb/gdb' While the bug was reported to GCC as , the attached patch simply initializes sec with NULL. gdb/ChangeLog: * symfile.c (unmap_overlay_command): Initialize sec to NULL. Tested on x86_64-linux. commit b86ac8e3a5a3117696b1760003b8e09ed13f1de9 Author: Alan Modra Date: Thu Jan 29 11:09:55 2015 +1030 Correct PowerPC64 local-dynamic TLS linker optimization The linker hardcoded r3 into a local-dynamic to local-exec TLS optimization sequence. This is normally the case since r3 is required as a parameter to (the optimized out) __tls_get_addr call. However, it is possible for a compiler, LLVM in this case, to set up the parameter value in another register then copy it to r3 before the call. When fixing this problem, I noticed that ppc32 had another bug when optimizing away one of the TLS insns to a nop. The patch also tidies a mask used by global-dynamic to initial-exec TLS optimization, to just select the fields needed. Leaving the offset in the instruction wasn't a bug since it will be overwritten anyway. bfd/ * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD optimization. Tidy mask for GOT_TLSGD optimization. * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Correct location of nop zapping high insn too. ld/testsuite/ * ld-powerpc/tlsld.d, * ld-powerpc/tlsld.s: New test. * ld-powerpc/tlsld32.d, * ld-powerpc/tlsld32.s: New test. * ld-powerpc/powerpc.exp: Run them. Move tocvar and tocnovar. commit 912ae7dd0fa4658133d4fb77954a57c8548c37d6 Author: GDB Administrator Date: Thu Jan 29 00:00:13 2015 +0000 Automatic date update in version.in commit 65d9213705654383804ab8af707975f0721c4a6d Author: Cary Coutant Date: Wed Jan 28 15:39:08 2015 -0800 Allow undefined references to TLS symbols. When --warn-unresolved-symbols is used, gold tries to create a dynamic relocation for it, and gives an internal error if the TLS segment has not already been created. This patch allows the IE-to-LE optimization for an undefined symbol when building an executable, which suppresses the dynamic relocation, and relaxes the requirement to have a TLS segment when applying a relocation for an undefined symbol. 2015-01-28 Cary Coutant gold/ * x86_64.cc (Target_x86_64::Scan::global): Allow IE-to-LE optimization for undef TLS symbols. (Target_x86_64::Relocate::relocate_tls): Likewise. (Target_x86_64::Relocate::tls_ie_to_le): Likewise. commit 37a3056ad4d02a5295e0288d630dea377907a60c Author: H.J. Lu Date: Wed Jan 28 12:56:18 2015 -0800 Make plugin_get_ir_dummy_bfd static * plugin.h (plugin_get_ir_dummy_bfd): Removed. Move comments to ... * plugin.c (plugin_get_ir_dummy_bfd): Here. Make it static. commit 15f7a26b0f42be812b0471ec09d91bad696fe26e Author: H.J. Lu Date: Wed Jan 28 10:27:31 2015 -0800 The initial support for LDPT_GET_VIEW This patch adds the initial support for LDPT_GET_VIEW. ld/ PR ld/17878 * plugin.c (tv_header_tags(): Add LDPT_GET_VIEW. (get_view): New function. (set_tv_header): Handle LDPT_GET_VIEW. * testplug.c (tag_names): Add LDPT_GET_VIEW. (tv_get_view): New. (dump_tv_tag): Handle LDPT_GET_VIEW. (parse_tv_tag): Likewise. ld/testsuite/ PR ld/17878 * ld-plugin/plugin-1.d: Add LDPT_GET_VIEW. * ld-plugin/plugin-10.d: Likewise. * ld-plugin/plugin-11.d: Likewise. * ld-plugin/plugin-2.d: Likewise. * ld-plugin/plugin-3.d: Likewise. * ld-plugin/plugin-4.d: Likewise. * ld-plugin/plugin-5.d: Likewise. * ld-plugin/plugin-6.d: Likewise. * ld-plugin/plugin-7.d: Likewise. * ld-plugin/plugin-8.d: Likewise. * ld-plugin/plugin-9.d: Likewise. commit 61b86cb1948c47e5e6c49b25f33d11ac002c27cf Author: Jan Beulich Date: Wed Jan 28 10:04:51 2015 +0100 ld: don't use ia64 register name in expression of pr16322 test "f1" is a register name on ia64, and hence gets warned upon when used as expression value: .../binutils/2.25/ld/testsuite/ld-elf/pr16322.s: Assembler messages: .../binutils/2.25/ld/testsuite/ld-elf/pr16322.s:6: Warning: register value used as expression Change the name (and "p1" at once, which is a register name too, albeit not currently causing any immediate problem). ld/testsuite/ 2015-01-28 Jan Beulich * ld-elf/pr16322.s (p1): Rename to px1. (f1): Rename to fx1. commit dbd1e97e32057af2841e5150daa2e2d4cb046a3b Author: Alan Modra Date: Tue Jan 27 23:40:05 2015 +1030 PowerPC64 changes for xlc The changes to reorder sections for better relro protection on powerpc64, 3e2b0f31, 23283c1b, and 5ad18f16, run into a problem with xlc. xlc -qdatalocal puts global variables into .toc, which means that .toc must be writable. The simplest way to accomplish this is to edit the linker script to remove .toc sections from .got on detecting xlc object files. bfd/ * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc". * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols in .toc indicate xlc compiled code that might require a rw .toc. ld/ * emulparams/elf64ppc.sh (INITIAL_READWRITE_SECTIONS): Define. * emultempl/ppc64elf.em (params): Init new field. (ppc_after_open): New function. (LDEMUL_AFTER_OPEN): Define. * ldlang.c (lang_final): Whitespace fix. ld/testsuite/ * ld-powerpc/tocvar.d, * ld-powerpc/tocvar.s: New test. * ld-powerpc/tocnovar.d, * ld-powerpc/tocnovar.s: New test. * ld-powerpc/powerpc.exp: Run tocvar and tocnovar. commit 3f8107ab38095bb3db840f9f14a0fd339f55e06e Author: Alan Modra Date: Wed Jan 28 15:36:43 2015 +1030 FT32 initial support FT32 is a new 32-bit RISC core developed by FTDI for embedded applications. * configure.ac: Add FT32 support. * configure: Regenerate. bfd/ * Makefile.am: Add FT32 files. * archures.c (enum bfd_architecture): Add bfd_arch_ft32. (bfd_mach_ft32): Define. (bfd_ft32_arch): Declare. (bfd_archures_list): Add bfd_ft32_arch. * config.bfd: Handle FT32. * configure.ac: Likewise. * cpu-ft32.c: New file. * elf32-ft32.c: New file. * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17, BFD_RELOC_FT32_18): Define. * targets.c (_bfd_target_vector): Add ft32_elf32_vec. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * Makefile.in: Regenerate. * configure: Regenerate. * po/SRC-POTFILES.in: Regenerate. binutils/ * readelf.c: Add FT32 support. gas/ * Makefile.am: Add FT32 files. * config/tc-ft32.c: New file. * config/tc-ft32.h: New file. * configure.tgt: Add FT32 support. * Makefile.in: Regenerate. * po/POTFILES.in: Regenerate. gas/testsuite/ * gas/ft32/ft32.exp: New file. * gas/ft32/insn.d: New file. * gas/ft32/insn.s: New file. include/ * dis-asm.h (print_insn_ft32): Declare. include/elf/ * common.h (EM_FT32): Define. * ft32.h: New file. include/opcode/ * ft32.h: New file. ld/ * Makefile.am: Add FT32 files. * configure.tgt: Handle FT32 target. * emulparams/elf32ft32.sh: New file. * scripttempl/ft32.sc: New file. * Makefile.in: Regenerate. opcodes/ * Makefile.am: Add FT32 files. * configure.ac: Handle FT32. * disassemble.c (disassembler): Call print_insn_ft32. * ft32-dis.c: New file. * ft32-opc.c: New file. * Makefile.in: Regenerate. * configure: Regenerate. * po/POTFILES.in: Regenerate. commit cc9ad334a71b0c032f711e86885fb73821f3be16 Author: Senthil Kumar Selvaraj Date: Wed Jan 28 15:01:50 2015 +1030 Allow symbols in MEMORY region specification This patch fixes PR 4643 by allowing symbols in the LENGTH and ORIGIN fields of MEMORY regions. Previously, only constants and constant expressions are allowed. For the AVR target, this helps define memory constraints more accurately (per device), without having to create a ton of device specific linker scripts. ld/ PR 4643 * ldexp.c (fold_name): Fold LENGTH only after lang_first_phase_enum. * ldgram.y (memory_spec): Don't evaluate ORIGIN and LENGTH rightaway. * ldlang.h (struct memory_region_struct): Add origin_exp and length_exp fields. * ldlang.c (lang_do_memory_regions): New. (lang_memory_region_lookup): Initialize origin_exp and length_exp fields. (lang_process): Call lang_do_memory_regions. ld/testsuite/ * ld-scripts/memory.t: Define new symbol tred. * ld-scripts/memory_sym.t: New. * ld-scripts/script.exp: Perform MEMORY with symbols test, and conditionally check values of linker symbols. commit e5fe4957b4513015b40472086f22cf8723b95773 Author: Kuan-Lin Chen Date: Wed Jan 28 09:12:59 2015 +0800 NDS32/opcodes: Add new system registers. commit d1fc593cb8cfa2b4b4d9c0b8090b6b1f597008cb Author: GDB Administrator Date: Wed Jan 28 00:00:13 2015 +0000 Automatic date update in version.in commit 3a8b707add581af37804947536025dd3e7fc1a33 Author: Doug Evans Date: Tue Jan 27 10:13:52 2015 -0800 Add gdb.Objfile.username. gdb/ChangeLog: * NEWS: Mention gdb.Objfile.username. * python/py-objfile.c (objfpy_get_username): New function. (objfile_getset): Add "username". gdb/doc/ChangeLog: * python.texi (Objfiles In Python): Document Objfile.username. gdb/testsuite/ChangeLog: * gdb.python/py-objfile.exp: Add tests for objfile.username. Add test for objfile.filename, objfile.username after objfile has been unloaded. commit 1b5493961ab1f65a3336b2178ba3d035a130f9f6 Author: Doug Evans Date: Tue Jan 27 10:03:15 2015 -0800 Improve docs of objfile filename method. gdb/doc/ChangeLog: * python.texi (Objfiles In Python) : Improve docs. * guile.texi (Objfiles In Guile) : Improve docs. commit 0897ec15810bca3420ea7b8a91e491ed45780202 Author: Nick Clifton Date: Tue Jan 27 17:32:23 2015 +0000 Fixes for invalid memory accesses triggered by running windres on corrupt binaries. PR binutils/17512 * rcparse.y: Add checks to avoid integer divide by zero. * rescoff.c (read_coff_rsrc): Add check on the size of the resource section. (read_coff_res_dir): Add check on the nesting level. Check for resource names overrunning the buffer. * resrc.c (write_rc_messagetable): Update formatting. Add check of 'elen' being zero. commit 877a8638ba563c667eb5358240334c473d0573a1 Author: Nick Clifton Date: Tue Jan 27 15:49:12 2015 +0000 Fixes for memory access violations triggered by running addr2line on fuzzed binaries. PR binutils/17512 * addr2line.c (slurp_symtab): If the symcount is zero, free the symbol table pointer. * dwarf2.c (concat_filename): Check for an empty directory table. (scan_unit_for_symbols): Check for reading off the end of the unit. (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a non-string form. * elf64-ppc.c (opd_entry_value): Fail if there are no relocs available. commit 37e3922eed415bbedd2dd6e46308fe9e03417770 Author: Nick Clifton Date: Tue Jan 27 11:30:15 2015 +0000 Fix memory access violations triggered by running dlltool on corrupt binaries. PR binutils/17512 * dlltool.c (identify_search_archive): If the last archive was the same as the current archive, terminate the loop. * pdp11.c (aout_get_external_symbols): Return false if there are no symbols. commit 20d79870f35f646e87c43d8c4fee936b4e0ed5a6 Author: Kuan-Lin Chen Date: Tue Jan 27 11:19:13 2015 +0800 NDS32/gas: Limit the format of pseudo instruction la. commit 3bd3aeb46126494401e2f265b55fc255d5c5b517 Author: Kuan-Lin Chen Date: Tue Jan 27 11:08:07 2015 +0800 NDS32/gas: Fix md_parse_name hook. commit 6f21bfab08368c1a6c9d950a14e3fcda121406b9 Author: GDB Administrator Date: Tue Jan 27 00:00:18 2015 +0000 Automatic date update in version.in commit d35b90fb6ec3374f4d5d8d19bb8e41c8b1970315 Author: Mark Wielaard Date: Sat Jan 24 15:08:32 2015 +0100 Fix ARI warning in stack.c (return_command). gdb/ChangeLog * stack.c (return_command): Markup warning message with _. commit f8313f6ec4a86ec18c065ca96261c36da34818ab Author: Joel Brobecker Date: Wed Jan 21 10:29:09 2015 +0100 check gdb.lookup_type return value in gdb.python/py-lookup-type.exp This further improves this testcase to check the output of our calls to gdb.lookup_type. gdb/ChangeLog: * gdb.python/py-lookup-type.exp (test_lookup_type): Change the second test to print the name attribute of value returned by the call to gdb.lookup_type, and adjust the expected output accordingly. commit 18393a2e423a67f9cbd1c2400aeec8f119680bf8 Author: Kuan-Lin Chen Date: Mon Jan 26 10:48:01 2015 +0800 NDS32/bfd: Fix relax round setting. commit 5485698ae4679bd18a37f8520a17be8b760e5a18 Author: Cary Coutant Date: Sun Jan 25 17:31:32 2015 -0800 2015-01-25 Cary Coutant gold/ * output.cc (Output_segment::set_section_addresses): Fix calculation of size of relro segment. commit 76dbb86382d49feff10b3c4f5ba0e0d567ca090b Author: GDB Administrator Date: Mon Jan 26 00:01:31 2015 +0000 Automatic date update in version.in commit 37bc665e4e8b2386fe15680a41173bfbfb085ac4 Author: Mark Wielaard Date: Sun Jan 25 16:42:05 2015 +0100 Remove testsuite compile errors with GCC5. GCC5 defaults to the GNU11 standard for C and warns by default for implicit function declarations and implicit return types. https://gcc.gnu.org/gcc-5/porting_to.html Fixing these issues in the testsuite turns 9 untested and 17 unsupported testcases into 417 new passes when compiling with GCC5. gdb/testsuite/ChangeLog: * gdb.arch/i386-bp_permanent.c (standard): New declaration. * gdb.base/disp-step-fork.c: Include unistd.h. * gdb.base/siginfo-obj.c: Include stdio.h. * gdb.base/siginfo-thread.c: Likewise. * gdb.mi/non-stop.c: Include unistd.h. * gdb.mi/nsthrexec.c: Include stdio.h. * gdb.mi/pthreads.c: Include unistd.h. * gdb.modula2/unbounded1.c (main): Declare returns int. * gdb.reverse/consecutive-reverse.c: Likewise. * gdb.threads/create-fail.c: Include unistd.h. * gdb.threads/killed.c: Likewise. * gdb.threads/linux-dp.c: Likewise. * gdb.threads/non-ldr-exc-1.c: Include stdio.h and string.h. * gdb.threads/non-ldr-exc-2.c: Likewise. * gdb.threads/non-ldr-exc-3.c: Likewise. * gdb.threads/non-ldr-exc-4.c: Likewise. * gdb.threads/pthreads.c: Include unistd.h. (main): Declare returns int. * gdb.threads/tls-main.c (foo): New declaration. * gdb.threads/watchpoint-fork-mt.c: Define _GNU_SOURCE. commit 43063f1e4f11bb9d3538fe9f5d1f661dbfa1cab3 Author: GDB Administrator Date: Sun Jan 25 00:00:26 2015 +0000 Automatic date update in version.in commit 734ae1256daf5867721f1d730c2cf9586d6efcab Author: Doug Evans Date: Sat Jan 24 11:17:08 2015 -0800 gdbtypes.h (TYPE_TYPE_SPECIFIC): Delete. gdb/ChangeLog: * gdbtypes.h (TYPE_TYPE_SPECIFIC): Delete. commit 527f3840e1af8bc2e3173922ddae15d0021ed9b1 Author: Jan Kratochvil Date: Sat Jan 24 15:44:52 2015 +0100 Fix 100x slowdown regression on DWZ files Since Fedora started to use DWZ DWARF compressor: http://fedoraproject.org/wiki/Features/DwarfCompressor GDB has slowed down a lot. To make it clear - DWZ is DWARF structure rearrangement, "compressor" does not mean any zlib style data compression. This patch reduces LibreOffice backtrace from 5 minutes to 3 seconds (100x) and it also reduces memory consumption 20x. [ benchmark is at the bottom of this mail ] Example of DWZ output: ------------------------------------------------------------------------------ Compilation Unit @ offset 0xc4: <0>: Abbrev Number: 17 (DW_TAG_partial_unit) DW_AT_stmt_list : 0x0 DW_AT_comp_dir : (indirect string, offset: 0x6f): /usr/src/debug/gdb-7.7.1/build-x86_64-redhat-linux-gnu/gdb <1>: Abbrev Number: 9 (DW_TAG_typedef) DW_AT_name : (indirect string, offset: 0x827dc): size_t
DW_AT_decl_file : 4 DW_AT_decl_line : 212 DW_AT_type : <0xae> Compilation Unit @ offset 0xe4: <0>: Abbrev Number: 13 (DW_TAG_partial_unit) DW_AT_stmt_list : 0x0 DW_AT_comp_dir : (indirect string, offset: 0x6f): /usr/src/debug/gdb-7.7.1/build-x86_64-redhat-linux-gnu/gdb <1>: Abbrev Number: 45 (DW_TAG_typedef) DW_AT_name : (indirect string, offset: 0x251): __off_t DW_AT_decl_file : 3 DW_AT_decl_line : 131 DW_AT_type : <0x68> Compilation Unit @ offset 0x62d9f9: <0><62da04>: Abbrev Number: 20 (DW_TAG_compile_unit) [...] <62da12> DW_AT_low_pc : 0x807e10 <62da1a> DW_AT_high_pc : 134 <62da1c> DW_AT_stmt_list : 0xf557e <1><62da20>: Abbrev Number: 7 (DW_TAG_imported_unit) <62da21> DW_AT_import : <0xcf> [Abbrev Number: 17] ------------------------------------------------------------------------------ One can see all DW_TAG_partial_unit have DW_AT_stmt_list 0x0 which causes repeated decoding of that .debug_line unit on each DW_TAG_imported_unit. This was OK before as each DW_TAG_compile_unit has its own .debug_line unit. But since the introduction of DW_TAG_partial_unit by DWZ one should cache read-in DW_AT_stmt_list .debug_line units. Fortunately one does not need to cache whole struct linetable *symtab->linetable and other data from .debug_line mapping PC<->lines ------------------------------------------------------------------------------ Line Number Statements: Extended opcode 2: set Address to 0x45c880 Advance Line by 25 to 26 Copy ------------------------------------------------------------------------------ as the only part of .debug_line which GDB needs for DW_TAG_partial_unit is: ------------------------------------------------------------------------------ The Directory Table: ../../gdb /usr/include/bits [...] The File Name Table: Entry Dir Time Size Name 1 1 0 0 gdb.c 2 2 0 0 string3.h [...] ------------------------------------------------------------------------------ specifically referenced in GDB for DW_AT_decl_file at a single place: ------------------------------------------------------------------------------ fe = &cu->line_header->file_names[file_index - 1]; SYMBOL_SYMTAB (sym) = fe->symtab; ------------------------------------------------------------------------------ This is because for some reason DW_TAG_partial_unit never contains PC-related DWARF information. I do not know exactly why, the compression ratio is a bit lower due to it but thanksfully currently it is that way: dwz.c: ------------------------------------------------------------------------------ /* These attributes reference code, prevent moving DIEs with them. */ case DW_AT_low_pc: case DW_AT_high_pc: case DW_AT_entry_pc: case DW_AT_ranges: die->die_ck_state = CK_BAD; + /* State of checksum computation. Not computed yet, computed and suitable for moving into partial units, currently being computed and finally determined unsuitable for moving into partial units. */ enum { CK_UNKNOWN, CK_KNOWN, CK_BEING_COMPUTED, CK_BAD } die_ck_state : 2; ------------------------------------------------------------------------------ I have also verified also real-world Fedora debuginfo files really comply with that assumption with dwgrep https://github.com/pmachata/dwgrep using: ------------------------------------------------------------------------------ dwgrep -e 'entry ?DW_TAG_partial_unit child* ( ?DW_AT_low_pc , ?DW_AT_high_pc , ?DW_AT_ranges )' /usr/lib/debug/** ------------------------------------------------------------------------------ BTW I think GDB already does not support the whole DW_TAG_imported_unit and DW_TAG_partial_unit usage possibilities as specified by the DWARF standard. I think GDB would not work if DW_TAG_imported_unit was used in some inner level and not at the CU level (readelf -wi level <1>) - this is how DWZ is using DW_TAG_imported_unit. Therefore I do not think further assumptions about DW_TAG_imported_unit and DW_TAG_partial_unit usage by DWZ are a problem for GDB. One could save the whole .debug_line decoded PC<->lines mapping (and not just the DW_AT_decl_file table) but: * there are some problematic corner cases so one could do it incorrectly * there are no real world data to really test such patch extension * such extension could be done perfectly incrementally on top of this patch ------------------------------------------------------------------------------ benchmark - on Fedora 20 x86_64 and FSF GDB HEAD: echo -e 'thread apply all bt\nset confirm no\nq'|./gdb -p `pidof soffice.bin` -ex 'set pagination off' -ex 'maintenance set per-command space' -ex 'maintenance set per-command symtab' -ex 'maintenance set per-command time' FSF GDB HEAD ("thread apply all bt"): Command execution time: 333.693000 (cpu), 335.587539 (wall) ---sec Space used: 1736404992 (+1477189632 for this command) ----MB vs. THIS PATCH ("thread apply all bt"): Command execution time: 2.595000 (cpu), 2.607573 (wall) -sec Space used: 340058112 (+85917696 for this command) --MB FSF GDB HEAD ("thread apply all bt full"): Command execution time: 466.751000 (cpu), 468.345837 (wall) ---sec Space used: 2330132480 (+2070974464 for this command) ----MB vs. THIS PATCH ("thread apply all bt full"): Command execution time: 18.907000 (cpu), 18.964125 (wall) --sec Space used: 364462080 (+110325760 for this command) ---MB ------------------------------------------------------------------------------ gdb/ChangeLog 2015-01-24 Jan Kratochvil Fix 100x slowdown regression on DWZ files. * dwarf2read.c (struct dwarf2_per_objfile): Add line_header_hash. (struct line_header): Add offset and offset_in_dwz. (dwarf_decode_lines): Add parameter decode_mapping to the declaration. (free_line_header_voidp): New declaration. (line_header_hash, line_header_hash_voidp, line_header_eq_voidp): New functions. (dwarf2_build_include_psymtabs): Update dwarf_decode_lines caller. (handle_DW_AT_stmt_list): Use line_header_hash. (free_line_header_voidp): New function. (dwarf_decode_line_header): Initialize offset and offset_in_dwz. (dwarf_decode_lines): New parameter decode_mapping, use it. (dwarf2_free_objfile): Free line_header_hash. commit 0c61284400e2a78e25aab1becf2b99465f76970c Author: GDB Administrator Date: Sat Jan 24 00:00:12 2015 +0000 Automatic date update in version.in commit f7e5394d614db4456fc0d9598bbfa936cc7941af Author: Simon Marchi Date: Fri Jan 23 12:59:24 2015 -0500 Catch exception in value_rtti_indirect_type In the situation described in bug 17416 [1]: * "set print object" is on; * The variable object is a pointer to a struct, and it contains an invalid value (e.g. NULL, or random uninitialized value); * The variable object (struct) has a child which is also a pointer to a struct; * We try to use "-var-list-children". ... an exception thrown in value_ind can propagate too far and leave an half-built variable object, leading to a wrong state. This patch adds a TRY_CATCH to catch it and makes value_rtti_indirect_type return NULL in that case, meaning that the type of the pointed object could not be found. A test for the fix is also added. New in v2: * Added test. * Restructured "catch" code. * Added details about the bug in commit log. gdb/Changelog: * valops.c (value_rtti_indirect_type): Catch exception thrown by value_ind. gdb/testsuite/ChangeLog * gdb.mi/mi-var-list-children-invalid-grandchild.c: New file. * gdb.mi/mi-var-list-children-invalid-grandchild.exp: New file. [1] https://sourceware.org/bugzilla/show_bug.cgi?id=17416 commit bb97bdd70c9a4614416767e5fc7ea8d75b24b0b8 Author: Nick Clifton Date: Fri Jan 23 16:39:53 2015 +0000 Fix build errors when compiling nlmconv.c on a 32-bit host. * nlmconv.c (powerpc_mangle_relocs): Fix build errors introduced by recent delta, when compiling on for a 32-bit host. commit 743649fd80776de922475362bf3ac8b44511bb24 Author: Mark Wielaard Date: Tue Dec 9 11:45:41 2014 +0100 Use GCC5/DWARF5 DW_AT_noreturn to mark functions that don't return normally. Add a flag field is_noreturn to struct func_type. Make calling_convention a small bit field to not increase the size of the struct. Set is_noreturn if the new GCC5/DWARF5 DW_AT_noreturn is set on a DW_TAG_subprogram. Use this information to warn the user before doing a finish or return from a function that does not return normally to its caller. (gdb) finish warning: Function endless does not return normally. Try to finish anyway? (y or n) (gdb) return warning: Function does not return normally to caller. Make endless return now? (y or n) gdb/ChangeLog * dwarf2read.c (read_subroutine_type): Set TYPE_NO_RETURN from DW_AT_noreturn. * gdbtypes.h (struct func_type): Add is_noreturn field flag. Make calling_convention an 8 bit bit field. (TYPE_NO_RETURN): New macro. * infcmd.c (finish_command): Query if function does not return normally. * stack.c (return_command): Likewise. gdb/testsuite/ChangeLog * gdb.base/noreturn-return.c: New file. * gdb.base/noreturn-return.exp: New file. * gdb.base/noreturn-finish.c: New file. * gdb.base/noreturn-finish.exp: New file. include/ChangeLog * dwarf2.def (DW_AT_noreturn): New DWARF5 attribute. The dwarf2.h addition and the code to emit the new attribute is already in the gcc tree. commit 198297aafb4f7a9717be8370581b048ae9107c14 Author: Pedro Alves Date: Fri Jan 23 11:12:39 2015 +0000 Linux: make target_is_async_p return false when async is off linux_nat_is_async_p currently always returns true, even when the target is _not_ async. That confuses gdb_readline_wrapper/gdb_readline_wrapper_cleanup, which force-disables target-async while the secondary prompt is active. As a result, when gdb_readline_wrapper returns, the target is left async, even through it was sync to begin with. That can result in weird bugs, like the one the test added by this commit exposes. Ref: https://sourceware.org/ml/gdb-patches/2015-01/msg00592.html gdb/ChangeLog: 2015-01-23 Pedro Alves * linux-nat.c (linux_is_async_p): New macro. (linux_nat_is_async_p): (linux_nat_terminal_inferior): Check whether the target can async instead of whether it is already async. (linux_nat_terminal_ours): Don't check whether the target is async. (linux_async_pipe): Use linux_is_async_p. gdb/testsuite/ChangeLog: 2015-01-23 Pedro Alves * gdb.threads/continue-pending-after-query.c: New file. * gdb.threads/continue-pending-after-query.exp: New file. commit bbbbffbbfc3fca35649896d6626ab02581df8037 Author: Joel Brobecker Date: Fri Jan 23 08:13:49 2015 +0100 Fix filename in one of the recent gdb/ChangeLog entries (remove "gdb/"). commit 5932be96694afe02ffbce899a644a44940f84dee Author: GDB Administrator Date: Fri Jan 23 00:00:12 2015 +0000 Automatic date update in version.in commit 055173ca8d1dd3d886e88392a7b2c63c5ff20bda Author: DJ Delorie Date: Thu Jan 22 17:30:58 2015 -0500 Handle R_M32C_24 specially 2015-01-22 DJ Delorie * elf32-m32c.c (m32c_apply_reloc_24): New. (m32c_elf_howto_table): Use it for R_M32C_24. (m32c_elf_relocate_section): Handle R_M32C_24 specially. commit 717cf30c8230bcf1c7cc55353645bfc268a711d0 Author: Anders Granlund Date: Thu Jan 22 14:33:04 2015 -0500 Introduce gdb_interact in testsuite gdb_interact is a small utility that we have found quite useful to debug test cases. Putting gdb_interact in a test suspends it and allows to interact with gdb to inspect whatever you want. You can then type ">>>" to resume the test execution. Of course, this is only for gdb devs. It wouldn't make sense to leave a gdb_interact permanently in a test case. When starting the interaction with the user, the script prints this banner: +------------------------------------------+ | Script interrupted, you can now interact | | with by gdb. Type >>> to continue. | +------------------------------------------+ Notes: * When gdb is launched, the gdb_spawn_id variable (lib/gdb.exp) is assigned -1. Given the name, I would expect it to contain the gdb expect spawn id, which is needed for interact. I changed all places that set gdb_spawn_id to -1 to set it to the actual gdb spawn id instead. * When entering the "interact" mode, the last (gdb) prompt is already eaten by expect, so it doesn't show up on the terminal. Subsequent prompts do appear though. We tried to print "(gdb)" just before the interact to replace it. However, it could be misleading if you are debugging an MI test case, it makes you think that you are typing in a CLI prompt, when in reality it's MI. In the end I decided that since the feature is for developers who know what they're doing and that one is normally consciously using gdb_interact, the script doesn't need to babysit the user. * There are probably some quirks depending on where in the script gdb_interact appears (e.g. it could interfere with following commands and make them fail), but it works for most cases. Quirks can always be fixed later. The idea and original implementation was contributed by Anders Granlund, a colleague of mine. Thanks to him. gdb/testsuite/ChangeLog: * gdb.base/statistics.exp: Assign spawn id to gdb_spawn_id. * gdb.base/valgrind-db-attach.exp: Same. * gdb.base/valgrind-infcall.exp: Same. * lib/mi-support.exp (default_mi_gdb_start): Same. * lib/prompt.exp (default_prompt_gdb_start): Same. * lib/gdb.exp (default_gdb_spawn): Same. (gdb_interact): New. commit 253828f102691732d014e8f1d62f9b5dc779b39c Author: Jan Kratochvil Date: Thu Jan 22 21:04:53 2015 +0100 Sort threads for thread apply all downstream Fedora request: Please make it easier to find the backtrace of the crashing thread https://bugzilla.redhat.com/show_bug.cgi?id=1024504 Currently after loading a core file GDB prints: Core was generated by `./threadcrash1'. Program terminated with signal SIGSEGV, Segmentation fault. 8 *(volatile int *)0=0; (gdb) _ there is nowhere seen which of the threads had crashed. In reality GDB always numbers that thread as #1 and it is the current thread that time. But after dumping all the info into a file for later analysis it is no longer obvious. 'thread apply all bt' even puts the thread #1 to the _end_ of the output!!! I find maybe as good enough and with no risk of UI change flamewar to just sort the threads by their number. Currently they are printed as they happen in the internal GDB list which has no advantage. Printing thread #1 as the first one with assumed 'thread apply all bt' (after the core file is loaded) should make the complaint resolved I guess. On Thu, 15 Jan 2015 20:29:07 +0100, Doug Evans wrote: No objection to sorting the list, but if thread #1 is the important one, then a concern could be it'll have scrolled off the screen (such a concern has been voiced in another thread in another context), and if not lost (say it's in an emacs buffer) one would still have to scroll back to see it. So one *could* still want #1 to be last. Do we want an option to choose the sort direction? gdb/ChangeLog 2015-01-22 Jan Kratochvil * NEWS (Changes since GDB 7.9): Add 'thread apply all' option '-ascending'. * thread.c (tp_array_compar_ascending, tp_array_compar): New. (thread_apply_all_command): Parse CMD for tp_array_compar_ascending. Sort tp_array using tp_array_compar. (_initialize_thread): Extend thread_apply_all_command help. gdb/doc/ChangeLog 2015-01-22 Jan Kratochvil * gdb.texinfo (Threads): Describe -ascending for thread apply all. commit f0e8c4c5d1bce422ac86090b76c28931b0d240bf Author: Jan Kratochvil Date: Thu Jan 22 21:02:24 2015 +0100 Print current thread after loading a core file downstream Fedora request: Please make it easier to find the backtrace of the crashing thread https://bugzilla.redhat.com/show_bug.cgi?id=1024504 Currently after loading a core file GDB prints: Core was generated by `./threadcrash1'. Program terminated with signal SIGSEGV, Segmentation fault. 8 *(volatile int *)0=0; (gdb) _ there is nowhere seen which of the threads had crashed. In reality GDB always numbers that thread as #1 and it is the current thread that time. But after dumping all the info into a file for later analysis it is no longer obvious. 'thread apply all bt' even puts the thread #1 to the _end_ of the output!!! Should GDB always print after loading a core file what "thread" command would print? [Current thread is 1 (Thread 0x7fcbe28fe700 (LWP 15453))] BTW I think it will print the thread even when loading single/non-threaded core file when other inferior(s) exist. But that currently crashes [Bug threads/12074] multi-inferior internal error https://sourceware.org/bugzilla/show_bug.cgi?id=12074 plus I think that would be a correct behavior anyway. gdb/ChangeLog 2015-01-22 Jan Kratochvil * corelow.c (core_open): Call also thread_command. * gdbthread.h (thread_command): New prototype moved from ... * thread.c (thread_command): ... here. (thread_command): Make it global. commit 53bef1c10759f1fd7faf675459871b2f4cc12e53 Author: Eli Zaretskii Date: Thu Jan 22 21:07:31 2015 +0200 Another part of fixing "make TAGS". libdecnumber/ 2015-01-22 Eli Zaretskii * Makefile.in (TAGS): New target, to avoid failures in "make TAGS". commit 03b7960334677d33ee7410f2c819f78820c32024 Author: Pedro Alves Date: Thu Jan 22 18:30:01 2015 +0000 mingw32: fix windows-termcap/curses check When GDB is configured with "--without-tui --with-curses" or "--with-tui", $prefer_curses is set to yes. But, that still doesn't mean that curses will be used. configure will still search for the curses library, and continue building without it. That's done here: curses_found=no if test x"$prefer_curses" = xyes; then ... AC_SEARCH_LIBS(waddstr, [ncurses cursesX curses]) if test "$ac_cv_search_waddstr" != no; then curses_found=yes fi fi So if waddstr is not found, meaning curses is not really available, even though it'd be preferred, $prefer_curses is 'yes', but $curses_found is 'no'. So the right fix to tell whether we're linking with curses is $curses_found=yes. gdb/ChangeLog: 2015-01-22 Pedro Alves * configure.ac [*mingw32*]: Check $curses_found instead of $prefer_curses. * configure: Regenerate. * windows-termcap.c: Remove HAVE_CURSES_H, HAVE_NCURSES_H and HAVE_NCURSES_NCURSES_H checks. commit 6b8a872ff1038e2b8618ea33bb1113b78f39976d Author: Eli Zaretskii Date: Thu Jan 22 20:23:12 2015 +0200 Fix MinGW TUI build gdb/ 2015-01-22 Eli Zaretskii * gdb/tui/tui.c (tui_enable) [__MINGW32__]: If the call to 'newterm' fails with the 1st arg NULL, try again with "unknown". Don't test the "cup" capability: it isn't supported by the Windows port of ncurses, but the Windows console driver is still capable of supporting TUI. commit 4b62a76e0cd716407859077467fddbb66b715a43 Author: Jan Kratochvil Date: Thu Jan 22 19:18:16 2015 +0100 compile: Fix function pointers TBH while I always comment reasons for each of the compilation options in reality I tried them all and chose that combination that needs the most simple compile/compile-object-load.c (ld.so emulation) implementation. gdb/ChangeLog 2015-01-22 Jan Kratochvil * compile/compile.c (_initialize_compile): Use -fPIE for compile_args. gdb/testsuite/ChangeLog 2015-01-22 Jan Kratochvil * gdb.compile/compile.exp (pointer to jit function): New test. commit 82a864f96aff83edb0c8bb21ead5c28cd10363fe Author: Eli Zaretskii Date: Thu Jan 22 20:05:59 2015 +0200 Partial fix for "make TAGS". gdb/ 2015-01-22 Eli Zaretskii * Makefile.in (HFILES_NO_SRCDIR): Remove ada-varobj.h. (ALLDEPFILES): Remove irix5-nat.c. These two are part of the reason that "make TAGS" is broken. commit b35018fd7a627d94a24f4650b1d2e7cfca31f3e1 Author: Chen Gang Date: Thu Jan 22 20:47:10 2015 +0800 gdb/hppa-tdep.c: Fix logical working flow issues and check additional store instructions. Original working flow has several issues: - typo issue: "(inst >> 26) == 0x1f && ..." for checking 'stw(m)'. - "(inst >> 6) == 0xa" needs to be "((inst >> 6) & 0xf) == 0xa". And also need check additional store instructions: - For absolute memory: 'stby', 'stdby'. - For unaligned: 'stwa', 'stda'. The original code also can be improved: - Remove redundant double check "(inst >> 26) == 0x1b" for 'stwm'. - Use 2 'switch' statements instead of all 'if' statements. * hppa-tdep.c (inst_saves_gr): Fix logical working flow issues and check additional store instructions. commit 4e5cb37e7f3403d5398a323566ff9c995f0c9a81 Author: Nick Clifton Date: Thu Jan 22 12:06:04 2015 +0000 Fixes memory access violations triggered by running dlltool on fuzzed binaries. PR binutils/17512 * coffcode.h (handle_COMDAT): When searching for the section symbol, make sure that there is space left in the symbol table. * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks. commit b01a4b043a5b08e1208b1fedd61a6f3d65a328e0 Author: Alan Modra Date: Thu Jan 22 12:39:50 2015 +1030 [GOLD] Correct powerpc64 ifunc plt entry test Found when attempting to build an ELFv2 Linux kernel. We don't generally need a plt entry for ELFv2 got relocs, only on ifunc, just like ppc32. * powerpc.cc (Target_powerpc::Scan::local ): Correct condition for need of ifunc plt entry. (Target_powerpc::Scan::global ): Likewise. commit b99e251379fd81716660e88b933f0bc015d6c6d8 Author: GDB Administrator Date: Thu Jan 22 00:00:13 2015 +0000 Automatic date update in version.in commit 86eafac0aad7edbc1ccea6daf53480a36339250a Author: Nick Clifton Date: Wed Jan 21 17:37:23 2015 +0000 Fix memory access violations triggered by running strip on fuzzed binaries. PR binutils/17512 * coffcode.h (coff_set_arch_mach_hook): Check return value from bfd_malloc. (coff_slurp_line_table): Return FALSE if the line number information was corrupt. (coff_slurp_symbol_table): Return FALSE if the symbol information was corrupt. * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always initialise the fields of the dyld_info structure. (bfd_mach_o_build_exec_seg_command): Replace assertion with an error message and a return value. (bfd_mach_o_layout_commands): Change the function to boolean. Return FALSE if the function fails. (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands fails. (bfd_mach_o_read_command): Fail if an unrecognised command is encountered. * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the read fails. (slurp_symtab): Check the return from bfd_malloc. (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy encountered an error. (_bfd_XXi_final_link_postscript): Fail if a section could not be copied. * peicode.h (pe_bfd_object_p): Fail if the header could not be swapped in. * tekhex.c (first_phase): Fail if the section is too big. * versados.c (struct esdid): Add content_size field. (process_otr): Use and check the new field. (versados_get_section_contents): Check that the section exists and that the requested data is available. PR binutils/17512 * addr2line.c (main): Call bfd_set_error_program_name. * ar.c (main): Likewise. * coffdump.c (main): Likewise. * cxxfilt.c (main): Likewise. * dlltool.c (main): Likewise. * nlmconv.c (main): Likewise. * nm.c (main): Likewise. * objdump.c (main): Likewise. * size.c (main): Likewise. * srconv.c (main): Likewise. * strings.c (main): Likewise. * sysdump.c (main): Likewise. * windmc.c (main): Likewise. * windres.c (main): Likewise. * objcopy.c (main): Likewise. (copy_relocations_in_section): Check for relocs without associated symbol pointers. commit ffbc46469f5fa1368251acd65da418775ab1a2ce Author: Wei-cheng Wang Date: Wed Jan 21 00:07:50 2015 +0800 Add myself as write-after-approval GDB maintainer. gdb/ChangeLog: * MAINTAINERS (Write After Approval): Add "Wei-cheng Wang". commit ddeca1dffbe346eea03b893bf3c5bc46e4439e93 Author: Wei-cheng Wang Date: Mon Jan 19 23:34:07 2015 +0800 Add missing comments in rs6000-tdep.c, ppc64-tdep.c and ppc-linux-tdep.c. gdb/ChangeLog: * ppc-linux-tdep.c (ppc_skip_trampoline_code, ppc_canonicalize_syscall, ppc_linux_syscall_record, ppc_linux_record_signal, ppc_init_linux_record_tdep): Add comments. * ppc64-tdep.c (ppc64_skip_trampoline_code): Likewise. * rs6000-tdep.c (rs6000_epilogue_frame_cache, rs6000_epilogue_frame_this_id, rs6000_epilogue_frame_prev_register, rs6000_epilogue_frame_sniffer, ppc_record_vsr, ppc_process_record_op4, ppc_process_record_op19, ppc_process_record_op31, ppc_process_record_op59, ppc_process_record_op60, ppc_process_record_op63): Likewise. commit 6c1965f995bc8119c0775f2f9b648a1902e6e210 Author: Ramana Radhakrishnan Date: Wed Jan 21 11:15:58 2015 +0000 Add self to ARM Maintainers commit 5b7d62376fc942a803d174789fe4464b26f09a02 Author: Nick Clifton Date: Wed Jan 21 10:33:19 2015 +0000 This patch fixes some illegal memory accesses triggered by running coffdump on fuzzed binaries. PR binutils/17512 * coffgrok.c (do_type): Check that computed ref exists. (doit): Add range checks when computing section for scope. commit 901e4fdf1622fce9bfda3d3b8f4c9a20665f5cee Author: GDB Administrator Date: Wed Jan 21 00:00:17 2015 +0000 Automatic date update in version.in commit 049bb5dee8598d2910ff47c1eda3df3cb2ec6493 Author: Joel Brobecker Date: Tue Jan 20 18:38:23 2015 +0100 gdb/ARI: Call safe_strerror instead of strerror in linux-ptrace.c gdb/ChangeLog: * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason_string) (linux_ptrace_test_ret_to_nx): Use safe_strerror instead of strerror. commit 42b87c63bc5fc1daac598c07ca65b71591a65f27 Author: Joel Brobecker Date: Tue Jan 20 19:04:26 2015 +0100 Fix date in gdb/ChangeLog. commit 481765cde069d29679122b4fa6ef6c5ea39413d2 Author: Andrew Burgess Date: Tue Jan 20 16:00:41 2015 +0000 ld: Update expected test results for 32-bit hosts. Tests that I added in commit c05b575a8dfabab6af5d8586d1a5c0c67f819ac2 fails on 32-bit hosts due to differences in whitespace. This patch updates the expected output patterns to be more accepting of differences in whitespace, the tests should now pass. ld/testsuite/ChangeLog: * ld-scripts/provide-4-map.d: Update expected output. * ld-scripts/provide-5-map.d: Likewise. commit 810c102655475827a3174fb64b5e14beaa57ec3f Author: Wei-cheng Wang Date: Sun Jan 18 15:20:46 2015 +0800 Fix format warning in rs6000t-dep.c commit 569340fcf2b3344efed83f1239c9e32474c77cf8 Author: Chen Gang Date: Tue Jan 20 22:17:09 2015 +0800 Add myself as write-after-approval GDB maintainer. gdb/ChangeLog: * MAINTAINERS (Write After Approval): Add "Chen Gang". commit 5ad18f16abf3555582782a86cc1daa751ea8b9b8 Author: Alan Modra Date: Tue Jan 20 21:11:37 2015 +1030 Reorder more powerpc64 sections again for -z relro .toc1 is the second level TOC section used by gcc's -mminimal-toc. It too should be read-only after relocation. Also, the last patch description mentioned .sbss moving but didn't actually do that, so fix that problem. .tocbss (whatever that is) was before .sbss previously, so move that one too. * emulparams/elf64ppc.sh (OTHER_SDATA_SECTIONS): Use in place of.. (OTHER_BSS_SYMBOLS): ..this. (OTHER_PLT_RELOC_SECTIONS): Don't define. (OTHER_GOT_RELOC_SECTIONS): Add rela.toc1 and rela.tocbss. (OTHER_READWRITE_SECTIONS): Don't define. Move .toc1 to.. (OTHER_RELRO_SECTIONS_2): ..here. * scripttempl/elf.sc: Move SBSS too when DATA_SDATA. commit c05b575a8dfabab6af5d8586d1a5c0c67f819ac2 Author: Andrew Burgess Date: Wed Jan 7 10:51:35 2015 +0000 ld: Don't evaluate unneeded PROVIDE expressions. When creating a linker mapfile (using -Map=MAPFILE), we previously would always try to evaluate the expression from a PROVIDE statement. However, this is not always safe, consider: PROVIDE (foo = 0x10); PROVIDE (bar = foo); In this example, if neither 'foo' or 'bar' is needed, then while generating the linker mapfile evaluating the expression for 'foo' is harmless (just the value 0x10). However, evaluating the expression for 'bar' requires the symbol 'foo', which is undefined. This used to cause a fatal error. This patch changes the behaviour, so that when the destination of the PROVIDE is not defined (that is the PROVIDE is not going to provide anything) the expression is not evaluated, and instead a special string is displayed to indicate that the linker is discarding the PROVIDE statement. This change not only fixes the spurious undefined symbol error, but also means that a user can now tell if a PROVIDE statement has provided anything by inspecting the linker mapfile, something that could not be done before. ld/ChangeLog: * ldlang.c (print_assignment): Only evaluate the expression for a PROVIDE'd assignment when the destination is being defined. Display a special message for PROVIDE'd symbols that are not being provided. ld/testsuite/ChangeLog: * ld-scripts/provide-4.d: New file. * ld-scripts/provide-4-map.d: New file. * ld-scripts/provide-4.t: New file. * ld-scripts/provide-5.d: New file. * ld-scripts/provide-5.s: New file. * ld-scripts/provide-5-map.d: New file. * ld-scripts/provide-5.t: New file. * ld-scripts/provide.exp: Run the provide-4.d and provide-5.d tests. commit 43d66c95c826441c64bacfa07095535ddea57a51 Author: Andrew Burgess Date: Tue Jan 6 23:40:48 2015 +0000 ld/testing: run_dump_test can now check linker mapfiles. Add a new option 'map' to the ld run_dump_test mechanism. When the 'map' option is given run_dump_test will ensure that there is a -Map=MAPFILE present in the linker command line, adding one if needed. The MAPFILE is then compared with the file passed to the new 'map' option using the regexp_diff function. This should make it slightly easier to write tests that check the linker mapfile output. The only test I found that already compares mapfile content is updated to use the new mechanism. ld/testsuite/ChangeLog: * ld-scripts/overlay-size.d: Add 'map' option. * ld-scripts/overlay-size.exp: Remove manual check of mapfile. * lib/ld-lib.exp (run_dump_test): Add support for new 'map' option, checking linker mapfile output. commit 23283c1be02de06666e4d934b1fc499c0d72f9c2 Author: Alan Modra Date: Tue Jan 20 17:19:15 2015 +1030 Reorder more powerpc64 sections for -z relro This moves .got too, which requires .sdata and .sbss to move with it, because these sections share addressing via the toc pointer and with small-model code must be within a 16-bit signed offset. .plt, .iplt and .branch_lt must also be moved since they are addressed via a 32-bit offset from the toc pointer, and we might have a very large .data section. This change means we may have some bss style sections before the data segment, necessitating another PT_LOAD header. Also, since _edata is defined at the end of the data segment it's possible with an empty .data to have _edata at the end of .plt which looks a little unusual since .plt is a bss style section. That should only happen rarely in real world binaries, but does occur in the ld testsuite. ld/ * emulparams/elf64ppc.sh (BSS_PLT): Don't define. (OTHER_READWRITE_SECTIONS): Move .branch_lt to.. (OTHER_RELRO_SECTIONS_2): ..here. (DATA_GOT, SEPARATE_GOTPLT, DATA_SDATA, DATA_PLT, PLT_BEFORE_GOT): Define. * scripttempl/elf.sc: Handle DATA_SDATA and DATA_GOT/DATA_PLT/ PLT_BEFORE_GOT combination. (DATA_GOT, SDATA_GOT): Don't define if either is already defined. ld/testsuite/ * ld-powerpc/ambiguousv1.d, * ld-powerpc/ambiguousv1b.d, * ld-powerpc/ambiguousv2.d, * ld-powerpc/ambiguousv2b.d, * ld-powerpc/elfv2exe.d, * ld-powerpc/elfv2so.d, * ld-powerpc/tlsexe.r, * ld-powerpc/tlsexetoc.r, * ld-powerpc/tlsso.r, * ld-powerpc/tlstocso.r: Update. commit 3e2b0f3116a46c8a9a6ffbcb5ae4847b6601467a Author: Alan Modra Date: Tue Jan 20 17:11:21 2015 +1030 Reorder powerpc64 sections for -z relro More sections can be read-only after relocation. .opd is an obvious candidate. * emulparams/elf64ppc.sh (OTHER_READWRITE_SECTIONS): Move .opd to.. (OTHER_RELRO_SECTIONS_2): ..here, new define. * scripttempl/elf.sc: Add OTHER_RELRO_SECTIONS_2. commit 03d5b77300e7f62ba87fb4cd82d4aed83f9a3cd2 Author: Chung-Lin Tang Date: Mon Jan 19 20:02:15 2015 -0800 Define elf_backend_default_execstack as 0 for Nios II. commit 10ab94ebf8fdabf14954f53f1d060fd470658512 Author: Alan Modra Date: Tue Jan 20 11:11:38 2015 +1030 Fix pr17615 testcase PR ld/17615 * ld-elf/pr17615.d: Match .sbss too. commit 1c9177d9a5c3e06d3344347c8068acfb7d8ecc8b Author: Alan Modra Date: Tue Jan 20 11:06:28 2015 +1030 Fix garbage collection of common symbols for powerpc64 I forgot powerpc64 has its own gc_mark_dynamic_ref. PR ld/17615 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop ELF_COMMON_DEF syms. commit 3cd0754799953aae30394173c0545c52c5f17481 Author: GDB Administrator Date: Tue Jan 20 00:00:11 2015 +0000 Automatic date update in version.in commit 3e2aa5bbd36be9cf63530e5db2f6cf3898762a22 Author: H.J. Lu Date: Mon Jan 19 09:23:29 2015 -0800 Add a testcase for PR ld/17615 PR ld/17615 * ld-elf/pr17615.d: New file. * ld-elf/pr17615.s: Likewise. commit 63413d85873c450fa4ed2494f21fb1a65bdaf554 Author: Eli Zaretskii Date: Mon Jan 19 16:34:29 2015 +0100 Don't use windows-termcap.c when linking against a curses library gdb/ 2015-01-17 Eli Zaretskii * configure.ac [*mingw32*]: Only add windows-termcap.o to CONFIG_OBS if not building with a curses library. * configure: Regenerate. * windows-termcap.c: Include defs.h. Make the whole body empty if either one of HAVE_CURSES_H or HAVE_NCURSES_H or HAVE_NCURSES_NCURSES_H is defined. commit 1f99f6d0689d20db44c0c7d88e8af1ebe900d187 Author: Joel Brobecker Date: Mon Jan 19 16:29:07 2015 +0100 strerror.c: Do not declare sys_nerr or sys_errlist if already macros This fixes a MinGW warning in libiberty/strerror.c. 2015-01-19 Eli Zaretskii * strerror.c : Declare only if they aren't macros. commit c4621b339e6f3153649898b254685f72df8c013d Author: Alan Modra Date: Sat Jan 17 21:33:43 2015 +1030 Fix garbage collection of common symbols Running lang_common before garbage collection means slightly less work in garbage collection code, since common symbols should no longer appear there. It does have the side effect of keeping linker script symbols (at least those defined outside of sections) global too, hence some testsuite churn. bfd/ PR 17165 * elf-bfd.h (ELF_COMMON_DEF): Note that this might be true for linker script assignments too. * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms. (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly. ld/ PR 17165 * ldlang.c (lang_process): Run lang_common before lang_gc_sections. ld/testsuite/ * ld-gc/pr14265.d, * ld-cris/tls-gc-68.d, * ld-cris/tls-gc-69.d, * ld-cris/tls-gc-70.d, * ld-cris/tls-gc-71.d, * ld-cris/tls-gc-75.d, * ld-cris/tls-gc-76.d, * ld-cris/tls-gc-79.d, * ld-mmix/bpo-10.d, * ld-mmix/bpo-11.d: Update. commit 740bdc67c057ee8012327420848eb134e1db4211 Author: Alan Modra Date: Mon Jan 19 18:57:04 2015 +1030 Extend .reloc to accept some BFD_RELOCs Tests that bfd_perform_reloc doesn't freak over a NONE reloc at end of section. gas/ * read.c (s_reloc): Match BFD_RELOC_NONE, BFD_RELOC{8,16,32,64}. * write.c (get_frag_for_reloc): Allow match just past end of frag. gas/testsuite/ * gas/all/none.s, * gas/all/none.d: New test. * gas/all/gas.exp: Run it. commit 0ba38529f27a815a576bc07c85ceb65f6498ef5a Author: Alan Modra Date: Mon Jan 19 18:15:30 2015 +1030 More fixes related to NONE relocs * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration to allow return of first howto. * elf32-fr30.c (fr30_reloc_type_lookup): Likewise. * elf32-m32c.c (m32c_reloc_type_lookup): Likewise. * elf32-moxie.c (moxie_reloc_type_lookup): Likewise. * elf32-or1k.c (or1k_reloc_type_lookup): Likewise. * elf32-rl78.c (rl78_reloc_type_lookup): Likewise. * elf32-rx.c (rx_reloc_type_lookup): Likewise. * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise. * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise. * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise. * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE. * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE. (spu_elf_reloc_type_lookup): Adjust to suit. commit 6346d5ca43719ba6fc3176c29fd58a83d439f011 Author: Alan Modra Date: Mon Jan 19 10:36:26 2015 +1030 Fallout from recent bfd_reloc_outofrange changes Commit ec93045b and cd21f5da introduced a large number of tic4x and tic54x regressions, due to the new checks being wrong for targets with octets_per_byte != 1. To fix that I introduced a new bfd_get_section_limit_octets and performed the check on octets rather than byte adresses, reducing the number of bfd_octets_per_byte calls. bfd_octets_per_byte is rather expensive.. I then wondered why the same bfd_reloc_outofrange check added to bfd_perform_relocation wasn't also added to bfd_install_relocation. The two functions are virtually identical and ought to remain that way. However, adding the same check to bfd_install_relocation resulted in ld-elf "FAIL Link eh-group.o to eh-group" on many ELF targets, including x64_64-linux. The reason being that eh-group.o has NONE relocs at the end of a section, and most targets give NONE relocs a non-zero size. So if we are to keep the new outofrange check it appears that NONE relocs must have a zero size. * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from.. (bfd_get_section_limit): ..here. * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check. (bfd_install_relocation, _bfd_final_link_relocate): Add same check here. * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check. * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated bfd_reloc_outofrange check. * bfd-in2.h: Regenerate. * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok on zero size relocs. * ecoff.c (ecoff_reloc_link_order): Likewise. * elf32-nds32.c (nds32_relocate_contents): Likewise. * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise. * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs. (_bfd_clear_contents): Likewise. * elfxx-mips.c (mips_elf_obtain_contents): Likewise. (mips_elf_perform_relocation): Likewise. * aoutx.h (aout_link_reloc_link_order): Allow for NULL return from malloc on zero size alloc. * cofflink.c (_bfd_coff_reloc_link_order): Likewise. * elflink.c (elf_reloc_link_order): Likewise. * linker.c (_bfd_generic_reloc_link_order): Likewise. * pdp11.c (aout_link_reloc_link_order): Likewise. * xcofflink.c (xcoff_reloc_link_order): Likewise. * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3, bitsize 0, and complain_overflow_dont. * coff-sparc.c (coff_sparc_howto_table): Likewise. * elf-hppa.h (elf_hppa_howto_table): Likewise. * elf-m10200.c (elf_mn10200_howto_table): Likewise. * elf-m10300.c (elf_mn10300_howto_table): Likewise. * elf32-arc.c (elf_arc_howto_table): Likewise. * elf32-arm.c (elf32_arm_howto_table_1): Likewise. * elf32-avr.c (elf_avr_howto_table): Likewise. * elf32-bfin.c (bfin_howto_table): Likewise. * elf32-cr16.c (cr16_elf_howto_table): Likewise. * elf32-cris.c (cris_elf_howto_table): Likewise. * elf32-crx.c (crx_elf_howto_table): Likewise. * elf32-d10v.c (elf_d10v_howto_table): Likewise. * elf32-d30v.c (elf_d30v_howto_table): Likewise. * elf32-dlx.c (dlx_elf_howto_table): Likewise. * elf32-epiphany.c (epiphany_elf_howto_table): Likewise. * elf32-fr30.c (fr30_elf_howto_table): Likewise. * elf32-frv.c (elf32_frv_howto_table): Likewise. * elf32-h8300.c (h8_elf_howto_table): Likewise. * elf32-i370.c (i370_elf_howto_raw): Likewise. * elf32-i386.c (elf_howto_table): Likewise. * elf32-i860.c (elf32_i860_howto_table): Likewise. * elf32-i960.c (elf32_i960_relocate): Likewise. * elf32-ip2k.c (ip2k_elf_howto_table): Likewise. * elf32-iq2000.c (iq2000_elf_howto_table): Likewise. * elf32-lm32.c (lm32_elf_howto_table): Likewise. * elf32-m32c.c (m32c_elf_howto_table): Likewise. * elf32-m32r.c (m32r_elf_howto_table): Likewise. * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise. * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise. * elf32-m68k.c (howto_table): Likewise. * elf32-mcore.c (mcore_elf_howto_raw): Likewise. * elf32-mep.c (mep_elf_howto_table): Likewise. * elf32-metag.c (elf_metag_howto_table): Likewise. * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise. * elf32-mips.c (elf_mips_howto_table_rel): Likewise. * elf32-moxie.c (moxie_elf_howto_table): Likewise. * elf32-msp430.c (elf_msp430_howto_table): Likewise. * elf32-mt.c (mt_elf_howto_table): Likewise. * elf32-nds32.c (nds32_elf_howto_table): Likewise. * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise. * elf32-or1k.c (or1k_elf_howto_table): Likewise. * elf32-pj.c (pj_elf_howto_table): Likewise. * elf32-ppc.c (ppc_elf_howto_raw): Likewise. * elf32-rl78.c (rl78_elf_howto_table): Likewise. * elf32-rx.c (rx_elf_howto_table): Likewise. * elf32-s390.c (elf_howto_table): Likewise. * elf32-score.c (elf32_score_howto_table): Likewise. * elf32-score7.c (elf32_score_howto_table): Likewise. * elf32-sh-relocs.h (R_SH_NONE): Likewise. * elf32-spu.c (elf_howto_table): Likewise. * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise. * elf32-tilepro.c (tilepro_elf_howto_table): Likewise. * elf32-v850.c (v850_elf_howto_table): Likewise. * elf32-vax.c (howto_table): Likewise. * elf32-visium.c (visium_elf_howto_table): Likewise. * elf32-xc16x.c (xc16x_elf_howto_table): Likewise. * elf32-xgate.c (elf_xgate_howto_table): Likewise. * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise. * elf32-xtensa.c (elf_howto_table): Likewise. * elf64-alpha.c (elf64_alpha_howto_table): Likewise. * elf64-mips.c (mips_elf64_howto_table_rel): Likewise. * elf64-mmix.c (elf_mmix_howto_table): Likewise. * elf64-ppc.c (ppc64_elf_howto_raw): Likewise. * elf64-s390.c (elf_howto_table): Likewise. * elf64-sh64.c (sh_elf64_howto_table): Likewise. * elf64-x86-64.c (x86_64_elf_howto_table): Likewise. * elfn32-mips.c (elf_mips_howto_table_rel): Likewise. * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise. (elfNN_aarch64_howto_none): Likewise. * elfxx-ia64.c (ia64_howto_table): Likewise. * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise. * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise. * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise. commit 16d8013cf7bfe6df320bdd167cd357879e4888e4 Author: Joel Brobecker Date: Mon Jan 19 08:51:05 2015 +0100 Fix ARI warning in rs6000-tdep.c::rs6000_gdbarch_init. gdb/ChangeLog: * rs6000-tdep.c (rs6000_gdbarch_init): Move divide operator from end of line to start of next line. commit c039f17c354e55a2b6d6a88330a9be25260ab034 Author: GDB Administrator Date: Mon Jan 19 00:00:10 2015 +0000 Automatic date update in version.in commit 04edc7a3d936645ab171358425a106d3b261c7b4 Author: GDB Administrator Date: Sun Jan 18 00:00:39 2015 +0000 Automatic date update in version.in commit cf90fd9a07e8998540bf74f293d348a6653ac120 Author: Wei-cheng Wang Date: Sat Jan 17 14:30:59 2015 +0800 Skip-trampoline for PowerPC reverse-stepping. commit b4cdae6fe51e532e0b1069c6960b14a610182d14 Author: Wei-cheng Wang Date: Sat Jan 17 14:30:33 2015 +0800 Reverse debugging for PowerPC. commit 2608dbf8a3ee666ac0a7d5d7c45611d489edcda5 Author: Wei-cheng Wang Date: Sat Jan 17 14:29:16 2015 +0800 Epilogue unwinder for PowerPC. commit 07d57b544c88f230cf689cc80f5a15e1b1a0cb9a Author: GDB Administrator Date: Sat Jan 17 00:00:10 2015 +0000 Automatic date update in version.in commit 2ef60e94e7d10fb9dd5afaf246b960cb4fdf404e Author: Eli Zaretskii Date: Fri Jan 16 19:55:40 2015 +0200 Really add a prototype for tui_rehighlight_all. commit 4c347be60a1c25f78826fbf86d416a278740145b Author: Sergio Durigan Junior Date: Fri Jan 16 11:42:28 2015 -0500 Fix nat/linux-personality.c regression on RHEL-5 This commit fixes the regression on RHEL-5 systems introduced by nat/linux-personality.c's check of HAVE_DECL_ADDR_NO_RANDOMIZE. RHEL-5 systems define HAVE_DECL_ADDR_NO_RANDOMIZE as zero, so we cannot use #ifndef; instead this patch uses the "#if !" construction. The regression was reported by Ulrich Weigand here: gdb/ChangeLog 2015-01-16 Sergio Durigan Junior * nat/linux-personality.c: Replace "#ifndef HAVE_DECL_ADDR_NO_RANDOMIZE" by "#if !HAVE_DECL_ADDR_NO_RANDOMIZE", fixing a regression in RHEL-5 systems. commit c54da50d66b46166e3542f64429741bd29e74eba Author: Eli Zaretskii Date: Fri Jan 16 18:32:42 2015 +0200 Fix an erroneous commentary. gdb/ 2015-01-16 Eli Zaretskii * tui/tui-win.c (tui_set_tab_width_command): Fix the commentary. commit 6cdb25f4df143e8d98bd71bf943bbe61c702e239 Author: Eli Zaretskii Date: Fri Jan 16 18:24:16 2015 +0200 Make setting TUI border attributes take effect immediately gdb/ 2015-01-16 Eli Zaretskii * tui/tui-win.c (tui_rehighlight_all, tui_set_var_cmd): New functions. (_initialize_tui_win) : : Use tui_set_var_cmd as the "set" function. * tui/tui-win.h: Add prototype for tui_rehighlight_all. commit cb86fcc13bea494007a103424c8a61f1cb372717 Author: Eli Zaretskii Date: Fri Jan 16 17:46:12 2015 +0200 Make the change of tab size in TUI mode effective immediately gdb/ChangeLog: 2015-01-16 Eli Zaretskii * tui/tui-win.c (tui_set_tab_width_command): Delete and recreate the source and the disassembly windows, to show the effect of the changed tab size immediately. commit bf555842fccfc0e2cdc4a2f329df6358f991732c Author: Eli Zaretskii Date: Fri Jan 16 13:31:36 2015 +0200 Fix TUI-related documentation. tui/tui-win.c (tui_scroll_left_command, tui_scroll_right_command): Doc fix. doc/gdb.texinfo (TUI Commands): Document the possible values of NAME argument to 'winheight' command. Explain the effect of 'tabset' setting better. commit 1e2e8c529c1cf4fcc8cbae382aa0a653d0b65da6 Author: Andreas Krebbel Date: Fri Jan 16 12:19:21 2015 +0100 S/390: Add support for IBM z13. - 32 128 bit vector registers (overlapping with the existing 16 64 bit floating point registers) - vector double instructions - vector integer instructions - scalar vector instructions (allowing to have more floating point registers for scalar operations) - vector string instructions gas/ChangeLog: * config/tc-s390.c (struct pd_reg): Remove. (pre_defined_registers): Remove. (REG_NAME_CNT): Remove. (reg_name_search): Calculate the register number instead of doing a lookup. (register_name, tc_s390_regname_to_dw2regnum): Adopt to the new reg_name_search signature. (s390_parse_cpu): Support the new arch string z13. (s390_insert_operand): Support for vector registers with the extra field for the fifth bit of each vector register operand. (md_gather_operand): Adjust to the new handling of optional parameters. * doc/as.texinfo: Document the z13 cpu string. gas/testsuite/ChangeLog: * gas/s390/esa-g5.d: Add a variant without the optional operand. * gas/s390/esa-g5.s: Likewise. * gas/s390/esa-z9-109.d: Likewise. * gas/s390/esa-z9-109.s: Likewise. * gas/s390/zarch-z9-109.d: Likewise. * gas/s390/zarch-z9-109.s: Likewise. * gas/s390/zarch-z10.d: For variants with a zero optional argument it is not dumped by objdump anymore. * gas/s390/zarch-zEC12.d: Likewise. * gas/s390/zarch-z13.d: New file. * gas/s390/zarch-z13.s: New file. * gas/s390/s390.exp: Run the test for the z13 files. include/opcode/ChangeLog: * s390.h (s390_opcode_cpu_val): Add S390_OPCODE_Z13. ld/testsuite/ChangeLog: * ld-s390/tlsbin.dd: The nopr register operand is optional and not printed if 0 anymore. opcodes/ChangeLog: * s390-dis.c (s390_extract_operand): Support vector register operands. (s390_print_insn_with_opcode): Support new operands types and add new handling of optional operands. * s390-mkopc.c (s390_opcode_mode_val, s390_opcode_cpu_val): Remove and include opcode/s390.h instead. (struct op_struct): New field `flags'. (insertOpcode, insertExpandedMnemonic): New parameter `flags'. (dumpTable): Dump flags. (main): Parse flags from the s390-opc.txt file. Add z13 as cpu string. * s390-opc.c: Add new operands types, instruction formats, and instruction masks. (s390_opformats): Add new formats for .insn. * s390-opc.txt: Add new instructions. commit 9f2850baa3ce341f0ba42bd9519cb3c1bf1287c7 Author: Eli Zaretskii Date: Fri Jan 16 13:24:20 2015 +0200 Leave more space in TUI mode for thread ID. gdb/tui/tui-data.h (LINE_PREFIX): Make shorter (MAX_PID_WIDTH): Enlarge from 14 to 19, to leave enough space for "Thread NNNNN.XXXX" thread ID notation on Windows. commit 95761b2d9c3c77933cac233b93eff371b3e52859 Author: Jan Kratochvil Date: Fri Jan 16 06:39:47 2015 +0100 Fix gcc-5 compilation With gcc-5.0 pre-release one gets: hppa-tdep.c: In function ‘inst_saves_gr’: hppa-tdep.c:1406:30: error: comparison of constant ‘9’ with boolean expression is always false [-Werror=bool-compare] I find the misplaced parentheses obvious. gdb/ChangeLog 2015-01-16 Jan Kratochvil Fix gcc-5 compilation. * hppa-tdep.c (inst_saves_gr): Fix parentheses typo. commit f5818f7d80adb707a35f04049c841b230b36b824 Author: GDB Administrator Date: Fri Jan 16 00:00:12 2015 +0000 Automatic date update in version.in commit 8cc73a3902a68269626274e15d7c25bef0a61759 Author: Sergio Durigan Junior Date: Thu Jan 15 15:10:49 2015 -0500 Move code to disable ASR to nat/ This patch moves the shared code present on gdb/linux-nat.c:linux_nat_create_inferior and gdb/gdbserver/linux-low.c:linux_create_inferior to nat/linux-personality.c. This code is responsible for disabling address space randomization based on user setting, and using to do that. I decided to put the prototype of the maybe_disable_address_space_randomization on nat/linux-osdata.h because it seemed the best place to put it. I regression-tested this patch on Fedora 20 x86_64, and found no regressions. gdb/ChangeLog 2015-01-15 Sergio Durigan Junior * Makefile.in (HFILES_NO_SRCDIR): Add nat/linux-personality.h. (linux-personality.o): New rule. * common/common-defs.h: Include . * config/aarch64/linux.mh (NATDEPFILES): Include linux-personality.o. * config/alpha/alpha-linux.mh (NATDEPFILES): Likewise. * config/arm/linux.mh (NATDEPFILES): Likewise. * config/i386/linux64.mh (NATDEPFILES): Likewise. * config/i386/linux.mh (NATDEPFILES): Likewise. * config/ia64/linux.mh (NATDEPFILES): Likewise. * config/m32r/linux.mh (NATDEPFILES): Likewise. * config/m68k/linux.mh (NATDEPFILES): Likewise. * config/mips/linux.mh (NATDEPFILES): Likewise. * config/pa/linux.mh (NATDEPFILES): Likewise. * config/powerpc/linux.mh (NATDEPFILES): Likewise. * config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise. * config/powerpc/spu-linux.mh (NATDEPFILES): Likewise. * config/s390/linux.mh (NATDEPFILES): Likewise. * config/sparc/linux64.mh (NATDEPFILES): Likewise. * config/sparc/linux.mh (NATDEPFILES): Likewise. * config/tilegx/linux.mh (NATDEPFILES): Likewise. * config/xtensa/linux.mh (NATDEPFILES): Likewise. * defs.h: Remove #include (moved to common/common-defs.h). * linux-nat.c: Include nat/linux-personality.h. Remove #include ; do not define ADDR_NO_RANDOMIZE (moved to nat/linux-personality.c). (linux_nat_create_inferior): Remove code to disable address space randomization (moved to nat/linux-personality.c). Create cleanup to disable address space randomization. * nat/linux-personality.c: New file. * nat/linux-personality.h: Likewise. gdb/gdbserver/ChangeLog 2015-01-15 Sergio Durigan Junior * Makefile.in (SFILES): Add linux-personality.c. (linux-personality.o): New rule. * configure.srv (srv_linux_obj): Add linux-personality.o to the list of objects to be built. * linux-low.c: Include nat/linux-personality.h. (linux_create_inferior): Remove code to disable address space randomization (moved to ../nat/linux-personality.c). Create cleanup to disable address space randomization. commit fb23d554428f1d379fd8c3e959a294108fa59f88 Author: Sergio Durigan Junior Date: Thu Jan 15 15:09:15 2015 -0500 Move safe_strerror to common/ This patch moves safe_strerror from the gdb/{posix,mingw}-hdep.c files to the respective common/{posix,mingw}-strerror.c files. This is a preparation for the next patch, which shares a common code (to disable address space randomization when creating a new inferior). The patch has been regtested on Fedora 20 x86_64, and no regressions were found. gdb/ChangeLog 2015-01-15 Sergio Durigan Junior * Makefile.in (ALLDEPFILES): Including common/mingw-strerror.c and common/posix-strerror.c. (posix-strerror.o): New rule. (mingw-strerror.o): Likewise. * common/common-utils.h (safe_strerror): Move prototype to here, from utils.h. * common/common.host: New file. * common/mingw-strerror.c: Likewise. * common/posix-strerror.c: Likewise. * configure: Regenerated. * configure.ac: Source common/common.host. Add variable common_host_obs to gdb_host_obs. * contrib/ari/gdb_ari.sh: Mention gdb/common/mingw-strerror.c and gdb/common/posix-strerror.c when warning about the use of strerror. * mingw-hdep.c (safe_strerror): Remove definition; move it to common/mingw-strerror.c. * posix-hdep.c (safe_strerror): Remove definition; move it to common/posix-hdep.c. * utils.h (safe_strerror): Remove prototype; move to common/common-utils.h. gdb/gdbserver/ChangeLog 2015-01-15 Sergio Durigan Junior * Makefile.in (posix-strerror.o): New rule. (mingw-strerror.o): Likewise. * configure: Regenerated. * configure.ac: Source file ../common/common.host. Initialize new variable srv_host_obs. Add srv_host_obs to GDBSERVER_DEPFILES. commit 6333bc0dd6e92dd5a76ba0a6890e08db2a6f7a29 Author: H.J. Lu Date: Thu Jan 15 11:06:33 2015 -0800 Don't complain about -fPIC for undefined symbol When building executable, undefined symbol is a fatal error. We don't complain about -fPIC if the symbol is undefined. bfd/ PR ld/17847 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain about -fPIC if the symbol is undefined when building executable. ld/testsuite/ PR ld/17847 * ld-x86-64/pie1.d: New file. * ld-x86-64/pie1.s: Likwise. * ld-x86-64/x86-64.exp: Run pie1. commit d221e7efd61fc80f6fbf862b7e32927835575329 Author: Don Breazeal Date: Thu Jan 15 10:47:31 2015 -0800 Skip two more attach tests when testing against stub-like targets This patch updates two attach tests to use utility procs for checking if the attach test should run and for launching the program to be attached, as follows: 1) Use can_spawn_for_attach instead of is_remote target 2) Use spawn_wait_for_attach instead of exec/sleep Tested (1) with i686-mingw32 host and i686-pc-linux-gnu build/target and both with x86_64 Ubuntu. gdb/testsuite/ChangeLog: * gdb.base/attach-pie-noexec.exp: Use can_spawn_for_attach instead of checking whether the target board is remote and use spawn_wait_for_attach instead of exec/sleep. * gdb.base/attach-twice.exp: Likewise. commit cd21f5daad4335b50366b838664ade64bec29957 Author: Nick Clifton Date: Thu Jan 15 16:22:55 2015 +0000 Fix memory access violations triggered by running objdump on fuzzed binaries. PR binutils/17512 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an error message. Never return an invalid howto pointer. * elf32-cr16.c (cr16_info_to_howto): Likewise. * elf32-crx.c (elf_crx_info_to_howto): Likewise. * elf32-i370.c (i370_elf_info_to_howto): Likewise. * elf32-mcore.c (mcore_elf_info_to_howto): Likewise. * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise. * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise. * elf32-pj.c (pj_elf_info_to_howto): Likewise. * elf32-ppc.c (ppc_elf_info_to_howto): Likewise. * elf32-spu.c (spu_elf_info_to_howto): Likewise. * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise. * elf32-vax.c (rtype_to_howto): Likewise. * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise. * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise. * elfn32-mips.c (sh_elf_info_to_howto): Likewise. * elf32-sh.c (sh_elf_info_to_howto): Likewise. (sh_elf_reloc): Check that the reloc is in range. * reloc.c (bfd_perform_relocation): Check that the section is big enough for the entire reloc. (bfd_generic_get_relocated_section_contents): Report unexpected return values from perform_reloc. commit 2d071cfc6614b4ec30fa4ef8b8af5bdf2c177858 Author: Nick Clifton Date: Thu Jan 15 16:20:19 2015 +0000 Fixes a bug in the relaxation of R_MSP430X_ABS16 to R_MSP430_10_PCREL. * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled relocs. Include PC-relative adjustment for R_MSP430X_ABS16 relaxation. commit ca55926c2fad07fef0e6dce8beb948167990a2e7 Author: Alan Modra Date: Thu Jan 15 19:07:33 2015 +1030 Omit section dynsyms for any linker created section This is a simplification, and fixes a testcase I had where an empty powerpc64 .branch_lt section was chosen for the data_index_section dynamic symbol and thus wasn't removed. * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for any output section matching a linker created dynobj section. commit 3af8af43f74936bd3c81fe57903327b7cc05a37c Author: Joel Brobecker Date: Thu Jan 15 15:10:36 2015 +0400 Document the GDB 7.8.2 release in gdb/ChangeLog gdb/ChangeLog: GDB 7.8.2 released. commit 8539e4e89eb4c54bb6668582cd709765a3803588 Author: Alan Modra Date: Thu Jan 15 19:42:59 2015 +1030 Fix ARM fail of gap test ld-elf/gap test was failing due to the ARM backend attempting to output arch symbols when ld -s (strip all symbols) is in force. This patch stops that happening and tidies the code a little. PR 17842 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set. (bfd_elf_final_link): Always create a symbol table when emit_relocs. Don't assign symtab file position unless symbols will be output. Merge blocks with condition in common. Don't call elf_backend_output_arch_local_syms or elf_backend_output_arch_syms unless other symbols are output. Move assignment of symtab_shndx file position. Localize variable. commit bafffb51c4da50881dc5d72ec9bf9b78377ac692 Author: Joel Brobecker Date: Thu Jan 15 10:09:32 2015 +0400 [Ada] 'first/'last/'length of array whose bound is a discriminant Consider the following code: type Table is array (Positive range <>) of Integer; type Object (N : Integer) is record Data : Table (1 .. N); end record; My_Object : Object := (N => 3, Data => (3, 5, 8)); Trying to print the range and length of the My_Object.Data array yields: (gdb) print my_object.data'first $1 = 1 (gdb) print my_object.data'last $2 = 0 (gdb) print my_object.data'length $3 = 0 The first one is correct, and that is thanks to the fact that the lower bound is statically known. However, for the upper bound, and consequently the array's length, the values are incorrect. It should be: (gdb) print my_object.data'last $2 = 3 (gdb) print my_object.data'length $3 = 3 What happens here is that ada_array_bound_from_type sees that our array has a parallel "___XA" type, and therefore tries to use it. In particular, it described our array's index type as: [...]___XDLU_1__n, which means lower bound = 1, and upper bound is value of "n". Unfortunately, ada_array_bound_from_type does not have access to the discriminant, and is therefore unable to compute the bound correctly. Fortunately, at this stage, the bound has already been computed a while ago, and therefore doesn't need to be re-computed here. This patch fixes the issue by ignoring that ___XA type if the array is marked as already fixed. This also fixes the same issue with packed arrays. gdb/ChangeLog: * ada-lang.c (ada_array_bound_from_type): Ignore array's parallel ___XA type if the array has already been fixed. gdb/testsuite/ChangeLog: * gdb.ada/var_arr_attrs: New testcase. commit a300380e12ca04a6cb900e9bfd26161b3fe56ed8 Author: Joel Brobecker Date: Thu Jan 15 07:14:45 2015 +0400 Build failure in sim/rx/gdb-if.c on windows This should fix a build failure reported on x86_64-mingw32 by Daniel Calcoen due to conflicting declarations of "open". This patch just renames the static global in sim/rx/gdb-if.c into "rx_sim_is_open". sim/rx/ChangeLog: * gdb-if.c (open): Rename to... (rx_sim_is_open): This. Replace all uses of "open" by uses of "rx_sim_is_open" throughout. Tested by rebuilding on x86_64-linux. commit 10b8fe5e0eac145ff075f16872d6cbef7883ec37 Author: Anthony Green Date: Wed Jan 14 19:08:12 2015 -0500 Don't disable gprof for moxie commit c36094316505cf2628812e520b08eb42c0299613 Author: GDB Administrator Date: Thu Jan 15 00:00:13 2015 +0000 Automatic date update in version.in commit edabaaee81ee7ab2e38471b016e13bedbec17dde Author: Jan-Benedict Glaw Date: Wed Jan 14 22:10:15 2015 +0100 Merge include/libiberty.h from GCC This pulls in some missing prototypes and also adds corresponding entries to the ChangeLog file. Please note that for one function, strverscmp(), the ChangeLog entry was already there, but the actual prototype wasn't. These ChangeLog entries are added: 2014-10-28 Yury Gribov * libiberty.h (strtol, strtoul, strtoll, strtoull): New prototypes. 2014-10-15 David Malcolm * libiberty.h (choose_tmpdir): New prototype. commit 52db4ec2d13f511ef3dfe5b9a159869da6e4c3eb Author: Jiong Wang Date: Wed Jan 14 19:11:54 2015 +0000 [ARM] Reject R_ARM_REL32 when trying to defer it to runtime bfd/ * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when trying to defer them to runtime. ld/testsuite/ * ld-arm/elf32-reject.s: New testcase. * ld-arm/elf32-reject.d: Likewise. * ld-arm/elf32-reject-pie.s: Likewise. * ld-arm/elf32-reject-pie.d: Likewise. * ld-arm/arm-elf.exp: Run new testcases. * ld-arm/ifunc-7.s: Delete f2/f4 test items. * ld-arm/ifunc-7.rd: Likewise. * ld-arm/ifunc-7.gd: Likewise. * ld-arm/ifunc-7.dd: Likewise. * ld-arm/ifunc-8.s: Likewise. * ld-arm/ifunc-8.rd: Likewise. * ld-arm/ifunc-8.gd: Likewise. * ld-arm/ifunc-8.dd: Likewise. commit 3d0064a95d413e7d19ff9c7f6db53fefe44a697b Author: Cary Coutant Date: Wed Jan 14 10:30:14 2015 -0800 Fix a bug in resolving HI16/LO16 relocation pairs for MIPS. 2015-01-14 Sasa Stankovic gold/ * mips.cc (reloc_high): Add r_sym. (Mips_relocate_functions::relhi16): Add r_sym parameter. Pass r_sym to reloc_high constructor. (Mips_relocate_functions::relgot16_local): Likewise. (Mips_relocate_functions::rello16): Add r_sym parameter. Use r_sym and r_type to decide whether LO16 matches HI16. (Target_mips::Relocate::relocate): Pass r_sym to calls to relhi16, rello16 and relgot16_local. commit cdf436294f7e0e3bd7668a81dfd5922fdd1aec14 Author: Yao Qi Date: Fri Nov 28 09:18:26 2014 +0800 Detect 64-bit-ness in PowerPC Book III-E This patch is to teach both GDB and GDBServer to detect 64-bit inferior correctly. We find a problem that GDBServer is unable to detect on a e5500 core processor. Current GDBServer assumes that MSR is a 64-bit register, but MSR is a 32-bit register in Book III-E. This patch is to fix this problem by checking the right bit in MSR, in order to handle both Book III-S and Book III-E. In order to detect Book III-S and Book III-E, we check the PPC_FEATURE_BOOKE from the host's HWCAP (by getauxval on glibc >= 2.16. If getauxval doesn't exist, we implement the fallback by parsing /proc/self/auxv), because it should an invariant on the same machine cross different processes. In order to share code, I add nat/ppc-linux.c for both GDB and GDBserver side. gdb: 2015-01-14 Yao Qi * Makefile.in (ppc-linux.o): New rule. * config/powerpc/ppc64-linux.mh (NATDEPFILES): Add ppc-linux.o. * configure.ac: AC_CHECK_FUNCS(getauxval). * config.in: Re-generated. * configure: Re-generated. * nat/ppc-linux.h [__powerpc64__] (ppc64_64bit_inferior_p): Declare. * nat/ppc-linux.c: New file. * ppc-linux-nat.c (ppc_linux_target_wordsize) [__powerpc64__]: Call ppc64_64bit_inferior_p. gdb/gdbserver: 2015-01-14 Yao Qi * Makefile.in (SFILES): Add nat/ppc-linux.c. (ppc-linux.o): New rule. * configure.srv (powerpc*-*-linux*): Add ppc-linux.o. * configure.ac: AC_CHECK_FUNCS(getauxval). * config.in: Re-generated. * configure: Re-generated. * linux-ppc-low.c (ppc_arch_setup) [__powerpc64__]: Call ppc64_64bit_inferior_p commit 514c533895543e246eea1771ea67f3c3486006a4 Author: Yao Qi Date: Thu Jan 8 17:23:55 2015 +0800 Move some ppc macros to nat/ppc-linux.h When I use PPC_FEATURE_BOOKE in GDBserver, I find it is defined in GDB but not in GDBserver. After taking a further look, I find some macros are duplicated between ppc-linux-nat.c and linux-ppc-low.c, so this patch is to move them into nat/ppc-linux.h. gdb/gdbserver: 2015-01-14 Yao Qi * linux-ppc-low.c: Include "nat/ppc-linux.h". (PPC_FEATURE_HAS_VSX): Move to nat/ppc-linux.h. (PPC_FEATURE_HAS_ALTIVEC, PPC_FEATURE_HAS_SPE): Likewise. (PT_ORIG_R3, PT_TRAP): Likewise. (PTRACE_GETVSXREGS, PTRACE_SETVSXREGS): Likewise. (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Likewise. (PTRACE_GETEVRREGS, PTRACE_SETEVRREGS): Likewise. gdb: 2015-01-14 Yao Qi * ppc-linux-nat.c (PT_ORIG_R3, PT_TRAP): Move to nat/ppc-linux.h. (PPC_FEATURE_CELL, PPC_FEATURE_BOOKE): Likewise. (PPC_FEATURE_HAS_DFP): Likewise. (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Likewise. (PTRACE_GETVSXREGS, PTRACE_SETVSXREGS): Likewise. (PTRACE_GETEVRREGS, PTRACE_SETEVRREGS): Likewise. Include "nat/ppc-linux.h". * nat/ppc-linux.h: New file. * Makefile.in (HFILES_NO_SRCDIR): Add nat/ppc-linux.h. commit 5589af0e6661abe07e9a997f6324988b4b87c72f Author: Pedro Alves Date: Mon Jan 12 19:30:08 2015 +0000 PR17525 - breakpoint commands not executed when program run from -x script Executing a gdb script that runs the inferior (from the command line with -x), and has it hit breakpoints with breakpoint commands that themselves run the target, is currently broken on async targets (Linux, remote). While we're executing a command list or a script, we force the interpreter to be sync, which results in some functions nesting an event loop and waiting for the target to stop, instead of returning immediately and having the top level event loop handle the stop. The issue with this bug is simply that bpstat_do_actions misses checking whether the interpreter is sync. When we get here, in the case of executing a script (or, when the interpreter is sync), the program has already advanced to the next breakpoint, through maybe_wait_sync_command_done. We need to process its breakpoints immediately, just like with a sync target. Tested on x86_64 Fedora 20. gdb/ 2015-01-14 Pedro Alves PR gdb/17525 * breakpoint.c: Include "interps.h". (bpstat_do_actions_1): Also check whether the interpreter is async. gdb/testsuite/ 2015-01-14 Pedro Alves Joel Brobecker PR gdb/17525 * gdb.base/bp-cmds-execution-x-script.c: New file. * gdb.base/bp-cmds-execution-x-script.exp: New file. * gdb.base/bp-cmds-execution-x-script.gdb: New file. commit 6c400b59d574782afdb26eb6c021f28c31bb9f1c Author: Pedro Alves Date: Wed Jan 14 11:51:06 2015 +0000 PR cli/17828: -batch -ex r breaks terminal Commit d3d4baed (PR python/17372 - Python hangs when displaying help()) had the side effect of causing 'gdb -batch' to leave the terminal in the wrong state if the program was run. E.g,. $ echo 'main(){*(int*)0=0;}' | gcc -x c -; ./gdb/gdb -batch -ex r ./a.out Program received signal SIGSEGV, Segmentation fault. 0x00000000004004ff in main () $ If you start typing the next command, seemingly nothing happens - GDB left the terminal with echo disabled. The issue is that that "r" ends up in fetch_inferior_event, which calls reinstall_readline_callback_handler_cleanup, which causes readline to prep the terminal (raw, echo disabled). But "-batch" causes GDB to exit before the top level event loop is first started, and then nothing de-preps the terminal. The reinstall_readline_callback_handler_cleanup function's intro comment mentions: "Need to do this as we go back to the event loop, ready to process further input." but the implementation forgets the case of when the interpreter is sync, which indicates we won't return to the event loop yet, or as in the case of -batch, we have not started it yet. The fix is to not install the readline callback in that case. For the test, in this case, checking that command echo still works is sufficient. Comparing stty output before/after running GDB is even better. Because stty may not be available, the test tries both ways. In any case, since expect's spawn (what we use to start gdb) creates a new pseudo tty, another expect spawn or tcl exec after GDB exits would not see the wrong terminal settings. So instead, the test spawns a shell and runs stty and GDB in it. Tested on x86_64 Fedora 20. gdb/ 2015-01-14 Pedro Alves PR cli/17828 * infrun.c (reinstall_readline_callback_handler_cleanup): Don't reinstall if the interpreter is sync. gdb/testsuite/ 2015-01-14 Pedro Alves PR cli/17828 * gdb.base/batch-preserve-term-settings.c: New file. * gdb.base/batch-preserve-term-settings.exp: New file. commit e02c96a79949824bbe1da22ddfc6b50d362fb552 Author: Doug Evans Date: Tue Jan 13 17:00:31 2015 -0800 Enhance gdb.lookup_objfile so that it works with a symlinked binary. gdb/Changelog: * objfiles.c (objfile_filename): New function. * objfiles.h (objfile_filename): Declare it. (objfile_name): Add function comment. * python/py-objfile.c (objfpy_lookup_objfile_by_name): Try both the bfd file name (which may be realpath'd), and the original name. gdb/testsuite/ChangeLog: * gdb.python/py-objfile.exp: Test gdb.lookup_objfile on symlinked binary. commit 8068939ab8058b48d0c7c318d463b0c6b85741fa Author: GDB Administrator Date: Wed Jan 14 00:00:09 2015 +0000 Automatic date update in version.in commit 0900a05b4ce11a11fafbb691d94745bb65ac4980 Author: Jiong Wang Date: Tue Jan 13 15:44:47 2015 +0000 [ARM] vcmp/vcmpe should accept #0x0 as an operand gas/ 2015-01-13 Matthew Wahab * config/tc-arm.c (parse_ifimm_zero): Accept #0x0 as a synonym for #0, restoring previous behaviour. gas/testsuite/ 2015-01-13 Matthew Wahab * gas/arm/ual-vcmp.s: Add vcmp, vcmpe with #0x0 operand. * gas/ual/vcmp.d: Update expected output. * gas/ual/vcmp-zero-bad.l: Likewise commit 576fd14c6861ef937a50b5a7500c8a58f8c4ea92 Author: Joel Brobecker Date: Tue Jan 13 18:59:32 2015 +0400 gdb/testsuite: Make clean mostlyclean should not delete *.py. A sanity-check in my release scripts caught something: After having created the tarballs, I verify that no checked-in file disappeared in the process, and lo and behod, it found that the following file got wiped: - gdb/testsuite/dg-extract-results.py: And it's not part of the tarball either. I don't understand while we delete all *.py files in gdb/testsuite, since I don't see a rule that expected to create one. A run of the testsuite also doesn't seem to be creating .py files there. I traced this to the following commit, which unfortunately provided no explanation. Perhaps we used to run some tests in the gdb/testsuite directory and caused files to be left behind there. Perhaps we still do today? In the meantime, Executive Decision: In order to allow me to create tarballs without losing files, I removed it. It's easy to put something back if we find out why it might still be needed. gdb/testsuite/ChangeLog: * Makefile.in (clean mostlyclean): Do not delete *.py. Tested on x86_64-linux by running the src-release.sh script again, and this time, dg-extract-results.py no longer gets wiped. commit 3b2f13ff2f2af1688c179c971ade19b8e9989076 Author: Joel Brobecker Date: Tue Jan 13 16:24:45 2015 +0400 Update NEWS post GDB 7.9 branch creation. gdb/ChangeLog: * NEWS: Create a new section for the next release branch. Rename the section of the current branch, now that it has been cut. commit b4cfe7f88ece4b809311ff1cd688ff4fd5e77e96 Author: Joel Brobecker Date: Tue Jan 13 16:16:07 2015 +0400 Bump version to 7.9.50.DATE-cvs. Now that the GDB 7.9 branch has been created, we can bump the version number. gdb/ChangeLog: GDB 7.9 branch created (92fc2e6978d9a7c8324c7e851dbee59e22ec7a37): * version.in: Bump version to 7.9.50.DATE-cvs. commit 0941db698eba22727c9a944b5da5c76ae93cc664 Author: Jiong Wang Date: Tue Jan 13 11:36:54 2015 +0000 [AArch64] Fix function pointer variable with -Bsymbolic-functions bfd/ChangeLog 2015-01-13 Thomas Preud'homme * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND to check if a symbol should be bound symbolically. ld/testsuite/ChangeLog 2015-01-13 Thomas Preud'homme * ld-aarch64/aarch64-elf.exp: Added relocs-257-symbolic-func test. * ld-aarch64/relocs-257-symbolic-func.d: New file. * ld-aarch64/relocs-257-symbolic-func.s: Likewise. commit 0172429c3b2656e96ac390a9cdfc441f63df41c9 Author: Jiong Wang Date: Tue Jan 13 11:21:43 2015 +0000 [AArch64] Enable overflow check for TLSLE_MOVW_TPREL_G2 bfd/ * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check for TLSLE_MOVW_TPREL_G2. ld/testsuite/ * ld-aarch64/tprel_g2_overflow.s: New testcase. * ld-aarch64/tprel_g2_overflow.d: New expectation file. * ld-aarch64/aarch64-elf.exp: Run new testcase. commit bab91cce20e052822e128c672e0570c8f3f58131 Author: Jiong Wang Date: Tue Jan 13 11:18:10 2015 +0000 [AArch64] Enable overflow check for R_AARCH64_TLSLE_ADD_TPREL_HI12 bfd/ PR ld/17415 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned. * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the bit mask. ld/testsuite/ PR ld/17415 * ld-aarch64/pr17415.s: Source file for new test. * ld-aarch64/pr17415.d: Expect file for new test. * ld-aarch64/aarch64-elf.exp: Run the new test. commit 92fc2e6978d9a7c8324c7e851dbee59e22ec7a37 Author: Joel Brobecker Date: Tue Jan 13 14:36:34 2015 +0400 [ARI] Remove trailing new-line in argument of call to warning. gdb/ChangeLog: * nat/linux-procfs.c (linux_proc_attach_tgid_threads): Remove trailing new-line in argument of call to warning. commit f71f0b0d6b1214d4ee8466baa9d98f345de98cbd Author: Joel Brobecker Date: Tue Jan 13 14:35:49 2015 +0400 [ARI] Remove trailing new-line in argument of call to warning. gdb/ChangeLog: * linux-nat.c (attach_proc_task_lwp_callback): Remove trailing new-line in argument of call to "warning". commit 04dccad086aa9974fb66f8b5d1c1fb32d5a6ae0e Author: Joel Brobecker Date: Mon Jan 12 15:46:34 2015 +0400 [python/Ada] gdb.lookup_type fails to looking primitive type The following change... commit 1994afbf19892c9e614a034fbf1a5233e9addce3 Date: Tue Dec 23 07:55:39 2014 -0800 Subject: Look up primitive types as symbols. ... caused the following regression: % gdb (gdb) set lang ada (gdb) python print gdb.lookup_type('character') Traceback (most recent call last): File "", line 1, in gdb.error: No type named character. Error while executing Python code. This is because the language_lookup_primitive_type_as_symbol call was moved to the la_lookup_symbol_nonlocal hook. A couple of implementations have been upated accordingly, but the Ada version has not. This patch fixes this omission. gdb/ChangeLog: * ada-lang.c (ada_lookup_symbol_nonlocal): If name not found in static block, then try searching for primitive types. gdb/testsuite/ChangeLog: * gdb.python/py-lookup-type.exp: New file. commit 15eec7902fb3fcee295de60109c8431e70229d27 Author: GDB Administrator Date: Tue Jan 13 00:00:13 2015 +0000 Automatic date update in version.in commit 08b13bdd82996fbd321111191d33233073584b98 Author: Patrick Palka Date: Mon Jan 12 17:51:33 2015 -0500 Append to input history file instead of overwriting it This patch makes readline append new history lines to the GDB history file on exit instead of overwriting the entire history file on exit. This change allows us to run multiple simultaneous GDB sessions without having each session overwrite the added history of each other session on exit. Care must be taken to ensure that the history file doesn't get corrupted when multiple GDB processes are trying to simultaneously append to and then truncate it. Safety is achieved in such a situation by using an intermediate local history file to mutually exclude multiple processes from simultaneously performing write operations on the global history file. gdb/ChangeLog: * top.h (gdb_add_history): Declare. * top.c (command_count): New variable. (gdb_add_history): New function. (gdb_safe_append_history): New static function. (quit_force): Call it. (command_line_input): Use gdb_add_history instead of add_history. * event-top.c (command_line_handler): Likewise. commit a0a3b04c61d7aa79e265224540930cf4057acfb3 Author: H.J. Lu Date: Mon Jan 12 13:34:24 2015 -0800 Properly check abbrev size abbrev_base is independent of abbrev_size. We should use abbrev_base + abbrev_size to check abbrev section size. * dwarf.c (process_debug_info): Properly check abbrev size. commit 1306a7421c764d1f5e2a08afdb9b5818662c9e9c Author: Nick Clifton Date: Mon Jan 12 17:28:55 2015 +0000 Another fix for memory access errors trigegred by running readelf on a corrupt binary. PR binutils/17531 * dwarf.c (display_debug_addr): Use xcalloc to allocate the debug_addr_info array. Check for an address_base that is too large. commit 4ac15b59f2f506ff0ad59f148275cd7406b8d765 Author: James Clarke Date: Mon Jan 12 21:13:54 2015 +0400 [darwin/gdb] Use instead of The `machine/setjmp.h' header is no longer present on OS X 10.10, and is non-standard. Instead, `darwin-nat.c' should be using the standard `setjmp.h' header. gdb/ChangeLog: 2015-01-12 James Clarke (tiny patch) PR gdb/17046 * darwin-nat.c: Replace #include by #include. commit 3d230f71746e0b33376f8b9bca914cc5d980997a Author: Pedro Alves Date: Mon Jan 12 17:10:06 2015 +0000 gdb.python/py-prompt.exp: restore GDBFLAGS The previous change to py-prompt.exp made it return without restoring GDBFLAGS, resulting in breaking the following tests: $ make check RUNTESTFLAGS="--target_board=native-gdbserver --directory=gdb.python" ... Running src/gdb/testsuite/gdb.python/py-prompt.exp ... Running src/gdb/testsuite/gdb.python/py-section-script.exp ... ERROR: (timeout) GDB never initialized after 10 seconds. ERROR: no fileid for gdbuild ERROR: Couldn't send python print ('test') to GDB. ERROR: no fileid for gdbuild ERROR: Couldn't send python print (sys.version_info[0]) to GDB. ERROR: no fileid for gdbuild ERROR: Couldn't send python print (sys.version_info[1]) to GDB. ERROR: no fileid for gdbuild ERROR: no fileid for gdbuild ... gdb/testsuite/ 2015-01-12 Pedro Alves * gdb.python/py-prompt.exp: When the board can't spawn for attach, restore GDBFLAGS before returning. commit 72c61a0d1ef445f99305859b66450da60ec6e0cb Author: Nick Clifton Date: Mon Jan 12 16:08:41 2015 +0000 More fixes for memory access errors when running readelf on fuzzed binaries. PR binutils/17531 * dwarf.c (process_debug_info): Check for abbrev_base being larger than the section size. (process_cu_tu_index): Use xcalloc2 to allocate the CU and TU arrays. (xcalloc2): New function. Like xcalloc, but checks for overflow. * dwarf.h (xcalloc2): Prototype. commit 696025802ec3273fde5cbf82c215a3d795435c1a Author: Jan Beulich Date: Mon Jan 12 15:24:20 2015 +0100 gas: allow labeling of CFI instructions When runtime patching code (like e.g. done by the Linux kernel) there may be cases where the set of stack frame alterations differs between unpatched and patched code. Consequently the corresponding unwind data needs patching too. Locating the right places within an FDE, however, is rather cumbersome without a way to insert labels in the resulting section. Hence this patch introduces a new directive, .cfi_label. Note that with the way CFI data gets emitted currently (at the end of the assembly process) this can't support local FB- and dollar-labels. gas/ 2015-01-12 Jan Beulich * gas/dw2gencfi.c (cfi_add_label, dot_cfi_label): New. (cfi_pseudo_table): Add "cfi_label". (output_cfi_insn): Handle CFI_label. (select_cie_for_fde): Als terminate CIE when encountering CFI_label. * dw2gencfi.h (cfi_add_label): Declare. (struct cfi_insn_data): New member "sym_name". (CFI_label): New. * read.c (read_symbol_name): Drop "static". * read.h (read_symbol_name): Declare. gas/testsuite/ 2015-01-12 Jan Beulich gas/cfi/cfi-label.d, gas/cfi/cfi-label.s: New. gas/cfi/cfi.exp: Run new tests. commit 3c758495736df25d141a4ea13c7aba24f5bb9753 Author: Terry Guo Date: Mon Jan 12 21:30:00 2015 +1030 Fix GDB crash caused by discarding grouped debug sections Keep a group containing just debug sections or the other special sections we currently mark against garbage collection. * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New function. (_bfd_elf_gc_mark_extra_sections): Use it. commit bba33ab1e0f7d2ebd8f8435f92ed12e2a3c558a4 Author: Alan Modra Date: Mon Jan 12 20:24:12 2015 +1030 Fix build without makeinfo from release binutils tar PR 17817 * Makefile.am (aoutx.stamp): cp -p $srcdir/aoutx.texi to keep timestamps so that makeinfo need not be installed. (archive.stamp, archures.stamp, bfdt.stamp, cache.stamp, coffcode.stamp, core.stamp, elf.stamp, elfcode.stamp, mmo.stamp, format.stamp, libbfd.stamp, bfdio.stamp, bfdwin.stamp, opncls.stamp, reloc.stamp, section.stamp, syms.stamp, targets.stamp, init.stamp, hash.stamp, linker.stamp): Similarly. (bfdver.texi): Use test rather than [ ] in commands. * Makefile.in: Regenerate. commit 7e67715dd369f0a0caadaa5e528918dd65176e3b Author: Jan Kratochvil Date: Mon Jan 12 11:02:46 2015 +0100 [testsuite patch] Fix new FAIL: py-frame.exp: test Frame.read_register(rip) for x86_64 -m32 run one gets: +FAIL: gdb.python/py-frame.exp: test Frame.read_register(rip) I do not have x32 OS here but the %rip test should PASS there I think. On Sun, 11 Jan 2015 14:58:06 +0100, Yao Qi wrote: With your patch applied, this test is skipped on 'x86_64 -m32'. I prefer to increasing the test coverage, so how about extending the test for 'x86_64 -m32'? I mean test Frame.read_register(eip)... gdb/testsuite/ChangeLog 2015-01-12 Jan Kratochvil * gdb.python/py-frame.exp (test Frame.read_register(rip)): Use is_amd64_regs_target and is_x86_like_target. commit cb3b1e65a9af9fd95dce40c4444050c30cd07a2b Author: Jan Beulich Date: Mon Jan 12 09:05:19 2015 +0100 arm: properly range check immediate operands of VSHL and VQSHL These two, other than VQSHLU, didn't have their immediates properly range checked so far. (Re-sending unchanged from the original v2 due to never having got an answer to https://sourceware.org/ml/binutils/2013-04/msg00121.html.) gas/ 2015-01-12 Jan Beulich * gas/config/tc-arm.c (do_neon_shl_imm): Check immediate range. (do_neon_qshl_imm): Likewise. gas/testsuite/ 2015-01-12 Jan Beulich * gas/arm/neon-addressing-bad.s: Add test for invalid VSHL, VQSHL, and VQSHLU immediates. * gas/arm/neon-addressing-bad.l: Update accordingly. commit b38ead219b31fed4014cd5b1078da968744b879d Author: Alan Modra Date: Sun Jan 11 08:30:33 2015 +1030 Assorted compiler warning fixes The C standard doesn't guarantee a function pointer can be cast to void* and vice versa. binutils/ * prdbg.c (print_debugging_info): Don't use void* for function pointer param. * budbg.h (print_debugging_info): Update prototype. gas/ * read.c (s_altmacro, s_reloc): Make definition static. commit 005e54bb792bc74f1168def16f35078be588871a Author: Doug Evans Date: Sun Jan 11 16:39:46 2015 -0800 dwarf2read.c (compute_delayed_physnames): Use TYPE_FN_FIELD_PHYSNAME. gdb/ChangeLog: * dwarf2read.c (compute_delayed_physnames): Use TYPE_FN_FIELD_PHYSNAME. commit 4025a8c91f1f09ac37b145bf5c0bdd21cedcdc66 Author: GDB Administrator Date: Mon Jan 12 00:00:12 2015 +0000 Automatic date update in version.in commit f2e0d4b4ebd224797385ca22a031d74346b2475a Author: Doug Evans Date: Sun Jan 11 15:45:43 2015 -0800 Require numeric attributes to specify the form. gdb/testsuite/ChangeLog: * lib/dwarf.exp (Dwarf): Flag an error if a numeric attribute value is given without an explicit form. * gdb.dwarf2/arr-subrange.exp: Specify forms for all numeric attributes. * gdb.dwarf/corrupt.exp: Ditto. * gdb.dwarf2/enum-type.exp: Ditto. * gdb.trace/entry-values.exp: Ditto. * gdb.trace/unavailable-dwarf-piece.exp: Ditto. commit 6a3ca067521821b6c2ad9a836104d11e6dd760cb Author: Doug Evans Date: Sun Jan 11 15:16:26 2015 -0800 Temporarily revert symbol lookup cache. clear_symtab_users calls breakpoint_re_set before observer_notify_new_objfile(NULL), and thus symbol lookup done during breakpoint_re_set will see a stale cache. Presumably we just need to move the call to observer_notify_new_objfile(NULL) to before breakpoint_re_set, but need to check for other such issues, and 7.9 is scheduled to branch tomorrow. Reverts commits: b2fb95e006c29e2cbe4b30523879fe3640f906ad 400678a494713abf8f7ea2367f213109a2c4b886 d98b9ccbccf36563dad92f6093a93655b38bc51b 77087adf50cedf78cc216ac6eb3b2863839d713c gdb/ChangeLog: * symtab.c (eq_symbol_entry): Use SYMBOL_SEARCH_NAME and symbol_matches_domain for symbol comparisons. * symtab.c (symbol_cache_mark_found): Improve function comment. Rename parameter objfile to objfile_context. (symbol_cache_mark_not_found): Improve function comment. Add symbol lookup cache. * NEWS: Document new options and commands. * symtab.c (symbol_cache_key): New static global. (DEFAULT_SYMBOL_CACHE_SIZE, MAX_SYMBOL_CACHE_SIZE): New macros. (SYMBOL_LOOKUP_FAILED): New macro. (symbol_cache_slot_state): New enum. (block_symbol_cache): New struct. (symbol_cache): New struct. (new_symbol_cache_size, symbol_cache_size): New static globals. (hash_symbol_entry, eq_symbol_entry): New functions. (symbol_cache_byte_size, resize_symbol_cache): New functions. (make_symbol_cache, free_symbol_cache): New functions. (get_symbol_cache, symbol_cache_cleanup): New function. (set_symbol_cache_size, set_symbol_cache_size_handler): New functions. (symbol_cache_lookup, symbol_cache_clear_slot): New function. (symbol_cache_mark_found, symbol_cache_mark_not_found): New functions. (symbol_cache_flush, symbol_cache_dump): New functions. (maintenance_print_symbol_cache): New function. (maintenance_flush_symbol_cache): New function. (symbol_cache_stats): New function. (maintenance_print_symbol_cache_statistics): New function. (symtab_new_objfile_observer): New function. (symtab_free_objfile_observer): New function. (lookup_static_symbol, lookup_global_symbol): Use symbol cache. (_initialize_symtab): Init symbol_cache_key. New parameter maint symbol-cache-size. New maint commands print symbol-cache, print symbol-cache-statistics, flush-symbol-cache. Install new_objfile, free_objfile observers. gdb/doc/ChangeLog: * gdb.texinfo (Symbols): Document new commands "maint print symbol-cache", "maint print symbol-cache-statistics", "maint flush-symbol-cache". Document new option "maint set symbol-cache-size". commit 439250fbacfc212a5959b4b5a53ecfee91dfb866 Author: Doug Evans Date: Sun Jan 11 14:06:34 2015 -0800 PR gdb/15830 gdb/ChangeLog: PR gdb/15830 * NEWS: The "maint demangle" command is renamed as "demangle". * demangle.c: #include cli/cli-utils.h, language.h. (demangle_command): New function. (_initialize_demangle): Add new command "demangle". * maint.c (maintenance_demangle): Stub out. (_initialize_maint_cmds): Update help text for "maint demangle", and mark as deprecated. gdb/doc/ChangeLog: * gdb.texinfo (Debugging C Plus Plus): Mention "demangle". (Symbols): Ditto. (Maintenance Commands): Delete docs for "maint demangle". gdb/testsuite/ChangeLog: * gdb.base/maint.exp: Remove references to "maint demangle". * gdb.cp/demangle.exp: Update. "maint demangle" -> "demangle". Add tests for explicitly specifying language to demangle. * gdb.dlang/demangle.exp: Ditto. commit ebf3aa72243fec4bc02617673b243a63050e6127 Author: Mark Kettenis Date: Sun Jan 11 22:16:11 2015 +0100 Fix build on OpenBSD. gdb/ChangeLog: * inf-ptrace.c (inf_ptrace_follow_fork): Adjust now that inferior_thread is a function. commit 77087adf50cedf78cc216ac6eb3b2863839d713c Author: Doug Evans Date: Sun Jan 11 12:02:23 2015 -0800 symtab.c (eq_symbol_entry): Use SYMBOL_SEARCH_NAME and symbol_matches_domain. gdb/ChangeLog: * symtab.c (eq_symbol_entry): Use SYMBOL_SEARCH_NAME and symbol_matches_domain for symbol comparisons. commit d98b9ccbccf36563dad92f6093a93655b38bc51b Author: Doug Evans Date: Sun Jan 11 11:40:41 2015 -0800 tweak previous entry commit 400678a494713abf8f7ea2367f213109a2c4b886 Author: Doug Evans Date: Sun Jan 11 11:36:36 2015 -0800 Improve comments for symbol_cache_mark_{not_,}found. gdb/ChangeLog: * symtab.c (symbol_cache_mark_found): Improve function comment. Rename parameter objfile to objfile_context. (symbol_cache_mark_not_found): Ditto. commit 9d1d54d5a7e3b634895e6e434646c706eb55c082 Author: H.J. Lu Date: Sun Jan 11 08:04:27 2015 -0800 Only discard space for pc-relative relocs symbols When building PIE, we should only discard space for pc-relative relocs symbols which turn out to need copy relocs. bfd/ PR ld/17827 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE, only discard space for pc-relative relocs symbols which turn out to need copy relocs. ld/testsuite/ PR ld/17827 * ld-x86-64/pr17689.out: Updated. * ld-x86-64/pr17689b.S: Likewise. * ld-x86-64/pr17827.rd: New file. * ld-x86-64/x86-64.exp: Run PR ld/17827 test. commit b2fb95e006c29e2cbe4b30523879fe3640f906ad Author: Doug Evans Date: Sat Jan 10 22:27:10 2015 -0800 Add symbol lookup cache. gdb/ChangeLog: Add symbol lookup cache. * NEWS: Document new options and commands. * symtab.c (symbol_cache_key): New static global. (DEFAULT_SYMBOL_CACHE_SIZE, MAX_SYMBOL_CACHE_SIZE): New macros. (SYMBOL_LOOKUP_FAILED): New macro. (symbol_cache_slot_state): New enum. (block_symbol_cache): New struct. (symbol_cache): New struct. (new_symbol_cache_size, symbol_cache_size): New static globals. (hash_symbol_entry, eq_symbol_entry): New functions. (symbol_cache_byte_size, resize_symbol_cache): New functions. (make_symbol_cache, free_symbol_cache): New functions. (get_symbol_cache, symbol_cache_cleanup): New function. (set_symbol_cache_size, set_symbol_cache_size_handler): New functions. (symbol_cache_lookup, symbol_cache_clear_slot): New function. (symbol_cache_mark_found, symbol_cache_mark_not_found): New functions. (symbol_cache_flush, symbol_cache_dump): New functions. (maintenance_print_symbol_cache): New function. (maintenance_flush_symbol_cache): New function. (symbol_cache_stats): New function. (maintenance_print_symbol_cache_statistics): New function. (symtab_new_objfile_observer): New function. (symtab_free_objfile_observer): New function. (lookup_static_symbol, lookup_global_symbol): Use symbol cache. (_initialize_symtab): Init symbol_cache_key. New parameter maint symbol-cache-size. New maint commands print symbol-cache, print symbol-cache-statistics, flush-symbol-cache. Install new_objfile, free_objfile observers. doc/ChangeLog: * gdb.texinfo (Symbols): Document new commands "maint print symbol-cache", "maint print symbol-cache-statistics", "maint flush-symbol-cache". Document new option "maint set symbol-cache-size". commit 328cb676af66e9a70c5af0426282cc233f1a909b Author: GDB Administrator Date: Sun Jan 11 00:00:20 2015 +0000 Automatic date update in version.in commit 3368c1e5ce12ea262ab3ff7a9154472503aadedb Author: Joel Brobecker Date: Sat Jan 10 09:50:44 2015 +0400 Fix use of wrong struct i387_xsave field in i387_cache_to_xsave gdb/gdbserver/ChangeLog: * i387-fp.c (i387_cache_to_xsave): In look over num_avx512_zmmh_high_registers, replace use of struct i387_xsave zmmh_low_space field by use of zmmh_high_space. Tested on x86_64-linux, using boards/native-gdbserver.exp. commit 491793b5cbcc9f42662a2da8427c0022d7b03f9c Author: Andrew Burgess Date: Sun Jan 4 00:03:16 2015 +0000 gas/avr: Prevent incorrect overflow errors for diff fixups. When fixups are converted to a difference type within md_apply_fix, we previously left the contents of VALP (the value that was initially computed within write.c:fixup_segment) unchanged. This is harmless, except that this value is used within write.c:fixup_segment once we return from md_apply_fix to perform an overflow check. In some cases, the value computed in write.c:fixup_segment is so wrong that an overflow error can be triggered. These errors are incorrect. This patch avoids the overflow errors by adjusting the value in write.c:fixup_segment using the VALP pointer in md_apply_fix. A test for this issue is included. gas/ChangeLog: * config/tc-avr.c (md_apply_fix): Update the contents of VALP for diff fixups. gas/testsuite/ChangeLog: * gas/avr/large-debug-line-table.d: New file. * gas/avr/large-debug-line-table.s: New file. commit e321dd9a810dd92c5f739e0e4e35ceec2a3e951a Author: GDB Administrator Date: Sat Jan 10 00:00:16 2015 +0000 Automatic date update in version.in commit a5cd8f05ca759fdb9b27fc98a08edb5f85369ad9 Author: Cary Coutant Date: Fri Jan 9 15:55:50 2015 -0800 Don't align start of segment unless alignment is larger than page size. This fixes an issue where a page-aligned data section, combined with -z relro, could lead to a gap between text and data segments larger than a page, and we would fail to overlap the segments in the file. gold/ * layout.cc (Layout::set_segment_offsets): Don't align start of segment unless alignment is larger than page size. commit 6bf045cd32d07ae55d7eec8ff94bd937c6bb2bce Author: Patrick Palka Date: Sun Nov 30 11:47:16 2014 -0500 Don't munge yacc's #line directives The #line directives within GDB's autogenerated yacc files (e.g. c-exp.c) are being incorrectly munged, causing these directives to refer to nonexistent source files, e.g. #line 36 "/home/patrick/binutils-gdb/gdb//home/patrick/binutils-gdb/gdb/c-exp.y" as opposed to #line 36 "/home/patrick/binutils-gdb/gdb/c-exp.y" The munging happens due to a sed expression added by commit 954d8cae whose intended purpose[1] was to work around the fact that ylwrap emitted #line directives without any directory information, e.g. #line 36 "c-exp.y" So the sed expression was meant to munge such directives to refer to absolute paths instead. But the behavior of ylwrap was changed some years ago[2] to emit absolute paths within #line directives. And when our local copy of ylwrap was synced by commit e30465112, the sed expression in question became unnecessary, and indeed harmful. This patch removes the now-obsolete sed expression. The emitted #line directives are now correct without it. gdb/ChangeLog: * Makefile.in (.y.c): Don't munge yacc's #line directives. [1]: https://sourceware.org/ml/gdb-patches/2010-11/msg00265.html [2]: http://git.savannah.gnu.org/cgit/automake.git/commit/lib/ylwrap?id=b6359a5f3 commit c6e8e93a865d429546037cf5746502aa253a1f2d Author: Nick Clifton Date: Fri Jan 9 21:56:30 2015 +0000 Fixes a bug in the previous delat to tekhex.c which meant that valid tekhex files were being rejected. * tekhex.c (getvalue): Fix thinko in test for correct extraction of value. (getsym): Return false if there was not enough data to extract the symbol. commit ea0d6bb94c47283ce54ad62485997e2aef296d43 Author: Philipp Tomsich Date: Fri Jan 9 20:00:14 2015 +0000 This patch adds the necessary support to the assembler to allow wiring the X-Gene scheduling description up in the respective GCC backend. * config/tc-arm.c (arm_cpus): Add support for APM X-Gene 1 and X-Gene 2. * doc/c-arm.texi (ARM Options): Mention xgene1 and xgene2. commit 588dcc3edbde19f90e76de969dbfa7ab3e17951a Author: Patrick Palka Date: Fri Jan 9 13:27:56 2015 -0500 Consolidate the custom TUI query hook with the default query hook This patch primarily rewrites defaulted_query() to use gdb_readline_wrapper() to prompt the user for input, like prompt_for_continue() does. The motivation for this rewrite is to be able to reuse the default query hook in TUI, obviating the need for a custom TUI query hook. However, having TUI use the default query mechanism exposed a couple of latent bugs in tui_redisplay_readline() related to the handling of multi-line prompts, in particular GDB's multi-line quit prompt. The first issue is an off-by-one error in the calculation of the height of the prompt. The check in question should be col <= prev_col, not c < prev_col, to properly account for the case when a prompt contains multiple consecutive newlines. Failing to do so makes TUI have the wrong idea of the vertical height of the prompt. This patch fixes the column check. The second issue is that cur_line does not get updated to reflect the cursor position if the user's prompt cursor is at the end of the prompt (i.e. if rl_point == rl_end). cur_line only gets updated if rl_point lies between 0..rl_end-1 because that is the bounds of the for loop responsible for updating cur_line. This patch changes the loop's bounds to 0..rl_end so that cur_line always gets updated. With these two bug fixes out of the way, the default query mechanism works well in TUI even with multi-line prompts like GDB's quit prompt. gdb/ChangeLog: * utils.c (defaulted_query): Rewrite to use gdb_readline_wrapper to prompt for input. * tui/tui-hooks.c (tui_query_hook): Remove. (tui_install_hooks): Don't set deprecated_query_hook. * tui/tui-io.c (tui_redisplay_readline): Fix off-by-one error in height calculation. Always update the command window's cur_line. commit ede9f622af1f2634c1227a3ed5f5ea44929573d2 Author: Pedro Alves Date: Mon Dec 29 19:41:07 2014 +0000 add non-stop test that stresses thread starvation issues This commit adds a non-stop mode test originally inspired by signal-while-stepping-over-bp-other-thread.exp, that exposes the thread starvation issues fixed by the previous patches. It sets a set of threads stepping in parallel, and has one of them get a signal. Without the previous fixes, this would fail with timeouts. gdb/testsuite/ 2015-01-09 Pedro Alves * gdb.threads/non-stop-fair-events.c: New file. * gdb.threads/non-stop-fair-events.exp: New file. commit 582511be69deb0e9d52efd6d51f860b6bee02a64 Author: Pedro Alves Date: Mon Dec 29 19:41:07 2014 +0000 [gdbserver] linux-low.c: better starvation avoidance, handle non-stop mode too This patch applies the same starvation avoidance improvements of the previous patch to the Linux gdbserver side. Without this, the test added by the following commit (gdb.threads/non-stop-fair-events.exp) always fails with time outs. gdb/gdbserver/ 2015-01-09 Pedro Alves * linux-low.c (step_over_bkpt): Move higher up in the file. (handle_extended_wait): Don't store the stop_pc here. (get_stop_pc): Adjust comments and rename to ... (check_stopped_by_breakpoint): ... this. Record whether the LWP stopped for a software breakpoint or hardware breakpoint. (thread_still_has_status_pending_p): New function. (status_pending_p_callback): Use thread_still_has_status_pending_p. If the event is no longer interesting, resume the LWP. (handle_tracepoints): Add assert. (maybe_move_out_of_jump_pad): Remove cancel_breakpoints call. (wstatus_maybe_breakpoint): New function. (cancel_breakpoint): Delete function. (check_stopped_by_watchpoint): New function, factored out from linux_low_filter_event. (lp_status_maybe_breakpoint): Delete function. (linux_low_filter_event): Remove filter_ptid argument. Leave thread group exits pending here. Store the LWP's stop PC. Always leave events pending. (linux_wait_for_event_filtered): Pull all events out of the kernel, and leave them all pending. (count_events_callback, select_event_lwp_callback): Consider all events. (cancel_breakpoints_callback, linux_cancel_breakpoints): Delete. (select_event_lwp): Only give preference to the stepping LWP in all-stop mode. Adjust comments. (ignore_event): New function. (linux_wait_1): Delete 'retry' label. Use ignore_event. Remove references to cancel_breakpoints. Adjust to renames. Also give equal priority to all LWPs that have had events in non-stop mode. If reporting a software breakpoint event, unadjust the LWP's PC. (linux_wait): If linux_wait_1 returned an ignored event, retry. (stuck_in_jump_pad_callback, move_out_of_jump_pad_callback): Adjust. (linux_resume_one_lwp): Store the LWP's PC. Adjust. (resume_status_pending_p): Use thread_still_has_status_pending_p. (linux_stopped_by_watchpoint): Adjust. (linux_target_ops): Remove reference to linux_cancel_breakpoints. * linux-low.h (enum lwp_stop_reason): New. (struct lwp_info) : Adjust comment. : Delete field. : New field. * linux-x86-low.c (x86_linux_prepare_to_resume): Adjust. * mem-break.c (software_breakpoint_inserted_here) (hardware_breakpoint_inserted_here): New function. * mem-break.h (software_breakpoint_inserted_here) (hardware_breakpoint_inserted_here): Declare. * target.h (struct target_ops) : Remove field. (cancel_breakpoints): Delete. * tracepoint.c (clear_installed_tracepoints, stop_tracing) (upload_fast_traceframes): Remove references to cancel_breakpoints. commit 9c02b52532ac7864e7e19c7df1fb2e63625f3131 Author: Pedro Alves Date: Wed Jan 7 12:48:32 2015 +0000 linux-nat.c: better starvation avoidance, handle non-stop mode too Running the testsuite with a series that reimplements user-visible all-stop behavior on top of a target running in non-stop mode revealed problems related to event starvation avoidance. For example, I see gdb.threads/signal-while-stepping-over-bp-other-thread.exp failing. What happens is that GDB core never gets to see the signal event. It ends up processing the events for the same threads over an over, because Linux's waitpid(-1, ...) returns that first task in the task list that has an event, starving threads on the tail of the task list. So I wrote a non-stop mode test originally inspired by signal-while-stepping-over-bp-other-thread.exp, to stress this independently of all-stop on top of non-stop. Fixing it required the changes described below. The test will be added in a following commit. 1) linux-nat.c has code in place that picks an event LWP at random out of all that have had events. This is because on the kernel side, "waitpid(-1, ...)" just walks the task list linearly looking for the first that had an event. But, this code is currently only used in all-stop mode. So with a multi-threaded program that has multiple events triggering debug events in parallel, GDB ends up starving some threads. To make the event randomization work in non-stop mode too, the patch makes us pull out all the already pending events on the kernel side, with waitpid, before deciding which LWP to report to the core. There's some code in linux_wait that takes care of leaving events pending if they were for LWPs the caller is not interested in. The patch moves that to linux_nat_filter_event, so that we only have one place that leaves events pending. With that in place, conceptually, the flow is simpler and more normalized: #1 - walk the LWP list looking for an LWP with a pending event to report. #2 - if no pending event, pull events out of the kernel, and store them in the LWP structures as pending. #3- goto #1. 2) Then, currently the event randomization code only considers SIGTRAP (or trap-like) events. That means that if e.g., have have multiple threads stepping in parallel that hit a breakpoint that needs stepping over, and one gets a signal, the signal may end up never getting processed, because GDB will always be giving priority to the SIGTRAPs. The patch fixes this by making the randomization code consider all kinds of pending events. 3) If multiple threads hit a breakpoint, we report one of those, and "cancel" the others. Cancelling means decrementing the PC, and discarding the event. If the next time the LWP is resumed the breakpoint is still installed, the LWP should hit it again, and we'll report the hit then. The problem I found is that this delays threads from advancing too much, with the kernel potentially ending up scheduling the same threads over and over, and others not advancing. So the patch switches away from cancelling the breakpoints, and instead remembering that the LWP had stopped for a breakpoint. If on resume the breakpoint is still installed, we report it. If it's no longer installed, we discard the pending event then. This is actually how GDBserver used to handle this before d50171e4 (Teach linux gdbserver to step-over-breakpoints), but with the difference that back then we'd delay adjusting the PC until resuming, which made it so that "info threads" could wrongly see threads with unadjusted PCs. gdb/ 2015-01-09 Pedro Alves * breakpoint.c (hardware_breakpoint_inserted_here_p): New function. * breakpoint.h (hardware_breakpoint_inserted_here_p): New declaration. * linux-nat.c (linux_nat_status_is_event): Move higher up in file. (linux_resume_one_lwp): Store the thread's PC. Adjust to clear stop_reason. (check_stopped_by_watchpoint): New function. (save_sigtrap): Reimplement. (linux_nat_stopped_by_watchpoint): Adjust. (linux_nat_lp_status_is_event): Delete. (stop_wait_callback): Only call save_sigtrap after storing the pending status. (status_callback): If the thread had been stopped for a breakpoint that has since been removed, discard the event and resume the LWP. (count_events_callback, select_event_lwp_callback): Use lwp_status_pending_p instead of linux_nat_lp_status_is_event. (cancel_breakpoint): Rename to ... (check_stopped_by_breakpoint): ... this. Record whether the LWP stopped for a software breakpoint or hardware breakpoint. (select_event_lwp): Only give preference to the stepping LWP in all-stop mode. Adjust comments. (stop_and_resume_callback): Remove references to new_pending_p. (linux_nat_filter_event): Likewise. Leave exit events of the leader thread pending here. Handle signal short circuiting here. Only call save_sigtrap after storing the pending waitstatus. (linux_nat_wait_1): Remove 'retry' label. Remove references to new_pending. Don't handle leaving events the caller is not interested in pending here, nor handle signal short-circuiting here. Also give equal priority to all LWPs that have had events in non-stop mode. If reporting a software breakpoint event, unadjust the LWP's PC. * linux-nat.h (enum lwp_stop_reason): New. (struct lwp_info) : New field. (struct lwp_info) : Delete field. (struct lwp_info) : New field. * x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust. commit 8af756ef818acb875865a21131a30e52cbcf15ce Author: Pedro Alves Date: Mon Dec 29 19:41:06 2014 +0000 linux-nat.c: always mark execing LWP as resumed A subsequent patch will make the Linux backend's target_wait method pull all events out of the kernel (with waitpid) and store them as pending status in the LWP structure if no pending status was already available. Then, the backend goes over the pending statuses and pick one to report to the core. With that, the existing thread-execl.exp test exposes a bug, like: (gdb) set scheduler-locking on (gdb) PASS: gdb.threads/thread-execl.exp: schedlock on: set scheduler-locking on next FAIL: gdb.threads/thread-execl.exp: schedlock on: get to main in new image (timeout) Recall that when the non-leader thread execs, all threads in the process die, the execing thread changes its pid to the tgid, and then waitpid returns an exec event to the tgid. If GDB didn't resume the leader LWP, then GDB sees an event for an LWP that was supposedly stopped, and thus not marked as resumed. Because the code that picks a pending event to report to the core ignores not-resumed LWPs: /* Return non-zero if LP has a wait status pending. */ static int status_callback (struct lwp_info *lp, void *data) { /* Only report a pending wait status if we pretend that this has indeed been resumed. */ if (!lp->resumed) return 0; the event ends up pending forever, thus the timeout. gdb/ 2015-01-09 Pedro Alves * linux-nat.c (linux_handle_extended_wait) : Set the LWP's 'resumed' flag. commit 8a99810d42b1b4539112c7a50183f3dd807773c2 Author: Pedro Alves Date: Wed Jan 7 19:41:06 2015 +0000 linux-nat.c: clean up pending status checking and resuming LWPs Whenever we resume an LWP, we must clear a few flags and flush the LWP's register cache. We actually currently flush the register cache of all LWPs, but that's unnecessary. This patch makes us flush the register cache of only the LWP that is resumed. Instead of open coding all that in many places, we use a helper function. Likewise, we have two fields in the LWP structure where a pending status may be recorded. Add a helper predicate that checks both and use it throughout instead of open coding the checks. gdb/ 2015-01-09 Pedro Alves * linux-nat.c (linux_resume_one_lwp): New function. (resume_lwp): Use lwp_status_pending_p and linux_resume_one_lwp. (linux_nat_resume): Use lwp_status_pending_p and linux_resume_one_lwp. (linux_handle_syscall_trap): Use linux_resume_one_lwp. (linux_handle_extended_wait): Use linux_resume_one_lwp. (status_callback, running_callback): Use lwp_status_pending_p. (lwp_status_pending_p): New function. (stop_and_resume_callback): Use lwp_status_pending_p. (linux_nat_filter_event): Use linux_resume_one_lwp. (linux_nat_wait_1): Always use status_callback to look for an LWP with a pending status. Use linux_resume_one_lwp. (resume_stopped_resumed_lwps): Use lwp_status_pending_p and linux_resume_one_lwp. commit f7ce857f51e33c66100bcf91b346ee1baf734e53 Author: Pedro Alves Date: Mon Dec 29 19:41:05 2014 +0000 cleanup and speed up (software_)breakpoint_inserted_here_p Factor out common code, and use the more efficient ALL_BP_LOCATIONS_AT_ADDR. gdb/ 2015-01-09 Pedro Alves * breakpoint.c (bp_location_inserted_here_p): New function, factored out from ... (breakpoint_inserted_here_p): ... here. Use ALL_BP_LOCATIONS_AT_ADDR. (software_breakpoint_inserted_here_p): Use bp_location_inserted_here_p and ALL_BP_LOCATIONS_AT_ADDR. commit a7b796db4fab28c2fa52bee86b97cf2b29d9c675 Author: Pedro Alves Date: Mon Dec 29 19:41:05 2014 +0000 watch_thread_num.exp and targets with fairer event reporting This patch fixes the watch_thread_num.exp test to work when the target is better at making event handling be fair among threads. I wrote patches that make GDB native and GDBserver event handling fairer between threads. That is, if threads A and B both simultaneously trigger some debug event, GDB will pick either A or B at random, rather than always handling the event of A first. There's code for that in the Linux backends (gdb and gdbserver) already, but it can be improved, and only works in all-stop mode. With those fixes in place, I found that the watch_thread_num.exp would often time out. The problem is that the test only works _because_ event handling isn't as fair as intended. With the fairness fixes, the test falls victim of PR10116 (gdb drops watchpoints on multi-threaded apps) quite often. To expand on the PR10116 reference, consider that stop events are serialized to GDB core, through target_wait. Say a thread-specific watchpoint as set on thread A. When the "right" thread and some other "wrong" thread both trigger a watchpoint simultaneously, the target may report the "wrong" thread's hit to GDB first (thread B). When handling that event, GDB notices the watchpoint is for another thread, and so shouldn't cause a user-visible stop. On resume, GDB saves the now current value of the watched expression. Afterwards, the "right" thread (thread A) reports its watchpoint trigger. But the watched value hasn't changed since GDB last saved it, and so GDB doesn't report the watchpoint hit to the user. The way the test is written, the watchpoint is associated with the first thread that happens to report an event. It happens that GDB is processing events much more often for one of the threads, which usually will be that same first thread. Hacking the test with "set debug infrun 1", we see exactly that: $ grep "infrun.*\[Thread.*," testsuite/gdb.log | sort | uniq -c | sort -nr 70 infrun: 8798 [Thread 8798], 37 infrun: 8798 [Thread 8802], 36 infrun: 8798 [Thread 8804], 36 infrun: 8798 [Thread 8803], 35 infrun: 8798 [Thread 8805], 34 infrun: 8798 [Thread 8806], The first column shows the number of times the target reported an event for that thread, from: infrun: target_wait (-1, status) = infrun: 8798 [Thread 8798], infrun: status->kind = stopped, signal = GDB_SIGNAL_TRAP This masks out the PR10116 issue. However, if the target is better at giving equal priority to all threads, the PR10116 issue happens often, so it may take quite a while for the right thread to be the first to report its watchpoint event just after the memory being watched really changed, resulting in test time outs. Here's the number of events handled for each thread on a gdbserver run with the event fairness patches: $ grep "infrun.*\[Thread.*," gdb.log | sort | uniq -c 2961 infrun: 13591 [Thread 13591], 2956 infrun: 13591 [Thread 13595], 2941 infrun: 13591 [Thread 13596], 2932 infrun: 13591 [Thread 13597], 2905 infrun: 13591 [Thread 13598], 2891 infrun: 13591 [Thread 13599], Note how the number of events is much higher. The test routinely takes over 10 seconds to finish on my machine rather than under a second as with unpatched gdbserver, when it succeeds, but often it'll fail with timeouts too. So to make the test robust, this patch switches the tests to using "awatch" instead of "watch", as access watchpoints don't care about the watchpoint's "old value". With this, the test always finishes quickly, and we can even bump the number of threads concurrently writting to the shared variable, to have better assurance we're really testing the case of the "wrong" thread triggering a watchpoint. Here's the number of events I see for each thread on a run on my machine, with a gdbserver patched with the event fairness series: $ grep "infrun.*\[Thread.*," testsuite/gdb.log | sort | uniq -c 5 infrun: 5298 [Thread 5302], 4 infrun: 5298 [Thread 5303], 4 infrun: 5298 [Thread 5304], 4 infrun: 5298 [Thread 5305], 4 infrun: 5298 [Thread 5306], 4 infrun: 5298 [Thread 5307], 4 infrun: 5298 [Thread 5308], 4 infrun: 5298 [Thread 5309], 4 infrun: 5298 [Thread 5310], 4 infrun: 5298 [Thread 5311], 4 infrun: 5298 [Thread 5312], 4 infrun: 5298 [Thread 5313], 4 infrun: 5298 [Thread 5314], 4 infrun: 5298 [Thread 5315], 4 infrun: 5298 [Thread 5316], gdb/testsuite/ 2015-01-09 Pedro Alves * gdb.base/annota1.exp (thread_test): Use srcfile and binfile from the global scope. Set a breakpoint after all threads are started rather than stepping over two source lines. Expect the prompt. * gdb.base/watch_thread_num.c (threads_started_barrier): New global. (NUM): Now 15. (main): Use threads_started_barrier to wait for all threads to start. Main thread no longer calls thread_function. Exit after 180 seconds. (loop): New function. (thread_function): Wait on threads_started_barrier barrier. Call 'loop' at each iteration. * gdb.base/watch_thread_num.exp: Continue to breakpoint after all threads have started, instead of hardcoding number of "next" steps. Use an access watchpoint instead of a write watchpoint. commit 9665ffdd591e9b374b4e5f6aeffe15541346140d Author: Pedro Alves Date: Mon Dec 29 19:41:04 2014 +0000 gdb.threads/{siginfo-thread.c,watchthreads-reorder.c,ia64-sigill.c} races with GDB These three test all spawn a few threads and then send a SIGSTOP to their parent GDB in order to pause it while the new threads set things up for the test. With a GDB patch that changes the inferior thread's scheduling a bit, I sometimes see: FAIL: gdb.threads/siginfo-threads.exp: catch signal 0 (timeout) ... FAIL: gdb.threads/watchthreads-reorder.exp: reorder1: continue a (timeout) ... FAIL: gdb.threads/ia64-sigill.exp: continue (timeout) ... The issue is that the test program stops GDB before it had a chance of processing the new thread's clone event: (gdb) PASS: gdb.threads/siginfo-threads.exp: get pid continue Continuing. Stopping GDB PID 21541. Waiting till the threads initialize their TIDs. FAIL: gdb.threads/siginfo-threads.exp: catch signal 0 (timeout) On Linux (at least), new threads start stopped, and the debugger must resume them. The fix is to make the test program wait for the new threads to be running before stopping GDB. gdb/testsuite/ 2015-01-09 Pedro Alves * gdb.threads/ia64-sigill.c (threads_started_barrier): New global. (thread_func): Wait on barrier. (main): Wait for all threads to start before stopping GDB. * gdb.threads/siginfo-threads.c (threads_started_barrier): New global. (thread1_func, thread2_func): Wait on barrier. (main): Wait for all threads to start before stopping GDB. * gdb.threads/watchthreads-reorder.c (threads_started_barrier): New global. (thread1_func, thread2_func): Wait on barrier. (main): Wait for all threads to start before stopping GDB. commit 400cf8cbe9bc48068f1601ea9cd33fbd2f5de36a Author: Anthony Green Date: Fri Jan 9 07:12:37 2015 -0500 Use official ELF machine number for moxie commit c945a99f01941ccb3e73586d5e6f8d45ffa91f77 Author: Pedro Alves Date: Wed Dec 17 20:40:05 2014 +0000 Test attaching to a program that constantly spawns short-lived threads Before the previous fixes, on Linux, this would trigger several different problems, like: [New LWP 27106] [New LWP 27047] warning: unable to open /proc file '/proc/-1/status' [New LWP 27813] [New LWP 27869] warning: Can't attach LWP 11962: No child processes Warning: couldn't activate thread debugging using libthread_db: Cannot find new threads: debugger service failed warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available. gdb/testsuite/ 2015-01-09 Pedro Alves * gdb.threads/attach-many-short-lived-threads.c: New file. * gdb.threads/attach-many-short-lived-threads.exp: New file. commit c1a747c10948e2298083179f4e8aeed8b962e2af Author: Pedro Alves Date: Tue Dec 16 16:12:25 2014 +0000 Linux: Skip thread_db thread event reporting if PTRACE_EVENT_CLONE is supported [A test I wrote stumbled on a libthread_db issue related to thread event breakpoints. See glibc PR17705: [nptl_db: stale thread create/death events if debugger detaches] https://sourceware.org/bugzilla/show_bug.cgi?id=17705 This patch avoids that whole issue by making GDB stop using thread event breakpoints in the first place, which is good for other reasons as well, anyway.] Before PTRACE_EVENT_CLONE (Linux 2.6), the only way to learn about new threads in the inferior (to attach to them) or to learn about thread exit was to coordinate with the inferior's glibc/runtime, using libthread_db. That works by putting a breakpoint at a magic address which is called when a new thread is spawned, or when a thread is about to exit. When that breakpoint is hit, all threads are stopped, and then GDB coordinates with libthread_db to read data structures out of the inferior to learn about what happened. Then the breakpoint is single-stepped, and then all threads are re-resumed. This isn't very efficient (stops all threads) and is more fragile (inferior's thread list in memory may be corrupt; libthread_db bugs, etc.) than ideal. When the kernel supports PTRACE_EVENT_CLONE (which we already make use of), there's really no need to use libthread_db's event reporting mechanism to learn about new LWPs. And if the kernel supports that, then we learn about LWP exits through regular WIFEXITED wait statuses, so no need for the death event breakpoint either. GDBserver has been likewise skipping the thread_db events for a long while: https://sourceware.org/ml/gdb-patches/2007-10/msg00547.html There's one user-visible difference: we'll no longer print about threads being created and exiting while the program is running, like: [Thread 0x7ffff7dbb700 (LWP 30670) exited] [New Thread 0x7ffff7db3700 (LWP 30671)] [Thread 0x7ffff7dd3700 (LWP 30667) exited] [New Thread 0x7ffff7dab700 (LWP 30672)] [Thread 0x7ffff7db3700 (LWP 30671) exited] [Thread 0x7ffff7dcb700 (LWP 30668) exited] This is exactly the same behavior as when debugging against remote targets / gdbserver. I actually think that's a good thing (and as such have listed this in the local/remote parity wiki page a while ago), as the printing slows down the inferior. It's also a distraction to keep bothering the user about short-lived threads that she won't be able to interact with anyway. Instead, the user (and frontend) will be informed about new threads that currently exist in the program when the program next stops: (gdb) c ... * ctrl-c * [New Thread 0x7ffff7963700 (LWP 7797)] [New Thread 0x7ffff796b700 (LWP 7796)] Program received signal SIGINT, Interrupt. [Switching to Thread 0x7ffff796b700 (LWP 7796)] clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:81 81 testq %rax,%rax (gdb) info threads A couple of tests had assumptions on GDB thread numbers that no longer hold. Tested on x86_64 Fedora 20. gdb/ 2014-01-09 Pedro Alves Skip enabling event reporting if the kernel supports PTRACE_EVENT_CLONE. * linux-thread-db.c: Include "nat/linux-ptrace.h". (thread_db_use_events): New function. (try_thread_db_load_1): Check thread_db_use_events before enabling event reporting. (update_thread_state): New function. (attach_thread): Use it. Check thread_db_use_events before enabling event reporting. (thread_db_detach): Check thread_db_use_events before disabling event reporting. (find_new_threads_callback): Check thread_db_use_events before enabling event reporting. Update the thread's state if not using libthread_db events. gdb/testsuite/ 2014-01-09 Pedro Alves * gdb.threads/fork-thread-pending.exp: Switch to the main thread instead of to thread 2. * gdb.threads/signal-command-multiple-signals-pending.c (main): Add barrier around each pthread_create call instead of around all calls. * gdb.threads/signal-command-multiple-signals-pending.exp (test): Set a break on thread_function and have the child threads hit it one at at a time. commit a33e39599ce39ec6225d71f7da1719b544740745 Author: Pedro Alves Date: Tue Dec 16 16:12:24 2014 +0000 libthread_db: Skip attaching to terminated and joined threads I wrote a test that attaches to a program that constantly spawns short-lived threads, which exposed several issues. This is one of them. On GNU/Linux, attaching to a multi-threaded program sometimes prints out warnings like: ... [New LWP 20700] warning: unable to open /proc file '/proc/-1/status' [New LWP 20850] [New LWP 21019] ... That happens because when a thread exits, and is joined, glibc does: nptl/pthread_join.c: pthread_join () { ... if (__glibc_likely (result == 0)) { /* We mark the thread as terminated and as joined. */ pd->tid = -1; ... /* Free the TCB. */ __free_tcb (pd); } So if we attach or interrupt the program (which does an implicit "info threads") at just the right (or rather, wrong) time, we can find and return threads in the libthread_db/pthreads thread list with kernel thread ID -1. I've filed glibc PR nptl/17707 for this. You'll find more info there. This patch handles this as a special case in GDB. This is actually more than just a cosmetic issue. lin_lwp_attach_lwp will think that this -1 is an LWP we're not attached to yet, and after failing to attach will try to check we were already attached to the process, using a waitpid call, which in this case ends up being "waitpid (-1, ...", which obviously results in GDB potentially discarding an event when it shouldn't... Tested on x86_64 Fedora 20, native and gdbserver. gdb/gdbserver/ 2015-01-09 Pedro Alves * thread-db.c (find_new_threads_callback): Ignore thread if the kernel thread ID is -1. gdb/ 2015-01-09 Pedro Alves * linux-nat.c (lin_lwp_attach_lwp): Assert that the lwp id we're about to wait for is > 0. * linux-thread-db.c (find_new_threads_callback): Ignore thread if the kernel thread ID is -1. commit 8784d56326e72e2e6863e8443b1f97e45a46ba36 Author: Pedro Alves Date: Tue Dec 16 16:12:24 2014 +0000 Linux: on attach, attach to lwps listed under /proc/$pid/task/ ... instead of relying on libthread_db. I wrote a test that attaches to a program that constantly spawns short-lived threads, which exposed several issues. This is one of them. On Linux, we need to attach to all threads of a process (thread group) individually. We currently rely on libthread_db to list the threads, but that is problematic, because libthread_db relies on reading data structures out of the inferior (which may well be corrupted). If threads are being created or exiting just while we try to attach, we may trip on inconsistencies in the inferior's thread list. To work around that, when we see a seemingly corrupt list, we currently retry a few times: static void thread_db_find_new_threads_2 (ptid_t ptid, int until_no_new) { ... if (until_no_new) { /* Require 4 successive iterations which do not find any new threads. The 4 is a heuristic: there is an inherent race here, and I have seen that 2 iterations in a row are not always sufficient to "capture" all threads. */ ... That heuristic may well fail, and when it does, we end up with threads in the program that aren't under GDB's control. That's obviously bad and results in quite mistifying failures, like e.g., the process dying for seeminly no reason when a thread that wasn't attached trips on a breakpoint. There's really no reason to rely on libthread_db for this nowadays when we have /proc mounted. In that case, which is the usual case, we can list the LWPs from /proc/PID/task/. In fact, GDBserver is already doing this. The patch factors out that code that knows to walk the task/ directory out of GDBserver, and makes GDB use it too. Like GDBserver, the patch makes GDB attach to LWPs and _not_ wait for them to stop immediately. Instead, we just tag the LWP as having an expected stop. Because we can only set the ptrace options when the thread stops, we need a new flag in the lwp structure to keep track of whether we've already set the ptrace options, just like in GDBserver. Note that nothing issues any ptrace command to the threads between the PTRACE_ATTACH and the stop, so this is safe (unlike one scenario described in gdbserver's linux-low.c). When we attach to a program that has threads exiting while we attach, it's easy to race with a thread just exiting as we try to attach to it, like: #1 - get current list of threads #2 - attach to each listed thread #3 - ooops, attach failed, thread is already gone As this is pretty normal, we shouldn't be issuing a scary warning in step #3. When #3 happens, PTRACE_ATTACH usually fails with ESRCH, but sometimes we'll see EPERM as well. That happens when the kernel still has the thread in its task list, but the thread is marked as dead. Unfortunately, EPERM is ambiguous and we'll get it also on other scenarios where the thread isn't dead, and in those cases, it's useful to get a warning. To distiguish the cases, when we get an EPERM failure, we open /proc/PID/status, and check the thread's state -- if the /proc file no longer exists, or the state is "Z (Zombie)" or "X (Dead)", we ignore the EPERM error silently; otherwise, we'll warn. Unfortunately, there seems to be a kernel race here. Sometimes I get EPERM, and then the /proc state still indicates "R (Running)"... If we wait a bit and retry, we do end up seeing X or Z state, or get an ESRCH. I thought of making GDB retry the attach a few times, but even with a 500ms wait and 4 retries, I still see the warning sometimes. I haven't been able to identify the kernel path that causes this yet, but in any case, it looks like a kernel bug to me. As this just results failure to suppress a warning that we've been printing since about forever anyway, I'm just making the test cope with it, and issue an XFAIL. gdb/gdbserver/ 2015-01-09 Pedro Alves * linux-low.c (linux_attach_fail_reason_string): Move to nat/linux-ptrace.c, and rename. (linux_attach_lwp): Update comment. (attach_proc_task_lwp_callback): New function. (linux_attach): Adjust to rename and use linux_proc_attach_tgid_threads. (linux_attach_fail_reason_string): Delete declaration. gdb/ 2015-01-09 Pedro Alves * linux-nat.c (attach_proc_task_lwp_callback): New function. (linux_nat_attach): Use linux_proc_attach_tgid_threads. (wait_lwp, linux_nat_filter_event): If not set yet, set the lwp's ptrace option flags. * linux-nat.h (struct lwp_info) : New field. * nat/linux-procfs.c: Include . (linux_proc_get_int): New parameter "warn". Handle it. (linux_proc_get_tgid): Adjust. (linux_proc_get_tracerpid): Rename to ... (linux_proc_get_tracerpid_nowarn): ... this. (linux_proc_pid_get_state): New function, factored out from (linux_proc_pid_has_state): ... this. Add new parameter "warn" and handle it. (linux_proc_pid_is_gone): New function. (linux_proc_pid_is_stopped): Adjust. (linux_proc_pid_is_zombie_maybe_warn) (linux_proc_pid_is_zombie_nowarn): New functions. (linux_proc_pid_is_zombie): Use linux_proc_pid_is_zombie_maybe_warn. (linux_proc_attach_tgid_threads): New function. * nat/linux-procfs.h (linux_proc_get_tgid): Update comment. (linux_proc_get_tracerpid): Rename to ... (linux_proc_get_tracerpid_nowarn): ... this, and update comment. (linux_proc_pid_is_gone): New declaration. (linux_proc_pid_is_zombie): Update comment. (linux_proc_pid_is_zombie_nowarn): New declaration. (linux_proc_attach_lwp_func): New typedef. (linux_proc_attach_tgid_threads): New declaration. * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason): Adjust to use nowarn functions. (linux_ptrace_attach_fail_reason_string): Move here from gdbserver/linux-low.c and rename. (ptrace_supports_feature): If the current ptrace options are not known yet, check them now, instead of asserting. * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason_string): Declare. commit 883ed13e4af121e28de1c0df70a8d66d94a8bc7b Author: Pedro Alves Date: Tue Dec 16 16:12:23 2014 +0000 libthread_db: debug output should go to gdb_stdlog Some debug output in linux-thread-db.c was being sent to gdb_stdout, and some to gdb_stderr, while the right place to send debug output to is gdb_stdlog. gdb/ 2015-01-09 Pedro Alves * linux-thread-db.c (thread_db_find_new_threads_silently) (try_thread_db_load_1, try_thread_db_load, thread_db_load_search) (find_new_threads_once): Print debug output on gdb_stdlog. commit 60b3033e6e2936af6fcc37cf67cade99a89940ad Author: Pedro Alves Date: Fri Jan 9 11:04:19 2015 +0000 skip "attach" tests when testing against stub-like targets We already skip "attach" tests if the target board is remote, in dejagnu's sense, as we use TCL's exec to spawn the program on the build machine. We should also skip these tests if testing with "target remote" or other stub-like targets where "attach" doesn't make sense. Add a helper procedure that centralizes the checks a test that needs to spawn a program for testing "attach" and make all test files that use spawn_wait_for_attach check it. gdb/testsuite/ 2015-01-09 Pedro Alves * lib/gdb.exp (can_spawn_for_attach): New procedure. (spawn_wait_for_attach): Error out if can_spawn_for_attach returns false. * gdb.base/attach.exp: Use can_spawn_for_attach instead of checking whether the target board is remote. * gdb.multi/multi-attach.exp: Likewise. * gdb.python/py-sync-interp.exp: Likewise. * gdb.server/ext-attach.exp: Likewise. * gdb.python/py-prompt.exp: Use can_spawn_for_attach before the tests that need to attach, instead of checking whether the target board is remote at the top of the file. commit 1710aab8af63e37c846efb7ed66e76dce95330ba Author: Chen Gang Date: Fri Jan 9 10:09:03 2015 +0000 gdb/compile/compile.c: Check return value of 'system' to avoid compiler warning Add missing ChangeLog entry. 2015-01-09 Chen Gang Pedro Alves * compile/compile.c: Include "gdb_wait.h". (do_rmdir): Check return value, and free 'zap'. commit 3ce348af7f45f00d5acbdc4e1ef22c5f14724408 Author: Chen Gang Date: Fri Jan 9 10:40:42 2015 +0800 gdb/compile/compile.c: Check return value of 'system' to avoid compiler warning Under Ubuntu 12, we need to check the return value of system(), or the compiler warns: gcc -g -O2 -I. -I../../binutils-gdb/gdb -I../../binutils-gdb/gdb/common -I../../binutils-gdb/gdb/config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I../../binutils-gdb/gdb/../include/opcode -I../../binutils-gdb/gdb/../opcodes/.. -I../../binutils-gdb/gdb/../readline/.. -I../bfd -I../../binutils-gdb/gdb/../bfd -I../../binutils-gdb/gdb/../include -I../libdecnumber -I../../binutils-gdb/gdb/../libdecnumber -I../../binutils-gdb/gdb/gnulib/import -Ibuild-gnulib/import -DTUI=1 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wpointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -Wmissing-parameter-type -Wold-style-declaration -Wold-style-definition -Wformat-nonliteral -Werror -c -o compile.o -MT compile.o -MMD -MP -MF .deps/compile.Tpo ../../binutils-gdb/gdb/compile/compile.c ../../binutils-gdb/gdb/compile/compile.c: In function ‘do_rmdir’: ../../binutils-gdb/gdb/compile/compile.c:175:10: error: ignoring return value of ‘system’, declared with attribute warn_unused_result [-Werror=unused-result] cc1: all warnings being treated as errors make[2]: *** [compile.o] Error 1 make[2]: Leaving directory `/upstream/build-binutils-s390/gdb' make[1]: *** [all-gdb] Error 2 make[1]: Leaving directory `/upstream/build-binutils-s390' make: *** [all] Error 2 Also, 'zap' is leaking. 2015-01-09 Chen Gang Pedro Alves * compile/compile.c: Include "gdb_wait.h". (do_rmdir): Check return value, and free 'zap'. commit 1c237a09afdecc5a68fd5b566abba28503333148 Author: GDB Administrator Date: Fri Jan 9 00:00:11 2015 +0000 Automatic date update in version.in commit 23d4663e222cbb2b9776150677683516bb7135b7 Author: Nick Clifton Date: Thu Jan 8 16:23:16 2015 +0000 Adds code to the MSP430 linker to transform a 4-byte BR instruction into a 2-byte JMP instruction, when this can be done safely. * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of 16-bit absolute BR instructions to 10-bit pc-relative JMP instructions. commit 063bb0250defafcc55544474a2961ecbc153882e Author: Nick Clifton Date: Thu Jan 8 15:39:49 2015 +0000 Fix memory access violations exposed by running strip on fuzzed binaries. PR binutils/17512 * coffcode.h (coff_slurp_symbol_table): Return false if we failed to load the line table. * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum maxpagesize of 1. * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the Data Directory Size is too large. * objcopy.c (copy_object): Free the symbol table if no symbols could be loaded. (copy_file): Use bfd_close_all_done to close files that could not be copied. commit 848cde35d61874521ad6c88a50f983d5ee7d2307 Author: Nick Clifton Date: Thu Jan 8 13:52:42 2015 +0000 Fix memory access violations triggered by running sysdump on fuzzed binaries. PR binutils/17512 * sysdump.c (getINT): Fail if reading off the end of the buffer. Replace call to abort with a call to fatal. (getCHARS): Prevetn reading off the end of the buffer. commit 2279a12a44ede7a0a6d7375d90d33676fa8771ad Author: Jan Beulich Date: Thu Jan 8 14:10:36 2015 +0100 ld/x86-64: adjust pr14207 test expectations The original test output expectations cause it to fail when configure determines enable_initfini_array=no (which was observed on a cross build on an old 32-bit host, pointing out that taking into account host properties in such a case is bogus anyway). ld/testsuite/ 2015-01-08 Jan Beulich * ld-x86-64/pr14207.d: Adjust expecations to cover the enable_initfini_array=no case. commit b597c318b86b5ad2bca1f72ee8c0fbe33cbb7dad Author: Yao Qi Date: Sun Dec 28 16:12:53 2014 +0800 always read synthetic pointers as signed integers I see the error message "access outside bounds of object referenced via synthetic pointer" in the two fails below of mips gdb testing print d[-2]^M access outside bounds of object referenced via synthetic pointer^M (gdb) FAIL: gdb.dwarf2/implptrconst.exp: print d[-2] (gdb) print/d p[-1]^M access outside bounds of object referenced via synthetic pointer^M (gdb) FAIL: gdb.dwarf2/implptrpiece.exp: print/d p[-1] in the first test, 'd[-2]' is processed by GDB as '* (&d[-2])'. 'd' is a synthetic pointer, so its value is zero, the address of 'd[-2]' is -2. In dwarf2loc.c:indirect_pieced_value, /* This is an offset requested by GDB, such as value subscripts. However, due to how synthetic pointers are implemented, this is always presented to us as a pointer type. This means we have to sign-extend it manually as appropriate. */ byte_offset = value_as_address (value); if (TYPE_LENGTH (value_type (value)) < sizeof (LONGEST)) byte_offset = gdb_sign_extend (byte_offset, 8 * TYPE_LENGTH (value_type (value))); byte_offset += piece->v.ptr.offset; We know that the value is really an offset instead of address, so the fix is to extract the value as an (signed) offset. gdb: 2015-01-08 Pedro Alves Yao Qi * dwarf2loc.c (indirect_pieced_value): Don't call gdb_sign_extend. Call extract_signed_integer instead. * utils.c (gdb_sign_extend): Remove. * utils.h (gdb_sign_extend): Remove declaration. commit 3565cf8fedf2bae2b383fae66dde62c3bdae51c9 Author: Nick Clifton Date: Thu Jan 8 12:37:46 2015 +0000 Fixes for memory access violations triggered by running nlmconv on fuzzed binaries. PR binutils/17512 * nlmconv.c (i386_mangle_relocs): Skip relocs without an associated symbol. (powerpc_mangle_relocs): Skip unrecognised relocs. Check address range before applying a reloc. commit 025ac41482555f6273dee37988734a9f88633dbc Author: Pierre Muller Date: Thu Jan 8 08:53:26 2015 +0100 Set language for C++ special symbols. The special handling of C++ special symbol generates symbols that have no language. Those symbols cannot be displayed correctly in the backtrace stack. See https://sourceware.org/bugzilla/show_bug.cgi?id=17811 for details and examples in C++ and pascal language. The patch below fixes this issue, by setting language of new symbol before special handling of special C++ symbols. 2015-01-07 Pierre Muller PR symtab/17811 * stabsread.c (define_symbol): Set language for C++ special symbols. commit acc018ac031c9e03e012d7d2f3871bfe6b16168d Author: Yao Qi Date: Tue Dec 30 14:40:49 2014 +0800 Recognize branch instruction on MIPS in gdb.trace/entry-values.exp The test entry-values.exp doesn't recognize the call instructions on MIPS, such as JAL, JALS and etc, so this patch sets call_insn to match various jump and branch instructions first. Currently, we assume the next instruction address of call instruction is the address returned from foo, however it is not correct on MIPS which has delay slot. We extend variable call_insn to match one instruction after jump or branch instruction, so that $returned_from_foo is correct on MIPS. All tests in entry-values.exp are PASS. gdb/testsuite: 2015-01-08 Yao Qi * gdb.trace/entry-values.exp: Set call_insn for MIPS target. commit 1e508ea5e14eab82759a3f3272cc0456b4928a53 Author: GDB Administrator Date: Thu Jan 8 00:00:11 2015 +0000 Automatic date update in version.in commit fa5af12a25f2143b1acd9717fea1bf680e99697f Author: Patrick Palka Date: Wed Jan 7 16:23:39 2015 -0500 Trivially tweak the comment documenting initial_gdb_ttystate gdb/ChangeLog: * inflow.c (initial_gdb_ttystate): Tweak comment. commit 7c89917ffa6813f40fbb9f345411d59716e90714 Author: Richard Earnshaw Date: Wed Jan 7 17:32:24 2015 +0000 Sync with gcc/libiberty. commit d7b24d2941fd7c99ba5843331989e6023075f0d0 Author: Nick Clifton Date: Wed Jan 7 17:33:17 2015 +0000 Fix memory access violations uncovered by running the dlltool on fuzzed binaries. PR binutils/17512 * dlltool.c (scan_obj_file): Break loop if the last archive displayed matches the current archive. commit c88f5b8e495889f5d281a17bd56340d9a0e4cff6 Author: Nick Clifton Date: Wed Jan 7 16:41:25 2015 +0000 Fix memory access violations exposed by running the srconv tool on fuzzed binaries. PR binutils/17512 * objdump.c (display_any_bfd): Add a depth limit to nested archive display in order to avoid infinite loops. * srconv.c: Replace calls to abort with calls to fatal with an error message. commit ea42d6f8d1e24403e533e5dfea18e94c47ac534b Author: Joel Brobecker Date: Wed Jan 7 18:49:49 2015 +0400 Empty line after comment documenting set_initial_gdb_ttystate. gdb/ChangeLog: * inflow.c (set_initial_gdb_ttystate): Add empty line after comment documenting function. commit 50a18af83d28d66a769af40eef7d0548e2dc0883 Author: Jan Kratochvil Date: Wed Jan 7 15:42:57 2015 +0100 [testsuite patch] Fix avx512.exp regression +gdb compile failed, ^[[01m^[[Kgdb/testsuite/gdb.arch/i386-avx512.c:20:27:^[[m^[[K ^[[01;31m^[[Kfatal error: ^[[m^[[Knat/x86-cpuid.h: No such file or directory + #include "nat/x86-cpuid.h" +^[[01;32m^[[K ^^[[m^[[K +compilation terminated. +UNTESTED: gdb.arch/i386-avx512.exp: i386-avx512.exp 125f8a3ddedd413a2290dae011f0bed9ffc78278 is the first bad commit commit 125f8a3ddedd413a2290dae011f0bed9ffc78278 Author: Gary Benson Date: Thu Jun 19 14:46:38 2014 +0100 Move shared native target specific code to gdb/nat gdb/testsuite/ChangeLog 2015-01-07 Jan Kratochvil Fix testcase compilation. * gdb.arch/i386-avx512.exp (comp_flags): Remove /common. commit 6a06d66006d33293215eaf706ee416f6a99da273 Author: Patrick Palka Date: Sat Nov 22 14:12:49 2014 -0500 Don't propagate our current terminal state to the inferior Currently when we start an inferior we have the inferior inherit our terminal state. Under TUI, our terminal is highly modified by ncurses and readline. So when starting an inferior under TUI, the inferior will have a highly modified terminal state which will interfere with standard I/O. For example, $ gdb gdb (gdb) break main (gdb) run (gdb) print puts ("a\nb") a b $1 = 4 (gdb) [enter TUI mode] (gdb) run (gdb) [exit TUI mode] (gdb) print puts ("a\nb") a b $2 = 4 (gdb) print puts ("a\r\nb\r") a b $3 = 6 As you can see, when we start the inferior under the regular interface, puts() prints the text properly. But when we start the inferior under TUI, puts() does not print the text properly. This is because when we start the inferior under TUI it inherits our current terminal state which has been modified by ncurses to, among other things, require an explicit \r\n to print a new line. As a result the inferior performs standard I/O in an unexpected way. Because of this discrepancy, it doesn't seem like a good idea to have the inferior inherit our _current_ terminal state for it may have been modified by readline and/or ncurses. Instead, we should have the inferior inherit a pristine snapshot of our terminal state taken before readline or ncurses have had a chance to alter it. This enables the inferior to run in a more accurate way, more closely mimicking the program's behavior had it run standalone. And it fixes the above mentioned issue. Tested on x86_64-unknown-linux-gnu. gdb/ChangeLog: * terminal.h (set_initial_gdb_ttystate): Declare. * inflow.c (initial_gdb_ttystate): New static variable. (set_initial_gdb_ttystate): New setter. (child_terminal_init_with_pgrp): Copy initial_gdb_ttystate instead of our current terminal state. * top.c (gdb_init): Call set_initial_gdb_ttystate. commit 8d983e3645b62e72373b3ba4a9af548b82fb43bc Author: Andrew Burgess Date: Tue Jan 6 15:58:57 2015 +0000 ld/testing: Extend comment on run_dump_test Mention that readelf can be used as a test program in the comment of run_dump_test. ld/testsuite/ChangeLog: * lib/ld-lib.exp (run_dump_test): Extend comment to mention readelf. commit fdbf396f7e1cc87f408df7896c5464249f65c8e8 Author: Joel Brobecker Date: Wed Jan 7 13:42:51 2015 +0400 Regenerate sim/common/aclocal.m4 and sim/common/configure... ... using automake 1.11.1, which is the version we're currently using throughout, instead of 1.11.3. This should be a no-op in practice, but will help automake/aclocal version-related differences to cloud real changes being made. sim/common/ChangeLog: * aclocal.m4, configure: Regenerate using automake 1.11.1. commit 5a70a2235a5fb9a8d90110089d97a27961093a39 Author: Jan Beulich Date: Wed Jan 7 09:39:27 2015 +0100 arm: fix extension feature disabling Using e.g. .arch_extension simd .arch_extension nocrypto so far results in SIMD support getting disabled, which I can't see being the purpose of the "no"-prefixed variants of architecture extension specifications. Of course it is questionable whether the current, counter intuitive behavior needs to be retained, and the new behavior perhaps be made work through e.g. a newly recognized "no-" prefix. gas/ 2015-01-07 Jan Beulich * gas/config/tc-arm.c (struct arm_option_extension_value_table): Split field "value" into fields "merge_value" and "clear_value". (arm_extensions): Adjust initializer accordingly. commit e810d75b1c9bef779b29df9d2c609fd5891d5917 Author: Joel Brobecker Date: Wed Jan 7 07:34:29 2015 +0400 [python,guile] Add comment beside conditions testing empty arrays. gdb/ChangeLog: * guile/scm-type.c (tyscm_array_1): Add comment. * python/py-type.c (typy_array_1): Add comment. commit 6f25f22356dcf9ddf6b375c8e967486f10855dfd Author: H.J. Lu Date: Tue Jan 6 16:46:36 2015 -0800 Skip unknown relocation PR binutils/17512 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation. * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise. commit 7b496d07dfbb696ea597d3f3ec3a3dfc0646cb86 Author: GDB Administrator Date: Wed Jan 7 00:00:14 2015 +0000 Automatic date update in version.in commit 4fc1b9d43cbce7571264a0011c87258b78252750 Author: H.J. Lu Date: Thu Dec 18 11:09:28 2014 -0800 Handle stack split for x32 X32 uses cmp %fs:NN,%esp, lea NN(%rsp),%r10d, lea NN(%rsp),%r11d, instead of cmp %fs:NN,%rsp, lea NN(%rsp),%r10, lea NN(%rsp),%r11. This patch handles it. PR gold/17729 * configure.ac (DEFAULT_TARGET_X86_64): Don't set for x32. (DEFAULT_TARGET_X32): Set for x32. * x86_64.cc (cmp_insn_32): New. (lea_r10_insn_32): Likewise. (lea_r11_insn_32): Likewise. (cmp_insn_64): Likewise. (lea_r10_insn_64): Likewise. (lea_r11_insn_64): Likewise. (Target_x86_64::do_calls_non_split): Handle x32. * testsuite/Makefile.am (check_SCRIPTS): Add split_x32.sh. (check_DATA): Add split_x32 files. (split_x32_[1234n].o): New targets. (split_x32_[124]): New targets. (split_x32_[1234r].stdout): New targets. * testsuite/split_x32.sh: New file. * testsuite/split_x32_1.s: Likewise. * testsuite/split_x32_2.s: Likewise. * testsuite/split_x32_3.s: Likewise. * testsuite/split_x32_4.s: Likewise. * testsuite/split_x32_n.s: Likewise. * configure: Regenerated. * testsuite/Makefile.in: Likewise. commit e7287c7f647870093b8ab5ffea0732ffdb8c4d66 Author: Nick Clifton Date: Tue Jan 6 22:02:55 2015 +0000 Another fix for an objdump crash when parsing a corrupt binary. PR binutils/17512 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the string table. commit e749cab89d976c723ee01a3dfcfd7ec1a883f890 Author: H.J. Lu Date: Tue Jan 6 12:58:54 2015 -0800 Handle Initial-Exec to Local-Exec for x32 PR gold/17809 * x86_64.cc (Target_x86_64::Relocate::tls_ie_to_le): Handle x32. commit ec93045b400ec68b0c5716d75f27a87533b57058 Author: Nick Clifton Date: Tue Jan 6 17:54:02 2015 +0000 Fix memory access violations for objdump triggered by fuzzed binaries. PR binutils/17512 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1. (bfd_perform_relocation): Include the size of the reloc in the test for an out of range relocation. (bfd_generic_get_relocated_section_contents): Remove reloc range test. commit 60ebc25751744f54ae5c00d1c9198ab64fcc5b33 Author: Alan Modra Date: Tue Jan 6 16:46:40 2015 +0000 Fixes a buffer overflow when compiling assembler for the MinGW targets. PR binutils/17754 * internal.h (internal_auxent): Increase size of x_fname field to 20 to allow for PE format's longer file names. commit 85880250e591a51624d24db653aaace0c5ce5943 Author: Nick Clifton Date: Tue Jan 6 16:06:45 2015 +0000 Fixes for memory access violations in the coffdump program. PR binutils/17512 * coffdump.c (dump_coff_section): Check for a symbol being available before printing its name. (main): Check the return value from coff_grok. * coffgrok.c: Reformat and tidy. Add range checks to most functions. (coff_grok): Return NULL if the input bfd is not in a COFF format. * coffgrok.h: Reformat and tidy. (struct coff_section): Change the nrelocs field to unsigned. * srconv.c (main): Check the return value from coff_grok. * coff-i860.c (CALC_ADDEND): Always set an addend value. * tekhex.c (getvalue): Add an end pointer parameter. Use it to avoid reading off the end of the buffer. (getsym): Likewise. (first_phase): Likewise. (pass_over): Pass an end pointer to the invoked function. commit fce10a8494efa8faec67b718f25e06d3d71694b3 Author: Joel Brobecker Date: Tue Jan 6 18:37:53 2015 +0400 gdb/guile: Do not error when trying to create empty array. This fixes a similar error as in the Python support code where trying to create an empty array. In guile/scm-type.c::tyscm_array_1, the funtion raises an exception if N2 < N1: if (n2 < n1) { gdbscm_out_of_range_error (func_name, SCM_ARG3, But it should be doing so if N2 == N1 - 1, since that would simply be an empty array, not an array with a negative length. gdb/ChangeLog: * guile/scm-type.c (tyscm_array_1): Do not raise out-of-range error if N2 is equal to N1 - 1. commit 8503d6e1e564cb5ac61bc6e3f16c0b384c76661e Author: Joel Brobecker Date: Tue Jan 6 18:30:53 2015 +0400 gdb/python: exception trying to create empty array The following python command fails: (gdb) python print gdb.lookup_type('char').array(1, 0) Traceback (most recent call last): File "", line 1, in ValueError: Array length must not be negative Error while executing Python code. The above is trying to create an empty array, which is fairly command in Ada. gdb/ChangeLog: * python/py-type.c (typy_array_1): Do not raise negative-length exception if N2 is equal to N1 - 1. gdb/testsuite/ChangeLog: * gdb.python/py-type.exp: Add a couple test about empty array creation, and negative-length array creation. commit 533d0af0b8a8127b6f189222fc57aa11ce7aab2c Author: H.J. Lu Date: Mon Jan 5 17:43:34 2015 -0800 Return NULL on corrupt input PR binutils/17512 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt input. * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise. commit 9c90714c2f94b4486f56fcd9dcb70e27d983f7df Author: GDB Administrator Date: Tue Jan 6 00:00:11 2015 +0000 Automatic date update in version.in commit 896ca0981329171639b1fe0b934393a79ef4fdfb Author: Nick Clifton Date: Mon Jan 5 23:13:50 2015 +0000 More fixes for invalid memory accesses triggered by fuzzed binaries. PR binutils/17512 * nm.c (print_symbol): Add 'is_synthetic' parameter. Use it to help initialize the info.elfinfo field. (print_size_symbols): Add 'synth_count' parameter. Use it to set the is_synthetic parameter when calling print_symbol. (print_symbols): Likewise. (display_rel_file): Pass synth_count to printing function. (display_archive): Break loop if the last archive displayed matches the current archive. * size.c (display_archive): Likewise. * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized is at least big enough for the header to be read. * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs. * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks. (bfd_mach_o_read_command): Prevetn duplicate error messages about unrecognized commands. * syms.c (_bfd_stab_section_find_nearest_line): Add range checks when indexing into the string table. commit 82b1b41bcdc6d01fdbd94b246e24a8a8f8c2bddd Author: Nick Clifton Date: Mon Jan 5 13:54:22 2015 +0000 More fixes for invalid memory accesses triggered by fuzzed binaries. PR binutils/17531 * dwarf.c (alloc_num_debug_info_entries): New variable. (process_debug_info): Set it. Use it to avoid displaying attributes for which there is no info. (display_debug_abbrev): Check that the debug_info_entry index is valid before using it. (display_loc_list_dwo): Likewise. (process_cu_tu_index): Add range check for an overlarge dw_sect value. (free_debug_memory): Reset alloc_num_debug_info_entries. * readelf.c (slurp_ia64_unwind_table): Warn if the reloc could not be indentified. (dynamic_section_mips_val): Warn if the timestamp is invalid. (print_mips_got_entry): Add a data_end parameter. Warn if a read would go beyond the end of the data, and return an error value. (process_mips_specific): Do not read options from beyond the end of the section. Correct code to display optional data at the end of an option. Warn if there are too many GOT symbols. Update calls to print_mips_got_entry, and handle error returns. commit c1724c7fd39d85ccc1f94a0cd7bc25b19aa43ffd Author: Daniel Klauer Date: Mon Jan 5 09:41:48 2015 +0000 Corrects the description of the --kill-at option of dlltool. PR binutils/17489 * doc/binutils.texi (dlltool): Correct description of --kill-at option. commit f8ed3ac5f2600f037bff4ba01e6c92257d4a4fae Author: GDB Administrator Date: Mon Jan 5 00:00:12 2015 +0000 Automatic date update in version.in commit 235acbaaefaa907c863cbc99e998ee59cb289357 Author: GDB Administrator Date: Sun Jan 4 00:00:14 2015 +0000 Automatic date update in version.in commit 6b91c5417cb082f701fa9fca6d67e3ffb55ff73a Author: Andrew Pinski Date: Sat Jan 3 14:54:45 2015 -0800 [GCC bug #63539]: libgo does not use the newly built objcopy when doing a combined build 2015-01-03 Andrew Pinski * Makefile.def (flags_to_pass): Pass OBJCOPY_FOR_TARGET also. * Makefile.tpl (HOST_EXPORTS): Add OBJCOPY_FOR_TARGET. (BASE_TARGET_EXPORTS): Add OBJCOPY. (OBJCOPY_FOR_TARGET): New variable. (EXTRA_TARGET_FLAGS): Add OBJCOPY. * Makefile.in: Regenerate. * configure.ac: Check for already installed target objcopy. Also GCC_TARGET_TOOL on objcopy. * configure: Regenerate. commit e1e061e77d517f1fcc6678667903b3d84c399323 Author: Doug Evans Date: Sat Jan 3 12:35:41 2015 -0800 fix spelling of anon-ns2.cc in earlier entry, and whitespace in same entry commit 4d29c0a8b72465d56fad76ddffb5aa64659d72b9 Author: Doug Evans Date: Sat Jan 3 12:01:29 2015 -0800 c-exp.y: misc cleanup, no code changes gdb/ChangeLog: * c-exp.y: Whitespace cleanup. (classify_inner_name): Remove extra ;. commit cc73dbcc08beb2e965deecbfda27a6d8302bffd3 Author: Doug Evans Date: Fri Jan 2 22:00:57 2015 -0800 gdb.cp/nsalias.exp: Fix output of external/declaration flags. gdb/testsuite/ChangeLog: * gdb.cp/nsalias.exp: Fix output of external/declaration flags. commit 2aeedae260302e8a5fed878015edfb4fc5c12bb5 Author: GDB Administrator Date: Sat Jan 3 00:00:11 2015 +0000 Automatic date update in version.in commit eaa6a9a48207fecf3ebdba88314b0eedbdfce363 Author: Maciej W. Rozycki Date: Fri Jan 2 23:36:05 2015 +0000 MIPS: Make the extracted stack offset signed in the prologue scanner Make the extracted stack offset signed in the standard MIPS prologue scanner, to simplify handling and make sure register offsets are correct in all cases, especially where $fp equals the virtual frame pointer (old GCC frames) and therefore offsets to save slots are negative. * mips-tdep.c (mips32_scan_prologue): Make the extracted stack offset signed. commit 0300bbc7c585cdcdd7ee9046aa2edb4f9ec36bc1 Author: Doug Evans Date: Fri Jan 2 12:59:44 2015 -0800 gdb.dwarf2/dw4-sig-types.exp: Also pass -fdebug-types-section to gcc. gdb/testsuite/ChangeLog: * gdb.dwarf2/dw4-sig-types.exp: Also pass -fdebug-types-section to gcc. commit 02fe99727120efcb90ff8840af1d2c4d6312b492 Author: Doug Evans Date: Fri Jan 2 11:49:14 2015 -0800 dwarf2read.c (setup_type_unit_groups): Remove outdated comment. gdb/ChangeLog: * dwarf2read.c (setup_type_unit_groups): Remove outdated comment. commit e2ada9cb46471b033671ae3629bb03376c253eea Author: Doug Evans Date: Fri Jan 2 11:02:31 2015 -0800 symtab.h (struct symbol): Fix typo in comment. gdb/ChangeLog: * symtab.h (struct symbol): Fix typo in comment. commit 2f5346cd7c3cf9d7a6c550672f5deaebc30567f6 Author: Alan Modra Date: Fri Jan 2 22:23:31 2015 +1030 Regenerate Makeile.in file for copyright update commit 6ba37ab47e63dc70ddaec3d296fbf8da49eb4e79 Author: Hans-Peter Nilsson Date: Fri Jan 2 10:40:57 2015 +0100 config.sub, config.guess: Update from upstream, to 2015-01-01 version. commit 4a68e3fc9ff7a2885e0d6429bab4934dff624586 Author: GDB Administrator Date: Fri Jan 2 00:00:16 2015 +0000 Automatic date update in version.in commit af759df025dce3dab4c9527a32c8dcf330c2804f Author: Alan Modra Date: Fri Jan 2 08:51:43 2015 +1030 Correct printed year in copyright notices for gold. commit efd321f91c31f5f537753f99e282dbc267854fa6 Author: Alan Modra Date: Fri Jan 2 01:08:15 2015 +1030 Correct printed year in copyright notices commit b90efa5b79ac1524ec260f8eb89d1be37e0219a7 Author: Alan Modra Date: Fri Jan 2 00:45:26 2015 +1030 ChangeLog rotatation and copyright year update commit 32d0add0a654c1204ab71dc8a55d9374538c4b33 Author: Joel Brobecker Date: Thu Jan 1 13:32:14 2015 +0400 Update year range in copyright notice of all files owned by the GDB project. gdb/ChangeLog: Update year range in copyright notice of all files. commit 76f2b779a17de2a13e9b6c0d1a4bb0ad5699a39c Author: Joel Brobecker Date: Thu Jan 1 13:24:41 2015 +0400 Update copyright year printed by gdb, gdbserver and gdbreplay. gdb/ChangeLog: * top.c (print_gdb_version): Update copyright year to 2015. gdbserver/ChangeLog: * gdbreplay.c (gdbreplay_version): Update copyright year to 2015. * server.c (gdbserver_version): Likewise. commit 077309e2640bb9ae0a71054fd5d8952dd9782ba1 Author: Joel Brobecker Date: Thu Jan 1 13:21:14 2015 +0400 Yearly gdb/ChangeLog rotation. This patch renames gdb/'s ChangeLog to ChangeLog-2014 and creates a new one for 2015. config/djgpp/fnchange.lst is updated accordingly. gdb/ChangeLog: * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2014. commit 14914ea545f2d5102bc56a134a28503df4e98151 Author: GDB Administrator Date: Thu Jan 1 00:00:10 2015 +0000 Automatic date update in version.in commit 6bf6fd090ac8b4551a4f7906310fb77d0405545a Author: Joel Brobecker Date: Tue Dec 30 11:36:53 2014 +0400 Remove "add-shared-symbol-files", "dll-symbols" and "assf" commands doc. This patch removes documentation from some commands whose support has been recently removed. gdb/ChangeLog: * NEWS: Document removal of "dll-symbols", "add-shared-symbol-files" and "assf" commands. gdb/doc/ChangeLog: * gdb.texinfo (Files): Remove documentation of the "add-shared-symbol-files" and "assf" commands. (Cygwin Native): Remove documentation of the "dll-symbols" command. commit ee3b52e917c3a19850232a6a20f5698090619fc6 Author: H.J. Lu Date: Tue Dec 30 19:09:11 2014 -0800 Assign file position for .strtab only if needed bfd/ PR ld/17773 * elflink.c (bfd_elf_final_link): Assign the file position for the symbol string table only there are symbols to be emitted. ld/testsuite/ PR ld/17773 * ld-elf/binutils.exp (binutils_test): Add an optional readelf_options. Replace -l with $readelf_options. Add a gap test. * ld/testsuite/ld-elf/gap.s: New file. commit 24fbeb8dc2c20f86c9940cc62e6af192a9d11b1a Author: GDB Administrator Date: Wed Dec 31 00:00:24 2014 +0000 Automatic date update in version.in commit 05942d8a1b618e1c850b67ad76374f8c59743df5 Author: Eli Zaretskii Date: Tue Dec 30 21:14:25 2014 +0200 Fix executable indicator in file name completion on Windows. * complete.c (stat_char) [_WIN32]: Don't use 'access' and X_OK on Windows, they don't work. Instead, look at the file-name extension to determine whether the file is executable. commit 1a667e98b749cc82920f2cfd25d07139e5e03136 Author: Joel Brobecker Date: Tue Dec 30 11:30:01 2014 +0400 Remove "dll-symbols", "add-shared-symbol-files" and assf" commands. This patch removes a set of commands that have been deprecated for a while, and which we agreed to remove after the GDB 7.8 release. gdb/ChangeLog: * windows-nat.c (safe_symbol_file_add_stub) (safe_symbol_file_add_cleanup, safe_symbol_file_add) (dll_symbol_command): Delete. (_initialize_windows_nat): Delete local variable "c". Remove "dll-symbols", "add-shared-symbol-files" and assf" commands. Tested by rebuilding GDB on x86-windows. commit f6ef238e330bed3d4838f6d1646eac6529f9c779 Author: GDB Administrator Date: Tue Dec 30 00:00:13 2014 +0000 Automatic date update in version.in commit fafcc06ab29fe98d2767234dc77062d08ea0d3c7 Author: Sergio Durigan Junior Date: Mon Dec 29 14:22:20 2014 -0500 Sanitize input_interrupt output Hi, This patch is a follow-up of the following discussions: input_interrupt is currently emiting non-printable characters, which is confusing the dg-extract-results.sh script. This is obviously not a good thing, and, by following Pedro's advices here: I adapted the function to print "client connection closed" when it receives a NUL character, or use the "isprint" function to decide how to print the received char. I tested it by running the testcases that were printing the non-printable chars before: gdb.base/gdb-sigterm.exp gdb.threads/non-ldr-exc-1.exp gdb.threads/non-ldr-exc-2.exp gdb.threads/non-ldr-exc-3.exp gdb.threads/non-ldr-exc-4.exp gdb.threads/thread-execl.exp and confirming that they print the right message. I tried a bit to come up with a testcase for this, but failed, and since I did not want to spend too much time on it, I'm sending the patch anyway. Comments are welcome, as usual. gdb/gdbserver/ChangeLog: 2014-12-29 Sergio Durigan Junior * remote-utils.c: Include ctype.h. (input_interrupt): Explicitly handle the case when the char received is the NUL byte. Improve the printing of non-ASCII characters. commit b35b02984b80ff231dd11dc4f3c7bdba6bef95a7 Author: Jiong Wang Date: Mon Dec 29 14:56:36 2014 +0000 [PATCH] Remove cast in Tag_ABI_VFP_args switch case stmts 2014-12-29 Thomas Preud'homme gdb/ * arm-tdep.c (arm_gdbarch_init): Remove casts in Tag_ABI_VFP_args switch case statements. commit 9d85a0ec6bc88b6d2149071af003881b6edf21b4 Author: Yao Qi Date: Mon Dec 29 11:56:51 2014 +0800 Clean up gdb.trace/entry-values.exp This patch is to clean up gdb.trace/entry-values.exp as a preparation of the next patch. It updates the comments to reflect the code. One DIE generated in dwarf assembler is GNU_call_site { {low_pc "$bar_start + $bar_call_foo" addr} {abstract_origin :$foo_label} the DW_AT_low_pc attribute is the return address after the call, so I rename variable bar_call_foo to returned_from_foo. gdb/testsuite: 2014-12-29 Yao Qi * gdb.trace/entry-values.exp: Update comments. Rename variable bar_call_foo to returned_from_foo. commit 91529dc5ce73dffdf76f842c4ca2003cbddc665f Author: Anthony Green Date: Mon Dec 29 00:42:55 2014 -0500 Add moxiebox target support commit 5e05f2482b35d8ae0c64f8e69c00f3aa9b93eed3 Author: GDB Administrator Date: Mon Dec 29 00:00:14 2014 +0000 Automatic date update in version.in ----------------------------------------------------------------------- Summary of changes: ChangeLog | 105 + Makefile.def | 57 +- Makefile.in | 6780 +++++-- Makefile.tpl | 51 +- bfd/ChangeLog | 4770 ++--- bfd/ChangeLog-2014 | 3430 ++++ bfd/MAINTAINERS | 2 +- bfd/Makefile.am | 18 +- bfd/Makefile.in | 30 +- bfd/PORTING | 2 +- bfd/README | 2 +- bfd/TODO | 2 +- bfd/acinclude.m4 | 4 +- bfd/aclocal.m4 | 1 + bfd/aix386-core.c | 2 +- bfd/aix5ppc-core.c | 2 +- bfd/aout-adobe.c | 2 +- bfd/aout-arm.c | 2 +- bfd/aout-cris.c | 2 +- bfd/aout-ns32k.c | 2 +- bfd/aout-sparcle.c | 2 +- bfd/aout-target.h | 2 +- bfd/aout-tic30.c | 2 +- bfd/aout0.c | 2 +- bfd/aout32.c | 2 +- bfd/aout64.c | 2 +- bfd/aoutf1.h | 2 +- bfd/aoutx.h | 8 +- bfd/archive.c | 96 +- bfd/archive64.c | 2 +- bfd/archures.c | 12 +- bfd/armnetbsd.c | 2 +- bfd/bfd-in.h | 31 +- bfd/bfd-in2.h | 110 +- bfd/bfd.c | 187 +- bfd/bfd.m4 | 2 +- bfd/bfdio.c | 2 +- bfd/bfdwin.c | 2 +- bfd/binary.c | 2 +- bfd/bout.c | 2 +- bfd/cache.c | 2 +- bfd/cf-i386lynx.c | 2 +- bfd/cf-sparclynx.c | 2 +- bfd/cisco-core.c | 2 +- bfd/coff-alpha.c | 2 +- bfd/coff-apollo.c | 2 +- bfd/coff-arm.c | 2 +- bfd/coff-aux.c | 2 +- bfd/coff-bfd.c | 2 +- bfd/coff-bfd.h | 2 +- bfd/coff-go32.c | 2 +- bfd/coff-h8300.c | 2 +- bfd/coff-h8500.c | 2 +- bfd/coff-i386.c | 9 +- bfd/coff-i860.c | 7 +- bfd/coff-i960.c | 2 +- bfd/coff-ia64.c | 2 +- bfd/coff-m68k.c | 2 +- bfd/coff-m88k.c | 2 +- bfd/coff-mcore.c | 2 +- bfd/coff-mips.c | 2 +- bfd/coff-ppc.c | 2 +- bfd/coff-rs6000.c | 2 +- bfd/coff-sh.c | 2 +- bfd/coff-sparc.c | 4 +- bfd/coff-stgo32.c | 2 +- bfd/coff-svm68k.c | 2 +- bfd/coff-tic30.c | 2 +- bfd/coff-tic4x.c | 2 +- bfd/coff-tic54x.c | 2 +- bfd/coff-tic80.c | 2 +- bfd/coff-u68k.c | 2 +- bfd/coff-w65.c | 2 +- bfd/coff-we32k.c | 2 +- bfd/coff-x86_64.c | 2 +- bfd/coff-z80.c | 2 +- bfd/coff-z8k.c | 2 +- bfd/coff64-rs6000.c | 2 +- bfd/coffcode.h | 67 +- bfd/coffgen.c | 51 +- bfd/cofflink.c | 4 +- bfd/coffswap.h | 2 +- bfd/compress.c | 424 +- bfd/config.bfd | 83 +- bfd/config.in | 6 +- bfd/configure | 99 +- bfd/configure.ac | 8 +- bfd/configure.com | 2 +- bfd/configure.host | 2 +- bfd/corefile.c | 2 +- bfd/cpu-aarch64.c | 2 +- bfd/cpu-alpha.c | 2 +- bfd/cpu-arc.c | 2 +- bfd/cpu-arm.c | 2 +- bfd/cpu-avr.c | 2 +- bfd/cpu-bfin.c | 2 +- bfd/cpu-cr16.c | 2 +- bfd/cpu-cr16c.c | 2 +- bfd/cpu-cris.c | 2 +- bfd/cpu-crx.c | 2 +- bfd/cpu-d10v.c | 2 +- bfd/cpu-d30v.c | 2 +- bfd/cpu-dlx.c | 2 +- bfd/cpu-epiphany.c | 2 +- bfd/cpu-fr30.c | 2 +- bfd/cpu-frv.c | 2 +- bfd/cpu-ft32.c | 41 + bfd/cpu-h8300.c | 2 +- bfd/cpu-h8500.c | 2 +- bfd/cpu-hppa.c | 2 +- bfd/cpu-i370.c | 2 +- bfd/cpu-i386.c | 2 +- bfd/cpu-i860.c | 2 +- bfd/cpu-i960.c | 2 +- bfd/cpu-ia64-opc.c | 2 +- bfd/cpu-ia64.c | 2 +- bfd/cpu-iamcu.c | 60 + bfd/cpu-ip2k.c | 2 +- bfd/cpu-iq2000.c | 2 +- bfd/cpu-k1om.c | 2 +- bfd/cpu-l1om.c | 2 +- bfd/cpu-lm32.c | 2 +- bfd/cpu-m10200.c | 2 +- bfd/cpu-m10300.c | 2 +- bfd/cpu-m32c.c | 2 +- bfd/cpu-m32r.c | 2 +- bfd/cpu-m68hc11.c | 2 +- bfd/cpu-m68hc12.c | 2 +- bfd/cpu-m68k.c | 2 +- bfd/cpu-m88k.c | 2 +- bfd/cpu-m9s12x.c | 2 +- bfd/cpu-m9s12xg.c | 2 +- bfd/cpu-mcore.c | 2 +- bfd/cpu-mep.c | 2 +- bfd/cpu-metag.c | 2 +- bfd/cpu-microblaze.c | 2 +- bfd/cpu-mips.c | 2 +- bfd/cpu-mmix.c | 2 +- bfd/cpu-moxie.c | 2 +- bfd/cpu-msp430.c | 2 +- bfd/cpu-mt.c | 2 +- bfd/cpu-nds32.c | 2 +- bfd/cpu-nios2.c | 2 +- bfd/cpu-ns32k.c | 5 +- bfd/cpu-or1k.c | 2 +- bfd/cpu-pdp11.c | 2 +- bfd/cpu-pj.c | 2 +- bfd/cpu-plugin.c | 2 +- bfd/cpu-powerpc.c | 2 +- bfd/cpu-rl78.c | 2 +- bfd/cpu-rs6000.c | 2 +- bfd/cpu-rx.c | 2 +- bfd/cpu-s390.c | 63 +- bfd/cpu-score.c | 2 +- bfd/cpu-sh.c | 2 +- bfd/cpu-sparc.c | 2 +- bfd/cpu-spu.c | 2 +- bfd/cpu-tic30.c | 2 +- bfd/cpu-tic4x.c | 2 +- bfd/cpu-tic54x.c | 2 +- bfd/cpu-tic6x.c | 2 +- bfd/cpu-tic80.c | 2 +- bfd/cpu-tilegx.c | 2 +- bfd/cpu-tilepro.c | 2 +- bfd/cpu-v850.c | 2 +- bfd/cpu-v850_rh850.c | 2 +- bfd/cpu-vax.c | 2 +- bfd/cpu-visium.c | 2 +- bfd/cpu-w65.c | 6 +- bfd/cpu-we32k.c | 2 +- bfd/cpu-xc16x.c | 2 +- bfd/cpu-xgate.c | 2 +- bfd/cpu-xstormy16.c | 2 +- bfd/cpu-xtensa.c | 2 +- bfd/cpu-z80.c | 2 +- bfd/cpu-z8k.c | 2 +- bfd/demo64.c | 2 +- bfd/development.sh | 2 +- bfd/doc/ChangeLog | 21 +- bfd/doc/Makefile.am | 34 +- bfd/doc/Makefile.in | 43 +- bfd/doc/bfd.texinfo | 6 +- bfd/doc/bfdint.texi | 4 +- bfd/doc/bfdsumm.texi | 2 +- bfd/doc/chew.c | 2 +- bfd/doc/makefile.vms | 2 +- bfd/dwarf1.c | 2 +- bfd/dwarf2.c | 478 +- bfd/ecoff.c | 32 +- bfd/ecofflink.c | 2 +- bfd/ecoffswap.h | 2 +- bfd/elf-attrs.c | 2 +- bfd/elf-bfd.h | 28 +- bfd/elf-eh-frame.c | 2 +- bfd/elf-hppa.h | 4 +- bfd/elf-ifunc.c | 2 +- bfd/elf-linux-psinfo.h | 2 +- bfd/elf-m10200.c | 8 +- bfd/elf-m10300.c | 16 +- bfd/elf-nacl.c | 2 +- bfd/elf-nacl.h | 2 +- bfd/elf-s390-common.c | 72 +- bfd/elf-strtab.c | 2 +- bfd/elf-vxworks.c | 2 +- bfd/elf-vxworks.h | 2 +- bfd/elf.c | 578 +- bfd/elf32-am33lin.c | 2 +- bfd/elf32-arc.c | 8 +- bfd/elf32-arm.c | 54 +- bfd/elf32-avr.c | 770 +- bfd/elf32-avr.h | 86 +- bfd/elf32-bfin.c | 28 +- bfd/elf32-cr16.c | 14 +- bfd/elf32-cr16c.c | 4 +- bfd/elf32-cris.c | 10 +- bfd/elf32-crx.c | 14 +- bfd/elf32-d10v.c | 8 +- bfd/elf32-d30v.c | 12 +- bfd/elf32-dlx.c | 4 +- bfd/elf32-epiphany.c | 6 +- bfd/elf32-fr30.c | 12 +- bfd/elf32-frv.c | 10 +- bfd/elf32-ft32.c | 380 + bfd/elf32-gen.c | 2 +- bfd/elf32-h8300.c | 13 +- bfd/elf32-hppa.c | 2 +- bfd/elf32-hppa.h | 2 +- bfd/elf32-i370.c | 21 +- bfd/elf32-i386.c | 204 +- bfd/elf32-i860.c | 8 +- bfd/elf32-i960.c | 6 +- bfd/elf32-ip2k.c | 6 +- bfd/elf32-iq2000.c | 10 +- bfd/elf32-lm32.c | 10 +- bfd/elf32-m32c.c | 87 +- bfd/elf32-m32r.c | 10 +- bfd/elf32-m68hc11.c | 8 +- bfd/elf32-m68hc12.c | 8 +- bfd/elf32-m68hc1x.c | 2 +- bfd/elf32-m68hc1x.h | 2 +- bfd/elf32-m68k.c | 4 +- bfd/elf32-m88k.c | 2 +- bfd/elf32-mcore.c | 21 +- bfd/elf32-mep.c | 25 +- bfd/elf32-metag.c | 6 +- bfd/elf32-metag.h | 2 +- bfd/elf32-microblaze.c | 27 +- bfd/elf32-mips.c | 11 +- bfd/elf32-moxie.c | 15 +- bfd/elf32-msp430.c | 134 +- bfd/elf32-mt.c | 8 +- bfd/elf32-nds32.c | 111 +- bfd/elf32-nds32.h | 2 +- bfd/elf32-nios2.c | 6 +- bfd/elf32-nios2.h | 2 +- bfd/elf32-or1k.c | 10 +- bfd/elf32-pj.c | 12 +- bfd/elf32-ppc.c | 370 +- bfd/elf32-ppc.h | 6 +- bfd/elf32-rl78.c | 936 +- bfd/elf32-rx.c | 41 +- bfd/elf32-rx.h | 2 +- bfd/elf32-s390.c | 14 +- bfd/elf32-score.c | 4 +- bfd/elf32-score.h | 2 +- bfd/elf32-score7.c | 4 +- bfd/elf32-sh-relocs.h | 4 +- bfd/elf32-sh-symbian.c | 2 +- bfd/elf32-sh.c | 27 +- bfd/elf32-sh64-com.c | 2 +- bfd/elf32-sh64.c | 2 +- bfd/elf32-sh64.h | 2 +- bfd/elf32-sparc.c | 2 +- bfd/elf32-spu.c | 17 +- bfd/elf32-spu.h | 2 +- bfd/elf32-tic6x.c | 6 +- bfd/elf32-tic6x.h | 2 +- bfd/elf32-tilegx.c | 2 +- bfd/elf32-tilegx.h | 2 +- bfd/elf32-tilepro.c | 10 +- bfd/elf32-tilepro.h | 2 +- bfd/elf32-v850.c | 387 +- bfd/elf32-vax.c | 20 +- bfd/elf32-visium.c | 10 +- bfd/elf32-xc16x.c | 8 +- bfd/elf32-xgate.c | 8 +- bfd/elf32-xgate.h | 2 +- bfd/elf32-xstormy16.c | 10 +- bfd/elf32-xtensa.c | 992 +- bfd/elf32.c | 2 +- bfd/elf64-alpha.c | 15 +- bfd/elf64-gen.c | 2 +- bfd/elf64-hppa.c | 2 +- bfd/elf64-hppa.h | 2 +- bfd/elf64-ia64-vms.c | 2 +- bfd/elf64-mips.c | 13 +- bfd/elf64-mmix.c | 10 +- bfd/elf64-ppc.c | 165 +- bfd/elf64-ppc.h | 5 +- bfd/elf64-s390.c | 23 +- bfd/elf64-sh64.c | 4 +- bfd/elf64-sparc.c | 2 +- bfd/elf64-tilegx.c | 2 +- bfd/elf64-tilegx.h | 2 +- bfd/elf64-x86-64.c | 177 +- bfd/elf64.c | 2 +- bfd/elfcode.h | 7 +- bfd/elfcore.h | 2 +- bfd/elflink.c | 466 +- bfd/elfn32-mips.c | 11 +- bfd/elfnn-aarch64.c | 1259 +- bfd/elfnn-ia64.c | 2 +- bfd/elfxx-aarch64.c | 139 +- bfd/elfxx-aarch64.h | 15 +- bfd/elfxx-ia64.c | 4 +- bfd/elfxx-ia64.h | 2 +- bfd/elfxx-mips.c | 13 +- bfd/elfxx-mips.h | 2 +- bfd/elfxx-sparc.c | 4 +- bfd/elfxx-sparc.h | 2 +- bfd/elfxx-target.h | 19 +- bfd/elfxx-tilegx.c | 10 +- bfd/elfxx-tilegx.h | 2 +- bfd/epoc-pe-arm.c | 2 +- bfd/epoc-pei-arm.c | 2 +- bfd/format.c | 2 +- bfd/freebsd.h | 2 +- bfd/gen-aout.c | 2 +- bfd/genlink.h | 2 +- bfd/hash.c | 2 +- bfd/host-aout.c | 2 +- bfd/hosts/alphalinux.h | 2 +- bfd/hosts/alphavms.h | 2 +- bfd/hosts/decstation.h | 2 +- bfd/hosts/delta68.h | 2 +- bfd/hosts/dpx2.h | 2 +- bfd/hosts/hp300bsd.h | 2 +- bfd/hosts/i386bsd.h | 2 +- bfd/hosts/i386linux.h | 2 +- bfd/hosts/i386mach3.h | 2 +- bfd/hosts/i386sco.h | 2 +- bfd/hosts/i860mach3.h | 2 +- bfd/hosts/m68kaux.h | 2 +- bfd/hosts/m68klinux.h | 2 +- bfd/hosts/m88kmach3.h | 2 +- bfd/hosts/mipsbsd.h | 2 +- bfd/hosts/mipsmach3.h | 2 +- bfd/hosts/news-mips.h | 2 +- bfd/hosts/news.h | 2 +- bfd/hosts/pc532mach.h | 2 +- bfd/hosts/riscos.h | 2 +- bfd/hosts/symmetry.h | 2 +- bfd/hosts/tahoe.h | 2 +- bfd/hosts/vaxbsd.h | 2 +- bfd/hosts/vaxlinux.h | 2 +- bfd/hosts/vaxult.h | 2 +- bfd/hosts/vaxult2.h | 2 +- bfd/hosts/x86-64linux.h | 2 +- bfd/hp300bsd.c | 2 +- bfd/hp300hpux.c | 2 +- bfd/hppabsd-core.c | 2 +- bfd/hpux-core.c | 2 +- bfd/i386aout.c | 2 +- bfd/i386bsd.c | 2 +- bfd/i386dynix.c | 2 +- bfd/i386freebsd.c | 2 +- bfd/i386linux.c | 2 +- bfd/i386lynx.c | 2 +- bfd/i386mach3.c | 2 +- bfd/i386msdos.c | 2 +- bfd/i386netbsd.c | 2 +- bfd/i386os9k.c | 2 +- bfd/ieee.c | 2 +- bfd/ihex.c | 2 +- bfd/init.c | 2 +- bfd/irix-core.c | 2 +- bfd/libaout.h | 2 +- bfd/libbfd-in.h | 10 +- bfd/libbfd.c | 2 +- bfd/libbfd.h | 19 +- bfd/libcoff-in.h | 6 +- bfd/libcoff.h | 9 +- bfd/libecoff.h | 2 +- bfd/libhppa.h | 2 +- bfd/libieee.h | 2 +- bfd/libnlm.h | 2 +- bfd/liboasys.h | 2 +- bfd/libpei.h | 2 +- bfd/libxcoff.h | 2 +- bfd/linker.c | 6 +- bfd/lynx-core.c | 2 +- bfd/m68k4knetbsd.c | 2 +- bfd/m68klinux.c | 2 +- bfd/m68knetbsd.c | 2 +- bfd/m88kmach3.c | 2 +- bfd/m88kopenbsd.c | 2 +- bfd/mach-o-i386.c | 2 +- bfd/mach-o-target.c | 2 +- bfd/mach-o-x86-64.c | 2 +- bfd/mach-o.c | 182 +- bfd/mach-o.h | 10 +- bfd/makefile.vms | 2 +- bfd/mep-relocs.pl | 2 +- bfd/merge.c | 55 +- bfd/mipsbsd.c | 2 +- bfd/mmo.c | 2 +- bfd/netbsd-core.c | 2 +- bfd/netbsd.h | 2 +- bfd/newsos3.c | 2 +- bfd/nlm-target.h | 2 +- bfd/nlm.c | 2 +- bfd/nlm32-alpha.c | 2 +- bfd/nlm32-i386.c | 2 +- bfd/nlm32-ppc.c | 2 +- bfd/nlm32-sparc.c | 4 +- bfd/nlm32.c | 2 +- bfd/nlm64.c | 2 +- bfd/nlmcode.h | 2 +- bfd/nlmswap.h | 2 +- bfd/ns32k.h | 2 +- bfd/ns32knetbsd.c | 2 +- bfd/oasys.c | 2 +- bfd/opncls.c | 4 +- bfd/osf-core.c | 2 +- bfd/pc532-mach.c | 2 +- bfd/pdp11.c | 20 +- bfd/pe-arm-wince.c | 2 +- bfd/pe-arm.c | 2 +- bfd/pe-i386.c | 2 +- bfd/pe-mcore.c | 2 +- bfd/pe-mips.c | 2 +- bfd/pe-ppc.c | 2 +- bfd/pe-sh.c | 2 +- bfd/pe-x86_64.c | 2 +- bfd/peXXigen.c | 109 +- bfd/pef-traceback.h | 2 +- bfd/pef.c | 2 +- bfd/pef.h | 2 +- bfd/pei-arm-wince.c | 2 +- bfd/pei-arm.c | 2 +- bfd/pei-i386.c | 2 +- bfd/pei-ia64.c | 2 +- bfd/pei-mcore.c | 2 +- bfd/pei-mips.c | 2 +- bfd/pei-ppc.c | 2 +- bfd/pei-sh.c | 2 +- bfd/pei-x86_64.c | 2 +- bfd/peicode.h | 14 +- bfd/plugin.c | 65 +- bfd/plugin.h | 5 +- bfd/po/Make-in | 2 +- bfd/po/SRC-POTFILES.in | 2 + bfd/ppcboot.c | 2 +- bfd/ptrace-core.c | 2 +- bfd/reloc.c | 55 +- bfd/reloc16.c | 2 +- bfd/riscix.c | 2 +- bfd/rs6000-core.c | 2 +- bfd/sco5-core.c | 2 +- bfd/section.c | 13 +- bfd/simple.c | 2 +- bfd/som.c | 2 +- bfd/som.h | 9 +- bfd/sparclinux.c | 2 +- bfd/sparclynx.c | 2 +- bfd/sparcnetbsd.c | 2 +- bfd/srec.c | 2 +- bfd/stab-syms.c | 2 +- bfd/stabs.c | 2 +- bfd/sunos.c | 2 +- bfd/syms.c | 15 +- bfd/sysdep.h | 2 +- bfd/targets.c | 12 +- bfd/tekhex.c | 45 +- bfd/trad-core.c | 2 +- bfd/vax1knetbsd.c | 2 +- bfd/vaxbsd.c | 2 +- bfd/vaxnetbsd.c | 2 +- bfd/verilog.c | 4 +- bfd/versados.c | 25 +- bfd/version.h | 2 +- bfd/vms-alpha.c | 20 +- bfd/vms-lib.c | 2 +- bfd/vms-misc.c | 2 +- bfd/vms.h | 2 +- bfd/warning.m4 | 2 +- bfd/xcofflink.c | 4 +- bfd/xsym.c | 2 +- bfd/xsym.h | 2 +- bfd/xtensa-isa.c | 2 +- bfd/xtensa-modules.c | 2 +- binutils/BRANCHES | 2 +- binutils/ChangeLog | 1390 +- binutils/{ChangeLog => ChangeLog-2014} | 0 binutils/MAINTAINERS | 7 +- binutils/Makefile.am | 12 +- binutils/Makefile.in | 21 +- binutils/NEWS | 8 +- binutils/README | 2 +- binutils/aclocal.m4 | 1 + binutils/addr2line.c | 11 +- binutils/ar.c | 3 +- binutils/arlex.l | 2 +- binutils/arparse.y | 2 +- binutils/arsup.c | 2 +- binutils/arsup.h | 2 +- binutils/bfdtest1.c | 2 +- binutils/bfdtest2.c | 2 +- binutils/bin2c.c | 2 +- binutils/binemul.c | 2 +- binutils/binemul.h | 2 +- binutils/bucomm.c | 2 +- binutils/bucomm.h | 2 +- binutils/budbg.h | 5 +- binutils/coffdump.c | 23 +- binutils/coffgrok.c | 408 +- binutils/coffgrok.h | 257 +- binutils/config.in | 3 - binutils/configure | 93 +- binutils/configure.ac | 2 +- binutils/configure.com | 2 +- binutils/configure.tgt | 2 +- binutils/cxxfilt.c | 3 +- binutils/debug.c | 2 +- binutils/debug.h | 2 +- binutils/deflex.l | 2 +- binutils/defparse.y | 2 +- binutils/dlltool.c | 72 +- binutils/dlltool.h | 2 +- binutils/dllwrap.c | 2 +- binutils/doc/Makefile.am | 2 +- binutils/doc/Makefile.in | 5 +- binutils/doc/binutils.texi | 104 +- binutils/dwarf-mode.el | 2 +- binutils/dwarf.c | 1178 +- binutils/dwarf.h | 70 +- binutils/elfcomm.c | 2 +- binutils/elfcomm.h | 2 +- binutils/elfedit.c | 80 +- binutils/embedspu.sh | 2 +- binutils/emul_aix.c | 2 +- binutils/emul_vanilla.c | 2 +- binutils/filemode.c | 2 +- binutils/ieee.c | 4 +- binutils/is-ranlib.c | 2 +- binutils/is-strip.c | 2 +- binutils/makefile.vms | 2 +- binutils/maybe-ranlib.c | 2 +- binutils/maybe-strip.c | 2 +- binutils/mclex.c | 2 +- binutils/mcparse.y | 2 +- binutils/nlmconv.c | 36 +- binutils/nlmconv.h | 2 +- binutils/nlmheader.y | 2 +- binutils/nm.c | 74 +- binutils/not-ranlib.c | 2 +- binutils/not-strip.c | 2 +- binutils/objcopy.c | 330 +- binutils/objdump.c | 61 +- binutils/objdump.h | 2 +- binutils/od-elf32_avr.c | 56 +- binutils/od-macho.c | 2 +- binutils/od-xcoff.c | 2 +- binutils/po/Make-in | 2 +- binutils/prdbg.c | 7 +- binutils/ranlib.sh | 2 +- binutils/rclex.c | 2 +- binutils/rcparse.y | 11 +- binutils/rdcoff.c | 2 +- binutils/rddbg.c | 2 +- binutils/readelf.c | 1309 +- binutils/rename.c | 2 +- binutils/resbin.c | 2 +- binutils/rescoff.c | 24 +- binutils/resrc.c | 114 +- binutils/resres.c | 2 +- binutils/sanity.sh | 2 +- binutils/size.c | 12 +- binutils/srconv.c | 47 +- binutils/stabs.c | 2 +- binutils/strings.c | 3 +- binutils/sysdep.h | 2 +- binutils/sysdump.c | 17 +- binutils/sysinfo.y | 2 +- binutils/syslex.l | 2 +- binutils/syslex_wrap.c | 2 +- binutils/testsuite/ChangeLog | 149 +- .../testsuite/binutils-all/aarch64/aarch64.exp | 2 +- binutils/testsuite/binutils-all/ar.exp | 2 +- binutils/testsuite/binutils-all/arm/objdump.exp | 24 +- binutils/testsuite/binutils-all/arm/rvct_symbol.s | 15 + binutils/testsuite/binutils-all/bfin/objdump.exp | 2 +- binutils/testsuite/binutils-all/compress.exp | 443 +- binutils/testsuite/binutils-all/dlltool.exp | 2 +- binutils/testsuite/binutils-all/dw2-1.S | 2 +- binutils/testsuite/binutils-all/dw2-1.W | 4 +- binutils/testsuite/binutils-all/dw2-2.S | 2 +- binutils/testsuite/binutils-all/dw2-3.S | 316 + binutils/testsuite/binutils-all/dw2-3.W | 156 + binutils/testsuite/binutils-all/dw2-3.rS | 3 + binutils/testsuite/binutils-all/dw2-3.rt | 6 + binutils/testsuite/binutils-all/dw2-3gabi.W | 156 + binutils/testsuite/binutils-all/dw2-compressed.S | 2 +- binutils/testsuite/binutils-all/elfedit-1.d | 1 + binutils/testsuite/binutils-all/elfedit-5.d | 17 + binutils/testsuite/binutils-all/elfedit.exp | 3 +- binutils/testsuite/binutils-all/hppa/objdump.exp | 2 +- .../testsuite/binutils-all/i386/compressed-1b.d | 4 +- .../testsuite/binutils-all/i386/compressed-1c.d | 4 +- binutils/testsuite/binutils-all/i386/i386.exp | 2 +- .../testsuite/binutils-all/libdw2-compressed.out | 2 + .../binutils-all/libdw2-compressedgabi.out | 362 + binutils/testsuite/binutils-all/libdw2.out | 6 + binutils/testsuite/binutils-all/m68k/objdump.exp | 2 +- binutils/testsuite/binutils-all/mips/mips.exp | 2 +- binutils/testsuite/binutils-all/nm.exp | 2 +- binutils/testsuite/binutils-all/objcopy.exp | 4 +- binutils/testsuite/binutils-all/objdump.W | 6 +- binutils/testsuite/binutils-all/objdump.exp | 8 +- binutils/testsuite/binutils-all/pr18374.s | 234 + binutils/testsuite/binutils-all/readelf.exp | 53 +- binutils/testsuite/binutils-all/readelf.pr18374 | 14 + binutils/testsuite/binutils-all/readelf.s-64 | 5 +- binutils/testsuite/binutils-all/readelf.ss-64 | 8 +- binutils/testsuite/binutils-all/readelf.z | 8 + binutils/testsuite/binutils-all/size.exp | 2 +- binutils/testsuite/binutils-all/update-1.s | 2 + binutils/testsuite/binutils-all/update-2.s | 2 + binutils/testsuite/binutils-all/update-3.s | 3 + binutils/testsuite/binutils-all/update-4.s | 2 + binutils/testsuite/binutils-all/update-section.exp | 119 + binutils/testsuite/binutils-all/vax/objdump.exp | 2 +- binutils/testsuite/binutils-all/windres/README | 2 +- binutils/testsuite/binutils-all/windres/msupdate | 2 +- .../testsuite/binutils-all/windres/windres.exp | 2 +- .../testsuite/binutils-all/x86-64/compressed-1b.d | 4 +- .../testsuite/binutils-all/x86-64/compressed-1c.d | 4 +- binutils/testsuite/binutils-all/x86-64/x86-64.exp | 2 +- binutils/testsuite/binutils-all/z.s | 70 + binutils/testsuite/config/default.exp | 2 +- binutils/testsuite/lib/binutils-common.exp | 27 +- binutils/testsuite/lib/utils-lib.exp | 13 +- binutils/unwind-ia64.c | 92 +- binutils/unwind-ia64.h | 4 +- binutils/version.c | 4 +- binutils/windint.h | 2 +- binutils/windmc.c | 3 +- binutils/windmc.h | 2 +- binutils/windres.c | 3 +- binutils/windres.h | 2 +- binutils/winduni.c | 2 +- binutils/winduni.h | 2 +- binutils/wrstabs.c | 2 +- config-ml.in | 68 +- config.guess | 31 +- config.sub | 19 +- config/ChangeLog | 51 + config/bootstrap-asan.mk | 3 + config/bootstrap-lto.mk | 16 +- config/cloog.m4 | 152 - config/elf.m4 | 7 +- config/isl.m4 | 24 +- config/mt-gnu | 2 +- config/mt-ospace | 4 +- config/zlib.m4 | 27 +- configure | 1007 +- configure.ac | 366 +- elfcpp/ChangeLog | 36 +- elfcpp/README | 2 +- elfcpp/aarch64.h | 2 +- elfcpp/arm.h | 10 +- elfcpp/dwarf.h | 8 +- elfcpp/elfcpp.h | 75 +- elfcpp/elfcpp_file.h | 2 +- elfcpp/elfcpp_internal.h | 12 +- elfcpp/elfcpp_swap.h | 2 +- elfcpp/i386.h | 2 +- elfcpp/mips.h | 2 +- elfcpp/powerpc.h | 2 +- elfcpp/sparc.h | 2 +- elfcpp/tilegx.h | 2 +- elfcpp/x86_64.h | 2 +- gas/CONTRIBUTORS | 2 +- gas/ChangeLog | 2251 +-- gas/{ChangeLog => ChangeLog-2014} | 0 gas/MAINTAINERS | 2 +- gas/Makefile.am | 11 +- gas/Makefile.in | 38 +- gas/NEWS | 6 +- gas/README | 2 +- gas/aclocal.m4 | 1 + gas/app.c | 2 +- gas/as.c | 36 +- gas/as.h | 6 +- gas/asintl.h | 2 +- gas/atof-generic.c | 2 +- gas/bignum.h | 2 +- gas/bit_fix.h | 2 +- gas/cgen.c | 2 +- gas/cgen.h | 2 +- gas/compress-debug.c | 32 +- gas/compress-debug.h | 2 +- gas/cond.c | 6 +- gas/config.in | 3 - gas/config/aout_gnu.h | 2 +- gas/config/atof-ieee.c | 2 +- gas/config/atof-vax.c | 2 +- gas/config/bfin-aux.h | 2 +- gas/config/bfin-defs.h | 2 +- gas/config/bfin-lex-wrapper.c | 2 +- gas/config/bfin-lex.l | 2 +- gas/config/bfin-parse.y | 2 +- gas/config/e-crisaout.c | 2 +- gas/config/e-criself.c | 2 +- gas/config/e-i386aout.c | 2 +- gas/config/e-i386coff.c | 2 +- gas/config/e-i386elf.c | 2 +- gas/config/e-mipself.c | 2 +- gas/config/itbl-mips.h | 2 +- gas/config/m68k-parse.h | 2 +- gas/config/m68k-parse.y | 2 +- gas/config/obj-aout.c | 2 +- gas/config/obj-aout.h | 2 +- gas/config/obj-coff-seh.c | 2 +- gas/config/obj-coff-seh.h | 2 +- gas/config/obj-coff.c | 2 +- gas/config/obj-coff.h | 2 +- gas/config/obj-ecoff.c | 2 +- gas/config/obj-ecoff.h | 2 +- gas/config/obj-elf.c | 2 +- gas/config/obj-elf.h | 2 +- gas/config/obj-evax.c | 2 +- gas/config/obj-evax.h | 2 +- gas/config/obj-fdpicelf.c | 2 +- gas/config/obj-fdpicelf.h | 2 +- gas/config/obj-macho.c | 2 +- gas/config/obj-macho.h | 2 +- gas/config/obj-multi.c | 2 +- gas/config/obj-multi.h | 2 +- gas/config/obj-som.c | 2 +- gas/config/obj-som.h | 2 +- gas/config/rl78-defs.h | 6 +- gas/config/rl78-parse.y | 20 +- gas/config/rx-defs.h | 3 +- gas/config/rx-parse.y | 16 +- gas/config/tc-aarch64.c | 243 +- gas/config/tc-aarch64.h | 4 +- gas/config/tc-alpha.c | 2 +- gas/config/tc-alpha.h | 2 +- gas/config/tc-arc.c | 2 +- gas/config/tc-arc.h | 2 +- gas/config/tc-arm.c | 434 +- gas/config/tc-arm.h | 18 +- gas/config/tc-avr.c | 340 +- gas/config/tc-avr.h | 19 +- gas/config/tc-bfin.c | 2 +- gas/config/tc-bfin.h | 2 +- gas/config/tc-cr16.c | 2 +- gas/config/tc-cr16.h | 2 +- gas/config/tc-cris.c | 2 +- gas/config/tc-cris.h | 2 +- gas/config/tc-crx.c | 2 +- gas/config/tc-crx.h | 2 +- gas/config/tc-d10v.c | 2 +- gas/config/tc-d10v.h | 2 +- gas/config/tc-d30v.c | 2 +- gas/config/tc-d30v.h | 2 +- gas/config/tc-dlx.c | 2 +- gas/config/tc-dlx.h | 2 +- gas/config/tc-epiphany.c | 2 +- gas/config/tc-epiphany.h | 2 +- gas/config/tc-fr30.c | 2 +- gas/config/tc-fr30.h | 2 +- gas/config/tc-frv.c | 2 +- gas/config/tc-frv.h | 2 +- gas/config/tc-ft32.c | 606 + gas/config/tc-ft32.h | 55 + gas/config/tc-generic.c | 2 +- gas/config/tc-generic.h | 2 +- gas/config/tc-h8300.c | 113 +- gas/config/tc-h8300.h | 6 +- gas/config/tc-hppa.c | 2 +- gas/config/tc-hppa.h | 2 +- gas/config/tc-i370.c | 2 +- gas/config/tc-i370.h | 2 +- gas/config/tc-i386-intel.c | 2 +- gas/config/tc-i386.c | 343 +- gas/config/tc-i386.h | 13 +- gas/config/tc-i860.c | 2 +- gas/config/tc-i860.h | 2 +- gas/config/tc-i960.c | 2 +- gas/config/tc-i960.h | 2 +- gas/config/tc-ia64.c | 2 +- gas/config/tc-ia64.h | 2 +- gas/config/tc-ip2k.c | 2 +- gas/config/tc-ip2k.h | 2 +- gas/config/tc-iq2000.c | 2 +- gas/config/tc-iq2000.h | 2 +- gas/config/tc-lm32.c | 2 +- gas/config/tc-lm32.h | 2 +- gas/config/tc-m32c.c | 2 +- gas/config/tc-m32c.h | 2 +- gas/config/tc-m32r.c | 2 +- gas/config/tc-m32r.h | 2 +- gas/config/tc-m68851.h | 2 +- gas/config/tc-m68hc11.c | 2 +- gas/config/tc-m68hc11.h | 2 +- gas/config/tc-m68k.c | 2 +- gas/config/tc-m68k.h | 2 +- gas/config/tc-mcore.c | 2 +- gas/config/tc-mcore.h | 2 +- gas/config/tc-mep.c | 2 +- gas/config/tc-mep.h | 2 +- gas/config/tc-metag.c | 2 +- gas/config/tc-metag.h | 2 +- gas/config/tc-microblaze.c | 18 +- gas/config/tc-microblaze.h | 2 +- gas/config/tc-mips.c | 11 +- gas/config/tc-mips.h | 2 +- gas/config/tc-mmix.c | 2 +- gas/config/tc-mmix.h | 2 +- gas/config/tc-mn10200.c | 2 +- gas/config/tc-mn10200.h | 2 +- gas/config/tc-mn10300.c | 2 +- gas/config/tc-mn10300.h | 2 +- gas/config/tc-moxie.c | 2 +- gas/config/tc-moxie.h | 2 +- gas/config/tc-msp430.c | 46 +- gas/config/tc-msp430.h | 7 +- gas/config/tc-mt.c | 2 +- gas/config/tc-mt.h | 2 +- gas/config/tc-nds32.c | 446 +- gas/config/tc-nds32.h | 19 +- gas/config/tc-nios2.c | 2 +- gas/config/tc-nios2.h | 2 +- gas/config/tc-ns32k.c | 2 +- gas/config/tc-ns32k.h | 2 +- gas/config/tc-or1k.c | 2 +- gas/config/tc-or1k.h | 2 +- gas/config/tc-pdp11.c | 2 +- gas/config/tc-pdp11.h | 2 +- gas/config/tc-pj.c | 2 +- gas/config/tc-pj.h | 2 +- gas/config/tc-ppc.c | 28 +- gas/config/tc-ppc.h | 2 +- gas/config/tc-rl78.c | 68 +- gas/config/tc-rl78.h | 19 +- gas/config/tc-rx.c | 19 +- gas/config/tc-rx.h | 2 +- gas/config/tc-s390.c | 207 +- gas/config/tc-s390.h | 2 +- gas/config/tc-score.c | 2 +- gas/config/tc-score.h | 2 +- gas/config/tc-score7.c | 2 +- gas/config/tc-sh.c | 2 +- gas/config/tc-sh.h | 2 +- gas/config/tc-sh64.c | 2 +- gas/config/tc-sh64.h | 2 +- gas/config/tc-sparc.c | 10 +- gas/config/tc-sparc.h | 2 +- gas/config/tc-spu.c | 2 +- gas/config/tc-spu.h | 2 +- gas/config/tc-tic30.c | 2 +- gas/config/tc-tic30.h | 2 +- gas/config/tc-tic4x.c | 2 +- gas/config/tc-tic4x.h | 2 +- gas/config/tc-tic54x.c | 2 +- gas/config/tc-tic54x.h | 2 +- gas/config/tc-tic6x.c | 2 +- gas/config/tc-tic6x.h | 2 +- gas/config/tc-tilegx.c | 2 +- gas/config/tc-tilegx.h | 2 +- gas/config/tc-tilepro.c | 2 +- gas/config/tc-tilepro.h | 2 +- gas/config/tc-v850.c | 96 +- gas/config/tc-v850.h | 5 +- gas/config/tc-vax.c | 2 +- gas/config/tc-vax.h | 2 +- gas/config/tc-visium.c | 2 +- gas/config/tc-visium.h | 2 +- gas/config/tc-xc16x.c | 2 +- gas/config/tc-xc16x.h | 2 +- gas/config/tc-xgate.c | 2 +- gas/config/tc-xgate.h | 2 +- gas/config/tc-xstormy16.c | 2 +- gas/config/tc-xstormy16.h | 2 +- gas/config/tc-xtensa.c | 222 +- gas/config/tc-xtensa.h | 2 +- gas/config/tc-z80.c | 2 +- gas/config/tc-z80.h | 2 +- gas/config/tc-z8k.c | 2 +- gas/config/tc-z8k.h | 2 +- gas/config/te-386bsd.h | 2 +- gas/config/te-aix.h | 2 +- gas/config/te-aix5.h | 2 +- gas/config/te-armeabi.h | 2 +- gas/config/te-armfbsdeabi.h | 2 +- gas/config/te-armfbsdvfp.h | 2 +- gas/config/te-armlinuxeabi.h | 2 +- gas/config/te-dragonfly.h | 2 +- gas/config/te-dynix.h | 2 +- gas/config/te-epoc-pe.h | 2 +- gas/config/te-freebsd.h | 2 +- gas/config/te-generic.h | 2 +- gas/config/te-gnu.h | 2 +- gas/config/te-go32.h | 2 +- gas/config/te-hppa.h | 2 +- gas/config/te-hppa64.h | 2 +- gas/config/te-hppalinux64.h | 2 +- gas/config/te-hpux.h | 2 +- gas/config/te-i386aix.h | 2 +- gas/config/te-ia64aix.h | 2 +- gas/config/te-interix.h | 2 +- gas/config/te-irix.h | 2 +- gas/config/te-linux.h | 2 +- gas/config/te-lynx.h | 2 +- gas/config/te-mach.h | 2 +- gas/config/te-macos.h | 2 +- gas/config/te-nacl.h | 2 +- gas/config/te-nbsd.h | 2 +- gas/config/te-nbsd532.h | 2 +- gas/config/te-netware.h | 2 +- gas/config/te-pc532mach.h | 2 +- gas/config/te-pe.h | 2 +- gas/config/te-pep.h | 2 +- gas/config/te-psos.h | 2 +- gas/config/te-riscix.h | 2 +- gas/config/te-solaris.h | 2 +- gas/config/te-sparcaout.h | 2 +- gas/config/te-sun3.h | 2 +- gas/config/te-svr4.h | 2 +- gas/config/te-symbian.h | 2 +- gas/config/te-tmips.h | 2 +- gas/config/te-uclinux.h | 2 +- gas/config/te-vms.c | 2 +- gas/config/te-vms.h | 2 +- gas/config/te-vxworks.h | 2 +- gas/config/te-wince-pe.h | 2 +- gas/config/vax-inst.h | 2 +- gas/config/xtensa-istack.h | 2 +- gas/config/xtensa-relax.c | 2 +- gas/config/xtensa-relax.h | 2 +- gas/configure | 93 +- gas/configure.ac | 2 +- gas/configure.com | 2 +- gas/configure.tgt | 9 +- gas/debug.c | 2 +- gas/depend.c | 2 +- gas/doc/Makefile.am | 2 +- gas/doc/Makefile.in | 14 +- gas/doc/all.texi | 2 +- gas/doc/as.texinfo | 162 +- gas/doc/c-aarch64.texi | 22 +- gas/doc/c-alpha.texi | 2 +- gas/doc/c-arc.texi | 2 +- gas/doc/c-arm.texi | 28 +- gas/doc/c-avr.texi | 2 +- gas/doc/c-bfin.texi | 2 +- gas/doc/c-cr16.texi | 2 +- gas/doc/c-cris.texi | 2 +- gas/doc/c-d10v.texi | 2 +- gas/doc/c-d30v.texi | 2 +- gas/doc/c-epiphany.texi | 2 +- gas/doc/c-h8300.texi | 12 +- gas/doc/c-hppa.texi | 2 +- gas/doc/c-i370.texi | 2 +- gas/doc/c-i386.texi | 76 +- gas/doc/c-i860.texi | 2 +- gas/doc/c-i960.texi | 2 +- gas/doc/c-ia64.texi | 2 +- gas/doc/c-ip2k.texi | 2 +- gas/doc/c-lm32.texi | 2 +- gas/doc/c-m32c.texi | 2 +- gas/doc/c-m32r.texi | 2 +- gas/doc/c-m68hc11.texi | 2 +- gas/doc/c-m68k.texi | 2 +- gas/doc/c-metag.texi | 2 +- gas/doc/c-microblaze.texi | 2 +- gas/doc/c-mips.texi | 3 +- gas/doc/c-mmix.texi | 2 +- gas/doc/c-msp430.texi | 2 +- gas/doc/c-mt.texi | 2 +- gas/doc/c-nds32.texi | 2 +- gas/doc/c-nios2.texi | 2 +- gas/doc/c-ns32k.texi | 2 +- gas/doc/c-pdp11.texi | 2 +- gas/doc/c-pj.texi | 2 +- gas/doc/c-ppc.texi | 2 +- gas/doc/c-rl78.texi | 11 +- gas/doc/c-rx.texi | 17 +- gas/doc/c-s390.texi | 10 +- gas/doc/c-score.texi | 2 +- gas/doc/c-sh.texi | 2 +- gas/doc/c-sh64.texi | 2 +- gas/doc/c-sparc.texi | 6 +- gas/doc/c-tic54x.texi | 2 +- gas/doc/c-tic6x.texi | 2 +- gas/doc/c-tilegx.texi | 2 +- gas/doc/c-tilepro.texi | 2 +- gas/doc/c-v850.texi | 25 +- gas/doc/c-vax.texi | 2 +- gas/doc/c-visium.texi | 2 +- gas/doc/c-xc16x.texi | 2 +- gas/doc/c-xgate.texi | 2 +- gas/doc/c-xstormy16.texi | 2 +- gas/doc/c-xtensa.texi | 2 +- gas/doc/c-z80.texi | 2 +- gas/doc/c-z8k.texi | 2 +- gas/doc/h8.texi | 2 +- gas/doc/internals.texi | 2 +- gas/dw2gencfi.c | 49 +- gas/dw2gencfi.h | 6 +- gas/dwarf2dbg.c | 19 +- gas/dwarf2dbg.h | 2 +- gas/ecoff.c | 2 +- gas/ecoff.h | 2 +- gas/ehopt.c | 2 +- gas/emul-target.h | 2 +- gas/emul.h | 2 +- gas/expr.c | 2 +- gas/expr.h | 2 +- gas/flonum-copy.c | 2 +- gas/flonum-konst.c | 2 +- gas/flonum-mult.c | 2 +- gas/flonum.h | 2 +- gas/frags.c | 2 +- gas/frags.h | 2 +- gas/hash.c | 2 +- gas/hash.h | 2 +- gas/input-file.c | 2 +- gas/input-file.h | 2 +- gas/input-scrub.c | 2 +- gas/itbl-lex-wrapper.c | 2 +- gas/itbl-lex.h | 2 +- gas/itbl-lex.l | 2 +- gas/itbl-ops.c | 2 +- gas/itbl-ops.h | 2 +- gas/itbl-parse.y | 2 +- gas/listing.c | 2 +- gas/listing.h | 2 +- gas/literal.c | 2 +- gas/macro.c | 2 +- gas/macro.h | 2 +- gas/makefile.vms | 2 +- gas/messages.c | 2 +- gas/obj.h | 2 +- gas/output-file.c | 2 +- gas/output-file.h | 2 +- gas/po/Make-in | 2 +- gas/po/POTFILES.in | 2 + gas/read.c | 31 +- gas/read.h | 3 +- gas/remap.c | 2 +- gas/sb.c | 2 +- gas/sb.h | 2 +- gas/stabs.c | 2 +- gas/struc-symbol.h | 2 +- gas/subsegs.c | 2 +- gas/subsegs.h | 2 +- gas/symbols.c | 2 +- gas/symbols.h | 2 +- gas/tc.h | 2 +- gas/testsuite/ChangeLog | 1586 +-- gas/testsuite/{ChangeLog => ChangeLog-2014} | 0 gas/testsuite/config/default.exp | 2 +- gas/testsuite/gas/aarch64/aarch64.exp | 2 +- gas/testsuite/gas/aarch64/addsub.s | 2 +- gas/testsuite/gas/aarch64/advsimd-across.s | 2 +- gas/testsuite/gas/aarch64/advsimd-misc.s | 2 +- gas/testsuite/gas/aarch64/advsisd-copy.s | 2 +- gas/testsuite/gas/aarch64/advsisd-misc.s | 2 +- gas/testsuite/gas/aarch64/alias.s | 2 +- gas/testsuite/gas/aarch64/bitfield-alias.s | 2 +- gas/testsuite/gas/aarch64/bitfield-bfm.s | 2 +- gas/testsuite/gas/aarch64/codealign.d | 16 + gas/testsuite/gas/aarch64/codealign.s | 2 + gas/testsuite/gas/aarch64/codealign_1.d | 13 + gas/testsuite/gas/aarch64/codealign_1.s | 3 + gas/testsuite/gas/aarch64/crc32.s | 2 +- gas/testsuite/gas/aarch64/crypto.s | 2 +- gas/testsuite/gas/aarch64/diagnostic.l | 6 + gas/testsuite/gas/aarch64/diagnostic.s | 86 + gas/testsuite/gas/aarch64/floatdp2.s | 2 +- gas/testsuite/gas/aarch64/fp-const0-parse.s | 2 +- gas/testsuite/gas/aarch64/fp_cvt_int.s | 2 +- gas/testsuite/gas/aarch64/illegal-lse.s | 2 +- gas/testsuite/gas/aarch64/illegal.s | 2 +- gas/testsuite/gas/aarch64/ldst-exclusive.s | 2 +- gas/testsuite/gas/aarch64/ldst-reg-imm-post-ind.s | 2 +- gas/testsuite/gas/aarch64/ldst-reg-imm-pre-ind.s | 2 +- gas/testsuite/gas/aarch64/ldst-reg-pair.s | 2 +- gas/testsuite/gas/aarch64/ldst-reg-reg-offset.s | 2 +- gas/testsuite/gas/aarch64/ldst-reg-uns-imm.d | 198 +- gas/testsuite/gas/aarch64/ldst-reg-uns-imm.s | 2 +- gas/testsuite/gas/aarch64/ldst-reg-unscaled-imm.d | 198 +- gas/testsuite/gas/aarch64/ldst-reg-unscaled-imm.s | 2 +- gas/testsuite/gas/aarch64/lse-atomic.s | 2 +- gas/testsuite/gas/aarch64/mapping_5.d | 13 + gas/testsuite/gas/aarch64/mapping_5.s | 5 + gas/testsuite/gas/aarch64/mapping_6.d | 14 + gas/testsuite/gas/aarch64/mapping_6.s | 6 + gas/testsuite/gas/aarch64/msr.s | 2 +- gas/testsuite/gas/aarch64/neon-fp-cvt-int.s | 2 +- gas/testsuite/gas/aarch64/reloc-insn.d | 2 +- gas/testsuite/gas/aarch64/rm-simd-ext.s | 2 +- gas/testsuite/gas/aarch64/shifted.s | 2 +- gas/testsuite/gas/aarch64/sysreg-1.s | 2 +- gas/testsuite/gas/aarch64/tail_padding.d | 17 + gas/testsuite/gas/aarch64/tail_padding.s | 13 + gas/testsuite/gas/aarch64/tls.d | 4 + gas/testsuite/gas/aarch64/tls.s | 5 +- gas/testsuite/gas/all/gas.exp | 5 +- gas/testsuite/gas/all/itbl-test.c | 2 +- gas/testsuite/gas/all/none.d | 4 + gas/testsuite/gas/all/none.s | 2 + gas/testsuite/gas/all/test-example.c | 2 +- gas/testsuite/gas/all/test-gen.c | 2 +- gas/testsuite/gas/alpha/alpha.exp | 2 +- gas/testsuite/gas/arc/arc.exp | 2 +- gas/testsuite/gas/arc/warn.exp | 2 +- gas/testsuite/gas/arm/align64.d | 15 - gas/testsuite/gas/arm/arch7em.d | 8 +- gas/testsuite/gas/arm/arm.exp | 2 +- gas/testsuite/gas/arm/armv1.l | 8 +- gas/testsuite/gas/arm/armv8-a-bad.l | 16 +- gas/testsuite/gas/arm/armv8-a-it-bad.l | 30 +- gas/testsuite/gas/arm/attr-abi-hardfp-use-0.d | 14 + gas/testsuite/gas/arm/attr-abi-hardfp-use-0.s | 3 + gas/testsuite/gas/arm/attr-abi-hardfp-use-1.d | 15 + gas/testsuite/gas/arm/attr-abi-hardfp-use-1.s | 3 + gas/testsuite/gas/arm/attr-abi-hardfp-use-2.d | 15 + gas/testsuite/gas/arm/attr-abi-hardfp-use-2.s | 3 + gas/testsuite/gas/arm/attr-abi-hardfp-use-3.d | 15 + gas/testsuite/gas/arm/attr-abi-hardfp-use-3.s | 3 + gas/testsuite/gas/arm/depr-swp.l | 6 +- gas/testsuite/gas/arm/dis-data.d | 6 +- gas/testsuite/gas/arm/dis-data2.d | 6 +- gas/testsuite/gas/arm/ldsgeb.l | 2 +- gas/testsuite/gas/arm/ldsgeh.l | 2 +- gas/testsuite/gas/arm/maverick.c | 2 +- gas/testsuite/gas/arm/neon-addressing-bad.l | 12 + gas/testsuite/gas/arm/neon-addressing-bad.s | 27 + gas/testsuite/gas/arm/pr18256.d | 9 + gas/testsuite/gas/arm/pr18256.l | 2 + gas/testsuite/gas/arm/pr18256.s | 1 + gas/testsuite/gas/arm/pr18347.d | 3 + gas/testsuite/gas/arm/pr18347.l | 2 + gas/testsuite/gas/arm/pr18347.s | 14 + gas/testsuite/gas/arm/thumb2_bad_reg.l | 12 +- gas/testsuite/gas/arm/thumb2_vpool_be.d | 6 +- gas/testsuite/gas/arm/thumb32.d | 24 +- gas/testsuite/gas/arm/thumb32.l | 32 +- gas/testsuite/gas/arm/ual-vcmp.d | 20 +- gas/testsuite/gas/arm/ual-vcmp.s | 4 + gas/testsuite/gas/arm/udf.l | 4 +- gas/testsuite/gas/arm/vcmp-zero-bad.l | 2 +- gas/testsuite/gas/arm/vldconst_be.d | 4 +- gas/testsuite/gas/arm/vstr-arm-bad.l | 4 +- gas/testsuite/gas/avr/avr-prop-1.d | 26 + gas/testsuite/gas/avr/avr-prop-1.s | 29 + gas/testsuite/gas/avr/avr.exp | 3 +- gas/testsuite/gas/avr/large-debug-line-table.d | 15 + gas/testsuite/gas/avr/large-debug-line-table.s | 16 + gas/testsuite/gas/bfin/bfin.exp | 2 +- gas/testsuite/gas/bfin/error.exp | 2 +- gas/testsuite/gas/cfi/cfi-label.d | 43 + gas/testsuite/gas/cfi/cfi-label.s | 19 + gas/testsuite/gas/cfi/cfi.exp | 6 +- gas/testsuite/gas/cr16/cr16.exp | 2 +- gas/testsuite/gas/cr16/pic.exp | 2 +- gas/testsuite/gas/cris/cris.exp | 2 +- gas/testsuite/gas/crx/allinsn.exp | 2 +- gas/testsuite/gas/d10v/d10v.exp | 2 +- gas/testsuite/gas/d30v/d30.exp | 2 +- gas/testsuite/gas/dlx/alltests.exp | 2 +- gas/testsuite/gas/elf/dwarf2-1.s | 2 +- gas/testsuite/gas/elf/dwarf2-2.s | 2 +- gas/testsuite/gas/elf/elf.exp | 5 +- gas/testsuite/gas/elf/section2.e-v850 | 9 + gas/testsuite/gas/epiphany/allinsn.exp | 2 +- gas/testsuite/gas/fr30/allinsn.exp | 2 +- gas/testsuite/gas/fr30/fr30.exp | 2 +- gas/testsuite/gas/frv/allinsn.exp | 2 +- gas/testsuite/gas/ft32/ft32.exp | 21 + gas/testsuite/gas/ft32/insn.d | 490 + gas/testsuite/gas/ft32/insn.s | 185 + gas/testsuite/gas/h8300/h8300-coff.exp | 2 +- gas/testsuite/gas/h8300/h8300-elf.exp | 2 +- gas/testsuite/gas/h8300/h8300.exp | 2 +- gas/testsuite/gas/h8300/t01_mov.exp | 2 +- gas/testsuite/gas/h8300/t02_mova.exp | 2 +- gas/testsuite/gas/h8300/t03_add.exp | 2 +- gas/testsuite/gas/h8300/t04_sub.exp | 2 +- gas/testsuite/gas/h8300/t05_cmp.exp | 2 +- gas/testsuite/gas/h8300/t06_ari2.exp | 2 +- gas/testsuite/gas/h8300/t07_ari3.exp | 2 +- gas/testsuite/gas/h8300/t08_or.exp | 2 +- gas/testsuite/gas/h8300/t09_xor.exp | 2 +- gas/testsuite/gas/h8300/t10_and.exp | 2 +- gas/testsuite/gas/h8300/t11_logs.exp | 2 +- gas/testsuite/gas/h8300/t12_bit.exp | 2 +- gas/testsuite/gas/h8300/t13_otr.exp | 2 +- gas/testsuite/gas/hppa/README | 2 +- gas/testsuite/gas/hppa/basic/basic.exp | 2 +- gas/testsuite/gas/hppa/parse/parse.exp | 2 +- gas/testsuite/gas/hppa/reloc/reloc.exp | 2 +- gas/testsuite/gas/hppa/unsorted/unsorted.exp | 2 +- gas/testsuite/gas/i386/arch-13-znver1.d | 20 + gas/testsuite/gas/i386/arch-13.d | 19 + gas/testsuite/gas/i386/arch-13.s | 19 + gas/testsuite/gas/i386/avx512dq.d | 48 +- gas/testsuite/gas/i386/avx512dq.s | 24 +- gas/testsuite/gas/i386/avx512dq_vl.d | 192 +- gas/testsuite/gas/i386/avx512dq_vl.s | 96 +- gas/testsuite/gas/i386/avx512f_vl.d | 240 +- gas/testsuite/gas/i386/avx512f_vl.s | 120 +- gas/testsuite/gas/i386/clzero.d | 11 + gas/testsuite/gas/i386/clzero.s | 6 + gas/testsuite/gas/i386/dw2-compress-1.d | 4 +- gas/testsuite/gas/i386/dw2-compress-1.s | 2 +- gas/testsuite/gas/i386/dw2-compress-3.d | 103 + gas/testsuite/gas/i386/dw2-compress-3.s | 96 + gas/testsuite/gas/i386/dw2-compressed-1.d | 105 + gas/testsuite/gas/i386/dw2-compressed-2.d | 7 + gas/testsuite/gas/i386/dw2-compressed-3.d | 104 + gas/testsuite/gas/i386/i386.exp | 58 +- gas/testsuite/gas/i386/iamcu-1.d | 52 + gas/testsuite/gas/i386/iamcu-1.s | 51 + gas/testsuite/gas/i386/iamcu-2.d | 11 + gas/testsuite/gas/i386/iamcu-2.s | 4 + gas/testsuite/gas/i386/iamcu-3.d | 11 + gas/testsuite/gas/i386/iamcu-3.s | 2 + gas/testsuite/gas/i386/iamcu-inval-1.l | 21 + gas/testsuite/gas/i386/iamcu-inval-1.s | 11 + gas/testsuite/gas/i386/iamcu-inval-2.l | 2 + gas/testsuite/gas/i386/iamcu-inval-2.s | 2 + gas/testsuite/gas/i386/iamcu-inval-3.l | 2 + gas/testsuite/gas/i386/iamcu-inval-3.s | 1 + gas/testsuite/gas/i386/ilp32/cfi/ilp32.exp | 2 +- gas/testsuite/gas/i386/ilp32/elf/ilp32.exp | 2 +- gas/testsuite/gas/i386/ilp32/ilp32.exp | 2 +- gas/testsuite/gas/i386/ilp32/lns/ilp32.exp | 2 +- gas/testsuite/gas/i386/ilp32/x86-64-branch.d | 11 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d | 15 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-1-k8.d | 248 +- .../gas/i386/ilp32/x86-64-nops-1-nocona.d | 156 - gas/testsuite/gas/i386/ilp32/x86-64-nops-1.d | 15 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-2.d | 18 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-3.d | 8 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d | 73 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-4-k8.d | 85 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-4.d | 73 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d | 27 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-5.d | 27 +- gas/testsuite/gas/i386/ilp32/x86-64-unwind.d | 8 +- gas/testsuite/gas/i386/nops-1-bdver1.d | 162 - gas/testsuite/gas/i386/nops-1-bdver2.d | 162 - gas/testsuite/gas/i386/nops-1-bdver3.d | 162 - gas/testsuite/gas/i386/nops-1-bdver4.d | 162 - gas/testsuite/gas/i386/nops-1-btver1.d | 162 - gas/testsuite/gas/i386/nops-1-btver2.d | 162 - gas/testsuite/gas/i386/nops-1-core2.d | 15 +- gas/testsuite/gas/i386/nops-1-k8.d | 248 +- gas/testsuite/gas/i386/nops-4a-i686.d | 73 +- gas/testsuite/gas/i386/nops-5-i686.d | 27 +- gas/testsuite/gas/i386/nops-5.d | 27 +- gas/testsuite/gas/i386/nops-6.d | 4 +- gas/testsuite/gas/i386/note.d | 7 + gas/testsuite/gas/i386/note.s | 2 + gas/testsuite/gas/i386/pcrel-elf.d | 52 + gas/testsuite/gas/i386/prefix.d | 11 + gas/testsuite/gas/i386/prefix.s | 32 + gas/testsuite/gas/i386/relax-3.d | 32 + gas/testsuite/gas/i386/relax-3.s | 40 + gas/testsuite/gas/i386/relax-4.d | 32 + gas/testsuite/gas/i386/x86-64-arch-3-znver1.d | 21 + gas/testsuite/gas/i386/x86-64-arch-3.d | 20 + gas/testsuite/gas/i386/x86-64-arch-3.s | 21 + gas/testsuite/gas/i386/x86-64-avx512dq.d | 48 +- gas/testsuite/gas/i386/x86-64-avx512dq.s | 24 +- gas/testsuite/gas/i386/x86-64-avx512dq_vl.d | 192 +- gas/testsuite/gas/i386/x86-64-avx512dq_vl.s | 96 +- gas/testsuite/gas/i386/x86-64-avx512f_vl.d | 240 +- gas/testsuite/gas/i386/x86-64-avx512f_vl.s | 116 +- gas/testsuite/gas/i386/x86-64-branch-2.d | 15 + gas/testsuite/gas/i386/x86-64-branch-2.s | 7 + gas/testsuite/gas/i386/x86-64-branch-3.l | 17 + gas/testsuite/gas/i386/x86-64-branch-3.s | 7 + gas/testsuite/gas/i386/x86-64-branch.d | 11 +- gas/testsuite/gas/i386/x86-64-branch.s | 7 + gas/testsuite/gas/i386/x86-64-clzero.d | 12 + gas/testsuite/gas/i386/x86-64-dw2-compressed-2.d | 7 + gas/testsuite/gas/i386/x86-64-jump.d | 43 + gas/testsuite/gas/i386/x86-64-jump.s | 41 + gas/testsuite/gas/i386/x86-64-nops-1-bdver1.d | 162 - gas/testsuite/gas/i386/x86-64-nops-1-bdver2.d | 162 - gas/testsuite/gas/i386/x86-64-nops-1-bdver3.d | 162 - gas/testsuite/gas/i386/x86-64-nops-1-bdver4.d | 162 - gas/testsuite/gas/i386/x86-64-nops-1-btver1.d | 162 - gas/testsuite/gas/i386/x86-64-nops-1-btver2.d | 162 - gas/testsuite/gas/i386/x86-64-nops-1-core2.d | 15 +- gas/testsuite/gas/i386/x86-64-nops-1-g64.d | 15 +- gas/testsuite/gas/i386/x86-64-nops-1-k8.d | 248 +- gas/testsuite/gas/i386/x86-64-nops-1-nocona.d | 156 - gas/testsuite/gas/i386/x86-64-nops-1.d | 15 +- gas/testsuite/gas/i386/x86-64-nops-2.d | 18 +- gas/testsuite/gas/i386/x86-64-nops-3.d | 8 +- gas/testsuite/gas/i386/x86-64-nops-4-core2.d | 73 +- gas/testsuite/gas/i386/x86-64-nops-4-k8.d | 85 +- gas/testsuite/gas/i386/x86-64-nops-4.d | 73 +- gas/testsuite/gas/i386/x86-64-nops-5-k8.d | 27 +- gas/testsuite/gas/i386/x86-64-nops-5.d | 27 +- gas/testsuite/gas/i386/x86-64-relax-2.d | 34 + gas/testsuite/gas/i386/x86-64-relax-3.d | 33 + gas/testsuite/gas/i386/x86-64-unwind.d | 8 +- gas/testsuite/gas/i860/README.i860 | 2 +- gas/testsuite/gas/i860/i860.exp | 2 +- gas/testsuite/gas/ia64/alias-ilp32.d | 2 +- gas/testsuite/gas/ia64/alias.d | 2 +- gas/testsuite/gas/ia64/group-1.d | 2 +- gas/testsuite/gas/ia64/group-2.d | 2 +- gas/testsuite/gas/ia64/ia64.exp | 2 +- gas/testsuite/gas/ia64/secname-ilp32.d | 2 +- gas/testsuite/gas/ia64/secname.d | 2 +- gas/testsuite/gas/ia64/unwind-ilp32.d | 2 +- gas/testsuite/gas/ia64/unwind.d | 2 +- gas/testsuite/gas/ieee-fp/x930509a.exp | 2 +- gas/testsuite/gas/iq2000/allinsn.exp | 2 +- gas/testsuite/gas/iq2000/load-hazards.exp | 2 +- gas/testsuite/gas/iq2000/odd-ldw.exp | 2 +- gas/testsuite/gas/iq2000/odd-sdw.exp | 2 +- gas/testsuite/gas/iq2000/yield.exp | 2 +- gas/testsuite/gas/lm32/all.exp | 2 +- gas/testsuite/gas/lns/lns.exp | 9 +- gas/testsuite/gas/m32r/allinsn.exp | 2 +- gas/testsuite/gas/m32r/error.exp | 2 +- gas/testsuite/gas/m32r/m32r2.exp | 2 +- gas/testsuite/gas/m32r/m32rx.exp | 2 +- gas/testsuite/gas/m32r/pic.exp | 2 +- gas/testsuite/gas/m32r/rel32.exp | 2 +- gas/testsuite/gas/m68hc11/m68hc11.exp | 2 +- gas/testsuite/gas/m68k-coff/gas.exp | 2 +- gas/testsuite/gas/m68k/all.exp | 2 +- gas/testsuite/gas/mach-o/mach-o.exp | 2 +- gas/testsuite/gas/macros/macros.exp | 2 +- gas/testsuite/gas/mcore/allinsn.exp | 2 +- gas/testsuite/gas/mep/allinsn.exp | 2 +- gas/testsuite/gas/mep/complex-relocs.exp | 2 +- gas/testsuite/gas/metag/metag.exp | 2 +- gas/testsuite/gas/microblaze/allinsn.exp | 2 +- gas/testsuite/gas/microblaze/endian.exp | 2 +- gas/testsuite/gas/microblaze/reloc_sym.exp | 2 +- gas/testsuite/gas/microblaze/special_reg.exp | 2 +- gas/testsuite/gas/mips/dla-warn.l | 2 + gas/testsuite/gas/mips/dla-warn.s | 1 + gas/testsuite/gas/mips/la-warn.l | 2 + gas/testsuite/gas/mips/la-warn.s | 1 + gas/testsuite/gas/mips/mips.exp | 9 +- gas/testsuite/gas/mips/r6-branch-constraints.l | 25 + gas/testsuite/gas/mips/r6-branch-constraints.s | 25 + gas/testsuite/gas/mips/r6-n32.d | 4 + gas/testsuite/gas/mips/r6-n64.d | 4 + gas/testsuite/gas/mips/r6.d | 4 + gas/testsuite/gas/mips/r6.s | 5 + gas/testsuite/gas/mmix/bspec-1.d | 2 +- gas/testsuite/gas/mmix/byte-1.d | 2 +- gas/testsuite/gas/mmix/loc-1.d | 2 +- gas/testsuite/gas/mmix/loc-2.d | 2 +- gas/testsuite/gas/mmix/loc-3.d | 2 +- gas/testsuite/gas/mmix/loc-4.d | 2 +- gas/testsuite/gas/mmix/loc-5.d | 2 +- gas/testsuite/gas/mmix/mmix-err.exp | 2 +- gas/testsuite/gas/mmix/mmix-list.exp | 2 +- gas/testsuite/gas/mmix/mmix.exp | 2 +- gas/testsuite/gas/mn10200/basic.exp | 2 +- gas/testsuite/gas/mn10300/am33-2.c | 2 +- gas/testsuite/gas/mn10300/basic.exp | 2 +- gas/testsuite/gas/mri/mri.exp | 2 +- gas/testsuite/gas/msp430/msp430.exp | 2 +- gas/testsuite/gas/mt/errors.exp | 2 +- gas/testsuite/gas/mt/mt.exp | 2 +- gas/testsuite/gas/mt/relocs.exp | 2 +- gas/testsuite/gas/nds32/nds32.exp | 2 +- gas/testsuite/gas/nios2/nios2.exp | 2 +- gas/testsuite/gas/pdp11/absreloc.s | 2 +- gas/testsuite/gas/pdp11/opcode.s | 2 +- gas/testsuite/gas/pdp11/pdp11.exp | 2 +- gas/testsuite/gas/pe/pe.exp | 2 +- gas/testsuite/gas/pj/pj.exp | 2 +- gas/testsuite/gas/ppc/476.d | 8 +- gas/testsuite/gas/ppc/a2.d | 4 +- gas/testsuite/gas/ppc/a2.s | 8 +- gas/testsuite/gas/ppc/aix.exp | 2 +- gas/testsuite/gas/ppc/booke.d | 2 - gas/testsuite/gas/ppc/booke.s | 2 - gas/testsuite/gas/ppc/power4.d | 3 +- gas/testsuite/gas/ppc/power4.s | 1 + gas/testsuite/gas/ppc/power6.d | 6 + gas/testsuite/gas/ppc/power6.s | 6 + gas/testsuite/gas/ppc/power7.d | 215 +- gas/testsuite/gas/ppc/power7.s | 19 +- gas/testsuite/gas/ppc/ppc.exp | 2 +- gas/testsuite/gas/rx/make-d | 2 +- gas/testsuite/gas/rx/rx.exp | 2 +- gas/testsuite/gas/s390/esa-g5.d | 44 +- gas/testsuite/gas/s390/esa-g5.s | 2 + gas/testsuite/gas/s390/esa-z9-109.d | 4 + gas/testsuite/gas/s390/esa-z9-109.s | 4 + gas/testsuite/gas/s390/s390.exp | 1 + gas/testsuite/gas/s390/zarch-z10.d | 4 +- gas/testsuite/gas/s390/zarch-z13.d | 682 + gas/testsuite/gas/s390/zarch-z13.s | 676 + gas/testsuite/gas/s390/zarch-z9-109.d | 5 + gas/testsuite/gas/s390/zarch-z9-109.s | 5 + gas/testsuite/gas/s390/zarch-zEC12.d | 2 +- gas/testsuite/gas/score/relax.exp | 2 +- gas/testsuite/gas/score/relax_32.exp | 2 +- gas/testsuite/gas/sh/arch/arch.exp | 316 +- gas/testsuite/gas/sh/arch/arch_expected.txt | 42 +- gas/testsuite/gas/sh/arch/sh-dsp.s | 11 +- gas/testsuite/gas/sh/arch/sh-opc-gen-as.pl | 249 + gas/testsuite/gas/sh/arch/sh.s | 13 +- gas/testsuite/gas/sh/arch/sh2.s | 11 +- .../gas/sh/arch/sh2a-nofpu-or-sh3-nommu.s | 12 +- .../gas/sh/arch/sh2a-nofpu-or-sh4-nommu-nofpu.s | 13 +- gas/testsuite/gas/sh/arch/sh2a-nofpu.s | 13 +- gas/testsuite/gas/sh/arch/sh2a-or-sh3e.s | 12 +- gas/testsuite/gas/sh/arch/sh2a-or-sh4.s | 13 +- gas/testsuite/gas/sh/arch/sh2a.s | 13 +- gas/testsuite/gas/sh/arch/sh2e.s | 11 +- gas/testsuite/gas/sh/arch/sh3-dsp.s | 14 +- gas/testsuite/gas/sh/arch/sh3-nommu.s | 14 +- gas/testsuite/gas/sh/arch/sh3.s | 14 +- gas/testsuite/gas/sh/arch/sh3e.s | 14 +- gas/testsuite/gas/sh/arch/sh4-nofpu.s | 15 +- gas/testsuite/gas/sh/arch/sh4-nommu-nofpu.s | 15 +- gas/testsuite/gas/sh/arch/sh4.s | 15 +- gas/testsuite/gas/sh/arch/sh4a-nofpu.s | 15 +- gas/testsuite/gas/sh/arch/sh4a.s | 15 +- gas/testsuite/gas/sh/arch/sh4al-dsp.s | 15 +- gas/testsuite/gas/sh/basic.exp | 2 +- gas/testsuite/gas/sh/err.exp | 2 +- gas/testsuite/gas/sh/sh64/sh64.exp | 2 +- gas/testsuite/gas/sparc-solaris/addend.exp | 2 +- gas/testsuite/gas/sparc-solaris/gas.exp | 2 +- gas/testsuite/gas/sparc/mismatch.exp | 2 +- gas/testsuite/gas/sparc/natural-32.d | 20 + gas/testsuite/gas/sparc/natural-32.s | 15 + gas/testsuite/gas/sparc/natural.d | 20 + gas/testsuite/gas/sparc/natural.s | 15 + gas/testsuite/gas/sparc/pcrel.d | 25 +- gas/testsuite/gas/sparc/pcrel64.d | 29 +- gas/testsuite/gas/sparc/sparc.exp | 4 +- gas/testsuite/gas/sun4/addend.exp | 2 +- gas/testsuite/gas/symver/symver.exp | 2 +- gas/testsuite/gas/tic4x/tic4x.exp | 2 +- gas/testsuite/gas/tic54x/tic54x.exp | 2 +- gas/testsuite/gas/tic6x/scomm-directive-4.d | 2 +- gas/testsuite/gas/tic6x/tic6x.exp | 2 +- gas/testsuite/gas/tilegx/tilegx.exp | 2 +- gas/testsuite/gas/tilepro/tilepro.exp | 2 +- gas/testsuite/gas/v850/basic.exp | 2 +- gas/testsuite/gas/vax/vax.exp | 2 +- gas/testsuite/gas/visium/error.exp | 2 +- gas/testsuite/gas/visium/visium.exp | 2 +- gas/testsuite/gas/xc16x/xc16x.exp | 2 +- gas/testsuite/gas/xgate/xgate.exp | 2 +- gas/testsuite/gas/xstormy16/allinsn.exp | 2 +- gas/testsuite/gas/xtensa/all.exp | 2 +- gas/testsuite/gas/xtensa/trampoline.s | 10 + gas/testsuite/gas/xtensa/xtensa-err.exp | 2 +- gas/testsuite/gas/z80/z80.exp | 2 +- gas/testsuite/gas/z8k/z8k.exp | 2 +- gas/testsuite/lib/gas-defs.exp | 9 +- gas/testsuite/lib/gas-dg.exp | 2 +- gas/write.c | 68 +- gas/write.h | 2 +- gdb/.dir-locals.el | 2 +- gdb/ChangeLog |20450 +++++--------------- gdb/ChangeLog-2014 |16660 ++++++++++++++++ gdb/MAINTAINERS | 19 +- gdb/Makefile.in | 124 +- gdb/NEWS | 195 +- gdb/aarch64-linux-nat.c | 5 +- gdb/aarch64-linux-tdep.c | 29 +- gdb/aarch64-linux-tdep.h | 2 +- gdb/aarch64-newlib-tdep.c | 2 +- gdb/aarch64-tdep.c | 3 +- gdb/aarch64-tdep.h | 4 +- gdb/acinclude.m4 | 16 +- gdb/acx_configure_dir.m4 | 2 +- gdb/ada-exp.y | 2 +- gdb/ada-lang.c | 498 +- gdb/ada-lang.h | 4 +- gdb/ada-lex.l | 2 +- gdb/ada-operator.def | 2 +- gdb/ada-tasks.c | 2 +- gdb/ada-typeprint.c | 13 +- gdb/ada-valprint.c | 18 +- gdb/ada-varobj.c | 35 +- gdb/addrmap.c | 58 +- gdb/addrmap.h | 2 +- gdb/agent.c | 2 +- gdb/aix-thread.c | 36 +- gdb/alpha-linux-nat.c | 2 +- gdb/alpha-linux-tdep.c | 2 +- gdb/alpha-mdebug-tdep.c | 2 +- gdb/alpha-tdep.c | 2 +- gdb/alpha-tdep.h | 2 +- gdb/alphabsd-nat.c | 2 +- gdb/alphabsd-tdep.c | 2 +- gdb/alphabsd-tdep.h | 2 +- gdb/alphafbsd-tdep.c | 2 +- gdb/alphanbsd-tdep.c | 6 +- gdb/alphaobsd-tdep.c | 2 +- gdb/amd64-darwin-tdep.c | 2 +- gdb/amd64-darwin-tdep.h | 2 +- gdb/amd64-dicos-tdep.c | 2 +- gdb/amd64-linux-nat.c | 2 +- gdb/amd64-linux-tdep.c | 154 +- gdb/amd64-linux-tdep.h | 2 +- gdb/amd64-nat.c | 2 +- gdb/amd64-nat.h | 2 +- gdb/amd64-sol2-tdep.c | 2 +- gdb/amd64-tdep.c | 138 +- gdb/amd64-tdep.h | 5 +- gdb/amd64-windows-nat.c | 2 +- gdb/amd64-windows-tdep.c | 121 +- gdb/amd64bsd-nat.c | 38 +- gdb/amd64bsd-nat.h | 5 +- gdb/amd64fbsd-nat.c | 85 +- gdb/amd64fbsd-tdep.c | 105 +- gdb/amd64nbsd-nat.c | 2 +- gdb/amd64nbsd-tdep.c | 2 +- gdb/amd64obsd-nat.c | 2 +- gdb/amd64obsd-tdep.c | 6 +- gdb/annotate.c | 2 +- gdb/annotate.h | 2 +- gdb/arch-utils.c | 4 +- gdb/arch-utils.h | 2 +- gdb/arm-linux-nat.c | 14 +- gdb/arm-linux-tdep.c | 92 +- gdb/arm-linux-tdep.h | 2 +- gdb/arm-symbian-tdep.c | 2 +- gdb/arm-tdep.c | 102 +- gdb/arm-tdep.h | 2 +- gdb/arm-wince-tdep.c | 4 +- gdb/armbsd-tdep.c | 6 +- gdb/armnbsd-nat.c | 2 +- gdb/armnbsd-tdep.c | 2 +- gdb/armobsd-tdep.c | 2 +- gdb/auto-load.c | 526 +- gdb/auto-load.h | 5 +- gdb/auxv.c | 2 +- gdb/auxv.h | 2 +- gdb/avr-tdep.c | 2 +- gdb/ax-gdb.c | 2 +- gdb/ax-gdb.h | 2 +- gdb/ax-general.c | 2 +- gdb/ax.h | 2 +- gdb/bcache.c | 16 +- gdb/bcache.h | 2 +- gdb/bfd-target.c | 2 +- gdb/bfd-target.h | 2 +- gdb/bfin-linux-tdep.c | 2 +- gdb/bfin-tdep.c | 2 +- gdb/bfin-tdep.h | 2 +- gdb/block.c | 12 +- gdb/block.h | 8 +- gdb/blockframe.c | 2 +- gdb/break-catch-sig.c | 2 +- gdb/break-catch-syscall.c | 659 + gdb/break-catch-throw.c | 53 +- gdb/breakpoint.c | 992 +- gdb/breakpoint.h | 68 +- gdb/bsd-kvm.c | 2 +- gdb/bsd-kvm.h | 2 +- gdb/bsd-uthread.c | 4 +- gdb/bsd-uthread.h | 2 +- gdb/btrace.c | 616 +- gdb/btrace.h | 88 +- gdb/build-id.c | 5 +- gdb/build-id.h | 2 +- gdb/build-with-cxx.m4 | 41 + gdb/buildsym.c | 20 +- gdb/buildsym.h | 2 +- gdb/c-exp.y | 106 +- gdb/c-lang.c | 2 +- gdb/c-lang.h | 2 +- gdb/c-typeprint.c | 31 +- gdb/c-valprint.c | 2 +- gdb/c-varobj.c | 97 +- gdb/charset-list.h | 2 +- gdb/charset.c | 2 +- gdb/charset.h | 2 +- gdb/cli-out.c | 86 +- gdb/cli-out.h | 4 +- gdb/cli/cli-cmds.c | 33 +- gdb/cli/cli-cmds.h | 2 +- gdb/cli/cli-decode.c | 121 +- gdb/cli/cli-decode.h | 4 +- gdb/cli/cli-dump.c | 52 +- gdb/cli/cli-interp.c | 11 +- gdb/cli/cli-logging.c | 2 +- gdb/cli/cli-script.c | 60 +- gdb/cli/cli-script.h | 2 +- gdb/cli/cli-setshow.c | 22 +- gdb/cli/cli-setshow.h | 2 +- gdb/cli/cli-utils.c | 2 +- gdb/cli/cli-utils.h | 2 +- gdb/coff-pe-read.c | 2 +- gdb/coff-pe-read.h | 2 +- gdb/coffread.c | 103 +- gdb/command.h | 26 +- gdb/common/agent.c | 2 +- gdb/common/agent.h | 5 +- gdb/common/ax.def | 4 +- gdb/common/break-common.h | 2 +- gdb/common/btrace-common.c | 83 + gdb/common/btrace-common.h | 103 +- gdb/common/buffer.c | 2 +- gdb/common/buffer.h | 2 +- gdb/common/cleanups.c | 14 +- gdb/common/cleanups.h | 2 +- gdb/common/common-debug.c | 2 +- gdb/common/common-debug.h | 2 +- gdb/common/common-defs.h | 13 +- gdb/common/common-exceptions.c | 145 +- gdb/common/common-exceptions.h | 110 +- gdb/common/common-regcache.h | 2 +- gdb/common/common-types.h | 2 +- gdb/common/common-utils.c | 2 +- gdb/common/common-utils.h | 17 +- gdb/common/common.host | 36 + gdb/common/common.m4 | 2 +- gdb/common/create-version.sh | 2 +- gdb/common/errors.c | 2 +- gdb/common/errors.h | 2 +- gdb/common/fileio.c | 206 + gdb/common/fileio.h | 68 + gdb/common/filestuff.c | 11 +- gdb/common/filestuff.h | 6 +- gdb/common/format.c | 2 +- gdb/common/format.h | 2 +- gdb/common/gdb_assert.h | 2 +- gdb/common/gdb_locale.h | 2 +- gdb/common/gdb_setjmp.h | 2 +- gdb/common/gdb_signals.h | 2 +- gdb/common/gdb_vecs.c | 2 +- gdb/common/gdb_vecs.h | 2 +- gdb/common/gdb_wait.h | 2 +- gdb/common/host-defs.h | 2 +- gdb/common/mingw-strerror.c | 64 + gdb/common/posix-strerror.c | 38 + gdb/common/print-utils.c | 2 +- gdb/common/print-utils.h | 2 +- gdb/common/ptid.c | 2 +- gdb/common/ptid.h | 2 +- gdb/common/queue.h | 2 +- gdb/common/rsp-low.c | 2 +- gdb/common/rsp-low.h | 2 +- gdb/common/signals.c | 2 +- gdb/common/symbol.h | 2 +- gdb/common/vec.c | 2 +- gdb/common/vec.h | 2 +- gdb/common/version.h | 2 +- gdb/common/x86-xstate.h | 2 +- gdb/common/xml-utils.c | 2 +- gdb/common/xml-utils.h | 2 +- gdb/compile/compile-c-support.c | 60 +- gdb/compile/compile-c-symbols.c | 74 +- gdb/compile/compile-c-types.c | 2 +- gdb/compile/compile-internal.h | 6 +- gdb/compile/compile-loc2c.c | 43 +- gdb/compile/compile-object-load.c | 253 +- gdb/compile/compile-object-load.h | 25 +- gdb/compile/compile-object-run.c | 107 +- gdb/compile/compile-object-run.h | 2 +- gdb/compile/compile.c | 172 +- gdb/compile/compile.h | 10 +- gdb/complaints.c | 18 +- gdb/complaints.h | 2 +- gdb/completer.c | 752 +- gdb/completer.h | 114 +- gdb/config.in | 57 +- gdb/config/aarch64/linux.mh | 5 +- gdb/config/alpha/alpha-linux.mh | 2 +- gdb/config/arm/linux.mh | 2 +- gdb/config/djgpp/README | 4 +- gdb/config/djgpp/djcheck.sh | 2 +- gdb/config/djgpp/djconfig.sh | 2 +- gdb/config/djgpp/fnchange.lst | 3 +- gdb/config/djgpp/langinfo.h | 2 +- gdb/config/djgpp/nl_types.h | 2 +- gdb/config/i386/cygwin64.mh | 2 +- gdb/config/i386/linux.mh | 3 +- gdb/config/i386/linux64.mh | 3 +- gdb/config/i386/nm-fbsd.h | 2 +- gdb/config/i386/nm-i386gnu.h | 2 +- gdb/config/ia64/hpux.mh | 3 - gdb/config/ia64/linux.mh | 1 + gdb/config/m32r/linux.mh | 2 +- gdb/config/m68k/linux.mh | 1 + gdb/config/mips/linux.mh | 1 + gdb/config/nm-linux.h | 2 +- gdb/config/nm-nto.h | 2 +- gdb/config/pa/hpux.mh | 3 - gdb/config/pa/linux.mh | 3 +- gdb/config/pa/obsd.mh | 2 +- gdb/config/powerpc/fbsd.mh | 2 +- gdb/config/powerpc/linux.mh | 2 +- gdb/config/powerpc/ppc64-linux.mh | 2 +- gdb/config/powerpc/spu-linux.mh | 2 +- gdb/config/s390/linux.mh | 1 + gdb/config/sparc/linux.mh | 3 +- gdb/config/sparc/linux64.mh | 3 +- gdb/config/sparc/nm-sol2.h | 2 +- gdb/config/tilegx/linux.mh | 3 +- gdb/config/xtensa/linux.mh | 2 +- gdb/configure | 903 +- gdb/configure.ac | 96 +- gdb/configure.host | 10 +- gdb/configure.tgt | 20 +- gdb/continuations.c | 14 +- gdb/continuations.h | 2 +- gdb/contrib/ari/create-web-ari-in-src.sh | 2 +- gdb/contrib/ari/gdb_ari.sh | 6 +- gdb/contrib/ari/gdb_find.sh | 2 +- gdb/contrib/ari/update-web-ari.sh | 2 +- gdb/contrib/cc-with-tweaks.sh | 2 +- gdb/contrib/cleanup_check.py | 2 +- gdb/contrib/excheck.py | 2 +- gdb/contrib/expect-read1.c | 2 +- gdb/contrib/expect-read1.sh | 2 +- gdb/contrib/exsummary.py | 2 +- gdb/contrib/gcc-with-excheck | 2 +- gdb/contrib/gdb-add-index.sh | 2 +- gdb/contrib/test_pubnames_and_indexes.py | 2 +- gdb/copyright.py | 5 +- gdb/core-regset.c | 2 +- gdb/corefile.c | 2 +- gdb/corelow.c | 35 +- gdb/cp-abi.c | 35 +- gdb/cp-abi.h | 2 +- gdb/cp-name-parser.y | 22 +- gdb/cp-namespace.c | 135 +- gdb/cp-support.c | 84 +- gdb/cp-support.h | 4 +- gdb/cp-valprint.c | 92 +- gdb/cris-linux-tdep.c | 2 +- gdb/cris-tdep.c | 2 +- gdb/cris-tdep.h | 2 +- gdb/ctf.c | 7 +- gdb/ctf.h | 2 +- gdb/d-exp.y | 10 +- gdb/d-lang.c | 2 +- gdb/d-lang.h | 2 +- gdb/d-valprint.c | 2 +- gdb/darwin-nat-info.c | 24 +- gdb/darwin-nat.c | 135 +- gdb/darwin-nat.h | 2 +- gdb/data-directory/Makefile.in | 4 +- gdb/dbug-rom.c | 2 +- gdb/dbxread.c | 57 +- gdb/dcache.c | 2 +- gdb/dcache.h | 2 +- gdb/debug.c | 2 +- gdb/defs.h | 23 +- gdb/demangle.c | 84 +- gdb/dfp.c | 2 +- gdb/dfp.h | 2 +- gdb/dicos-tdep.c | 2 +- gdb/dicos-tdep.h | 2 +- gdb/dictionary.c | 4 +- gdb/dictionary.h | 2 +- gdb/dink32-rom.c | 2 +- gdb/disasm.c | 2 +- gdb/disasm.h | 2 +- gdb/doc/ChangeLog | 268 + gdb/doc/Doxyfile-base.in | 2 +- gdb/doc/Doxyfile-gdb-api.in | 2 +- gdb/doc/Doxyfile-gdb-xref.in | 2 +- gdb/doc/Doxyfile-gdbserver.in | 2 +- gdb/doc/Makefile.in | 2 +- gdb/doc/agentexpr.texi | 4 +- gdb/doc/all-cfg.texi | 2 +- gdb/doc/annotate.texinfo | 2 +- gdb/doc/doxy-index.in | 2 +- gdb/doc/gdb.texinfo | 1004 +- gdb/doc/guile.texi | 27 +- gdb/doc/observer.texi | 2 +- gdb/doc/python.texi | 201 +- gdb/doc/refcard.tex | 6 +- gdb/doc/stabs.texinfo | 2 +- gdb/doublest.c | 2 +- gdb/doublest.h | 2 +- gdb/dsrec.c | 2 +- gdb/dtrace-probe.c | 921 + gdb/dummy-frame.c | 63 +- gdb/dummy-frame.h | 16 +- gdb/dwarf2-frame-tailcall.c | 8 +- gdb/dwarf2-frame-tailcall.h | 2 +- gdb/dwarf2-frame.c | 62 +- gdb/dwarf2-frame.h | 2 +- gdb/dwarf2expr.c | 2 +- gdb/dwarf2expr.h | 2 +- gdb/dwarf2loc.c | 63 +- gdb/dwarf2loc.h | 50 +- gdb/dwarf2read.c | 616 +- gdb/elfread.c | 18 +- gdb/environ.c | 8 +- gdb/environ.h | 2 +- gdb/eval.c | 49 +- gdb/event-loop.c | 457 +- gdb/event-loop.h | 7 +- gdb/event-top.c | 16 +- gdb/event-top.h | 2 +- gdb/exceptions.c | 22 +- gdb/exceptions.h | 5 +- gdb/exec.c | 116 +- gdb/exec.h | 2 +- gdb/expprint.c | 2 +- gdb/expression.h | 5 +- gdb/extension-priv.h | 21 +- gdb/extension.c | 43 +- gdb/extension.h | 15 +- gdb/f-exp.y | 18 +- gdb/f-lang.c | 2 +- gdb/f-lang.h | 2 +- gdb/f-typeprint.c | 2 +- gdb/f-valprint.c | 16 +- gdb/fbsd-nat.c | 380 +- gdb/fbsd-nat.h | 16 +- gdb/fbsd-tdep.c | 5 +- gdb/fbsd-tdep.h | 2 +- gdb/features/Makefile | 9 +- gdb/features/aarch64-core.xml | 2 +- gdb/features/aarch64-fpu.xml | 2 +- gdb/features/aarch64.xml | 2 +- gdb/features/arm-core.xml | 2 +- gdb/features/arm-fpa.xml | 2 +- gdb/features/arm-m-profile.xml | 2 +- gdb/features/arm-vfpv2.xml | 2 +- gdb/features/arm-vfpv3.xml | 2 +- gdb/features/arm-with-iwmmxt.xml | 2 +- gdb/features/arm-with-m-fpa-layout.xml | 2 +- gdb/features/arm-with-m-vfp-d16.xml | 2 +- gdb/features/arm-with-m.xml | 2 +- gdb/features/arm-with-neon.xml | 2 +- gdb/features/arm-with-vfpv2.xml | 2 +- gdb/features/arm-with-vfpv3.xml | 2 +- gdb/features/btrace-conf.dtd | 11 + gdb/features/btrace.dtd | 2 +- gdb/features/feature_to_c.sh | 10 +- gdb/features/gdb-target.dtd | 2 +- gdb/features/i386/32bit-avx.xml | 2 +- gdb/features/i386/32bit-avx512.xml | 2 +- gdb/features/i386/32bit-core.xml | 2 +- gdb/features/i386/32bit-linux.xml | 2 +- gdb/features/i386/32bit-mpx.xml | 2 +- gdb/features/i386/32bit-sse.xml | 2 +- gdb/features/i386/64bit-avx.xml | 2 +- gdb/features/i386/64bit-avx512.xml | 2 +- gdb/features/i386/64bit-core.xml | 2 +- gdb/features/i386/64bit-linux.xml | 2 +- gdb/features/i386/64bit-mpx.xml | 2 +- gdb/features/i386/64bit-sse.xml | 2 +- gdb/features/i386/amd64-avx-linux.xml | 2 +- gdb/features/i386/amd64-avx.xml | 2 +- gdb/features/i386/amd64-avx512-linux.xml | 2 +- gdb/features/i386/amd64-avx512.xml | 2 +- gdb/features/i386/amd64-linux.xml | 2 +- gdb/features/i386/amd64-mpx-linux.xml | 2 +- gdb/features/i386/amd64-mpx.xml | 2 +- gdb/features/i386/amd64.xml | 2 +- gdb/features/i386/i386-avx-linux.xml | 2 +- gdb/features/i386/i386-avx.xml | 2 +- gdb/features/i386/i386-avx512-linux.xml | 2 +- gdb/features/i386/i386-avx512.xml | 2 +- gdb/features/i386/i386-linux.xml | 2 +- gdb/features/i386/i386-mmx-linux.xml | 2 +- gdb/features/i386/i386-mmx.xml | 2 +- gdb/features/i386/i386-mpx-linux.xml | 2 +- gdb/features/i386/i386-mpx.xml | 2 +- gdb/features/i386/i386.xml | 2 +- gdb/features/i386/x32-avx-linux.xml | 2 +- gdb/features/i386/x32-avx.xml | 2 +- gdb/features/i386/x32-avx512-linux.xml | 2 +- gdb/features/i386/x32-avx512.xml | 2 +- gdb/features/i386/x32-core.xml | 2 +- gdb/features/i386/x32-linux.xml | 2 +- gdb/features/i386/x32.xml | 2 +- gdb/features/library-list-aix.dtd | 2 +- gdb/features/library-list-svr4.dtd | 2 +- gdb/features/library-list.dtd | 2 +- gdb/features/microblaze-core.xml | 2 +- gdb/features/microblaze-stack-protect.xml | 2 +- gdb/features/microblaze-with-stack-protect.xml | 2 +- gdb/features/microblaze.xml | 2 +- gdb/features/mips-cp0.xml | 2 +- gdb/features/mips-cpu.xml | 2 +- gdb/features/mips-dsp-linux.xml | 2 +- gdb/features/mips-dsp.xml | 2 +- gdb/features/mips-fpu.xml | 2 +- gdb/features/mips-linux.xml | 2 +- gdb/features/mips64-cp0.xml | 2 +- gdb/features/mips64-cpu.xml | 2 +- gdb/features/mips64-dsp-linux.xml | 2 +- gdb/features/mips64-dsp.xml | 2 +- gdb/features/mips64-fpu.xml | 2 +- gdb/features/mips64-linux.xml | 2 +- gdb/features/nios2-cpu.xml | 2 +- gdb/features/nios2-linux.xml | 2 +- gdb/features/nios2.xml | 2 +- gdb/features/osdata.dtd | 2 +- gdb/features/rs6000/power-altivec.xml | 2 +- gdb/features/rs6000/power-core.xml | 2 +- gdb/features/rs6000/power-fpu-isa205.xml | 2 +- gdb/features/rs6000/power-fpu.xml | 2 +- gdb/features/rs6000/power-linux.xml | 2 +- gdb/features/rs6000/power-oea.xml | 2 +- gdb/features/rs6000/power-spe.xml | 2 +- gdb/features/rs6000/power-vsx.xml | 2 +- gdb/features/rs6000/power64-core.xml | 2 +- gdb/features/rs6000/power64-linux.xml | 2 +- gdb/features/rs6000/powerpc-32.xml | 2 +- gdb/features/rs6000/powerpc-32l.xml | 2 +- gdb/features/rs6000/powerpc-403.xml | 2 +- gdb/features/rs6000/powerpc-403gc.xml | 2 +- gdb/features/rs6000/powerpc-405.xml | 2 +- gdb/features/rs6000/powerpc-505.xml | 2 +- gdb/features/rs6000/powerpc-601.xml | 2 +- gdb/features/rs6000/powerpc-602.xml | 2 +- gdb/features/rs6000/powerpc-603.xml | 2 +- gdb/features/rs6000/powerpc-604.xml | 2 +- gdb/features/rs6000/powerpc-64.xml | 2 +- gdb/features/rs6000/powerpc-64l.xml | 2 +- gdb/features/rs6000/powerpc-7400.xml | 2 +- gdb/features/rs6000/powerpc-750.xml | 2 +- gdb/features/rs6000/powerpc-860.xml | 2 +- gdb/features/rs6000/powerpc-altivec32.xml | 2 +- gdb/features/rs6000/powerpc-altivec32l.xml | 2 +- gdb/features/rs6000/powerpc-altivec64.xml | 2 +- gdb/features/rs6000/powerpc-altivec64l.xml | 2 +- gdb/features/rs6000/powerpc-cell32l.xml | 2 +- gdb/features/rs6000/powerpc-cell64l.xml | 2 +- gdb/features/rs6000/powerpc-e500.xml | 2 +- gdb/features/rs6000/powerpc-e500l.xml | 2 +- gdb/features/rs6000/powerpc-isa205-32l.xml | 2 +- gdb/features/rs6000/powerpc-isa205-64l.xml | 2 +- gdb/features/rs6000/powerpc-isa205-altivec32l.xml | 2 +- gdb/features/rs6000/powerpc-isa205-altivec64l.xml | 2 +- gdb/features/rs6000/powerpc-isa205-vsx32l.xml | 2 +- gdb/features/rs6000/powerpc-isa205-vsx64l.xml | 2 +- gdb/features/rs6000/powerpc-vsx32.xml | 2 +- gdb/features/rs6000/powerpc-vsx32l.xml | 2 +- gdb/features/rs6000/powerpc-vsx64.xml | 2 +- gdb/features/rs6000/powerpc-vsx64l.xml | 2 +- gdb/features/rs6000/rs6000.xml | 2 +- gdb/features/s390-acr.xml | 2 +- gdb/features/s390-core32.xml | 2 +- gdb/features/s390-core64.xml | 2 +- gdb/features/s390-fpr.xml | 2 +- gdb/features/s390-linux32.xml | 2 +- gdb/features/s390-linux32v1.xml | 2 +- gdb/features/s390-linux32v2.xml | 2 +- gdb/features/s390-linux64.xml | 2 +- gdb/features/s390-linux64v1.xml | 2 +- gdb/features/s390-linux64v2.xml | 2 +- gdb/features/s390-tdb.xml | 2 +- gdb/features/s390-te-linux64.xml | 2 +- gdb/features/s390-tevx-linux64.c | 188 + gdb/features/s390-tevx-linux64.xml | 26 + gdb/features/s390-vx-linux64.c | 166 + gdb/features/s390-vx-linux64.xml | 25 + gdb/features/s390-vx.xml | 59 + gdb/features/s390x-core64.xml | 2 +- gdb/features/s390x-linux64.xml | 2 +- gdb/features/s390x-linux64v1.xml | 2 +- gdb/features/s390x-linux64v2.xml | 2 +- gdb/features/s390x-te-linux64.xml | 2 +- gdb/features/s390x-tevx-linux64.c | 172 + gdb/features/s390x-tevx-linux64.xml | 25 + gdb/features/s390x-vx-linux64.c | 150 + gdb/features/s390x-vx-linux64.xml | 24 + gdb/features/threads.dtd | 2 +- gdb/features/tic6x-c62x-linux.xml | 2 +- gdb/features/tic6x-c62x.xml | 2 +- gdb/features/tic6x-c64x-linux.xml | 2 +- gdb/features/tic6x-c64x.xml | 2 +- gdb/features/tic6x-c64xp-linux.xml | 2 +- gdb/features/tic6x-c64xp.xml | 2 +- gdb/features/tic6x-c6xp.xml | 2 +- gdb/features/tic6x-core.xml | 2 +- gdb/features/tic6x-gp.xml | 2 +- gdb/features/traceframe-info.dtd | 2 +- gdb/features/xinclude.dtd | 2 +- gdb/features/xscale-iwmmxt.xml | 2 +- gdb/filesystem.c | 2 +- gdb/filesystem.h | 2 +- gdb/findcmd.c | 2 +- gdb/findvar.c | 6 +- gdb/fork-child.c | 2 +- gdb/frame-base.c | 2 +- gdb/frame-base.h | 2 +- gdb/frame-unwind.c | 29 +- gdb/frame-unwind.h | 2 +- gdb/frame.c | 49 +- gdb/frame.h | 2 +- gdb/frv-linux-tdep.c | 2 +- gdb/frv-tdep.c | 2 +- gdb/frv-tdep.h | 2 +- gdb/ft32-tdep.c | 549 + gdb/ft32-tdep.h | 28 + gdb/gcore.c | 21 +- gdb/gcore.h | 2 +- gdb/gcore.in | 2 +- gdb/gdb-code-style.el | 2 +- gdb/gdb-demangle.h | 2 +- gdb/gdb-dlfcn.c | 2 +- gdb/gdb-dlfcn.h | 2 +- gdb/gdb-gdb.py | 5 +- gdb/gdb-stabs.h | 2 +- gdb/gdb.c | 2 +- gdb/gdb.h | 2 +- gdb/gdb_bfd.c | 216 +- gdb/gdb_bfd.h | 31 +- gdb/gdb_buildall.sh | 2 +- gdb/gdb_curses.h | 6 +- gdb/gdb_expat.h | 2 +- gdb/gdb_mbuild.sh | 2 +- gdb/gdb_obstack.c | 2 +- gdb/gdb_obstack.h | 2 +- gdb/gdb_proc_service.h | 13 +- gdb/gdb_ptrace.h | 2 +- gdb/gdb_regex.h | 2 +- gdb/gdb_select.h | 2 +- gdb/gdb_usleep.c | 2 +- gdb/gdb_usleep.h | 2 +- gdb/gdb_vfork.h | 2 +- gdb/gdb_wchar.h | 2 +- gdb/gdbarch.c | 152 +- gdb/gdbarch.h | 46 +- gdb/gdbarch.sh | 50 +- gdb/gdbcmd.h | 2 +- gdb/gdbcore.h | 9 +- gdb/gdbserver/ChangeLog | 831 + gdb/gdbserver/Makefile.in | 64 +- gdb/gdbserver/acinclude.m4 | 6 + gdb/gdbserver/ax.c | 2 +- gdb/gdbserver/ax.h | 2 +- gdb/gdbserver/config.in | 53 + gdb/gdbserver/configure | 839 +- gdb/gdbserver/configure.ac | 52 +- gdb/gdbserver/configure.srv | 19 +- gdb/gdbserver/debug.c | 2 +- gdb/gdbserver/debug.h | 2 +- gdb/gdbserver/dll.c | 2 +- gdb/gdbserver/dll.h | 2 +- gdb/gdbserver/event-loop.c | 2 +- gdb/gdbserver/event-loop.h | 2 +- gdb/gdbserver/gdb_proc_service.h | 85 +- gdb/gdbserver/gdbreplay.c | 4 +- gdb/gdbserver/gdbthread.h | 2 +- gdb/gdbserver/hostio-errno.c | 58 +- gdb/gdbserver/hostio.c | 89 +- gdb/gdbserver/hostio.h | 2 +- gdb/gdbserver/i387-fp.c | 4 +- gdb/gdbserver/i387-fp.h | 2 +- gdb/gdbserver/inferiors.c | 2 +- gdb/gdbserver/inferiors.h | 4 +- gdb/gdbserver/linux-aarch64-low.c | 44 +- gdb/gdbserver/linux-amd64-ipa.c | 4 +- gdb/gdbserver/linux-arm-low.c | 60 +- gdb/gdbserver/linux-bfin-low.c | 2 +- gdb/gdbserver/linux-cris-low.c | 2 +- gdb/gdbserver/linux-crisv32-low.c | 2 +- gdb/gdbserver/linux-i386-ipa.c | 6 +- gdb/gdbserver/linux-ia64-low.c | 2 +- gdb/gdbserver/linux-low.c | 1629 ++- gdb/gdbserver/linux-low.h | 32 +- gdb/gdbserver/linux-m32r-low.c | 2 +- gdb/gdbserver/linux-m68k-low.c | 2 +- gdb/gdbserver/linux-mips-low.c | 140 +- gdb/gdbserver/linux-nios2-low.c | 13 +- gdb/gdbserver/linux-ppc-low.c | 36 +- gdb/gdbserver/linux-s390-low.c | 96 +- gdb/gdbserver/linux-sh-low.c | 2 +- gdb/gdbserver/linux-sparc-low.c | 2 +- gdb/gdbserver/linux-tic6x-low.c | 2 +- gdb/gdbserver/linux-tile-low.c | 2 +- gdb/gdbserver/linux-x86-low.c | 230 +- gdb/gdbserver/linux-xtensa-low.c | 14 +- gdb/gdbserver/lynx-i386-low.c | 2 +- gdb/gdbserver/lynx-low.c | 25 +- gdb/gdbserver/lynx-low.h | 2 +- gdb/gdbserver/lynx-ppc-low.c | 2 +- gdb/gdbserver/mem-break.c | 141 +- gdb/gdbserver/mem-break.h | 18 +- gdb/gdbserver/notif.c | 4 +- gdb/gdbserver/notif.h | 2 +- gdb/gdbserver/nto-low.c | 10 +- gdb/gdbserver/nto-low.h | 2 +- gdb/gdbserver/nto-x86-low.c | 2 +- gdb/gdbserver/proc-service.c | 6 +- gdb/gdbserver/proc-service.list | 2 +- gdb/gdbserver/regcache.c | 2 +- gdb/gdbserver/regcache.h | 2 +- gdb/gdbserver/remote-utils.c | 61 +- gdb/gdbserver/remote-utils.h | 2 +- gdb/gdbserver/server.c | 412 +- gdb/gdbserver/server.h | 15 +- gdb/gdbserver/spu-low.c | 7 +- gdb/gdbserver/symbol.c | 2 +- gdb/gdbserver/target.c | 2 +- gdb/gdbserver/target.h | 110 +- gdb/gdbserver/tdesc.c | 2 +- gdb/gdbserver/tdesc.h | 2 +- gdb/gdbserver/terminal.h | 2 +- gdb/gdbserver/thread-db.c | 78 +- gdb/gdbserver/tracepoint.c | 268 +- gdb/gdbserver/tracepoint.h | 52 +- gdb/gdbserver/utils.c | 2 +- gdb/gdbserver/utils.h | 2 +- gdb/gdbserver/win32-arm-low.c | 2 +- gdb/gdbserver/win32-i386-low.c | 2 +- gdb/gdbserver/win32-low.c | 15 +- gdb/gdbserver/win32-low.h | 2 +- gdb/gdbserver/wincecompat.c | 2 +- gdb/gdbserver/wincecompat.h | 2 +- gdb/gdbserver/x86-low.c | 2 +- gdb/gdbserver/x86-low.h | 2 +- gdb/gdbserver/xtensa-xtregs.c | 2 +- gdb/gdbthread.h | 30 +- gdb/gdbtypes.c | 557 +- gdb/gdbtypes.h | 755 +- gdb/glibc-tdep.c | 2 +- gdb/glibc-tdep.h | 2 +- gdb/gnu-nat.c | 2 +- gdb/gnu-nat.h | 2 +- gdb/gnu-v2-abi.c | 8 +- gdb/gnu-v3-abi.c | 86 +- gdb/gnulib/Makefile.in | 3 +- gdb/gnulib/aclocal.m4 | 1 + gdb/gnulib/config.in | 10 + gdb/gnulib/configure | 125 + gdb/gnulib/configure.ac | 2 +- gdb/gnulib/import/Makefile.am | 11 +- gdb/gnulib/import/Makefile.in | 10 +- gdb/gnulib/import/m4/gnulib-cache.m4 | 3 +- gdb/gnulib/import/m4/gnulib-comp.m4 | 9 + gdb/gnulib/import/m4/strtok_r.m4 | 74 + gdb/gnulib/import/strtok_r.c | 76 + gdb/gnulib/update-gnulib.sh | 21 +- gdb/go-exp.y | 10 +- gdb/go-lang.c | 6 +- gdb/go-lang.h | 2 +- gdb/go-typeprint.c | 2 +- gdb/go-valprint.c | 2 +- gdb/go32-nat.c | 2 +- gdb/gregset.h | 2 +- gdb/guile/guile-internal.h | 15 +- gdb/guile/guile.c | 34 +- gdb/guile/guile.h | 2 +- gdb/guile/lib/gdb.scm | 4 +- gdb/guile/lib/gdb/boot.scm | 2 +- gdb/guile/lib/gdb/experimental.scm | 2 +- gdb/guile/lib/gdb/init.scm | 2 +- gdb/guile/lib/gdb/iterator.scm | 2 +- gdb/guile/lib/gdb/printing.scm | 2 +- gdb/guile/lib/gdb/support.scm | 2 +- gdb/guile/lib/gdb/types.scm | 2 +- gdb/guile/scm-arch.c | 2 +- gdb/guile/scm-auto-load.c | 2 +- gdb/guile/scm-block.c | 11 +- gdb/guile/scm-breakpoint.c | 81 +- gdb/guile/scm-cmd.c | 18 +- gdb/guile/scm-disasm.c | 11 +- gdb/guile/scm-exception.c | 2 +- gdb/guile/scm-frame.c | 239 +- gdb/guile/scm-gsmob.c | 2 +- gdb/guile/scm-iterator.c | 2 +- gdb/guile/scm-lazy-string.c | 17 +- gdb/guile/scm-math.c | 40 +- gdb/guile/scm-objfile.c | 47 +- gdb/guile/scm-param.c | 21 +- gdb/guile/scm-ports.c | 187 +- gdb/guile/scm-pretty-print.c | 9 +- gdb/guile/scm-progspace.c | 2 +- gdb/guile/scm-safe-call.c | 6 +- gdb/guile/scm-string.c | 2 +- gdb/guile/scm-symbol.c | 70 +- gdb/guile/scm-symtab.c | 11 +- gdb/guile/scm-type.c | 115 +- gdb/guile/scm-utils.c | 14 +- gdb/guile/scm-value.c | 248 +- gdb/h8300-tdep.c | 2 +- gdb/hppa-hpux-nat.c | 273 - gdb/hppa-hpux-tdep.c | 1570 -- gdb/hppa-linux-nat.c | 2 +- gdb/hppa-linux-offsets.h | 2 +- gdb/hppa-linux-tdep.c | 16 +- gdb/hppa-tdep.c | 166 +- gdb/hppa-tdep.h | 37 +- gdb/hppabsd-nat.c | 264 - gdb/hppabsd-tdep.c | 2 +- gdb/hppabsd-tdep.h | 2 +- gdb/hppanbsd-nat.c | 2 +- gdb/hppanbsd-tdep.c | 2 +- gdb/hppaobsd-nat.c | 265 + gdb/hppaobsd-tdep.c | 6 +- gdb/i386-cygwin-tdep.c | 4 +- gdb/i386-darwin-nat.c | 2 +- gdb/i386-darwin-tdep.c | 2 +- gdb/i386-darwin-tdep.h | 2 +- gdb/i386-dicos-tdep.c | 2 +- gdb/i386-linux-nat.c | 7 +- gdb/i386-linux-nat.h | 2 +- gdb/i386-linux-tdep.c | 7 +- gdb/i386-linux-tdep.h | 2 +- gdb/i386-nto-tdep.c | 2 +- gdb/i386-sol2-nat.c | 2 +- gdb/i386-sol2-tdep.c | 5 +- gdb/i386-tdep.c | 72 +- gdb/i386-tdep.h | 5 +- gdb/i386-windows-nat.c | 2 +- gdb/i386bsd-nat.c | 53 +- gdb/i386bsd-nat.h | 5 +- gdb/i386bsd-tdep.c | 2 +- gdb/i386fbsd-nat.c | 72 +- gdb/i386fbsd-tdep.c | 268 +- gdb/i386fbsd-tdep.h | 31 + gdb/i386gnu-nat.c | 2 +- gdb/i386gnu-tdep.c | 2 +- gdb/i386nbsd-nat.c | 2 +- gdb/i386nbsd-tdep.c | 2 +- gdb/i386obsd-nat.c | 2 +- gdb/i386obsd-tdep.c | 8 +- gdb/i386v4-nat.c | 2 +- gdb/i387-tdep.c | 2 +- gdb/i387-tdep.h | 2 +- gdb/ia64-hpux-nat.c | 756 - gdb/ia64-hpux-tdep.c | 434 - gdb/ia64-hpux-tdep.h | 24 - gdb/ia64-libunwind-tdep.c | 2 +- gdb/ia64-libunwind-tdep.h | 2 +- gdb/ia64-linux-nat.c | 2 +- gdb/ia64-linux-tdep.c | 2 +- gdb/ia64-tdep.c | 32 +- gdb/ia64-tdep.h | 2 +- gdb/ia64-vms-tdep.c | 2 +- gdb/inf-child.c | 119 +- gdb/inf-child.h | 2 +- gdb/inf-loop.c | 19 +- gdb/inf-loop.h | 2 +- gdb/inf-ptrace.c | 41 +- gdb/inf-ptrace.h | 2 +- gdb/inf-ttrace.c | 1224 -- gdb/inf-ttrace.h | 28 - gdb/infcall.c | 145 +- gdb/infcall.h | 16 +- gdb/infcmd.c | 217 +- gdb/inferior.c | 4 +- gdb/inferior.h | 10 +- gdb/inflow.c | 16 +- gdb/inflow.h | 2 +- gdb/infrun.c | 621 +- gdb/infrun.h | 21 +- gdb/inline-frame.c | 7 +- gdb/inline-frame.h | 2 +- gdb/interps.c | 3 +- gdb/interps.h | 2 +- gdb/iq2000-tdep.c | 4 +- gdb/jit-reader.in | 2 +- gdb/jit.c | 35 +- gdb/jit.h | 2 +- gdb/jv-exp.y | 26 +- gdb/jv-lang.c | 2 +- gdb/jv-lang.h | 2 +- gdb/jv-typeprint.c | 6 +- gdb/jv-valprint.c | 2 +- gdb/jv-varobj.c | 17 +- gdb/language.c | 2 +- gdb/language.h | 2 +- gdb/libiberty.m4 | 31 + gdb/libmcheck.m4 | 2 +- gdb/linespec.c | 94 +- gdb/linespec.h | 6 +- gdb/linux-fork.c | 2 +- gdb/linux-fork.h | 2 +- gdb/linux-nat.c | 1487 +- gdb/linux-nat.h | 43 +- gdb/linux-record.c | 2 +- gdb/linux-record.h | 2 +- gdb/linux-tdep.c | 499 +- gdb/linux-tdep.h | 7 +- gdb/linux-thread-db.c | 427 +- gdb/lm32-tdep.c | 2 +- gdb/m2-exp.y | 2 +- gdb/m2-lang.c | 2 +- gdb/m2-lang.h | 2 +- gdb/m2-typeprint.c | 12 +- gdb/m2-valprint.c | 2 +- gdb/m32c-tdep.c | 37 +- gdb/m32r-linux-nat.c | 2 +- gdb/m32r-linux-tdep.c | 2 +- gdb/m32r-rom.c | 4 +- gdb/m32r-tdep.c | 2 +- gdb/m32r-tdep.h | 2 +- gdb/m68hc11-tdep.c | 2 +- gdb/m68k-tdep.c | 2 +- gdb/m68k-tdep.h | 2 +- gdb/m68kbsd-nat.c | 2 +- gdb/m68kbsd-tdep.c | 6 +- gdb/m68klinux-nat.c | 2 +- gdb/m68klinux-tdep.c | 2 +- gdb/m88k-tdep.c | 2 +- gdb/m88k-tdep.h | 2 +- gdb/m88kbsd-nat.c | 2 +- gdb/machoread.c | 6 +- gdb/macrocmd.c | 6 +- gdb/macroexp.c | 2 +- gdb/macroexp.h | 2 +- gdb/macroscope.c | 2 +- gdb/macroscope.h | 2 +- gdb/macrotab.c | 16 +- gdb/macrotab.h | 2 +- gdb/main.c | 117 +- gdb/main.h | 2 +- gdb/maint.c | 58 +- gdb/maint.h | 2 +- gdb/make-target-delegates | 2 +- gdb/mdebugread.c | 56 +- gdb/mdebugread.h | 2 +- gdb/mem-break.c | 13 +- gdb/memattr.c | 26 +- gdb/memattr.h | 2 +- gdb/memory-map.c | 2 +- gdb/memory-map.h | 2 +- gdb/memrange.c | 2 +- gdb/memrange.h | 2 +- gdb/mep-tdep.c | 2 +- gdb/mi/mi-cmd-break.c | 2 +- gdb/mi/mi-cmd-break.h | 2 +- gdb/mi/mi-cmd-catch.c | 2 +- gdb/mi/mi-cmd-disas.c | 2 +- gdb/mi/mi-cmd-env.c | 2 +- gdb/mi/mi-cmd-file.c | 2 +- gdb/mi/mi-cmd-info.c | 2 +- gdb/mi/mi-cmd-stack.c | 50 +- gdb/mi/mi-cmd-target.c | 2 +- gdb/mi/mi-cmd-var.c | 42 +- gdb/mi/mi-cmds.c | 2 +- gdb/mi/mi-cmds.h | 2 +- gdb/mi/mi-common.c | 2 +- gdb/mi/mi-common.h | 2 +- gdb/mi/mi-console.c | 2 +- gdb/mi/mi-console.h | 2 +- gdb/mi/mi-getopt.c | 2 +- gdb/mi/mi-getopt.h | 2 +- gdb/mi/mi-interp.c | 26 +- gdb/mi/mi-main.c | 19 +- gdb/mi/mi-main.h | 2 +- gdb/mi/mi-out.c | 2 +- gdb/mi/mi-out.h | 2 +- gdb/mi/mi-parse.c | 2 +- gdb/mi/mi-parse.h | 2 +- gdb/mi/mi-symbol-cmds.c | 2 +- gdb/microblaze-linux-tdep.c | 2 +- gdb/microblaze-rom.c | 6 +- gdb/microblaze-tdep.c | 2 +- gdb/microblaze-tdep.h | 2 +- gdb/mingw-hdep.c | 46 +- gdb/minidebug.c | 25 +- gdb/minsyms.c | 24 +- gdb/minsyms.h | 2 +- gdb/mips-linux-nat.c | 2 +- gdb/mips-linux-tdep.c | 18 +- gdb/mips-linux-tdep.h | 2 +- gdb/mips-sde-tdep.c | 4 +- gdb/mips-tdep.c | 46 +- gdb/mips-tdep.h | 2 +- gdb/mips64obsd-nat.c | 2 +- gdb/mips64obsd-tdep.c | 2 +- gdb/mipsnbsd-nat.c | 2 +- gdb/mipsnbsd-tdep.c | 6 +- gdb/mipsnbsd-tdep.h | 2 +- gdb/mipsread.c | 2 +- gdb/mn10300-linux-tdep.c | 10 +- gdb/mn10300-tdep.c | 2 +- gdb/mn10300-tdep.h | 2 +- gdb/monitor.c | 3 +- gdb/monitor.h | 2 +- gdb/moxie-tdep.c | 2 +- gdb/moxie-tdep.h | 2 +- gdb/msp430-tdep.c | 5 +- gdb/mt-tdep.c | 2 +- gdb/nat/linux-btrace.c | 407 +- gdb/nat/linux-btrace.h | 67 +- gdb/nat/linux-nat.h | 57 +- gdb/nat/linux-osdata.c | 126 +- gdb/nat/linux-osdata.h | 2 +- gdb/nat/linux-personality.c | 94 + gdb/nat/linux-personality.h | 31 + gdb/nat/linux-procfs.c | 198 +- gdb/nat/linux-procfs.h | 45 +- gdb/nat/linux-ptrace.c | 147 +- gdb/nat/linux-ptrace.h | 64 +- gdb/nat/linux-waitpid.c | 2 +- gdb/nat/linux-waitpid.h | 2 +- gdb/nat/mips-linux-watch.c | 2 +- gdb/nat/mips-linux-watch.h | 2 +- gdb/nat/ppc-linux.c | 75 + gdb/nat/ppc-linux.h | 91 + gdb/nat/x86-cpuid.h | 2 +- gdb/nat/x86-dregs.c | 6 +- gdb/nat/x86-dregs.h | 10 +- gdb/nat/x86-gcc-cpuid.h | 2 +- gdb/nat/x86-linux-dregs.c | 183 + gdb/nat/x86-linux-dregs.h | 53 + gdb/nat/x86-linux.c | 74 + gdb/nat/x86-linux.h | 46 + gdb/nbsd-nat.c | 2 +- gdb/nbsd-nat.h | 2 +- gdb/nbsd-tdep.c | 4 +- gdb/nbsd-tdep.h | 2 +- gdb/nios2-linux-tdep.c | 25 +- gdb/nios2-tdep.c | 22 +- gdb/nios2-tdep.h | 2 +- gdb/nto-procfs.c | 18 +- gdb/nto-tdep.c | 14 +- gdb/nto-tdep.h | 2 +- gdb/objc-lang.c | 70 +- gdb/objc-lang.h | 2 +- gdb/objfiles.c | 18 +- gdb/objfiles.h | 11 +- gdb/obsd-nat.c | 2 +- gdb/obsd-nat.h | 2 +- gdb/obsd-tdep.c | 2 +- gdb/obsd-tdep.h | 2 +- gdb/observer.c | 2 +- gdb/observer.sh | 2 +- gdb/opencl-lang.c | 2 +- gdb/osabi.c | 2 +- gdb/osabi.h | 2 +- gdb/osdata.c | 2 +- gdb/osdata.h | 2 +- gdb/p-exp.y | 24 +- gdb/p-lang.c | 2 +- gdb/p-lang.h | 2 +- gdb/p-typeprint.c | 14 +- gdb/p-valprint.c | 26 +- gdb/parse.c | 51 +- gdb/parser-defs.h | 4 +- gdb/posix-hdep.c | 22 +- gdb/ppc-linux-nat.c | 56 +- gdb/ppc-linux-tdep.c | 543 +- gdb/ppc-linux-tdep.h | 2 +- gdb/ppc-ravenscar-thread.c | 2 +- gdb/ppc-ravenscar-thread.h | 2 +- gdb/ppc-sysv-tdep.c | 2 +- gdb/ppc-tdep.h | 7 +- gdb/ppc64-tdep.c | 97 +- gdb/ppc64-tdep.h | 2 +- gdb/ppcbug-rom.c | 2 +- gdb/ppcfbsd-nat.c | 6 +- gdb/ppcfbsd-tdep.c | 2 +- gdb/ppcfbsd-tdep.h | 2 +- gdb/ppcnbsd-nat.c | 2 +- gdb/ppcnbsd-tdep.c | 6 +- gdb/ppcnbsd-tdep.h | 2 +- gdb/ppcobsd-nat.c | 2 +- gdb/ppcobsd-tdep.c | 2 +- gdb/ppcobsd-tdep.h | 2 +- gdb/printcmd.c | 165 +- gdb/probe.c | 340 +- gdb/probe.h | 20 +- gdb/proc-api.c | 2 +- gdb/proc-events.c | 2 +- gdb/proc-flags.c | 2 +- gdb/proc-service.c | 2 +- gdb/proc-service.list | 2 +- gdb/proc-utils.h | 2 +- gdb/proc-why.c | 2 +- gdb/procfs.c | 2 +- gdb/procfs.h | 2 +- gdb/progspace.c | 2 +- gdb/progspace.h | 2 +- gdb/prologue-value.c | 2 +- gdb/prologue-value.h | 43 +- gdb/psympriv.h | 2 +- gdb/psymtab.c | 37 +- gdb/psymtab.h | 2 +- gdb/python/lib/gdb/FrameDecorator.py | 2 +- gdb/python/lib/gdb/FrameIterator.py | 2 +- gdb/python/lib/gdb/__init__.py | 40 +- gdb/python/lib/gdb/command/__init__.py | 2 +- gdb/python/lib/gdb/command/explore.py | 2 +- gdb/python/lib/gdb/command/frame_filters.py | 2 +- gdb/python/lib/gdb/command/pretty_printers.py | 2 +- gdb/python/lib/gdb/command/prompt.py | 2 +- gdb/python/lib/gdb/command/type_printers.py | 2 +- gdb/python/lib/gdb/command/unwinders.py | 198 + gdb/python/lib/gdb/command/xmethods.py | 6 +- gdb/python/lib/gdb/frames.py | 2 +- gdb/python/lib/gdb/function/__init__.py | 2 +- gdb/python/lib/gdb/function/caller_is.py | 2 +- gdb/python/lib/gdb/function/strfns.py | 2 +- gdb/python/lib/gdb/printer/__init__.py | 2 +- gdb/python/lib/gdb/printer/bound_registers.py | 2 +- gdb/python/lib/gdb/printing.py | 14 +- gdb/python/lib/gdb/prompt.py | 2 +- gdb/python/lib/gdb/types.py | 2 +- gdb/python/lib/gdb/unwinder.py | 94 + gdb/python/lib/gdb/xmethod.py | 22 +- gdb/python/py-arch.c | 12 +- gdb/python/py-auto-load.c | 2 +- gdb/python/py-block.c | 15 +- gdb/python/py-bpevent.c | 7 +- gdb/python/py-breakpoint.c | 62 +- gdb/python/py-cmd.c | 134 +- gdb/python/py-continueevent.c | 7 +- gdb/python/py-event.c | 2 +- gdb/python/py-event.h | 7 +- gdb/python/py-events.h | 2 +- gdb/python/py-evtregistry.c | 6 +- gdb/python/py-evts.c | 2 +- gdb/python/py-exitedevent.c | 7 +- gdb/python/py-finishbreakpoint.c | 58 +- gdb/python/py-frame.c | 164 +- gdb/python/py-framefilter.c | 479 +- gdb/python/py-function.c | 6 +- gdb/python/py-gdb-readline.c | 21 +- gdb/python/py-inferior.c | 49 +- gdb/python/py-infevents.c | 22 +- gdb/python/py-infthread.c | 15 +- gdb/python/py-lazy-string.c | 15 +- gdb/python/py-linetable.c | 23 +- gdb/python/py-newobjfileevent.c | 12 +- gdb/python/py-objfile.c | 106 +- gdb/python/py-param.c | 13 +- gdb/python/py-prettyprint.c | 32 +- gdb/python/py-progspace.c | 59 +- gdb/python/py-signalevent.c | 7 +- gdb/python/py-stopevent.c | 5 +- gdb/python/py-stopevent.h | 2 +- gdb/python/py-symbol.c | 69 +- gdb/python/py-symtab.c | 10 +- gdb/python/py-threadevent.c | 5 +- gdb/python/py-type.c | 187 +- gdb/python/py-unwind.c | 790 + gdb/python/py-utils.c | 11 +- gdb/python/py-value.c | 291 +- gdb/python/py-varobj.c | 2 +- gdb/python/py-xmethods.c | 109 +- gdb/python/python-internal.h | 17 +- gdb/python/python.c | 135 +- gdb/python/python.h | 2 +- gdb/ravenscar-thread.c | 2 +- gdb/ravenscar-thread.h | 2 +- gdb/record-btrace.c | 582 +- gdb/record-full.c | 134 +- gdb/record-full.h | 2 +- gdb/record.c | 21 +- gdb/record.h | 15 +- gdb/regcache.c | 14 +- gdb/regcache.h | 11 +- gdb/regformats/regdat.sh | 2 +- gdb/regformats/regdef.h | 2 +- gdb/regformats/s390-tevx-linux64.dat | 127 + gdb/regformats/s390-vx-linux64.dat | 107 + gdb/regformats/s390x-tevx-linux64.dat | 111 + gdb/regformats/s390x-vx-linux64.dat | 91 + gdb/reggroups.c | 2 +- gdb/reggroups.h | 2 +- gdb/registry.c | 2 +- gdb/registry.h | 2 +- gdb/regset.h | 9 +- gdb/remote-fileio.c | 242 +- gdb/remote-fileio.h | 8 +- gdb/remote-m32r-sdi.c | 11 +- gdb/remote-mips.c | 6 +- gdb/remote-notif.c | 4 +- gdb/remote-notif.h | 2 +- gdb/remote-sim.c | 2 +- gdb/remote.c | 1259 +- gdb/remote.h | 13 +- gdb/reply_mig_hack.awk | 35 +- gdb/reverse.c | 8 +- gdb/rl78-tdep.c | 86 +- gdb/rs6000-aix-tdep.c | 9 +- gdb/rs6000-aix-tdep.h | 2 +- gdb/rs6000-lynx178-tdep.c | 2 +- gdb/rs6000-nat.c | 2 +- gdb/rs6000-tdep.c | 1812 ++- gdb/rs6000-tdep.h | 2 +- gdb/rx-tdep.c | 2 +- gdb/s390-linux-nat.c | 163 +- gdb/s390-linux-tdep.c | 1011 +- gdb/s390-linux-tdep.h | 47 +- gdb/score-tdep.c | 2 +- gdb/score-tdep.h | 2 +- gdb/sentinel-frame.c | 2 +- gdb/sentinel-frame.h | 2 +- gdb/ser-base.c | 10 +- gdb/ser-base.h | 5 +- gdb/ser-go32.c | 3 +- gdb/ser-mingw.c | 42 +- gdb/ser-pipe.c | 3 +- gdb/ser-tcp.c | 7 +- gdb/ser-tcp.h | 2 +- gdb/ser-unix.c | 53 +- gdb/ser-unix.h | 2 +- gdb/serial.c | 46 +- gdb/serial.h | 13 +- gdb/sh-linux-tdep.c | 2 +- gdb/sh-tdep.c | 2 +- gdb/sh-tdep.h | 2 +- gdb/sh64-tdep.c | 2 +- gdb/sh64-tdep.h | 2 +- gdb/shnbsd-nat.c | 2 +- gdb/shnbsd-tdep.c | 2 +- gdb/sim-regno.h | 2 +- gdb/skip.c | 2 +- gdb/skip.h | 2 +- gdb/sol-thread.c | 2 +- gdb/sol2-tdep.c | 2 +- gdb/sol2-tdep.h | 2 +- gdb/solib-aix.c | 2 +- gdb/solib-aix.h | 2 +- gdb/solib-darwin.c | 22 +- gdb/solib-darwin.h | 2 +- gdb/solib-dsbt.c | 10 +- gdb/solib-frv.c | 10 +- gdb/solib-ia64-hpux.c | 701 - gdb/solib-ia64-hpux.h | 25 - gdb/solib-pa64.c | 654 - gdb/solib-pa64.h | 25 - gdb/solib-som.c | 891 - gdb/solib-som.h | 35 - gdb/solib-spu.c | 33 +- gdb/solib-spu.h | 2 +- gdb/solib-svr4.c | 139 +- gdb/solib-svr4.h | 2 +- gdb/solib-target.c | 2 +- gdb/solib-target.h | 2 +- gdb/solib.c | 336 +- gdb/solib.h | 2 +- gdb/solist.h | 5 +- gdb/somread.c | 547 - gdb/source.c | 28 +- gdb/source.h | 2 +- gdb/sparc-linux-nat.c | 2 +- gdb/sparc-linux-tdep.c | 2 +- gdb/sparc-nat.c | 2 +- gdb/sparc-nat.h | 2 +- gdb/sparc-ravenscar-thread.c | 2 +- gdb/sparc-ravenscar-thread.h | 2 +- gdb/sparc-sol2-nat.c | 2 +- gdb/sparc-sol2-tdep.c | 6 +- gdb/sparc-tdep.c | 2 +- gdb/sparc-tdep.h | 2 +- gdb/sparc64-linux-nat.c | 2 +- gdb/sparc64-linux-tdep.c | 2 +- gdb/sparc64-nat.c | 2 +- gdb/sparc64-sol2-tdep.c | 2 +- gdb/sparc64-tdep.c | 2 +- gdb/sparc64-tdep.h | 2 +- gdb/sparc64fbsd-nat.c | 6 +- gdb/sparc64fbsd-tdep.c | 2 +- gdb/sparc64nbsd-nat.c | 2 +- gdb/sparc64nbsd-tdep.c | 4 +- gdb/sparc64obsd-nat.c | 2 +- gdb/sparc64obsd-tdep.c | 2 +- gdb/sparcnbsd-nat.c | 2 +- gdb/sparcnbsd-tdep.c | 4 +- gdb/sparcobsd-tdep.c | 2 +- gdb/spu-linux-nat.c | 3 +- gdb/spu-multiarch.c | 2 +- gdb/spu-tdep.c | 5 +- gdb/spu-tdep.h | 2 +- gdb/srec.h | 2 +- gdb/stabsread.c | 126 +- gdb/stabsread.h | 2 +- gdb/stack.c | 187 +- gdb/stack.h | 2 +- gdb/stap-probe.c | 127 +- gdb/stap-probe.h | 2 +- gdb/std-operator.def | 2 +- gdb/std-regs.c | 2 +- gdb/stub-termcap.c | 103 + gdb/stubs/buildvms.com | 2 +- gdb/stubs/ia64vms-stub.c | 2 +- gdb/symfile-debug.c | 13 +- gdb/symfile-mem.c | 2 +- gdb/symfile.c | 127 +- gdb/symfile.h | 40 +- gdb/symmisc.c | 4 +- gdb/symtab.c | 996 +- gdb/symtab.h | 15 +- gdb/syscalls/aarch64-linux.xml | 271 + gdb/syscalls/amd64-linux.xml | 2 +- gdb/syscalls/arm-linux.py | 2 +- gdb/syscalls/arm-linux.xml | 2 +- gdb/syscalls/bfin-linux.xml | 2 +- gdb/syscalls/gdb-syscalls.dtd | 2 +- gdb/syscalls/i386-linux.xml | 2 +- gdb/syscalls/mips-n32-linux.xml | 2 +- gdb/syscalls/mips-n64-linux.xml | 2 +- gdb/syscalls/mips-o32-linux.xml | 2 +- gdb/syscalls/ppc-linux.xml | 2 +- gdb/syscalls/ppc64-linux.xml | 2 +- gdb/syscalls/s390-linux.xml | 2 +- gdb/syscalls/s390x-linux.xml | 2 +- gdb/syscalls/sparc-linux.xml | 2 +- gdb/syscalls/sparc64-linux.xml | 2 +- gdb/system-gdbinit/elinos.py | 2 +- gdb/system-gdbinit/wrs-linux.py | 2 +- gdb/target-dcache.c | 2 +- gdb/target-dcache.h | 2 +- gdb/target-debug.h | 10 +- gdb/target-delegates.c | 261 +- gdb/target-descriptions.c | 56 +- gdb/target-descriptions.h | 2 +- gdb/target-memory.c | 2 +- gdb/target.c | 236 +- gdb/target.h | 157 +- gdb/target/resume.h | 2 +- gdb/target/target.h | 2 +- gdb/target/wait.h | 2 +- gdb/target/waitstatus.c | 2 +- gdb/target/waitstatus.h | 21 +- gdb/terminal.h | 4 +- gdb/testsuite/ChangeLog | 1329 ++- gdb/testsuite/ChangeLog-1993-2013 | 2 +- gdb/testsuite/Makefile.in | 6 +- gdb/testsuite/README | 3 +- gdb/testsuite/aclocal.m4 | 1 + gdb/testsuite/boards/cc-with-tweaks.exp | 2 +- gdb/testsuite/boards/dwarf4-gdb-index.exp | 2 +- gdb/testsuite/boards/fission-dwp.exp | 2 +- gdb/testsuite/boards/fission.exp | 2 +- gdb/testsuite/boards/gdbserver-base.exp | 2 +- gdb/testsuite/boards/local-remote-host-native.exp | 2 +- gdb/testsuite/boards/local-remote-host-notty.exp | 2 +- gdb/testsuite/boards/local-remote-host.exp | 2 +- gdb/testsuite/boards/native-extended-gdbserver.exp | 15 +- gdb/testsuite/boards/native-gdbserver.exp | 2 +- gdb/testsuite/boards/native-stdio-gdbserver.exp | 2 +- .../boards/remote-gdbserver-on-localhost.exp | 79 + gdb/testsuite/boards/remote-stdio-gdbserver.exp | 2 +- gdb/testsuite/boards/stabs.exp | 2 +- gdb/testsuite/config/cfdbug.exp | 2 +- gdb/testsuite/config/d10v.exp | 2 +- gdb/testsuite/config/default.exp | 2 +- gdb/testsuite/config/dve.exp | 2 +- gdb/testsuite/config/extended-gdbserver.exp | 2 +- gdb/testsuite/config/gdbserver.exp | 2 +- gdb/testsuite/config/i960.exp | 2 +- gdb/testsuite/config/m32r.exp | 2 +- gdb/testsuite/config/mips-idt.exp | 2 +- gdb/testsuite/config/mips.exp | 2 +- gdb/testsuite/config/mn10300-eval.exp | 2 +- gdb/testsuite/config/monitor.exp | 2 +- gdb/testsuite/config/proelf.exp | 2 +- gdb/testsuite/config/rom68k.exp | 2 +- gdb/testsuite/config/sh.exp | 2 +- gdb/testsuite/config/sid.exp | 2 +- gdb/testsuite/config/sim.exp | 2 +- gdb/testsuite/config/slite.exp | 2 +- gdb/testsuite/config/unix.exp | 2 +- gdb/testsuite/config/vr4300.exp | 2 +- gdb/testsuite/config/vr5000.exp | 2 +- gdb/testsuite/configure | 70 +- gdb/testsuite/configure.ac | 15 +- gdb/testsuite/dg-extract-results.py | 585 - gdb/testsuite/dg-extract-results.sh | 27 +- gdb/testsuite/gdb.ada/O2_float_param.exp | 2 +- gdb/testsuite/gdb.ada/O2_float_param/callee.adb | 2 +- gdb/testsuite/gdb.ada/O2_float_param/callee.ads | 2 +- gdb/testsuite/gdb.ada/O2_float_param/caller.adb | 2 +- gdb/testsuite/gdb.ada/O2_float_param/caller.ads | 2 +- gdb/testsuite/gdb.ada/O2_float_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/O2_float_param/io.adb | 2 +- gdb/testsuite/gdb.ada/O2_float_param/io.ads | 2 +- gdb/testsuite/gdb.ada/addr_arith.exp | 2 +- gdb/testsuite/gdb.ada/addr_arith/foo_na07_019.adb | 2 +- gdb/testsuite/gdb.ada/addr_arith/pck.adb | 2 +- gdb/testsuite/gdb.ada/addr_arith/pck.ads | 2 +- gdb/testsuite/gdb.ada/aliased_array.exp | 2 +- gdb/testsuite/gdb.ada/aliased_array/foo.adb | 2 +- gdb/testsuite/gdb.ada/aliased_array/pck.adb | 2 +- gdb/testsuite/gdb.ada/aliased_array/pck.ads | 2 +- gdb/testsuite/gdb.ada/arr_arr.exp | 2 +- gdb/testsuite/gdb.ada/arr_arr/foo.adb | 2 +- gdb/testsuite/gdb.ada/arr_arr/pck.adb | 2 +- gdb/testsuite/gdb.ada/arr_arr/pck.ads | 2 +- gdb/testsuite/gdb.ada/array_bounds.exp | 2 +- gdb/testsuite/gdb.ada/array_bounds/bar.adb | 2 +- gdb/testsuite/gdb.ada/array_char_idx.exp | 2 +- gdb/testsuite/gdb.ada/array_char_idx/foo.adb | 2 +- gdb/testsuite/gdb.ada/array_char_idx/pck.adb | 2 +- gdb/testsuite/gdb.ada/array_char_idx/pck.ads | 2 +- gdb/testsuite/gdb.ada/array_return.exp | 2 +- gdb/testsuite/gdb.ada/array_return/p.adb | 2 +- gdb/testsuite/gdb.ada/array_return/pck.adb | 2 +- gdb/testsuite/gdb.ada/array_return/pck.ads | 2 +- gdb/testsuite/gdb.ada/array_subscript_addr.exp | 2 +- gdb/testsuite/gdb.ada/array_subscript_addr/p.adb | 2 +- gdb/testsuite/gdb.ada/arraydim.exp | 2 +- gdb/testsuite/gdb.ada/arraydim/foo.adb | 2 +- gdb/testsuite/gdb.ada/arraydim/inc.c | 2 +- gdb/testsuite/gdb.ada/arraydim/pck.adb | 2 +- gdb/testsuite/gdb.ada/arraydim/pck.ads | 2 +- gdb/testsuite/gdb.ada/arrayidx.exp | 2 +- gdb/testsuite/gdb.ada/arrayidx/p.adb | 2 +- gdb/testsuite/gdb.ada/arrayparam.exp | 2 +- gdb/testsuite/gdb.ada/arrayparam/foo.adb | 2 +- gdb/testsuite/gdb.ada/arrayparam/pck.adb | 2 +- gdb/testsuite/gdb.ada/arrayparam/pck.ads | 2 +- gdb/testsuite/gdb.ada/arrayptr.exp | 2 +- gdb/testsuite/gdb.ada/arrayptr/foo.adb | 2 +- gdb/testsuite/gdb.ada/arrayptr/pck.adb | 2 +- gdb/testsuite/gdb.ada/arrayptr/pck.ads | 2 +- gdb/testsuite/gdb.ada/assign_1.exp | 2 +- gdb/testsuite/gdb.ada/atomic_enum.exp | 2 +- gdb/testsuite/gdb.ada/atomic_enum/foo.adb | 2 +- gdb/testsuite/gdb.ada/atomic_enum/pck.adb | 2 +- gdb/testsuite/gdb.ada/atomic_enum/pck.ads | 2 +- gdb/testsuite/gdb.ada/bad-task-bp-keyword.exp | 2 +- gdb/testsuite/gdb.ada/bad-task-bp-keyword/foo.adb | 2 +- gdb/testsuite/gdb.ada/boolean_expr.exp | 2 +- gdb/testsuite/gdb.ada/bp_enum_homonym.exp | 2 +- gdb/testsuite/gdb.ada/bp_enum_homonym/p.adb | 2 +- gdb/testsuite/gdb.ada/bp_enum_homonym/pck.adb | 2 +- gdb/testsuite/gdb.ada/bp_enum_homonym/pck.ads | 2 +- gdb/testsuite/gdb.ada/bp_on_var.exp | 2 +- gdb/testsuite/gdb.ada/bp_on_var/foo.adb | 2 +- gdb/testsuite/gdb.ada/bp_on_var/pck.adb | 2 +- gdb/testsuite/gdb.ada/bp_on_var/pck.ads | 2 +- gdb/testsuite/gdb.ada/bp_range_type.exp | 2 +- gdb/testsuite/gdb.ada/bp_range_type/foo.adb | 2 +- gdb/testsuite/gdb.ada/bp_range_type/pck.adb | 2 +- gdb/testsuite/gdb.ada/bp_range_type/pck.ads | 2 +- gdb/testsuite/gdb.ada/bp_reset.exp | 2 +- gdb/testsuite/gdb.ada/bp_reset/foo.adb | 2 +- gdb/testsuite/gdb.ada/bp_reset/io.adb | 2 +- gdb/testsuite/gdb.ada/bp_reset/io.ads | 2 +- gdb/testsuite/gdb.ada/bp_reset/pck.adb | 2 +- gdb/testsuite/gdb.ada/bp_reset/pck.ads | 2 +- gdb/testsuite/gdb.ada/byte_packed_arr.exp | 32 + .../gdb.ada/byte_packed_arr/array_list_g.ads | 27 + gdb/testsuite/gdb.ada/byte_packed_arr/reprod.adb | 22 + gdb/testsuite/gdb.ada/byte_packed_arr/reprod.ads | 35 + .../gdb.ada/byte_packed_arr/reprod_main.adb | 23 + gdb/testsuite/gdb.ada/call_pn.exp | 2 +- gdb/testsuite/gdb.ada/call_pn/foo.adb | 2 +- gdb/testsuite/gdb.ada/call_pn/pck.adb | 2 +- gdb/testsuite/gdb.ada/call_pn/pck.ads | 2 +- gdb/testsuite/gdb.ada/catch_ex.exp | 2 +- gdb/testsuite/gdb.ada/catch_ex/foo.adb | 2 +- gdb/testsuite/gdb.ada/char_enum.exp | 2 +- gdb/testsuite/gdb.ada/char_enum/foo.adb | 2 +- gdb/testsuite/gdb.ada/char_enum/pck.adb | 2 +- gdb/testsuite/gdb.ada/char_enum/pck.ads | 2 +- gdb/testsuite/gdb.ada/char_param.exp | 2 +- gdb/testsuite/gdb.ada/char_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/char_param/pck.adb | 2 +- gdb/testsuite/gdb.ada/char_param/pck.ads | 2 +- gdb/testsuite/gdb.ada/complete.exp | 12 +- gdb/testsuite/gdb.ada/complete/foo.adb | 2 +- gdb/testsuite/gdb.ada/complete/pck.adb | 2 +- gdb/testsuite/gdb.ada/complete/pck.ads | 2 +- gdb/testsuite/gdb.ada/cond_lang.exp | 2 +- gdb/testsuite/gdb.ada/cond_lang/a.adb | 2 +- gdb/testsuite/gdb.ada/cond_lang/foo.c | 2 +- gdb/testsuite/gdb.ada/cond_lang/mixed.adb | 2 +- gdb/testsuite/gdb.ada/cond_lang/mixed.ads | 2 +- gdb/testsuite/gdb.ada/cond_lang/pck.adb | 2 +- gdb/testsuite/gdb.ada/cond_lang/pck.ads | 2 +- gdb/testsuite/gdb.ada/disc_arr_bound.exp | 36 + .../gdb.ada/disc_arr_bound/foo_n612_026.adb | 22 + gdb/testsuite/gdb.ada/disc_arr_bound/pck.adb | 32 + gdb/testsuite/gdb.ada/disc_arr_bound/pck.ads | 29 + gdb/testsuite/gdb.ada/dot_all.exp | 2 +- gdb/testsuite/gdb.ada/dot_all/foo.adb | 2 +- gdb/testsuite/gdb.ada/dot_all/pck.adb | 2 +- gdb/testsuite/gdb.ada/dot_all/pck.ads | 2 +- gdb/testsuite/gdb.ada/dyn_arrayidx.exp | 4 +- gdb/testsuite/gdb.ada/dyn_arrayidx/foo.adb | 2 +- gdb/testsuite/gdb.ada/dyn_loc.exp | 2 +- gdb/testsuite/gdb.ada/dyn_loc/p.adb | 2 +- gdb/testsuite/gdb.ada/dyn_loc/pack.adb | 2 +- gdb/testsuite/gdb.ada/dyn_loc/pack.ads | 2 +- gdb/testsuite/gdb.ada/enum_idx_packed.exp | 2 +- gdb/testsuite/gdb.ada/enum_idx_packed/foo.adb | 2 +- gdb/testsuite/gdb.ada/enum_idx_packed/pck.adb | 2 +- gdb/testsuite/gdb.ada/enum_idx_packed/pck.ads | 2 +- gdb/testsuite/gdb.ada/exec_changed.exp | 29 +- gdb/testsuite/gdb.ada/exec_changed/first.adb | 10 +- gdb/testsuite/gdb.ada/exec_changed/second.adb | 10 +- gdb/testsuite/gdb.ada/expr_delims.exp | 2 +- gdb/testsuite/gdb.ada/expr_delims/foo.adb | 2 +- gdb/testsuite/gdb.ada/expr_delims/pck.adb | 2 +- gdb/testsuite/gdb.ada/expr_delims/pck.ads | 2 +- gdb/testsuite/gdb.ada/exprs.exp | 2 +- gdb/testsuite/gdb.ada/exprs/p.adb | 2 +- gdb/testsuite/gdb.ada/fixed_cmp.exp | 2 +- gdb/testsuite/gdb.ada/fixed_cmp/fixed.adb | 2 +- gdb/testsuite/gdb.ada/fixed_cmp/pck.adb | 2 +- gdb/testsuite/gdb.ada/fixed_cmp/pck.ads | 2 +- gdb/testsuite/gdb.ada/fixed_points.exp | 2 +- .../gdb.ada/fixed_points/fixed_points.adb | 2 +- gdb/testsuite/gdb.ada/float_param.exp | 2 +- gdb/testsuite/gdb.ada/float_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/float_param/pck.adb | 2 +- gdb/testsuite/gdb.ada/float_param/pck.ads | 2 +- gdb/testsuite/gdb.ada/formatted_ref.exp | 2 +- gdb/testsuite/gdb.ada/formatted_ref/defs.adb | 2 +- gdb/testsuite/gdb.ada/formatted_ref/defs.ads | 2 +- .../gdb.ada/formatted_ref/formatted_ref.adb | 2 +- gdb/testsuite/gdb.ada/frame_args.exp | 2 +- gdb/testsuite/gdb.ada/frame_args/foo.adb | 2 +- gdb/testsuite/gdb.ada/frame_args/pck.adb | 2 +- gdb/testsuite/gdb.ada/frame_args/pck.ads | 2 +- gdb/testsuite/gdb.ada/fullname_bp.exp | 2 +- gdb/testsuite/gdb.ada/fullname_bp/dn.adb | 2 +- gdb/testsuite/gdb.ada/fullname_bp/dn.ads | 2 +- gdb/testsuite/gdb.ada/fullname_bp/foo.adb | 2 +- gdb/testsuite/gdb.ada/fullname_bp/pck.adb | 2 +- gdb/testsuite/gdb.ada/fullname_bp/pck.ads | 2 +- gdb/testsuite/gdb.ada/fun_addr.exp | 2 +- gdb/testsuite/gdb.ada/fun_addr/foo.adb | 2 +- gdb/testsuite/gdb.ada/fun_in_declare.exp | 2 +- gdb/testsuite/gdb.ada/fun_in_declare/foo.adb | 2 +- gdb/testsuite/gdb.ada/fun_in_declare/pck.adb | 2 +- gdb/testsuite/gdb.ada/fun_in_declare/pck.ads | 2 +- gdb/testsuite/gdb.ada/funcall_param.exp | 2 +- gdb/testsuite/gdb.ada/funcall_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/funcall_param/pck.adb | 2 +- gdb/testsuite/gdb.ada/funcall_param/pck.ads | 2 +- gdb/testsuite/gdb.ada/funcall_ref.exp | 44 + gdb/testsuite/gdb.ada/funcall_ref/foo.adb | 34 + gdb/testsuite/gdb.ada/gnat_ada.gpr | 2 +- gdb/testsuite/gdb.ada/homonym.exp | 2 +- gdb/testsuite/gdb.ada/homonym/homonym.adb | 2 +- gdb/testsuite/gdb.ada/homonym/homonym.ads | 2 +- gdb/testsuite/gdb.ada/homonym/homonym_main.adb | 2 +- gdb/testsuite/gdb.ada/homonym/pck.adb | 2 +- gdb/testsuite/gdb.ada/homonym/pck.ads | 2 +- gdb/testsuite/gdb.ada/info_exc.exp | 13 +- gdb/testsuite/gdb.ada/info_exc/const.ads | 2 +- gdb/testsuite/gdb.ada/info_exc/foo.adb | 2 +- gdb/testsuite/gdb.ada/info_locals_renaming.exp | 2 +- gdb/testsuite/gdb.ada/info_locals_renaming/foo.adb | 2 +- gdb/testsuite/gdb.ada/info_locals_renaming/pck.adb | 2 +- gdb/testsuite/gdb.ada/info_locals_renaming/pck.ads | 2 +- gdb/testsuite/gdb.ada/info_types.c | 2 +- gdb/testsuite/gdb.ada/info_types.exp | 2 +- gdb/testsuite/gdb.ada/int_deref.exp | 2 +- gdb/testsuite/gdb.ada/int_deref/foo.adb | 2 +- gdb/testsuite/gdb.ada/int_deref/pck.ads | 2 +- gdb/testsuite/gdb.ada/interface.exp | 2 +- gdb/testsuite/gdb.ada/interface/foo.adb | 2 +- gdb/testsuite/gdb.ada/interface/types.adb | 2 +- gdb/testsuite/gdb.ada/interface/types.ads | 2 +- gdb/testsuite/gdb.ada/iwide.exp | 2 +- gdb/testsuite/gdb.ada/iwide/classes.adb | 2 +- gdb/testsuite/gdb.ada/iwide/classes.ads | 2 +- gdb/testsuite/gdb.ada/iwide/p.adb | 2 +- gdb/testsuite/gdb.ada/lang_switch.exp | 2 +- gdb/testsuite/gdb.ada/lang_switch/foo.c | 2 +- gdb/testsuite/gdb.ada/lang_switch/lang_switch.adb | 2 +- gdb/testsuite/gdb.ada/mi_catch_ex.exp | 2 +- gdb/testsuite/gdb.ada/mi_catch_ex/foo.adb | 2 +- gdb/testsuite/gdb.ada/mi_dyn_arr.exp | 2 +- gdb/testsuite/gdb.ada/mi_dyn_arr/foo.adb | 2 +- gdb/testsuite/gdb.ada/mi_dyn_arr/pck.adb | 2 +- gdb/testsuite/gdb.ada/mi_dyn_arr/pck.ads | 2 +- gdb/testsuite/gdb.ada/mi_ex_cond.exp | 2 +- gdb/testsuite/gdb.ada/mi_ex_cond/foo.adb | 2 +- gdb/testsuite/gdb.ada/mi_ex_cond/pck.ads | 2 +- gdb/testsuite/gdb.ada/mi_exc_info.exp | 2 +- gdb/testsuite/gdb.ada/mi_exc_info/const.ads | 2 +- gdb/testsuite/gdb.ada/mi_exc_info/foo.adb | 2 +- gdb/testsuite/gdb.ada/mi_interface.exp | 2 +- gdb/testsuite/gdb.ada/mi_interface/foo.adb | 2 +- gdb/testsuite/gdb.ada/mi_interface/pck.adb | 2 +- gdb/testsuite/gdb.ada/mi_interface/pck.ads | 2 +- gdb/testsuite/gdb.ada/mi_task_arg.exp | 2 +- gdb/testsuite/gdb.ada/mi_task_arg/task_switch.adb | 2 +- gdb/testsuite/gdb.ada/mi_task_info.exp | 2 +- gdb/testsuite/gdb.ada/mi_task_info/task_switch.adb | 2 +- gdb/testsuite/gdb.ada/mi_var_array.exp | 52 + gdb/testsuite/gdb.ada/mi_var_array/bar.adb | 29 + gdb/testsuite/gdb.ada/mi_var_array/pck.adb | 21 + gdb/testsuite/gdb.ada/mi_var_array/pck.ads | 19 + gdb/testsuite/gdb.ada/mod_from_name.exp | 2 +- gdb/testsuite/gdb.ada/mod_from_name/foo.adb | 2 +- gdb/testsuite/gdb.ada/n_arr_bound.exp | 2 +- gdb/testsuite/gdb.ada/n_arr_bound/foo.adb | 2 +- gdb/testsuite/gdb.ada/n_arr_bound/pck.adb | 2 +- gdb/testsuite/gdb.ada/n_arr_bound/pck.ads | 2 +- gdb/testsuite/gdb.ada/nested.exp | 2 +- gdb/testsuite/gdb.ada/nested/hello.adb | 2 +- gdb/testsuite/gdb.ada/null_array.exp | 2 +- gdb/testsuite/gdb.ada/null_array/foo.adb | 2 +- gdb/testsuite/gdb.ada/null_array/pck.adb | 2 +- gdb/testsuite/gdb.ada/null_array/pck.ads | 2 +- gdb/testsuite/gdb.ada/null_record.exp | 2 +- gdb/testsuite/gdb.ada/null_record/bar.adb | 2 +- gdb/testsuite/gdb.ada/null_record/bar.ads | 2 +- gdb/testsuite/gdb.ada/null_record/null_record.adb | 2 +- gdb/testsuite/gdb.ada/operator_bp.exp | 2 +- gdb/testsuite/gdb.ada/operator_bp/ops.adb | 2 +- gdb/testsuite/gdb.ada/operator_bp/ops.ads | 2 +- gdb/testsuite/gdb.ada/operator_bp/ops_test.adb | 2 +- gdb/testsuite/gdb.ada/optim_drec.exp | 2 +- gdb/testsuite/gdb.ada/optim_drec/foo.adb | 2 +- gdb/testsuite/gdb.ada/out_of_line_in_inlined.exp | 43 + .../gdb.ada/out_of_line_in_inlined/bar.adb | 28 + .../gdb.ada/out_of_line_in_inlined/bar.ads | 27 + .../out_of_line_in_inlined/foo_o224_021.adb | 44 + gdb/testsuite/gdb.ada/packed_array.exp | 2 +- gdb/testsuite/gdb.ada/packed_array/pa.adb | 2 +- gdb/testsuite/gdb.ada/packed_array/pck.adb | 2 +- gdb/testsuite/gdb.ada/packed_array/pck.ads | 2 +- gdb/testsuite/gdb.ada/packed_tagged.exp | 13 +- gdb/testsuite/gdb.ada/packed_tagged/comp_bug.adb | 2 +- gdb/testsuite/gdb.ada/pckd_arr_ren.exp | 2 +- gdb/testsuite/gdb.ada/pckd_arr_ren/foo.adb | 2 +- gdb/testsuite/gdb.ada/pckd_arr_ren/pck.adb | 2 +- gdb/testsuite/gdb.ada/pckd_arr_ren/pck.ads | 2 +- gdb/testsuite/gdb.ada/pckd_neg.exp | 44 + gdb/testsuite/gdb.ada/pckd_neg/foo_o508_021.adb | 22 + gdb/testsuite/gdb.ada/pckd_neg/pck.adb | 21 + gdb/testsuite/gdb.ada/pckd_neg/pck.ads | 22 + gdb/testsuite/gdb.ada/pkd_arr_elem.exp | 2 +- gdb/testsuite/gdb.ada/pkd_arr_elem/failure.adb | 2 +- gdb/testsuite/gdb.ada/pkd_arr_elem/pck.adb | 2 +- gdb/testsuite/gdb.ada/pkd_arr_elem/pck.ads | 2 +- gdb/testsuite/gdb.ada/pp-rec-component.exp | 2 +- gdb/testsuite/gdb.ada/pp-rec-component.py | 2 +- gdb/testsuite/gdb.ada/pp-rec-component/foo.adb | 2 +- gdb/testsuite/gdb.ada/pp-rec-component/pck.adb | 2 +- gdb/testsuite/gdb.ada/pp-rec-component/pck.ads | 2 +- gdb/testsuite/gdb.ada/print_chars.exp | 2 +- gdb/testsuite/gdb.ada/print_chars/foo.adb | 2 +- gdb/testsuite/gdb.ada/print_chars/pck.adb | 2 +- gdb/testsuite/gdb.ada/print_chars/pck.ads | 2 +- gdb/testsuite/gdb.ada/print_pc.exp | 2 +- gdb/testsuite/gdb.ada/ptr_typedef.exp | 2 +- gdb/testsuite/gdb.ada/ptr_typedef/foo.adb | 2 +- gdb/testsuite/gdb.ada/ptr_typedef/pck.adb | 2 +- gdb/testsuite/gdb.ada/ptr_typedef/pck.ads | 2 +- gdb/testsuite/gdb.ada/ptype_arith_binop.exp | 2 +- gdb/testsuite/gdb.ada/ptype_field.exp | 13 +- gdb/testsuite/gdb.ada/ptype_field/foo.adb | 2 +- gdb/testsuite/gdb.ada/ptype_field/pck.adb | 2 +- gdb/testsuite/gdb.ada/ptype_field/pck.ads | 2 +- gdb/testsuite/gdb.ada/ptype_tagged_param.exp | 2 +- gdb/testsuite/gdb.ada/ptype_tagged_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/ptype_tagged_param/pck.adb | 2 +- gdb/testsuite/gdb.ada/ptype_tagged_param/pck.ads | 2 +- gdb/testsuite/gdb.ada/py_range.exp | 2 +- gdb/testsuite/gdb.ada/py_range/foo.adb | 2 +- gdb/testsuite/gdb.ada/py_range/pck.adb | 2 +- gdb/testsuite/gdb.ada/py_range/pck.ads | 2 +- gdb/testsuite/gdb.ada/rdv_wait.exp | 2 +- gdb/testsuite/gdb.ada/rdv_wait/foo.adb | 2 +- gdb/testsuite/gdb.ada/rdv_wait/pck.adb | 2 +- gdb/testsuite/gdb.ada/rdv_wait/pck.ads | 2 +- gdb/testsuite/gdb.ada/rec_comp.exp | 37 + gdb/testsuite/gdb.ada/rec_comp/bar_o203_012.adb | 32 + gdb/testsuite/gdb.ada/rec_comp/pck.adb | 23 + gdb/testsuite/gdb.ada/rec_comp/pck.ads | 22 + gdb/testsuite/gdb.ada/rec_return.exp | 2 +- gdb/testsuite/gdb.ada/rec_return/foo.adb | 2 +- gdb/testsuite/gdb.ada/rec_return/pck.adb | 2 +- gdb/testsuite/gdb.ada/rec_return/pck.ads | 2 +- gdb/testsuite/gdb.ada/ref_param.exp | 2 +- gdb/testsuite/gdb.ada/ref_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/ref_param/pck.adb | 2 +- gdb/testsuite/gdb.ada/ref_param/pck.ads | 2 +- gdb/testsuite/gdb.ada/ref_tick_size.exp | 2 +- gdb/testsuite/gdb.ada/ref_tick_size/p.adb | 2 +- gdb/testsuite/gdb.ada/ref_tick_size/pck.adb | 2 +- gdb/testsuite/gdb.ada/ref_tick_size/pck.ads | 2 +- gdb/testsuite/gdb.ada/same_enum.exp | 2 +- gdb/testsuite/gdb.ada/same_enum/a.adb | 2 +- gdb/testsuite/gdb.ada/same_enum/pck.adb | 2 +- gdb/testsuite/gdb.ada/same_enum/pck.ads | 2 +- gdb/testsuite/gdb.ada/set_pckd_arr_elt.exp | 2 +- gdb/testsuite/gdb.ada/set_pckd_arr_elt/foo.adb | 2 +- gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.adb | 2 +- gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.ads | 2 +- gdb/testsuite/gdb.ada/set_wstr.exp | 2 +- gdb/testsuite/gdb.ada/set_wstr/a.adb | 2 +- gdb/testsuite/gdb.ada/set_wstr/pck.adb | 2 +- gdb/testsuite/gdb.ada/set_wstr/pck.ads | 2 +- gdb/testsuite/gdb.ada/small_reg_param.exp | 2 +- gdb/testsuite/gdb.ada/small_reg_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/small_reg_param/pck.adb | 2 +- gdb/testsuite/gdb.ada/small_reg_param/pck.ads | 2 +- gdb/testsuite/gdb.ada/start.exp | 2 +- gdb/testsuite/gdb.ada/start/dummy.adb | 2 +- gdb/testsuite/gdb.ada/str_ref_cmp.exp | 2 +- gdb/testsuite/gdb.ada/str_ref_cmp/foo.adb | 2 +- gdb/testsuite/gdb.ada/str_ref_cmp/pck.ads | 2 +- gdb/testsuite/gdb.ada/str_uninit.exp | 2 +- gdb/testsuite/gdb.ada/str_uninit/parse.adb | 2 +- gdb/testsuite/gdb.ada/str_uninit/pck.adb | 2 +- gdb/testsuite/gdb.ada/str_uninit/pck.ads | 2 +- gdb/testsuite/gdb.ada/sym_print_name.exp | 13 +- gdb/testsuite/gdb.ada/sym_print_name/foo.adb | 2 +- gdb/testsuite/gdb.ada/sym_print_name/pck.adb | 2 +- gdb/testsuite/gdb.ada/sym_print_name/pck.ads | 2 +- gdb/testsuite/gdb.ada/taft_type.exp | 2 +- gdb/testsuite/gdb.ada/taft_type/p.adb | 2 +- gdb/testsuite/gdb.ada/taft_type/pck.adb | 2 +- gdb/testsuite/gdb.ada/taft_type/pck.ads | 2 +- gdb/testsuite/gdb.ada/tagged.exp | 13 +- gdb/testsuite/gdb.ada/tagged/foo.adb | 2 +- gdb/testsuite/gdb.ada/tagged/pck.adb | 2 +- gdb/testsuite/gdb.ada/tagged/pck.ads | 2 +- gdb/testsuite/gdb.ada/tagged_access.exp | 2 +- gdb/testsuite/gdb.ada/tagged_access/p.adb | 2 +- gdb/testsuite/gdb.ada/tagged_access/pack.adb | 2 +- gdb/testsuite/gdb.ada/tagged_access/pack.ads | 2 +- gdb/testsuite/gdb.ada/tagged_not_init.exp | 2 +- gdb/testsuite/gdb.ada/tagged_not_init/foo.adb | 2 +- gdb/testsuite/gdb.ada/tagged_not_init/pck.adb | 2 +- gdb/testsuite/gdb.ada/tagged_not_init/pck.ads | 2 +- gdb/testsuite/gdb.ada/task_bp.exp | 2 +- gdb/testsuite/gdb.ada/task_bp/foo.adb | 2 +- gdb/testsuite/gdb.ada/task_bp/pck.adb | 2 +- gdb/testsuite/gdb.ada/task_bp/pck.ads | 2 +- gdb/testsuite/gdb.ada/tasks.exp | 2 +- gdb/testsuite/gdb.ada/tasks/foo.adb | 2 +- gdb/testsuite/gdb.ada/tick_last_segv.exp | 2 +- gdb/testsuite/gdb.ada/tick_last_segv/foo.adb | 2 +- .../gdb.ada/tick_length_array_enum_idx.exp | 2 +- .../tick_length_array_enum_idx/foo_n207_004.adb | 2 +- .../gdb.ada/tick_length_array_enum_idx/pck.adb | 2 +- .../gdb.ada/tick_length_array_enum_idx/pck.ads | 2 +- gdb/testsuite/gdb.ada/type_coercion.exp | 2 +- gdb/testsuite/gdb.ada/type_coercion/assign.adb | 2 +- gdb/testsuite/gdb.ada/type_coercion/ident.adb | 2 +- gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec.exp | 2 +- .../gdb.ada/unc_arr_ptr_in_var_rec/foo.adb | 2 +- .../gdb.ada/unc_arr_ptr_in_var_rec/pck.adb | 2 +- .../gdb.ada/unc_arr_ptr_in_var_rec/pck.ads | 2 +- gdb/testsuite/gdb.ada/uninitialized_vars.exp | 2 +- gdb/testsuite/gdb.ada/uninitialized_vars/parse.adb | 2 +- .../uninitialized_vars/parse_controlled.ads | 2 +- gdb/testsuite/gdb.ada/var_arr_attrs.exp | 39 + .../gdb.ada/var_arr_attrs/foo_o115_002.adb | 25 + gdb/testsuite/gdb.ada/var_arr_attrs/pck.adb | 21 + gdb/testsuite/gdb.ada/var_arr_attrs/pck.ads | 36 + gdb/testsuite/gdb.ada/var_rec_arr.exp | 51 + gdb/testsuite/gdb.ada/var_rec_arr/foo_na09_042.adb | 23 + gdb/testsuite/gdb.ada/var_rec_arr/pck.adb | 28 + gdb/testsuite/gdb.ada/var_rec_arr/pck.ads | 38 + .../gdb.ada/variant_record_packed_array.exp | 2 +- .../gdb.ada/variant_record_packed_array/foo.adb | 2 +- .../gdb.ada/variant_record_packed_array/pck.adb | 2 +- .../gdb.ada/variant_record_packed_array/pck.ads | 2 +- gdb/testsuite/gdb.ada/watch_arg.exp | 2 +- gdb/testsuite/gdb.ada/watch_arg/pck.adb | 2 +- gdb/testsuite/gdb.ada/watch_arg/pck.ads | 2 +- gdb/testsuite/gdb.ada/watch_arg/watch.adb | 2 +- gdb/testsuite/gdb.ada/whatis_array_val.exp | 2 +- gdb/testsuite/gdb.ada/whatis_array_val/foo.adb | 2 +- gdb/testsuite/gdb.ada/whatis_array_val/pck.adb | 2 +- gdb/testsuite/gdb.ada/whatis_array_val/pck.ads | 2 +- gdb/testsuite/gdb.ada/widewide.exp | 2 +- gdb/testsuite/gdb.ada/widewide/foo.adb | 2 +- gdb/testsuite/gdb.ada/widewide/pck.adb | 2 +- gdb/testsuite/gdb.ada/widewide/pck.ads | 2 +- gdb/testsuite/gdb.ada/win_fu_syms.exp | 2 +- gdb/testsuite/gdb.ada/win_fu_syms/foo.adb | 2 +- gdb/testsuite/gdb.ada/win_fu_syms/pck.adb | 2 +- gdb/testsuite/gdb.ada/win_fu_syms/pck.ads | 2 +- gdb/testsuite/gdb.arch/aarch64-atomic-inst.c | 2 +- gdb/testsuite/gdb.arch/aarch64-atomic-inst.exp | 2 +- gdb/testsuite/gdb.arch/aarch64-fp.c | 2 +- gdb/testsuite/gdb.arch/aarch64-fp.exp | 2 +- gdb/testsuite/gdb.arch/alpha-step.c | 2 +- gdb/testsuite/gdb.arch/alpha-step.exp | 2 +- gdb/testsuite/gdb.arch/altivec-abi.exp | 2 +- gdb/testsuite/gdb.arch/altivec-regs.exp | 2 +- gdb/testsuite/gdb.arch/amd64-byte.exp | 2 +- gdb/testsuite/gdb.arch/amd64-disp-step.S | 2 +- gdb/testsuite/gdb.arch/amd64-disp-step.exp | 2 +- gdb/testsuite/gdb.arch/amd64-dword.exp | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value-inline.S | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value-inline.c | 2 +- .../gdb.arch/amd64-entry-value-inline.exp | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value-param.S | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value-param.c | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value-param.exp | 2 +- .../gdb.arch/amd64-entry-value-paramref.S | 2 +- .../gdb.arch/amd64-entry-value-paramref.cc | 2 +- .../gdb.arch/amd64-entry-value-paramref.exp | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value.cc | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value.exp | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value.s | 2 +- gdb/testsuite/gdb.arch/amd64-i386-address.S | 2 +- gdb/testsuite/gdb.arch/amd64-i386-address.exp | 2 +- .../gdb.arch/amd64-invalid-stack-middle.S | 2 +- .../gdb.arch/amd64-invalid-stack-middle.c | 2 +- .../gdb.arch/amd64-invalid-stack-middle.exp | 2 +- gdb/testsuite/gdb.arch/amd64-invalid-stack-top.c | 2 +- gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp | 2 +- gdb/testsuite/gdb.arch/amd64-optimout-repeat.S | 2 +- gdb/testsuite/gdb.arch/amd64-optimout-repeat.c | 2 +- gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp | 2 +- gdb/testsuite/gdb.arch/amd64-prologue-xmm.c | 2 +- gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp | 2 +- gdb/testsuite/gdb.arch/amd64-prologue-xmm.s | 2 +- gdb/testsuite/gdb.arch/amd64-pseudo.c | 2 +- .../gdb.arch/amd64-stap-optional-prefix.S | 2 +- .../gdb.arch/amd64-stap-optional-prefix.exp | 2 +- .../gdb.arch/amd64-stap-special-operands.exp | 2 +- gdb/testsuite/gdb.arch/amd64-stap-three-arg-disp.c | 2 +- gdb/testsuite/gdb.arch/amd64-stap-triplet.S | 2 +- gdb/testsuite/gdb.arch/amd64-stap-triplet.c | 2 +- gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.S | 2 +- gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.S | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.cc | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.S | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.cc | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-noret.S | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-noret.c | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-ret.S | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-ret.c | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp | 2 +- gdb/testsuite/gdb.arch/amd64-word.exp | 2 +- gdb/testsuite/gdb.arch/arm-bl-branch-dest.c | 2 +- gdb/testsuite/gdb.arch/arm-bl-branch-dest.exp | 2 +- gdb/testsuite/gdb.arch/arm-disp-step.S | 21 +- gdb/testsuite/gdb.arch/arm-disp-step.exp | 43 +- gdb/testsuite/gdb.arch/avr-flash-qualifier.c | 2 +- gdb/testsuite/gdb.arch/avr-flash-qualifier.exp | 2 +- gdb/testsuite/gdb.arch/cordic.ko.bz2 | Bin 0 -> 2208 bytes gdb/testsuite/gdb.arch/cordic.ko.debug.bz2 | Bin 0 -> 910 bytes gdb/testsuite/gdb.arch/e500-abi.exp | 2 +- gdb/testsuite/gdb.arch/e500-prologue.c | 2 +- gdb/testsuite/gdb.arch/e500-prologue.exp | 2 +- gdb/testsuite/gdb.arch/e500-regs.exp | 2 +- gdb/testsuite/gdb.arch/gdb1291.exp | 2 +- gdb/testsuite/gdb.arch/gdb1291.s | 2 +- gdb/testsuite/gdb.arch/gdb1431.exp | 2 +- gdb/testsuite/gdb.arch/gdb1431.s | 2 +- gdb/testsuite/gdb.arch/gdb1558.c | 2 +- gdb/testsuite/gdb.arch/gdb1558.exp | 2 +- gdb/testsuite/gdb.arch/i386-avx.c | 2 +- gdb/testsuite/gdb.arch/i386-avx.exp | 2 +- gdb/testsuite/gdb.arch/i386-avx512.c | 2 +- gdb/testsuite/gdb.arch/i386-avx512.exp | 4 +- gdb/testsuite/gdb.arch/i386-biarch-core.core.bz2 | Bin 0 -> 420 bytes gdb/testsuite/gdb.arch/i386-biarch-core.exp | 58 + gdb/testsuite/gdb.arch/i386-bp_permanent.c | 4 +- gdb/testsuite/gdb.arch/i386-bp_permanent.exp | 2 +- gdb/testsuite/gdb.arch/i386-byte.exp | 2 +- gdb/testsuite/gdb.arch/i386-cfi-notcurrent.S | 2 +- gdb/testsuite/gdb.arch/i386-cfi-notcurrent.exp | 2 +- gdb/testsuite/gdb.arch/i386-disp-step.S | 2 +- gdb/testsuite/gdb.arch/i386-disp-step.exp | 2 +- gdb/testsuite/gdb.arch/i386-dr3-watch.c | 2 +- gdb/testsuite/gdb.arch/i386-dr3-watch.exp | 2 +- gdb/testsuite/gdb.arch/i386-float.S | 2 +- gdb/testsuite/gdb.arch/i386-float.exp | 2 +- gdb/testsuite/gdb.arch/i386-gnu-cfi-asm.S | 2 +- gdb/testsuite/gdb.arch/i386-gnu-cfi.c | 2 +- gdb/testsuite/gdb.arch/i386-gnu-cfi.exp | 2 +- gdb/testsuite/gdb.arch/i386-mpx.c | 2 +- gdb/testsuite/gdb.arch/i386-mpx.exp | 2 +- gdb/testsuite/gdb.arch/i386-permbkpt.S | 2 +- gdb/testsuite/gdb.arch/i386-permbkpt.exp | 2 +- gdb/testsuite/gdb.arch/i386-prologue.c | 2 +- gdb/testsuite/gdb.arch/i386-prologue.exp | 2 +- gdb/testsuite/gdb.arch/i386-pseudo.c | 2 +- gdb/testsuite/gdb.arch/i386-signal.c | 2 +- gdb/testsuite/gdb.arch/i386-signal.exp | 2 +- gdb/testsuite/gdb.arch/i386-size-overlap.c | 2 +- gdb/testsuite/gdb.arch/i386-size-overlap.exp | 2 +- gdb/testsuite/gdb.arch/i386-size.c | 2 +- gdb/testsuite/gdb.arch/i386-size.exp | 2 +- gdb/testsuite/gdb.arch/i386-sse-stack-align.S | 2 +- gdb/testsuite/gdb.arch/i386-sse-stack-align.c | 2 +- gdb/testsuite/gdb.arch/i386-sse-stack-align.exp | 2 +- gdb/testsuite/gdb.arch/i386-sse.c | 2 +- gdb/testsuite/gdb.arch/i386-sse.exp | 2 +- gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.S | 2 +- gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.c | 2 +- gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.exp | 2 +- gdb/testsuite/gdb.arch/i386-unwind.c | 2 +- gdb/testsuite/gdb.arch/i386-unwind.exp | 2 +- gdb/testsuite/gdb.arch/i386-word.exp | 2 +- gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.S | 2 +- gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.exp | 2 +- gdb/testsuite/gdb.arch/iwmmxt-regs.c | 2 +- gdb/testsuite/gdb.arch/iwmmxt-regs.exp | 2 +- gdb/testsuite/gdb.arch/mips-octeon-bbit.exp | 2 +- gdb/testsuite/gdb.arch/mips16-thunks-inmain.c | 2 +- gdb/testsuite/gdb.arch/mips16-thunks-main.c | 2 +- gdb/testsuite/gdb.arch/mips16-thunks-sin.c | 2 +- gdb/testsuite/gdb.arch/mips16-thunks-sinfrob.c | 2 +- gdb/testsuite/gdb.arch/mips16-thunks-sinfrob16.c | 2 +- gdb/testsuite/gdb.arch/mips16-thunks-sinmain.c | 2 +- gdb/testsuite/gdb.arch/mips16-thunks-sinmips16.c | 2 +- gdb/testsuite/gdb.arch/mips16-thunks.exp | 2 +- gdb/testsuite/gdb.arch/pa-nullify.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-aix-prologue.c | 2 +- gdb/testsuite/gdb.arch/powerpc-aix-prologue.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-d128-regs.c | 2 +- gdb/testsuite/gdb.arch/powerpc-d128-regs.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-power.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-power.s | 2 +- gdb/testsuite/gdb.arch/powerpc-prologue.c | 2 +- gdb/testsuite/gdb.arch/powerpc-prologue.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-stackless.S | 2 +- gdb/testsuite/gdb.arch/powerpc-stackless.exp | 2 +- gdb/testsuite/gdb.arch/ppc-dfp.c | 2 +- gdb/testsuite/gdb.arch/ppc-dfp.exp | 2 +- gdb/testsuite/gdb.arch/ppc-fp.c | 2 +- gdb/testsuite/gdb.arch/ppc-fp.exp | 2 +- gdb/testsuite/gdb.arch/ppc64-atomic-inst.S | 2 +- gdb/testsuite/gdb.arch/ppc64-atomic-inst.exp | 2 +- gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp | 51 + gdb/testsuite/gdb.arch/s390-multiarch.c | 2 +- gdb/testsuite/gdb.arch/s390-multiarch.exp | 2 +- gdb/testsuite/gdb.arch/s390-tdbregs.c | 2 +- gdb/testsuite/gdb.arch/s390-tdbregs.exp | 2 +- gdb/testsuite/gdb.arch/s390-vregs.S | 96 + gdb/testsuite/gdb.arch/s390-vregs.exp | 203 + gdb/testsuite/gdb.arch/sparc-sysstep.c | 2 +- gdb/testsuite/gdb.arch/sparc-sysstep.exp | 2 +- gdb/testsuite/gdb.arch/spu-info.c | 2 +- gdb/testsuite/gdb.arch/spu-info.exp | 2 +- gdb/testsuite/gdb.arch/spu-ls.c | 2 +- gdb/testsuite/gdb.arch/spu-ls.exp | 2 +- gdb/testsuite/gdb.arch/thumb-bx-pc.S | 2 +- gdb/testsuite/gdb.arch/thumb-bx-pc.exp | 2 +- gdb/testsuite/gdb.arch/thumb-prologue.c | 2 +- gdb/testsuite/gdb.arch/thumb-prologue.exp | 2 +- gdb/testsuite/gdb.arch/thumb-singlestep.S | 2 +- gdb/testsuite/gdb.arch/thumb-singlestep.exp | 2 +- gdb/testsuite/gdb.arch/thumb2-it.S | 2 +- gdb/testsuite/gdb.arch/thumb2-it.exp | 2 +- gdb/testsuite/gdb.arch/vsx-regs.exp | 2 +- gdb/testsuite/gdb.asm/asm-source.exp | 2 +- gdb/testsuite/gdb.base/a2-run.exp | 2 +- gdb/testsuite/gdb.base/advance.exp | 2 +- gdb/testsuite/gdb.base/alias.exp | 2 +- gdb/testsuite/gdb.base/all-bin.exp | 2 +- .../gdb.base/annota-input-while-running.c | 2 +- .../gdb.base/annota-input-while-running.exp | 2 +- gdb/testsuite/gdb.base/annota1.exp | 11 +- gdb/testsuite/gdb.base/annota3.exp | 2 +- gdb/testsuite/gdb.base/anon.exp | 2 +- gdb/testsuite/gdb.base/args.exp | 2 +- gdb/testsuite/gdb.base/argv0-symlink.c | 2 +- gdb/testsuite/gdb.base/argv0-symlink.exp | 2 +- gdb/testsuite/gdb.base/arithmet.exp | 2 +- gdb/testsuite/gdb.base/arrayidx.c | 2 +- gdb/testsuite/gdb.base/arrayidx.exp | 2 +- gdb/testsuite/gdb.base/assign.exp | 2 +- gdb/testsuite/gdb.base/async-shell.c | 2 +- gdb/testsuite/gdb.base/async-shell.exp | 2 +- gdb/testsuite/gdb.base/async.exp | 2 +- gdb/testsuite/gdb.base/attach-pie-misread.c | 2 +- gdb/testsuite/gdb.base/attach-pie-misread.exp | 2 +- gdb/testsuite/gdb.base/attach-pie-noexec.c | 2 +- gdb/testsuite/gdb.base/attach-pie-noexec.exp | 11 +- gdb/testsuite/gdb.base/attach-twice.c | 2 +- gdb/testsuite/gdb.base/attach-twice.exp | 11 +- gdb/testsuite/gdb.base/attach-wait-input.c | 2 +- gdb/testsuite/gdb.base/attach-wait-input.exp | 2 +- gdb/testsuite/gdb.base/attach.exp | 26 +- .../gdb.base/auto-connect-native-target.c | 2 +- .../gdb.base/auto-connect-native-target.exp | 2 +- gdb/testsuite/gdb.base/auto-load-script | 2 +- gdb/testsuite/gdb.base/auto-load.c | 2 +- gdb/testsuite/gdb.base/auto-load.exp | 2 +- gdb/testsuite/gdb.base/auxv.c | 2 +- gdb/testsuite/gdb.base/auxv.exp | 2 +- gdb/testsuite/gdb.base/bang.exp | 2 +- .../gdb.base/batch-preserve-term-settings.c | 22 + .../gdb.base/batch-preserve-term-settings.exp | 186 + gdb/testsuite/gdb.base/bfp-test.c | 2 +- gdb/testsuite/gdb.base/bfp-test.exp | 2 +- gdb/testsuite/gdb.base/bg-execution-repeat.c | 2 +- gdb/testsuite/gdb.base/bg-execution-repeat.exp | 2 +- gdb/testsuite/gdb.base/bigcore.c | 2 +- gdb/testsuite/gdb.base/bigcore.exp | 2 +- gdb/testsuite/gdb.base/bitfields.exp | 2 +- gdb/testsuite/gdb.base/bitfields2.exp | 2 +- gdb/testsuite/gdb.base/bitops.exp | 2 +- .../gdb.base/bp-cmds-execution-x-script.c | 35 + .../gdb.base/bp-cmds-execution-x-script.exp | 75 + .../gdb.base/bp-cmds-execution-x-script.gdb | 20 + gdb/testsuite/gdb.base/bp-permanent.c | 2 +- gdb/testsuite/gdb.base/bp-permanent.exp | 18 +- gdb/testsuite/gdb.base/break-always.c | 2 +- gdb/testsuite/gdb.base/break-always.exp | 34 +- gdb/testsuite/gdb.base/break-caller-line.c | 2 +- gdb/testsuite/gdb.base/break-caller-line.exp | 2 +- gdb/testsuite/gdb.base/break-entry.exp | 2 +- gdb/testsuite/gdb.base/break-idempotent.c | 2 +- gdb/testsuite/gdb.base/break-idempotent.exp | 5 +- gdb/testsuite/gdb.base/break-inline.c | 2 +- gdb/testsuite/gdb.base/break-inline.exp | 2 +- gdb/testsuite/gdb.base/break-interp-lib.c | 2 +- gdb/testsuite/gdb.base/break-interp-main.c | 2 +- gdb/testsuite/gdb.base/break-interp.exp | 2 +- .../gdb.base/break-main-file-remove-fail.c | 2 +- .../gdb.base/break-main-file-remove-fail.exp | 2 +- .../gdb.base/break-on-linker-gcd-function.cc | 2 +- .../gdb.base/break-on-linker-gcd-function.exp | 2 +- gdb/testsuite/gdb.base/break-probes-solib.c | 2 +- gdb/testsuite/gdb.base/break-probes.c | 2 +- gdb/testsuite/gdb.base/break-probes.exp | 6 +- gdb/testsuite/gdb.base/break-unload-file.c | 2 +- gdb/testsuite/gdb.base/break-unload-file.exp | 2 +- gdb/testsuite/gdb.base/break.c | 2 +- gdb/testsuite/gdb.base/break.exp | 2 +- gdb/testsuite/gdb.base/break1.c | 2 +- gdb/testsuite/gdb.base/breakpoint-in-ro-region.c | 2 +- gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp | 7 +- gdb/testsuite/gdb.base/breakpoint-shadow.c | 2 +- gdb/testsuite/gdb.base/breakpoint-shadow.exp | 2 +- gdb/testsuite/gdb.base/call-ar-st.exp | 2 +- gdb/testsuite/gdb.base/call-rt-st.exp | 2 +- gdb/testsuite/gdb.base/call-sc.c | 2 +- gdb/testsuite/gdb.base/call-sc.exp | 2 +- gdb/testsuite/gdb.base/call-signal-resume.exp | 2 +- gdb/testsuite/gdb.base/call-signals.c | 2 +- gdb/testsuite/gdb.base/call-strs.exp | 2 +- gdb/testsuite/gdb.base/callexit.c | 2 +- gdb/testsuite/gdb.base/callexit.exp | 2 +- gdb/testsuite/gdb.base/callfuncs.c | 2 +- gdb/testsuite/gdb.base/callfuncs.exp | 2 +- gdb/testsuite/gdb.base/catch-gdb-caused-signals.c | 36 + .../gdb.base/catch-gdb-caused-signals.exp | 63 + gdb/testsuite/gdb.base/catch-load-so.c | 2 +- gdb/testsuite/gdb.base/catch-load.c | 2 +- gdb/testsuite/gdb.base/catch-load.exp | 2 +- gdb/testsuite/gdb.base/catch-signal-fork.c | 2 +- gdb/testsuite/gdb.base/catch-signal-fork.exp | 2 +- gdb/testsuite/gdb.base/catch-signal.c | 2 +- gdb/testsuite/gdb.base/catch-signal.exp | 2 +- gdb/testsuite/gdb.base/catch-syscall.c | 4 + gdb/testsuite/gdb.base/catch-syscall.exp | 53 +- gdb/testsuite/gdb.base/charset-malloc.c | 2 +- gdb/testsuite/gdb.base/charset.c | 2 +- gdb/testsuite/gdb.base/charset.exp | 2 +- gdb/testsuite/gdb.base/checkpoint.c | 2 +- gdb/testsuite/gdb.base/checkpoint.exp | 2 +- gdb/testsuite/gdb.base/chng-syms.exp | 2 +- gdb/testsuite/gdb.base/code-expr.exp | 2 +- gdb/testsuite/gdb.base/code_elim.exp | 2 +- gdb/testsuite/gdb.base/code_elim1.c | 2 +- gdb/testsuite/gdb.base/code_elim2.c | 2 +- gdb/testsuite/gdb.base/commands.exp | 2 +- gdb/testsuite/gdb.base/compare-sections.c | 2 +- gdb/testsuite/gdb.base/compare-sections.exp | 2 +- gdb/testsuite/gdb.base/completion.exp | 87 +- gdb/testsuite/gdb.base/complex.c | 2 +- gdb/testsuite/gdb.base/complex.exp | 2 +- gdb/testsuite/gdb.base/comprdebug.exp | 2 +- gdb/testsuite/gdb.base/cond-eval-mode.c | 2 +- gdb/testsuite/gdb.base/cond-eval-mode.exp | 2 +- gdb/testsuite/gdb.base/cond-expr.exp | 2 +- gdb/testsuite/gdb.base/condbreak-call-false.c | 2 +- gdb/testsuite/gdb.base/condbreak-call-false.exp | 2 +- gdb/testsuite/gdb.base/condbreak.exp | 2 +- gdb/testsuite/gdb.base/consecutive-step-over.c | 2 +- gdb/testsuite/gdb.base/consecutive-step-over.exp | 2 +- gdb/testsuite/gdb.base/consecutive.exp | 2 +- gdb/testsuite/gdb.base/constvars.exp | 2 +- .../gdb.base/continue-all-already-running.c | 2 +- .../gdb.base/continue-all-already-running.exp | 2 +- gdb/testsuite/gdb.base/coredump-filter.c | 77 + gdb/testsuite/gdb.base/coredump-filter.exp | 208 + gdb/testsuite/gdb.base/corefile.exp | 2 +- gdb/testsuite/gdb.base/coremaker.c | 2 +- gdb/testsuite/gdb.base/coremaker2.c | 2 +- gdb/testsuite/gdb.base/ctxobj-f.c | 2 +- gdb/testsuite/gdb.base/ctxobj-m.c | 2 +- gdb/testsuite/gdb.base/ctxobj-v.c | 2 +- gdb/testsuite/gdb.base/ctxobj.exp | 2 +- gdb/testsuite/gdb.base/cursal.c | 2 +- gdb/testsuite/gdb.base/cursal.exp | 2 +- gdb/testsuite/gdb.base/cvexpr.c | 2 +- gdb/testsuite/gdb.base/cvexpr.exp | 2 +- gdb/testsuite/gdb.base/dbx.exp | 2 +- gdb/testsuite/gdb.base/dcache-line-read-error.c | 2 +- gdb/testsuite/gdb.base/dcache-line-read-error.exp | 2 +- gdb/testsuite/gdb.base/debug-expr.exp | 2 +- gdb/testsuite/gdb.base/default.exp | 2 +- gdb/testsuite/gdb.base/define.exp | 2 +- gdb/testsuite/gdb.base/del.c | 2 +- gdb/testsuite/gdb.base/del.exp | 2 +- gdb/testsuite/gdb.base/detach.exp | 2 +- gdb/testsuite/gdb.base/dfp-exprs.exp | 2 +- gdb/testsuite/gdb.base/dfp-test.c | 2 +- gdb/testsuite/gdb.base/dfp-test.exp | 2 +- gdb/testsuite/gdb.base/disabled-location.c | 2 +- gdb/testsuite/gdb.base/disabled-location.exp | 2 +- gdb/testsuite/gdb.base/disasm-end-cu-1.c | 2 +- gdb/testsuite/gdb.base/disasm-end-cu-2.c | 2 +- gdb/testsuite/gdb.base/disasm-end-cu.exp | 2 +- gdb/testsuite/gdb.base/disp-step-fork.c | 3 +- gdb/testsuite/gdb.base/disp-step-syscall.exp | 55 +- gdb/testsuite/gdb.base/disp-step-vfork.c | 2 +- gdb/testsuite/gdb.base/display.exp | 2 +- gdb/testsuite/gdb.base/dmsym.c | 2 +- gdb/testsuite/gdb.base/dmsym.exp | 2 +- gdb/testsuite/gdb.base/dmsym_main.c | 2 +- .../gdb.base/double-prompt-target-event-error.c | 2 +- .../gdb.base/double-prompt-target-event-error.exp | 2 +- gdb/testsuite/gdb.base/dprintf-bp-same-addr.c | 2 +- gdb/testsuite/gdb.base/dprintf-bp-same-addr.exp | 2 +- gdb/testsuite/gdb.base/dprintf-detach.c | 2 +- gdb/testsuite/gdb.base/dprintf-detach.exp | 2 +- gdb/testsuite/gdb.base/dprintf-next.c | 2 +- gdb/testsuite/gdb.base/dprintf-next.exp | 2 +- gdb/testsuite/gdb.base/dprintf-non-stop.c | 2 +- gdb/testsuite/gdb.base/dprintf-non-stop.exp | 2 +- gdb/testsuite/gdb.base/dprintf-pending.c | 2 +- gdb/testsuite/gdb.base/dprintf-pending.exp | 2 +- gdb/testsuite/gdb.base/dprintf-pendshr.c | 2 +- gdb/testsuite/gdb.base/dprintf.c | 2 +- gdb/testsuite/gdb.base/dprintf.exp | 2 +- gdb/testsuite/gdb.base/dtrace-probe.c | 38 + gdb/testsuite/gdb.base/dtrace-probe.d | 21 + gdb/testsuite/gdb.base/dtrace-probe.exp | 106 + gdb/testsuite/gdb.base/dump.exp | 26 +- gdb/testsuite/gdb.base/dup-sect.S | 2 +- gdb/testsuite/gdb.base/dup-sect.exp | 2 +- gdb/testsuite/gdb.base/duplicate-bp.c | 2 +- gdb/testsuite/gdb.base/duplicate-bp.exp | 2 +- gdb/testsuite/gdb.base/echo.exp | 2 +- gdb/testsuite/gdb.base/empty_exe.exp | 2 +- gdb/testsuite/gdb.base/ena-dis-br.exp | 10 +- gdb/testsuite/gdb.base/ending-run.exp | 2 +- gdb/testsuite/gdb.base/enum_cond.c | 2 +- gdb/testsuite/gdb.base/enum_cond.exp | 2 +- gdb/testsuite/gdb.base/enumval.c | 2 +- gdb/testsuite/gdb.base/enumval.exp | 2 +- gdb/testsuite/gdb.base/environ.exp | 2 +- gdb/testsuite/gdb.base/eu-strip-infcall.c | 2 +- gdb/testsuite/gdb.base/eu-strip-infcall.exp | 2 +- gdb/testsuite/gdb.base/eval-avoid-side-effects.exp | 2 +- gdb/testsuite/gdb.base/eval-skip.exp | 2 +- gdb/testsuite/gdb.base/eval.exp | 2 +- gdb/testsuite/gdb.base/exe-lock.exp | 2 +- gdb/testsuite/gdb.base/execl-update-breakpoints.c | 2 +- .../gdb.base/execl-update-breakpoints.exp | 2 +- gdb/testsuite/gdb.base/execution-termios.c | 2 +- gdb/testsuite/gdb.base/execution-termios.exp | 2 +- gdb/testsuite/gdb.base/exitsignal.exp | 2 +- gdb/testsuite/gdb.base/expand-psymtabs.c | 2 +- gdb/testsuite/gdb.base/expand-psymtabs.exp | 2 +- gdb/testsuite/gdb.base/exprs.exp | 2 +- gdb/testsuite/gdb.base/fileio.exp | 2 +- gdb/testsuite/gdb.base/filesym.c | 2 +- gdb/testsuite/gdb.base/filesym.exp | 2 +- gdb/testsuite/gdb.base/find-unmapped.c | 2 +- gdb/testsuite/gdb.base/find-unmapped.exp | 2 +- gdb/testsuite/gdb.base/find.c | 2 +- gdb/testsuite/gdb.base/find.exp | 2 +- gdb/testsuite/gdb.base/finish.exp | 2 +- gdb/testsuite/gdb.base/fixsection.c | 2 +- gdb/testsuite/gdb.base/fixsection.exp | 2 +- gdb/testsuite/gdb.base/float.c | 2 +- gdb/testsuite/gdb.base/float.exp | 2 +- gdb/testsuite/gdb.base/foll-exec.exp | 2 +- gdb/testsuite/gdb.base/foll-fork.exp | 5 +- gdb/testsuite/gdb.base/foll-vfork-exit.c | 2 +- gdb/testsuite/gdb.base/foll-vfork.c | 2 +- gdb/testsuite/gdb.base/foll-vfork.exp | 2 +- gdb/testsuite/gdb.base/fortran-sym-case.c | 2 +- gdb/testsuite/gdb.base/fortran-sym-case.exp | 2 +- gdb/testsuite/gdb.base/frame-args.c | 2 +- gdb/testsuite/gdb.base/frame-args.exp | 2 +- gdb/testsuite/gdb.base/freebpcmd.c | 2 +- gdb/testsuite/gdb.base/freebpcmd.exp | 2 +- gdb/testsuite/gdb.base/fullname.c | 2 +- gdb/testsuite/gdb.base/fullname.exp | 2 +- gdb/testsuite/gdb.base/fullpath-expand-func.c | 2 +- gdb/testsuite/gdb.base/fullpath-expand.c | 2 +- gdb/testsuite/gdb.base/fullpath-expand.exp | 2 +- gdb/testsuite/gdb.base/func-ptr.c | 2 +- gdb/testsuite/gdb.base/func-ptr.exp | 2 +- gdb/testsuite/gdb.base/func-ptrs.c | 2 +- gdb/testsuite/gdb.base/func-ptrs.exp | 2 +- gdb/testsuite/gdb.base/funcargs.exp | 2 +- gdb/testsuite/gdb.base/gcore-buffer-overflow.c | 2 +- gdb/testsuite/gdb.base/gcore-buffer-overflow.exp | 2 +- gdb/testsuite/gdb.base/gcore-relro-lib.c | 2 +- gdb/testsuite/gdb.base/gcore-relro-main.c | 2 +- gdb/testsuite/gdb.base/gcore-relro-pie.c | 2 +- gdb/testsuite/gdb.base/gcore-relro-pie.exp | 2 +- gdb/testsuite/gdb.base/gcore-relro.exp | 2 +- gdb/testsuite/gdb.base/gcore.c | 2 +- gdb/testsuite/gdb.base/gcore.exp | 2 +- gdb/testsuite/gdb.base/gdb-sigterm.c | 8 +- gdb/testsuite/gdb.base/gdb-sigterm.exp | 41 +- gdb/testsuite/gdb.base/gdb1056.exp | 2 +- gdb/testsuite/gdb.base/gdb1090.c | 2 +- gdb/testsuite/gdb.base/gdb1090.exp | 2 +- gdb/testsuite/gdb.base/gdb11530.c | 2 +- gdb/testsuite/gdb.base/gdb11530.exp | 2 +- gdb/testsuite/gdb.base/gdb11531.c | 2 +- gdb/testsuite/gdb.base/gdb11531.exp | 2 +- gdb/testsuite/gdb.base/gdb1250.c | 2 +- gdb/testsuite/gdb.base/gdb1250.exp | 2 +- gdb/testsuite/gdb.base/gdb1555-main.c | 2 +- gdb/testsuite/gdb.base/gdb1555.c | 2 +- gdb/testsuite/gdb.base/gdb1555.exp | 2 +- gdb/testsuite/gdb.base/gdb1821.c | 2 +- gdb/testsuite/gdb.base/gdb1821.exp | 2 +- gdb/testsuite/gdb.base/gdbindex-stabs-dwarf.c | 2 +- gdb/testsuite/gdb.base/gdbindex-stabs.c | 2 +- gdb/testsuite/gdb.base/gdbindex-stabs.exp | 2 +- gdb/testsuite/gdb.base/gdbinit-history.exp | 59 + .../gdb.base/gdbinit-history/unlimited/.gdbinit | 1 + .../gdb.base/gdbinit-history/zero/.gdbinit | 1 + gdb/testsuite/gdb.base/gdbvars.exp | 2 +- .../gdb.base/global-var-nested-by-dso-solib1.c | 2 +- .../gdb.base/global-var-nested-by-dso-solib2.c | 2 +- gdb/testsuite/gdb.base/global-var-nested-by-dso.c | 2 +- .../gdb.base/global-var-nested-by-dso.exp | 2 +- gdb/testsuite/gdb.base/gnu-debugdata.c | 2 +- gdb/testsuite/gdb.base/gnu-debugdata.exp | 2 +- gdb/testsuite/gdb.base/gnu-ifunc-lib.c | 2 +- gdb/testsuite/gdb.base/gnu-ifunc.c | 2 +- gdb/testsuite/gdb.base/gnu-ifunc.exp | 2 +- gdb/testsuite/gdb.base/gnu_vector.c | 2 +- gdb/testsuite/gdb.base/gnu_vector.exp | 2 +- gdb/testsuite/gdb.base/hashline1.exp | 2 +- gdb/testsuite/gdb.base/hashline2.exp | 2 +- gdb/testsuite/gdb.base/hashline3.exp | 2 +- .../gdb.base/hbreak-in-shr-unsupported-shr.c | 2 +- gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.c | 2 +- .../gdb.base/hbreak-in-shr-unsupported.exp | 2 +- gdb/testsuite/gdb.base/hbreak-unmapped.c | 2 +- gdb/testsuite/gdb.base/hbreak-unmapped.exp | 2 +- gdb/testsuite/gdb.base/hbreak.c | 2 +- gdb/testsuite/gdb.base/hbreak.exp | 2 +- gdb/testsuite/gdb.base/hbreak2.exp | 2 +- gdb/testsuite/gdb.base/help.exp | 2 +- gdb/testsuite/gdb.base/hook-stop-continue.c | 2 +- gdb/testsuite/gdb.base/hook-stop-continue.exp | 2 +- gdb/testsuite/gdb.base/hook-stop-frame.c | 2 +- gdb/testsuite/gdb.base/hook-stop-frame.exp | 2 +- gdb/testsuite/gdb.base/huge.exp | 2 +- gdb/testsuite/gdb.base/ifelse.exp | 2 +- gdb/testsuite/gdb.base/included.c | 2 +- gdb/testsuite/gdb.base/included.exp | 2 +- gdb/testsuite/gdb.base/included.h | 2 +- gdb/testsuite/gdb.base/inferior-died.c | 2 +- gdb/testsuite/gdb.base/inferior-died.exp | 2 +- gdb/testsuite/gdb.base/infnan.c | 2 +- gdb/testsuite/gdb.base/infnan.exp | 2 +- gdb/testsuite/gdb.base/info-fun-solib.c | 2 +- gdb/testsuite/gdb.base/info-fun.c | 2 +- gdb/testsuite/gdb.base/info-fun.exp | 2 +- gdb/testsuite/gdb.base/info-macros.exp | 2 +- gdb/testsuite/gdb.base/info-os.c | 25 +- gdb/testsuite/gdb.base/info-os.exp | 2 +- gdb/testsuite/gdb.base/info-proc.exp | 2 +- gdb/testsuite/gdb.base/info-shared-solib1.c | 2 +- gdb/testsuite/gdb.base/info-shared-solib2.c | 2 +- gdb/testsuite/gdb.base/info-shared.c | 2 +- gdb/testsuite/gdb.base/info-shared.exp | 2 +- gdb/testsuite/gdb.base/info-target.exp | 2 +- gdb/testsuite/gdb.base/infoline.c | 2 +- gdb/testsuite/gdb.base/infoline.exp | 2 +- gdb/testsuite/gdb.base/interact.exp | 2 +- gdb/testsuite/gdb.base/interp.c | 2 +- gdb/testsuite/gdb.base/interp.exp | 2 +- gdb/testsuite/gdb.base/interrupt-noterm.c | 2 +- gdb/testsuite/gdb.base/interrupt-noterm.exp | 2 +- gdb/testsuite/gdb.base/interrupt.c | 5 + gdb/testsuite/gdb.base/interrupt.exp | 152 +- gdb/testsuite/gdb.base/jit-main.c | 2 +- gdb/testsuite/gdb.base/jit-simple.exp | 2 +- gdb/testsuite/gdb.base/jit-so.exp | 2 +- gdb/testsuite/gdb.base/jit-solib.c | 2 +- gdb/testsuite/gdb.base/jit.exp | 2 +- gdb/testsuite/gdb.base/jump.exp | 2 +- gdb/testsuite/gdb.base/kill-after-signal.c | 2 +- gdb/testsuite/gdb.base/kill-after-signal.exp | 2 +- gdb/testsuite/gdb.base/label.exp | 2 +- gdb/testsuite/gdb.base/langs.exp | 2 +- gdb/testsuite/gdb.base/langs1.f | 2 +- gdb/testsuite/gdb.base/ldbl_e308.c | 2 +- gdb/testsuite/gdb.base/ldbl_e308.exp | 2 +- gdb/testsuite/gdb.base/line-symtabs.c | 2 +- gdb/testsuite/gdb.base/line-symtabs.exp | 2 +- gdb/testsuite/gdb.base/line-symtabs.h | 2 +- gdb/testsuite/gdb.base/lineinc.exp | 2 +- gdb/testsuite/gdb.base/linespecs.exp | 2 +- gdb/testsuite/gdb.base/list.exp | 2 +- gdb/testsuite/gdb.base/logical.exp | 2 +- gdb/testsuite/gdb.base/long_long.c | 2 +- gdb/testsuite/gdb.base/long_long.exp | 2 +- gdb/testsuite/gdb.base/longest-types.c | 2 +- gdb/testsuite/gdb.base/longest-types.exp | 2 +- gdb/testsuite/gdb.base/longjmp.c | 2 +- gdb/testsuite/gdb.base/longjmp.exp | 2 +- gdb/testsuite/gdb.base/macscp.exp | 2 +- gdb/testsuite/gdb.base/maint.exp | 17 +- gdb/testsuite/gdb.base/memattr.c | 2 +- gdb/testsuite/gdb.base/memattr.exp | 2 +- gdb/testsuite/gdb.base/mips_pro.exp | 2 +- gdb/testsuite/gdb.base/miscexprs.exp | 2 +- gdb/testsuite/gdb.base/morestack.c | 2 +- gdb/testsuite/gdb.base/morestack.exp | 2 +- gdb/testsuite/gdb.base/moribund-step.exp | 2 +- gdb/testsuite/gdb.base/multi-forks.c | 2 +- gdb/testsuite/gdb.base/multi-forks.exp | 2 +- .../gdb.base/multi-line-starts-subshell.exp | 2 +- gdb/testsuite/gdb.base/nextoverexit.c | 2 +- gdb/testsuite/gdb.base/nextoverexit.exp | 2 +- gdb/testsuite/gdb.base/nodebug.exp | 2 +- gdb/testsuite/gdb.base/nofield.c | 2 +- gdb/testsuite/gdb.base/nofield.exp | 2 +- gdb/testsuite/gdb.base/noreturn-finish.c | 31 + gdb/testsuite/gdb.base/noreturn-finish.exp | 51 + gdb/testsuite/gdb.base/noreturn-return.c | 31 + gdb/testsuite/gdb.base/noreturn-return.exp | 51 + gdb/testsuite/gdb.base/normal.c | 2 +- gdb/testsuite/gdb.base/nostdlib.c | 2 +- gdb/testsuite/gdb.base/nostdlib.exp | 2 +- gdb/testsuite/gdb.base/opaque.exp | 2 +- gdb/testsuite/gdb.base/overlays.exp | 2 +- gdb/testsuite/gdb.base/page.exp | 2 +- .../gdb.base/paginate-after-ctrl-c-running.c | 2 +- .../gdb.base/paginate-after-ctrl-c-running.exp | 2 +- gdb/testsuite/gdb.base/paginate-bg-execution.c | 2 +- gdb/testsuite/gdb.base/paginate-bg-execution.exp | 2 +- .../gdb.base/paginate-execution-startup.c | 2 +- .../gdb.base/paginate-execution-startup.exp | 2 +- gdb/testsuite/gdb.base/paginate-inferior-exit.c | 2 +- gdb/testsuite/gdb.base/paginate-inferior-exit.exp | 2 +- gdb/testsuite/gdb.base/pc-fp.exp | 2 +- gdb/testsuite/gdb.base/pending.c | 2 +- gdb/testsuite/gdb.base/pending.exp | 2 +- gdb/testsuite/gdb.base/pendshr.c | 2 +- gdb/testsuite/gdb.base/permissions.exp | 2 +- gdb/testsuite/gdb.base/pie-execl.c | 2 +- gdb/testsuite/gdb.base/pie-execl.exp | 2 +- gdb/testsuite/gdb.base/pointers.exp | 2 +- gdb/testsuite/gdb.base/pr10179.exp | 2 +- gdb/testsuite/gdb.base/pr11022.c | 2 +- gdb/testsuite/gdb.base/pr11022.exp | 2 +- gdb/testsuite/gdb.base/prelink-lib.c | 2 +- gdb/testsuite/gdb.base/prelink.c | 2 +- gdb/testsuite/gdb.base/prelink.exp | 2 +- gdb/testsuite/gdb.base/print-file-var-lib1.c | 2 +- gdb/testsuite/gdb.base/print-file-var-lib2.c | 2 +- gdb/testsuite/gdb.base/print-file-var-main.c | 2 +- gdb/testsuite/gdb.base/print-file-var.exp | 2 +- gdb/testsuite/gdb.base/print-symbol-loading-lib.c | 2 +- gdb/testsuite/gdb.base/print-symbol-loading-main.c | 2 +- gdb/testsuite/gdb.base/print-symbol-loading.exp | 2 +- gdb/testsuite/gdb.base/printcmds.exp | 2 +- gdb/testsuite/gdb.base/prologue-include.c | 2 +- gdb/testsuite/gdb.base/prologue-include.exp | 2 +- gdb/testsuite/gdb.base/prologue-include.h | 2 +- gdb/testsuite/gdb.base/prologue.c | 2 +- gdb/testsuite/gdb.base/prologue.exp | 2 +- gdb/testsuite/gdb.base/psymtab.exp | 2 +- gdb/testsuite/gdb.base/ptr-typedef.c | 2 +- gdb/testsuite/gdb.base/ptr-typedef.exp | 2 +- gdb/testsuite/gdb.base/ptype.exp | 2 +- gdb/testsuite/gdb.base/radix.exp | 2 +- gdb/testsuite/gdb.base/random-signal.c | 2 +- gdb/testsuite/gdb.base/random-signal.exp | 2 +- gdb/testsuite/gdb.base/randomize.c | 2 +- gdb/testsuite/gdb.base/randomize.exp | 2 +- gdb/testsuite/gdb.base/range-stepping.c | 2 +- gdb/testsuite/gdb.base/range-stepping.exp | 2 +- gdb/testsuite/gdb.base/readline-ask.c | 2 +- gdb/testsuite/gdb.base/readline-ask.exp | 2 +- gdb/testsuite/gdb.base/readline-ask.inputrc | 2 +- gdb/testsuite/gdb.base/readline.exp | 2 +- gdb/testsuite/gdb.base/realname-expand-real.c | 2 +- gdb/testsuite/gdb.base/realname-expand.c | 2 +- gdb/testsuite/gdb.base/realname-expand.exp | 2 +- gdb/testsuite/gdb.base/recpar.c | 2 +- gdb/testsuite/gdb.base/recpar.exp | 2 +- gdb/testsuite/gdb.base/recurse.exp | 2 +- gdb/testsuite/gdb.base/relational.exp | 2 +- gdb/testsuite/gdb.base/relativedebug.c | 2 +- gdb/testsuite/gdb.base/relativedebug.exp | 13 +- gdb/testsuite/gdb.base/relocate.c | 2 +- gdb/testsuite/gdb.base/relocate.exp | 2 +- gdb/testsuite/gdb.base/remote.exp | 2 +- gdb/testsuite/gdb.base/remotetimeout.exp | 2 +- gdb/testsuite/gdb.base/reread.exp | 2 +- gdb/testsuite/gdb.base/restore.c | 2 +- gdb/testsuite/gdb.base/restore.exp | 2 +- gdb/testsuite/gdb.base/return-nodebug.c | 2 +- gdb/testsuite/gdb.base/return-nodebug.exp | 2 +- gdb/testsuite/gdb.base/return-nodebug1.c | 2 +- gdb/testsuite/gdb.base/return.exp | 2 +- gdb/testsuite/gdb.base/return2.exp | 2 +- gdb/testsuite/gdb.base/save-bp.c | 2 +- gdb/testsuite/gdb.base/save-bp.exp | 2 +- gdb/testsuite/gdb.base/savedregs.c | 2 +- gdb/testsuite/gdb.base/savedregs.exp | 4 +- gdb/testsuite/gdb.base/scope.exp | 2 +- gdb/testsuite/gdb.base/sect-cmd.exp | 2 +- gdb/testsuite/gdb.base/segv.c | 2 +- gdb/testsuite/gdb.base/sep-proc.c | 2 +- gdb/testsuite/gdb.base/sep.c | 2 +- gdb/testsuite/gdb.base/sep.exp | 2 +- gdb/testsuite/gdb.base/sepdebug.c | 2 +- gdb/testsuite/gdb.base/sepdebug.exp | 2 +- gdb/testsuite/gdb.base/sepdebug2.c | 2 +- gdb/testsuite/gdb.base/sepsymtab.c | 2 +- gdb/testsuite/gdb.base/sepsymtab.exp | 2 +- gdb/testsuite/gdb.base/set-lang-auto.exp | 2 +- gdb/testsuite/gdb.base/set-noassign.exp | 2 +- gdb/testsuite/gdb.base/setshow.exp | 2 +- gdb/testsuite/gdb.base/setvar.exp | 2 +- gdb/testsuite/gdb.base/shell.exp | 2 +- gdb/testsuite/gdb.base/shlib-call.exp | 2 +- gdb/testsuite/gdb.base/shreloc.exp | 2 +- gdb/testsuite/gdb.base/sigall.exp | 2 +- gdb/testsuite/gdb.base/sigaltstack.c | 2 +- gdb/testsuite/gdb.base/sigaltstack.exp | 2 +- gdb/testsuite/gdb.base/sigbpt.c | 2 +- gdb/testsuite/gdb.base/sigbpt.exp | 2 +- gdb/testsuite/gdb.base/sigchld.c | 2 +- gdb/testsuite/gdb.base/sigchld.exp | 2 +- gdb/testsuite/gdb.base/siginfo-addr.c | 2 +- gdb/testsuite/gdb.base/siginfo-addr.exp | 2 +- gdb/testsuite/gdb.base/siginfo-infcall.c | 2 +- gdb/testsuite/gdb.base/siginfo-infcall.exp | 2 +- gdb/testsuite/gdb.base/siginfo-obj.c | 3 +- gdb/testsuite/gdb.base/siginfo-obj.exp | 2 +- gdb/testsuite/gdb.base/siginfo-thread.c | 3 +- gdb/testsuite/gdb.base/siginfo-thread.exp | 2 +- gdb/testsuite/gdb.base/siginfo.c | 2 +- gdb/testsuite/gdb.base/siginfo.exp | 2 +- gdb/testsuite/gdb.base/signals.exp | 2 +- gdb/testsuite/gdb.base/signest.c | 2 +- gdb/testsuite/gdb.base/signest.exp | 2 +- gdb/testsuite/gdb.base/signull.c | 2 +- gdb/testsuite/gdb.base/signull.exp | 2 +- gdb/testsuite/gdb.base/sigrepeat.c | 2 +- gdb/testsuite/gdb.base/sigrepeat.exp | 2 +- gdb/testsuite/gdb.base/sigstep.c | 2 +- gdb/testsuite/gdb.base/sigstep.exp | 88 +- gdb/testsuite/gdb.base/sizeof.exp | 2 +- gdb/testsuite/gdb.base/skip-solib.exp | 2 +- gdb/testsuite/gdb.base/skip.exp | 2 +- gdb/testsuite/gdb.base/so-disc-shr.c | 2 +- gdb/testsuite/gdb.base/so-impl-ld.exp | 2 +- gdb/testsuite/gdb.base/so-indr-cl.exp | 2 +- gdb/testsuite/gdb.base/solib-corrupted.exp | 4 +- gdb/testsuite/gdb.base/solib-disc.c | 2 +- gdb/testsuite/gdb.base/solib-disc.exp | 2 +- gdb/testsuite/gdb.base/solib-display-lib.c | 2 +- gdb/testsuite/gdb.base/solib-display-main.c | 2 +- gdb/testsuite/gdb.base/solib-display.exp | 2 +- gdb/testsuite/gdb.base/solib-nodir.exp | 2 +- gdb/testsuite/gdb.base/solib-overlap-lib.c | 2 +- gdb/testsuite/gdb.base/solib-overlap-main.c | 2 +- gdb/testsuite/gdb.base/solib-overlap.exp | 5 +- gdb/testsuite/gdb.base/solib-search-lib1.c | 2 +- gdb/testsuite/gdb.base/solib-search-lib2.c | 2 +- gdb/testsuite/gdb.base/solib-search.c | 2 +- gdb/testsuite/gdb.base/solib-search.exp | 2 +- gdb/testsuite/gdb.base/solib-search.h | 2 +- gdb/testsuite/gdb.base/solib-symbol-lib.c | 2 +- gdb/testsuite/gdb.base/solib-symbol-main.c | 2 +- gdb/testsuite/gdb.base/solib-symbol.exp | 2 +- gdb/testsuite/gdb.base/solib-weak.c | 2 +- gdb/testsuite/gdb.base/solib-weak.exp | 2 +- gdb/testsuite/gdb.base/solib.exp | 2 +- gdb/testsuite/gdb.base/source-dir.exp | 2 +- gdb/testsuite/gdb.base/source-error.gdb | 2 +- gdb/testsuite/gdb.base/source-execution.c | 2 +- gdb/testsuite/gdb.base/source-execution.exp | 2 +- gdb/testsuite/gdb.base/source-execution.gdb | 2 +- gdb/testsuite/gdb.base/source-nofile.gdb | 2 +- gdb/testsuite/gdb.base/source-test.gdb | 2 +- gdb/testsuite/gdb.base/source.exp | 2 +- gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.c | 2 +- gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp | 2 +- gdb/testsuite/gdb.base/sss-bp-on-user-bp.c | 2 +- gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp | 2 +- gdb/testsuite/gdb.base/stack-checking.c | 2 +- gdb/testsuite/gdb.base/stack-checking.exp | 2 +- gdb/testsuite/gdb.base/stale-infcall.c | 2 +- gdb/testsuite/gdb.base/stale-infcall.exp | 2 +- gdb/testsuite/gdb.base/stap-probe.c | 2 +- gdb/testsuite/gdb.base/stap-probe.exp | 4 +- gdb/testsuite/gdb.base/start.c | 2 +- gdb/testsuite/gdb.base/start.exp | 2 +- gdb/testsuite/gdb.base/statistics.exp | 4 +- gdb/testsuite/gdb.base/step-break.c | 2 +- gdb/testsuite/gdb.base/step-break.exp | 2 +- gdb/testsuite/gdb.base/step-bt.c | 2 +- gdb/testsuite/gdb.base/step-bt.exp | 2 +- gdb/testsuite/gdb.base/step-line.c | 2 +- gdb/testsuite/gdb.base/step-line.exp | 2 +- gdb/testsuite/gdb.base/step-line.inp | 2 +- gdb/testsuite/gdb.base/step-over-no-symbols.exp | 92 + gdb/testsuite/gdb.base/step-resume-infcall.c | 2 +- gdb/testsuite/gdb.base/step-resume-infcall.exp | 2 +- .../gdb.base/step-sw-breakpoint-adjust-pc.c | 2 +- .../gdb.base/step-sw-breakpoint-adjust-pc.exp | 2 +- gdb/testsuite/gdb.base/step-symless.c | 2 +- gdb/testsuite/gdb.base/step-symless.exp | 2 +- gdb/testsuite/gdb.base/step-test.exp | 2 +- gdb/testsuite/gdb.base/store.exp | 2 +- gdb/testsuite/gdb.base/structs.c | 2 +- gdb/testsuite/gdb.base/structs.exp | 4 +- gdb/testsuite/gdb.base/structs2.exp | 2 +- gdb/testsuite/gdb.base/structs3.c | 2 +- gdb/testsuite/gdb.base/structs3.exp | 2 +- gdb/testsuite/gdb.base/subst.exp | 2 +- gdb/testsuite/gdb.base/sym-file-lib.c | 2 +- gdb/testsuite/gdb.base/sym-file-loader.c | 2 +- gdb/testsuite/gdb.base/sym-file-loader.h | 2 +- gdb/testsuite/gdb.base/sym-file-main.c | 2 +- gdb/testsuite/gdb.base/sym-file.exp | 2 +- .../gdb.base/symbol-without-target_section.c | 2 +- .../gdb.base/symbol-without-target_section.exp | 2 +- gdb/testsuite/gdb.base/symtab-search-order-1.c | 2 +- .../gdb.base/symtab-search-order-shlib-1.c | 2 +- gdb/testsuite/gdb.base/symtab-search-order.c | 2 +- gdb/testsuite/gdb.base/symtab-search-order.exp | 2 +- gdb/testsuite/gdb.base/term.c | 2 +- gdb/testsuite/gdb.base/term.exp | 2 +- gdb/testsuite/gdb.base/testenv.c | 2 +- gdb/testsuite/gdb.base/testenv.exp | 2 +- gdb/testsuite/gdb.base/trace-commands.exp | 2 +- gdb/testsuite/gdb.base/tui-layout.exp | 2 +- gdb/testsuite/gdb.base/twice.exp | 2 +- gdb/testsuite/gdb.base/type-opaque-lib.c | 2 +- gdb/testsuite/gdb.base/type-opaque-main.c | 2 +- gdb/testsuite/gdb.base/type-opaque.exp | 2 +- gdb/testsuite/gdb.base/ui-redirect.exp | 2 +- gdb/testsuite/gdb.base/unload.c | 2 +- gdb/testsuite/gdb.base/unload.exp | 2 +- gdb/testsuite/gdb.base/unloadshr.c | 2 +- gdb/testsuite/gdb.base/unloadshr2.c | 2 +- gdb/testsuite/gdb.base/until-nodebug.exp | 2 +- gdb/testsuite/gdb.base/until.exp | 2 +- gdb/testsuite/gdb.base/unwindonsignal.c | 2 +- gdb/testsuite/gdb.base/unwindonsignal.exp | 2 +- gdb/testsuite/gdb.base/valgrind-db-attach.c | 2 +- gdb/testsuite/gdb.base/valgrind-db-attach.exp | 4 +- gdb/testsuite/gdb.base/valgrind-infcall.c | 2 +- gdb/testsuite/gdb.base/valgrind-infcall.exp | 4 +- gdb/testsuite/gdb.base/value-double-free.c | 2 +- gdb/testsuite/gdb.base/value-double-free.exp | 2 +- gdb/testsuite/gdb.base/varargs.exp | 2 +- gdb/testsuite/gdb.base/vdso-warning.c | 2 +- gdb/testsuite/gdb.base/vdso-warning.exp | 2 +- gdb/testsuite/gdb.base/vforked-prog.c | 2 +- gdb/testsuite/gdb.base/vla-datatypes.c | 2 +- gdb/testsuite/gdb.base/vla-datatypes.exp | 2 +- gdb/testsuite/gdb.base/vla-ptr.c | 2 +- gdb/testsuite/gdb.base/vla-ptr.exp | 2 +- gdb/testsuite/gdb.base/vla-sideeffect.c | 2 +- gdb/testsuite/gdb.base/vla-sideeffect.exp | 2 +- gdb/testsuite/gdb.base/vla-stub-define.c | 2 +- gdb/testsuite/gdb.base/vla-stub.c | 2 +- gdb/testsuite/gdb.base/vla-stub.exp | 2 +- gdb/testsuite/gdb.base/volatile.exp | 2 +- gdb/testsuite/gdb.base/watch-bitfields.c | 2 +- gdb/testsuite/gdb.base/watch-bitfields.exp | 25 +- gdb/testsuite/gdb.base/watch-cond-infcall.c | 2 +- gdb/testsuite/gdb.base/watch-cond-infcall.exp | 2 +- gdb/testsuite/gdb.base/watch-cond.c | 2 +- gdb/testsuite/gdb.base/watch-cond.exp | 2 +- gdb/testsuite/gdb.base/watch-non-mem.c | 2 +- gdb/testsuite/gdb.base/watch-non-mem.exp | 2 +- gdb/testsuite/gdb.base/watch-read.c | 2 +- gdb/testsuite/gdb.base/watch-read.exp | 2 +- gdb/testsuite/gdb.base/watch-vfork.c | 2 +- gdb/testsuite/gdb.base/watch-vfork.exp | 2 +- gdb/testsuite/gdb.base/watch_thread_num.c | 23 +- gdb/testsuite/gdb.base/watch_thread_num.exp | 46 +- .../gdb.base/watchpoint-cond-gone-stripped.c | 2 +- gdb/testsuite/gdb.base/watchpoint-cond-gone.c | 2 +- gdb/testsuite/gdb.base/watchpoint-cond-gone.exp | 2 +- gdb/testsuite/gdb.base/watchpoint-delete.c | 2 +- gdb/testsuite/gdb.base/watchpoint-delete.exp | 2 +- gdb/testsuite/gdb.base/watchpoint-hw-hit-once.c | 2 +- gdb/testsuite/gdb.base/watchpoint-hw-hit-once.exp | 2 +- gdb/testsuite/gdb.base/watchpoint-hw.c | 2 +- gdb/testsuite/gdb.base/watchpoint-hw.exp | 2 +- gdb/testsuite/gdb.base/watchpoint-reuse-slot.c | 2 +- gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp | 60 +- gdb/testsuite/gdb.base/watchpoint-solib-shr.c | 2 +- gdb/testsuite/gdb.base/watchpoint-solib.c | 2 +- gdb/testsuite/gdb.base/watchpoint-solib.exp | 15 +- .../gdb.base/watchpoint-stops-at-right-insn.c | 2 +- .../gdb.base/watchpoint-stops-at-right-insn.exp | 2 +- gdb/testsuite/gdb.base/watchpoint.exp | 2 +- gdb/testsuite/gdb.base/watchpoints.c | 2 +- gdb/testsuite/gdb.base/watchpoints.exp | 2 +- gdb/testsuite/gdb.base/wchar.c | 2 +- gdb/testsuite/gdb.base/wchar.exp | 2 +- gdb/testsuite/gdb.base/weaklib1.c | 2 +- gdb/testsuite/gdb.base/weaklib2.c | 2 +- gdb/testsuite/gdb.base/whatis-exp.exp | 2 +- gdb/testsuite/gdb.base/whatis.c | 2 +- gdb/testsuite/gdb.base/whatis.exp | 2 +- gdb/testsuite/gdb.btrace/Makefile.in | 4 +- gdb/testsuite/gdb.btrace/buffer-size.exp | 57 + gdb/testsuite/gdb.btrace/data.c | 2 +- gdb/testsuite/gdb.btrace/data.exp | 2 +- gdb/testsuite/gdb.btrace/delta.exp | 32 +- gdb/testsuite/gdb.btrace/enable.c | 2 +- gdb/testsuite/gdb.btrace/enable.exp | 6 +- gdb/testsuite/gdb.btrace/exception.cc | 2 +- gdb/testsuite/gdb.btrace/exception.exp | 12 +- gdb/testsuite/gdb.btrace/finish.exp | 59 - gdb/testsuite/gdb.btrace/function_call_history.c | 2 +- gdb/testsuite/gdb.btrace/function_call_history.exp | 46 +- gdb/testsuite/gdb.btrace/gcore.exp | 4 +- gdb/testsuite/gdb.btrace/i686-record_goto.S | 384 + gdb/testsuite/gdb.btrace/i686-tailcall.S | 351 + gdb/testsuite/gdb.btrace/instruction_history.S | 2 +- gdb/testsuite/gdb.btrace/instruction_history.c | 2 +- gdb/testsuite/gdb.btrace/instruction_history.exp | 20 +- gdb/testsuite/gdb.btrace/multi-thread-step.c | 2 +- gdb/testsuite/gdb.btrace/multi-thread-step.exp | 2 +- gdb/testsuite/gdb.btrace/next.exp | 76 - gdb/testsuite/gdb.btrace/nexti.exp | 76 - gdb/testsuite/gdb.btrace/nohist.exp | 11 +- gdb/testsuite/gdb.btrace/record_goto.c | 2 +- gdb/testsuite/gdb.btrace/record_goto.exp | 77 +- gdb/testsuite/gdb.btrace/rn-dl-bind.c | 2 +- gdb/testsuite/gdb.btrace/rn-dl-bind.exp | 2 +- gdb/testsuite/gdb.btrace/segv.c | 2 +- gdb/testsuite/gdb.btrace/segv.exp | 6 +- gdb/testsuite/gdb.btrace/step.exp | 66 +- gdb/testsuite/gdb.btrace/stepi.exp | 62 +- gdb/testsuite/gdb.btrace/tailcall.c | 41 + gdb/testsuite/gdb.btrace/tailcall.exp | 68 +- gdb/testsuite/gdb.btrace/unknown_functions.c | 2 +- gdb/testsuite/gdb.btrace/unknown_functions.exp | 10 +- gdb/testsuite/gdb.btrace/vdso.c | 2 +- gdb/testsuite/gdb.btrace/vdso.exp | 2 +- gdb/testsuite/gdb.btrace/x86-record_goto.S | 355 - gdb/testsuite/gdb.btrace/x86-tailcall.S | 279 - gdb/testsuite/gdb.btrace/x86-tailcall.c | 39 - gdb/testsuite/gdb.btrace/x86_64-record_goto.S | 355 + gdb/testsuite/gdb.btrace/x86_64-tailcall.S | 351 + gdb/testsuite/gdb.cell/arch.exp | 2 +- gdb/testsuite/gdb.cell/break-spu.c | 2 +- gdb/testsuite/gdb.cell/break.c | 2 +- gdb/testsuite/gdb.cell/break.exp | 2 +- gdb/testsuite/gdb.cell/bt-spu.c | 2 +- gdb/testsuite/gdb.cell/bt.c | 2 +- gdb/testsuite/gdb.cell/bt.exp | 2 +- gdb/testsuite/gdb.cell/bt2-spu.c | 2 +- gdb/testsuite/gdb.cell/core.exp | 2 +- gdb/testsuite/gdb.cell/coremaker-spu.c | 2 +- gdb/testsuite/gdb.cell/coremaker.c | 2 +- gdb/testsuite/gdb.cell/data-spu.c | 2 +- gdb/testsuite/gdb.cell/data.c | 2 +- gdb/testsuite/gdb.cell/data.exp | 2 +- gdb/testsuite/gdb.cell/dwarfaddr.S | 2 +- gdb/testsuite/gdb.cell/dwarfaddr.exp | 2 +- gdb/testsuite/gdb.cell/ea-cache-spu.c | 2 +- gdb/testsuite/gdb.cell/ea-cache.c | 2 +- gdb/testsuite/gdb.cell/ea-cache.exp | 2 +- gdb/testsuite/gdb.cell/ea-standalone.c | 2 +- gdb/testsuite/gdb.cell/ea-standalone.exp | 2 +- gdb/testsuite/gdb.cell/ea-test.c | 2 +- gdb/testsuite/gdb.cell/ea-test.exp | 2 +- gdb/testsuite/gdb.cell/f-regs.exp | 2 +- gdb/testsuite/gdb.cell/fork-spu.c | 2 +- gdb/testsuite/gdb.cell/fork.c | 2 +- gdb/testsuite/gdb.cell/fork.exp | 2 +- gdb/testsuite/gdb.cell/gcore.exp | 2 +- gdb/testsuite/gdb.cell/mem-access-spu.c | 2 +- gdb/testsuite/gdb.cell/mem-access.c | 2 +- gdb/testsuite/gdb.cell/mem-access.exp | 2 +- gdb/testsuite/gdb.cell/ptype.exp | 2 +- gdb/testsuite/gdb.cell/registers.exp | 2 +- gdb/testsuite/gdb.cell/size-spu.c | 2 +- gdb/testsuite/gdb.cell/size.c | 2 +- gdb/testsuite/gdb.cell/sizeof.exp | 2 +- gdb/testsuite/gdb.cell/solib-symbol.exp | 2 +- gdb/testsuite/gdb.cell/solib.exp | 2 +- gdb/testsuite/gdb.compile/compile-constvar.S | 2 +- gdb/testsuite/gdb.compile/compile-constvar.c | 2 +- gdb/testsuite/gdb.compile/compile-ifunc.c | 46 + gdb/testsuite/gdb.compile/compile-ifunc.exp | 54 + gdb/testsuite/gdb.compile/compile-mod.c | 2 +- gdb/testsuite/gdb.compile/compile-nodebug.c | 2 +- gdb/testsuite/gdb.compile/compile-ops.c | 2 +- gdb/testsuite/gdb.compile/compile-ops.exp | 4 +- gdb/testsuite/gdb.compile/compile-print.c | 32 + gdb/testsuite/gdb.compile/compile-print.exp | 58 + gdb/testsuite/gdb.compile/compile-setjmp-mod.c | 2 +- gdb/testsuite/gdb.compile/compile-setjmp.c | 2 +- gdb/testsuite/gdb.compile/compile-setjmp.exp | 2 +- gdb/testsuite/gdb.compile/compile-shlib.c | 2 +- gdb/testsuite/gdb.compile/compile-tls.c | 2 +- gdb/testsuite/gdb.compile/compile-tls.exp | 2 +- gdb/testsuite/gdb.compile/compile.c | 2 +- gdb/testsuite/gdb.compile/compile.exp | 23 +- gdb/testsuite/gdb.cp/abstract-origin.cc | 2 +- gdb/testsuite/gdb.cp/abstract-origin.exp | 2 +- gdb/testsuite/gdb.cp/ambiguous.exp | 2 +- gdb/testsuite/gdb.cp/annota2.exp | 2 +- gdb/testsuite/gdb.cp/annota3.exp | 2 +- gdb/testsuite/gdb.cp/anon-ns.cc | 2 +- gdb/testsuite/gdb.cp/anon-ns.exp | 6 +- gdb/testsuite/gdb.cp/anon-ns2.cc | 2 +- gdb/testsuite/gdb.cp/anon-struct.cc | 2 +- gdb/testsuite/gdb.cp/anon-struct.exp | 2 +- gdb/testsuite/gdb.cp/anon-union.exp | 2 +- gdb/testsuite/gdb.cp/arg-reference.cc | 2 +- gdb/testsuite/gdb.cp/arg-reference.exp | 2 +- gdb/testsuite/gdb.cp/baseenum.cc | 2 +- gdb/testsuite/gdb.cp/baseenum.exp | 2 +- gdb/testsuite/gdb.cp/bool.cc | 2 +- gdb/testsuite/gdb.cp/bool.exp | 2 +- gdb/testsuite/gdb.cp/breakpoint.cc | 2 +- gdb/testsuite/gdb.cp/breakpoint.exp | 2 +- gdb/testsuite/gdb.cp/bs15503.cc | 2 +- gdb/testsuite/gdb.cp/bs15503.exp | 2 +- gdb/testsuite/gdb.cp/call-c-1.c | 2 +- gdb/testsuite/gdb.cp/call-c.cc | 2 +- gdb/testsuite/gdb.cp/call-c.exp | 2 +- gdb/testsuite/gdb.cp/casts.exp | 2 +- gdb/testsuite/gdb.cp/chained-calls.cc | 2 +- gdb/testsuite/gdb.cp/chained-calls.exp | 2 +- gdb/testsuite/gdb.cp/class2.cc | 21 +- gdb/testsuite/gdb.cp/class2.exp | 18 +- gdb/testsuite/gdb.cp/classes.cc | 20 +- gdb/testsuite/gdb.cp/classes.exp | 11 +- gdb/testsuite/gdb.cp/cmpd-minsyms.cc | 2 +- gdb/testsuite/gdb.cp/cmpd-minsyms.exp | 2 +- gdb/testsuite/gdb.cp/converts.exp | 2 +- gdb/testsuite/gdb.cp/cp-relocate.cc | 2 +- gdb/testsuite/gdb.cp/cp-relocate.exp | 2 +- gdb/testsuite/gdb.cp/cpcompletion.exp | 2 +- gdb/testsuite/gdb.cp/cpexprs.cc | 2 +- gdb/testsuite/gdb.cp/cpexprs.exp | 2 +- gdb/testsuite/gdb.cp/cplabel.cc | 2 +- gdb/testsuite/gdb.cp/cplabel.exp | 2 +- gdb/testsuite/gdb.cp/cplusfuncs.exp | 2 +- gdb/testsuite/gdb.cp/cpsizeof.cc | 2 +- gdb/testsuite/gdb.cp/cpsizeof.exp | 2 +- gdb/testsuite/gdb.cp/ctti.exp | 2 +- gdb/testsuite/gdb.cp/cttiadd.cc | 2 +- gdb/testsuite/gdb.cp/cttiadd1.cc | 2 +- gdb/testsuite/gdb.cp/cttiadd2.cc | 2 +- gdb/testsuite/gdb.cp/cttiadd3.cc | 2 +- gdb/testsuite/gdb.cp/debug-expr.exp | 2 +- gdb/testsuite/gdb.cp/demangle.exp | 14 +- gdb/testsuite/gdb.cp/derivation.cc | 2 +- gdb/testsuite/gdb.cp/derivation.exp | 2 +- gdb/testsuite/gdb.cp/derivation2.cc | 2 +- gdb/testsuite/gdb.cp/destrprint.exp | 2 +- gdb/testsuite/gdb.cp/dispcxx.cc | 2 +- gdb/testsuite/gdb.cp/dispcxx.exp | 2 +- gdb/testsuite/gdb.cp/enum-class.cc | 2 +- gdb/testsuite/gdb.cp/enum-class.exp | 2 +- gdb/testsuite/gdb.cp/exception.cc | 2 +- gdb/testsuite/gdb.cp/exception.exp | 2 +- gdb/testsuite/gdb.cp/exceptprint.cc | 2 +- gdb/testsuite/gdb.cp/exceptprint.exp | 2 +- gdb/testsuite/gdb.cp/expand-psymtabs-cxx.cc | 2 +- gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp | 2 +- gdb/testsuite/gdb.cp/expand-sals.cc | 2 +- gdb/testsuite/gdb.cp/expand-sals.exp | 2 +- gdb/testsuite/gdb.cp/extern-c.cc | 2 +- gdb/testsuite/gdb.cp/extern-c.exp | 2 +- gdb/testsuite/gdb.cp/filename.cc | 2 +- gdb/testsuite/gdb.cp/filename.exp | 2 +- gdb/testsuite/gdb.cp/formatted-ref.cc | 2 +- gdb/testsuite/gdb.cp/formatted-ref.exp | 2 +- gdb/testsuite/gdb.cp/fpointer.exp | 2 +- gdb/testsuite/gdb.cp/gdb1355.exp | 2 +- gdb/testsuite/gdb.cp/gdb2384-base.cc | 2 +- gdb/testsuite/gdb.cp/gdb2384-base.h | 2 +- gdb/testsuite/gdb.cp/gdb2384.cc | 2 +- gdb/testsuite/gdb.cp/gdb2384.exp | 2 +- gdb/testsuite/gdb.cp/gdb2495.cc | 2 +- gdb/testsuite/gdb.cp/gdb2495.exp | 2 +- gdb/testsuite/gdb.cp/hang.exp | 2 +- gdb/testsuite/gdb.cp/impl-this.cc | 2 +- gdb/testsuite/gdb.cp/impl-this.exp | 2 +- gdb/testsuite/gdb.cp/includefile | 2 +- gdb/testsuite/gdb.cp/infcall-dlopen-lib.cc | 2 +- gdb/testsuite/gdb.cp/infcall-dlopen.cc | 2 +- gdb/testsuite/gdb.cp/infcall-dlopen.exp | 2 +- gdb/testsuite/gdb.cp/inherit.exp | 2 +- gdb/testsuite/gdb.cp/koenig.exp | 2 +- gdb/testsuite/gdb.cp/local.exp | 2 +- gdb/testsuite/gdb.cp/m-data.exp | 2 +- gdb/testsuite/gdb.cp/m-static.exp | 2 +- gdb/testsuite/gdb.cp/maint.exp | 2 +- gdb/testsuite/gdb.cp/mb-ctor.exp | 2 +- gdb/testsuite/gdb.cp/mb-inline.exp | 2 +- gdb/testsuite/gdb.cp/mb-inline.h | 2 +- gdb/testsuite/gdb.cp/mb-inline1.cc | 2 +- gdb/testsuite/gdb.cp/mb-inline2.cc | 2 +- gdb/testsuite/gdb.cp/mb-templates.exp | 2 +- gdb/testsuite/gdb.cp/member-name.cc | 2 +- gdb/testsuite/gdb.cp/member-name.exp | 2 +- gdb/testsuite/gdb.cp/member-ptr.cc | 2 +- gdb/testsuite/gdb.cp/member-ptr.exp | 2 +- gdb/testsuite/gdb.cp/meth-typedefs.cc | 2 +- gdb/testsuite/gdb.cp/meth-typedefs.exp | 2 +- gdb/testsuite/gdb.cp/method.exp | 2 +- gdb/testsuite/gdb.cp/method2.exp | 2 +- gdb/testsuite/gdb.cp/minsym-fallback-main.cc | 2 +- gdb/testsuite/gdb.cp/minsym-fallback.cc | 2 +- gdb/testsuite/gdb.cp/minsym-fallback.exp | 2 +- gdb/testsuite/gdb.cp/minsym-fallback.h | 2 +- gdb/testsuite/gdb.cp/misc.cc | 2 +- gdb/testsuite/gdb.cp/misc.exp | 2 +- gdb/testsuite/gdb.cp/namelessclass.S | 2 +- gdb/testsuite/gdb.cp/namelessclass.cc | 2 +- gdb/testsuite/gdb.cp/namelessclass.exp | 2 +- gdb/testsuite/gdb.cp/namespace-enum.exp | 2 +- gdb/testsuite/gdb.cp/namespace-nested-import.exp | 2 +- gdb/testsuite/gdb.cp/namespace.exp | 2 +- gdb/testsuite/gdb.cp/namespace1.cc | 2 +- gdb/testsuite/gdb.cp/nextoverthrow.cc | 2 +- gdb/testsuite/gdb.cp/nextoverthrow.exp | 2 +- gdb/testsuite/gdb.cp/no-dmgl-verbose.cc | 2 +- gdb/testsuite/gdb.cp/no-dmgl-verbose.exp | 2 +- gdb/testsuite/gdb.cp/non-trivial-retval.cc | 2 +- gdb/testsuite/gdb.cp/non-trivial-retval.exp | 2 +- gdb/testsuite/gdb.cp/noparam.cc | 2 +- gdb/testsuite/gdb.cp/noparam.exp | 2 +- gdb/testsuite/gdb.cp/nsalias.cc | 2 +- gdb/testsuite/gdb.cp/nsalias.exp | 14 +- gdb/testsuite/gdb.cp/nsdecl.exp | 2 +- gdb/testsuite/gdb.cp/nsimport.exp | 2 +- gdb/testsuite/gdb.cp/nsnested.exp | 2 +- gdb/testsuite/gdb.cp/nsnoimports.exp | 2 +- gdb/testsuite/gdb.cp/nsrecurs.exp | 2 +- gdb/testsuite/gdb.cp/nsstress.exp | 2 +- gdb/testsuite/gdb.cp/nsusing.exp | 2 +- gdb/testsuite/gdb.cp/operator.exp | 2 +- gdb/testsuite/gdb.cp/oranking.exp | 2 +- gdb/testsuite/gdb.cp/overload-const.cc | 2 +- gdb/testsuite/gdb.cp/overload-const.exp | 2 +- gdb/testsuite/gdb.cp/overload.exp | 2 +- gdb/testsuite/gdb.cp/ovldbreak.exp | 2 +- gdb/testsuite/gdb.cp/ovsrch.exp | 2 +- gdb/testsuite/gdb.cp/ovsrch.h | 2 +- gdb/testsuite/gdb.cp/ovsrch1.cc | 2 +- gdb/testsuite/gdb.cp/ovsrch2.cc | 2 +- gdb/testsuite/gdb.cp/ovsrch3.cc | 2 +- gdb/testsuite/gdb.cp/ovsrch4.cc | 2 +- gdb/testsuite/gdb.cp/paren-type.cc | 2 +- gdb/testsuite/gdb.cp/paren-type.exp | 2 +- gdb/testsuite/gdb.cp/parse-lang.cc | 2 +- gdb/testsuite/gdb.cp/parse-lang.exp | 2 +- gdb/testsuite/gdb.cp/pass-by-ref.cc | 2 +- gdb/testsuite/gdb.cp/pass-by-ref.exp | 2 +- gdb/testsuite/gdb.cp/pr-1023.exp | 2 +- gdb/testsuite/gdb.cp/pr-1210.exp | 2 +- gdb/testsuite/gdb.cp/pr-574.cc | 2 +- gdb/testsuite/gdb.cp/pr-574.exp | 2 +- gdb/testsuite/gdb.cp/pr10687.exp | 2 +- gdb/testsuite/gdb.cp/pr10728.exp | 2 +- gdb/testsuite/gdb.cp/pr12028.exp | 2 +- gdb/testsuite/gdb.cp/pr17132.cc | 2 +- gdb/testsuite/gdb.cp/pr17132.exp | 2 +- gdb/testsuite/gdb.cp/pr17494.cc | 2 +- gdb/testsuite/gdb.cp/pr17494.exp | 2 +- gdb/testsuite/gdb.cp/pr9067.exp | 2 +- gdb/testsuite/gdb.cp/pr9167.exp | 2 +- gdb/testsuite/gdb.cp/pr9631.cc | 2 +- gdb/testsuite/gdb.cp/pr9631.exp | 2 +- gdb/testsuite/gdb.cp/printmethod.cc | 2 +- gdb/testsuite/gdb.cp/printmethod.exp | 2 +- gdb/testsuite/gdb.cp/psmang.exp | 2 +- gdb/testsuite/gdb.cp/psmang1.cc | 2 +- gdb/testsuite/gdb.cp/psmang2.cc | 2 +- gdb/testsuite/gdb.cp/psymtab-parameter.cc | 2 +- gdb/testsuite/gdb.cp/psymtab-parameter.exp | 2 +- gdb/testsuite/gdb.cp/ptype-cv-cp.cc | 2 +- gdb/testsuite/gdb.cp/ptype-cv-cp.exp | 2 +- gdb/testsuite/gdb.cp/ptype-flags.cc | 2 +- gdb/testsuite/gdb.cp/ptype-flags.exp | 2 +- gdb/testsuite/gdb.cp/punctuator.exp | 2 +- gdb/testsuite/gdb.cp/re-set-overloaded.cc | 2 +- gdb/testsuite/gdb.cp/re-set-overloaded.exp | 2 +- gdb/testsuite/gdb.cp/readnow-language.cc | 2 +- gdb/testsuite/gdb.cp/readnow-language.exp | 2 +- gdb/testsuite/gdb.cp/ref-params.cc | 2 +- gdb/testsuite/gdb.cp/ref-params.exp | 2 +- gdb/testsuite/gdb.cp/ref-types.cc | 2 +- gdb/testsuite/gdb.cp/ref-types.exp | 2 +- gdb/testsuite/gdb.cp/rtti.exp | 2 +- gdb/testsuite/gdb.cp/rtti.h | 2 +- gdb/testsuite/gdb.cp/rtti1.cc | 2 +- gdb/testsuite/gdb.cp/rtti2.cc | 2 +- gdb/testsuite/gdb.cp/shadow.exp | 2 +- gdb/testsuite/gdb.cp/smartp.cc | 2 +- gdb/testsuite/gdb.cp/smartp.exp | 2 +- gdb/testsuite/gdb.cp/static-method.cc | 2 +- gdb/testsuite/gdb.cp/static-method.exp | 2 +- gdb/testsuite/gdb.cp/static-print-quit.cc | 2 +- gdb/testsuite/gdb.cp/static-print-quit.exp | 2 +- gdb/testsuite/gdb.cp/temargs.cc | 2 +- gdb/testsuite/gdb.cp/temargs.exp | 2 +- gdb/testsuite/gdb.cp/templates.exp | 2 +- gdb/testsuite/gdb.cp/try_catch.cc | 2 +- gdb/testsuite/gdb.cp/try_catch.exp | 2 +- gdb/testsuite/gdb.cp/typedef-operator.cc | 2 +- gdb/testsuite/gdb.cp/typedef-operator.exp | 2 +- gdb/testsuite/gdb.cp/typeid.cc | 2 +- gdb/testsuite/gdb.cp/typeid.exp | 2 +- gdb/testsuite/gdb.cp/userdef.cc | 2 +- gdb/testsuite/gdb.cp/userdef.exp | 2 +- gdb/testsuite/gdb.cp/using-crash.cc | 2 +- gdb/testsuite/gdb.cp/using-crash.exp | 2 +- gdb/testsuite/gdb.cp/virtbase.exp | 2 +- gdb/testsuite/gdb.cp/virtfunc.cc | 2 +- gdb/testsuite/gdb.cp/virtfunc.exp | 2 +- gdb/testsuite/gdb.cp/virtfunc2.cc | 2 +- gdb/testsuite/gdb.cp/virtfunc2.exp | 2 +- gdb/testsuite/gdb.cp/vla-cxx.cc | 2 +- gdb/testsuite/gdb.cp/vla-cxx.exp | 2 +- gdb/testsuite/gdb.disasm/am33.exp | 2 +- gdb/testsuite/gdb.disasm/h8300s.exp | 2 +- gdb/testsuite/gdb.disasm/hppa.exp | 2 +- gdb/testsuite/gdb.disasm/mn10300.exp | 2 +- gdb/testsuite/gdb.disasm/sh3.exp | 2 +- gdb/testsuite/gdb.disasm/t01_mov.exp | 2 +- gdb/testsuite/gdb.disasm/t02_mova.exp | 2 +- gdb/testsuite/gdb.disasm/t03_add.exp | 2 +- gdb/testsuite/gdb.disasm/t04_sub.exp | 2 +- gdb/testsuite/gdb.disasm/t05_cmp.exp | 2 +- gdb/testsuite/gdb.disasm/t06_ari2.exp | 2 +- gdb/testsuite/gdb.disasm/t07_ari3.exp | 2 +- gdb/testsuite/gdb.disasm/t08_or.exp | 2 +- gdb/testsuite/gdb.disasm/t09_xor.exp | 2 +- gdb/testsuite/gdb.disasm/t10_and.exp | 2 +- gdb/testsuite/gdb.disasm/t11_logs.exp | 2 +- gdb/testsuite/gdb.disasm/t12_bit.exp | 2 +- gdb/testsuite/gdb.disasm/t13_otr.exp | 2 +- gdb/testsuite/gdb.dlang/demangle.exp | 7 +- gdb/testsuite/gdb.dlang/expression.exp | 2 +- gdb/testsuite/gdb.dlang/primitive-types.exp | 2 +- gdb/testsuite/gdb.dwarf2/Makefile.in | 2 +- gdb/testsuite/gdb.dwarf2/arr-stride.c | 2 +- gdb/testsuite/gdb.dwarf2/arr-stride.exp | 2 +- gdb/testsuite/gdb.dwarf2/arr-subrange.c | 2 +- gdb/testsuite/gdb.dwarf2/arr-subrange.exp | 6 +- gdb/testsuite/gdb.dwarf2/atomic-type.exp | 89 + gdb/testsuite/gdb.dwarf2/atomic.c | 34 + gdb/testsuite/gdb.dwarf2/callframecfa.S | 2 +- gdb/testsuite/gdb.dwarf2/callframecfa.exp | 2 +- gdb/testsuite/gdb.dwarf2/clztest.S | 2 +- gdb/testsuite/gdb.dwarf2/clztest.exp | 2 +- gdb/testsuite/gdb.dwarf2/corrupt.c | 2 +- gdb/testsuite/gdb.dwarf2/corrupt.exp | 12 +- gdb/testsuite/gdb.dwarf2/count.exp | 2 +- gdb/testsuite/gdb.dwarf2/data-loc.c | 2 +- gdb/testsuite/gdb.dwarf2/data-loc.exp | 2 +- gdb/testsuite/gdb.dwarf2/dup-psym.S | 2 +- gdb/testsuite/gdb.dwarf2/dup-psym.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello-dbg.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world-dbg.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.S | 2 +- .../gdb.dwarf2/dw2-bad-parameter-type.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-basic.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-basic.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.exp | 2 +- .../gdb.dwarf2/dw2-case-insensitive-debug.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-common-block.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-common-block.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-compressed.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-compressed.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-const.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-const.exp | 2 +- .../gdb.dwarf2/dw2-cp-infcall-ref-static-main.c | 2 +- .../gdb.dwarf2/dw2-cp-infcall-ref-static.S | 2 +- .../gdb.dwarf2/dw2-cp-infcall-ref-static.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-cu-size.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-cu-size.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dos-drive.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dos-drive.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.S | 2 +- .../gdb.dwarf2/dw2-double-set-die-type.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dup-frame.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dup-frame.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dup-frame.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-entry-value-main.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-entry-value.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-entry-value.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-error.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-error.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-error.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-filename.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-filename.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-icycle.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-icycle.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-icycle.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-inheritance.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-inheritance.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-inline-break.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-inline-break.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-inline-param-main.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-inline-param.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-inline-param.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-intercu.S | 81 +- gdb/testsuite/gdb.dwarf2/dw2-intercu.exp | 7 +- gdb/testsuite/gdb.dwarf2/dw2-intermix.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-intermix.exp | 2 +- .../gdb.dwarf2/dw2-linkage-name-trust-main.cc | 2 +- gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.S | 2 +- .../gdb.dwarf2/dw2-linkage-name-trust.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.exp | 2 +- .../gdb.dwarf2/dw2-namespaceless-anonymous.S | 2 +- .../gdb.dwarf2/dw2-namespaceless-anonymous.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-noloc-main.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-noloc.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-noloc.exp | 2 +- .../gdb.dwarf2/dw2-objfile-overlap-inner.S | 2 +- .../gdb.dwarf2/dw2-objfile-overlap-outer.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-op-call.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-op-call.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-op-out-param.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-op-out-param.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-param-error-main.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-param-error.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-param-error.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-producer.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-producer.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ranges.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ranges.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ranges2.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ranges3.c | 2 +- .../gdb.dwarf2/dw2-ref-missing-frame-func.c | 2 +- .../gdb.dwarf2/dw2-ref-missing-frame-main.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-restore.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-restore.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-restrict.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-restrict.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-restrict.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.exp | 2 +- .../gdb.dwarf2/dw2-single-line-discriminators.S | 2 +- .../gdb.dwarf2/dw2-single-line-discriminators.c | 2 +- .../gdb.dwarf2/dw2-single-line-discriminators.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-strp.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-strp.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.c | 2 +- .../gdb.dwarf2/dw2-undefined-ret-addr.exp | 6 +- gdb/testsuite/gdb.dwarf2/dw2-unresolved-main.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-unresolved.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-unresolved.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.S | 2 +- gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw4-sig-types.exp | 10 +- gdb/testsuite/gdb.dwarf2/dwp-symlink.c | 2 +- gdb/testsuite/gdb.dwarf2/dwp-symlink.exp | 2 +- gdb/testsuite/gdb.dwarf2/dwz.exp | 2 +- gdb/testsuite/gdb.dwarf2/dwzbuildid.exp | 2 +- gdb/testsuite/gdb.dwarf2/dynarr-ptr.c | 2 +- gdb/testsuite/gdb.dwarf2/dynarr-ptr.exp | 4 +- gdb/testsuite/gdb.dwarf2/enum-type.exp | 4 +- gdb/testsuite/gdb.dwarf2/fission-base.S | 2 +- gdb/testsuite/gdb.dwarf2/fission-base.c | 2 +- gdb/testsuite/gdb.dwarf2/fission-base.exp | 2 +- gdb/testsuite/gdb.dwarf2/fission-loclists.S | 2 +- gdb/testsuite/gdb.dwarf2/fission-loclists.exp | 2 +- gdb/testsuite/gdb.dwarf2/fission-mix.c | 2 +- gdb/testsuite/gdb.dwarf2/fission-mix.exp | 2 +- gdb/testsuite/gdb.dwarf2/fission-mix.h | 2 +- gdb/testsuite/gdb.dwarf2/fission-mix2.c | 2 +- gdb/testsuite/gdb.dwarf2/fission-reread.S | 2 +- gdb/testsuite/gdb.dwarf2/fission-reread.exp | 2 +- gdb/testsuite/gdb.dwarf2/gdb-index.exp | 2 +- gdb/testsuite/gdb.dwarf2/implptr-64bit.S | 2 +- gdb/testsuite/gdb.dwarf2/implptr-64bit.exp | 2 +- gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp | 2 +- gdb/testsuite/gdb.dwarf2/implptr.c | 2 +- gdb/testsuite/gdb.dwarf2/implptr.exp | 2 +- gdb/testsuite/gdb.dwarf2/implptrconst.c | 2 +- gdb/testsuite/gdb.dwarf2/implptrconst.exp | 2 +- gdb/testsuite/gdb.dwarf2/implptrpiece.exp | 2 +- gdb/testsuite/gdb.dwarf2/mac-fileno.S | 2 +- gdb/testsuite/gdb.dwarf2/mac-fileno.exp | 2 +- gdb/testsuite/gdb.dwarf2/main.c | 2 +- gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.S | 2 +- gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp | 2 +- gdb/testsuite/gdb.dwarf2/method-ptr.cc | 2 +- gdb/testsuite/gdb.dwarf2/method-ptr.exp | 2 +- gdb/testsuite/gdb.dwarf2/missing-sig-type.exp | 2 +- gdb/testsuite/gdb.dwarf2/nostaticblock.exp | 2 +- gdb/testsuite/gdb.dwarf2/pieces-optimized-out.S | 2 +- gdb/testsuite/gdb.dwarf2/pieces-optimized-out.c | 2 +- gdb/testsuite/gdb.dwarf2/pieces-optimized-out.exp | 2 +- gdb/testsuite/gdb.dwarf2/pieces.S | 2 +- gdb/testsuite/gdb.dwarf2/pieces.c | 2 +- gdb/testsuite/gdb.dwarf2/pieces.exp | 2 +- gdb/testsuite/gdb.dwarf2/pr10770.exp | 2 +- gdb/testsuite/gdb.dwarf2/pr11465.S | 2 +- gdb/testsuite/gdb.dwarf2/pr11465.exp | 2 +- gdb/testsuite/gdb.dwarf2/pr13961.S | 2 +- gdb/testsuite/gdb.dwarf2/pr13961.exp | 2 +- gdb/testsuite/gdb.dwarf2/staticvirtual.exp | 54 + gdb/testsuite/gdb.dwarf2/subrange.exp | 2 +- gdb/testsuite/gdb.dwarf2/symtab-producer.exp | 2 +- gdb/testsuite/gdb.dwarf2/trace-crash.exp | 2 +- gdb/testsuite/gdb.dwarf2/typeddwarf-amd64.S | 2 +- gdb/testsuite/gdb.dwarf2/typeddwarf.S | 2 +- gdb/testsuite/gdb.dwarf2/typeddwarf.exp | 2 +- gdb/testsuite/gdb.dwarf2/valop.S | 2 +- gdb/testsuite/gdb.dwarf2/valop.exp | 2 +- gdb/testsuite/gdb.dwarf2/watch-notconst.c | 2 +- gdb/testsuite/gdb.dwarf2/watch-notconst.exp | 2 +- gdb/testsuite/gdb.dwarf2/watch-notconst2.S | 2 +- gdb/testsuite/gdb.dwarf2/watch-notconst2.c | 2 +- gdb/testsuite/gdb.fortran/Makefile.in | 2 +- gdb/testsuite/gdb.fortran/array-element.exp | 2 +- gdb/testsuite/gdb.fortran/array-element.f | 2 +- gdb/testsuite/gdb.fortran/charset.exp | 2 +- gdb/testsuite/gdb.fortran/common-block.exp | 2 +- gdb/testsuite/gdb.fortran/common-block.f90 | 2 +- gdb/testsuite/gdb.fortran/complex.exp | 2 +- gdb/testsuite/gdb.fortran/complex.f | 2 +- gdb/testsuite/gdb.fortran/derived-type.exp | 2 +- gdb/testsuite/gdb.fortran/derived-type.f90 | 2 +- gdb/testsuite/gdb.fortran/exprs.exp | 2 +- gdb/testsuite/gdb.fortran/library-module-lib.f90 | 2 +- gdb/testsuite/gdb.fortran/library-module-main.f90 | 2 +- gdb/testsuite/gdb.fortran/library-module.exp | 2 +- gdb/testsuite/gdb.fortran/logical.exp | 2 +- gdb/testsuite/gdb.fortran/logical.f90 | 2 +- gdb/testsuite/gdb.fortran/module.exp | 2 +- gdb/testsuite/gdb.fortran/module.f90 | 2 +- gdb/testsuite/gdb.fortran/multi-dim.exp | 2 +- gdb/testsuite/gdb.fortran/multi-dim.f90 | 2 +- gdb/testsuite/gdb.fortran/print-formatted.exp | 2 +- gdb/testsuite/gdb.fortran/print-formatted.f90 | 2 +- gdb/testsuite/gdb.fortran/subarray.exp | 2 +- gdb/testsuite/gdb.fortran/subarray.f | 2 +- gdb/testsuite/gdb.fortran/type.f90 | 2 +- gdb/testsuite/gdb.fortran/types.exp | 2 +- gdb/testsuite/gdb.fortran/whatis_type.exp | 2 +- gdb/testsuite/gdb.gdb/complaints.exp | 8 +- gdb/testsuite/gdb.gdb/observer.exp | 2 +- gdb/testsuite/gdb.gdb/python-interrupts.exp | 4 +- gdb/testsuite/gdb.gdb/python-selftest.exp | 4 +- gdb/testsuite/gdb.gdb/selftest.exp | 8 +- gdb/testsuite/gdb.gdb/xfullpath.exp | 2 +- gdb/testsuite/gdb.go/basic-types.exp | 2 +- gdb/testsuite/gdb.go/chan.exp | 2 +- gdb/testsuite/gdb.go/handcall.exp | 10 +- gdb/testsuite/gdb.go/handcall.go | 2 +- gdb/testsuite/gdb.go/hello.exp | 15 +- gdb/testsuite/gdb.go/hello.go | 6 +- gdb/testsuite/gdb.go/integers.exp | 2 +- gdb/testsuite/gdb.go/methods.exp | 2 +- gdb/testsuite/gdb.go/package.exp | 2 +- gdb/testsuite/gdb.go/print.exp | 2 +- gdb/testsuite/gdb.go/strings.exp | 10 +- gdb/testsuite/gdb.go/strings.go | 2 +- gdb/testsuite/gdb.go/types.exp | 2 +- gdb/testsuite/gdb.go/unsafe.exp | 10 +- gdb/testsuite/gdb.go/unsafe.go | 2 +- gdb/testsuite/gdb.guile/guile.exp | 2 +- gdb/testsuite/gdb.guile/scm-arch.c | 2 +- gdb/testsuite/gdb.guile/scm-arch.exp | 2 +- gdb/testsuite/gdb.guile/scm-block.c | 2 +- gdb/testsuite/gdb.guile/scm-block.exp | 2 +- gdb/testsuite/gdb.guile/scm-breakpoint.c | 2 +- gdb/testsuite/gdb.guile/scm-breakpoint.exp | 2 +- gdb/testsuite/gdb.guile/scm-cmd.c | 2 +- gdb/testsuite/gdb.guile/scm-cmd.exp | 2 +- gdb/testsuite/gdb.guile/scm-disasm.c | 2 +- gdb/testsuite/gdb.guile/scm-disasm.exp | 2 +- gdb/testsuite/gdb.guile/scm-equal.c | 2 +- gdb/testsuite/gdb.guile/scm-equal.exp | 2 +- gdb/testsuite/gdb.guile/scm-error-1.scm | 2 +- gdb/testsuite/gdb.guile/scm-error-2.scm | 2 +- gdb/testsuite/gdb.guile/scm-error.exp | 2 +- gdb/testsuite/gdb.guile/scm-frame-args.c | 2 +- gdb/testsuite/gdb.guile/scm-frame-args.exp | 2 +- gdb/testsuite/gdb.guile/scm-frame-args.scm | 2 +- gdb/testsuite/gdb.guile/scm-frame-inline.c | 2 +- gdb/testsuite/gdb.guile/scm-frame-inline.exp | 2 +- gdb/testsuite/gdb.guile/scm-frame.exp | 22 +- gdb/testsuite/gdb.guile/scm-gsmob.exp | 2 +- gdb/testsuite/gdb.guile/scm-iterator.c | 2 +- gdb/testsuite/gdb.guile/scm-iterator.exp | 2 +- gdb/testsuite/gdb.guile/scm-math.c | 2 +- gdb/testsuite/gdb.guile/scm-math.exp | 2 +- gdb/testsuite/gdb.guile/scm-objfile-script-gdb.in | 2 +- gdb/testsuite/gdb.guile/scm-objfile-script.c | 2 +- gdb/testsuite/gdb.guile/scm-objfile-script.exp | 2 +- gdb/testsuite/gdb.guile/scm-objfile.c | 2 +- gdb/testsuite/gdb.guile/scm-objfile.exp | 5 +- gdb/testsuite/gdb.guile/scm-parameter.exp | 5 +- gdb/testsuite/gdb.guile/scm-ports.c | 22 + gdb/testsuite/gdb.guile/scm-ports.exp | 138 +- gdb/testsuite/gdb.guile/scm-pretty-print.c | 2 +- gdb/testsuite/gdb.guile/scm-pretty-print.exp | 2 +- gdb/testsuite/gdb.guile/scm-pretty-print.scm | 2 +- gdb/testsuite/gdb.guile/scm-progspace.c | 2 +- gdb/testsuite/gdb.guile/scm-progspace.exp | 2 +- gdb/testsuite/gdb.guile/scm-section-script.c | 40 +- gdb/testsuite/gdb.guile/scm-section-script.exp | 47 +- gdb/testsuite/gdb.guile/scm-section-script.scm | 2 +- gdb/testsuite/gdb.guile/scm-symbol.c | 2 +- gdb/testsuite/gdb.guile/scm-symbol.exp | 2 +- gdb/testsuite/gdb.guile/scm-symtab-2.c | 2 +- gdb/testsuite/gdb.guile/scm-symtab.c | 2 +- gdb/testsuite/gdb.guile/scm-symtab.exp | 2 +- gdb/testsuite/gdb.guile/scm-type.c | 2 +- gdb/testsuite/gdb.guile/scm-type.exp | 2 +- gdb/testsuite/gdb.guile/scm-value-cc.cc | 2 +- gdb/testsuite/gdb.guile/scm-value-cc.exp | 2 +- gdb/testsuite/gdb.guile/scm-value.c | 2 +- gdb/testsuite/gdb.guile/scm-value.exp | 2 +- gdb/testsuite/gdb.guile/source2.scm | 2 +- gdb/testsuite/gdb.guile/types-module.cc | 2 +- gdb/testsuite/gdb.guile/types-module.exp | 2 +- gdb/testsuite/gdb.hp/Makefile.in | 42 - gdb/testsuite/gdb.hp/gdb.aCC/Makefile.in | 25 - gdb/testsuite/gdb.hp/gdb.aCC/optimize.c | 76 - gdb/testsuite/gdb.hp/gdb.aCC/optimize.exp | 143 - gdb/testsuite/gdb.hp/gdb.aCC/run.c | 37 - gdb/testsuite/gdb.hp/gdb.aCC/watch-cmd.exp | 148 - gdb/testsuite/gdb.hp/gdb.base-hp/Makefile.in | 30 - gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.c | 358 - gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.exp | 334 - gdb/testsuite/gdb.hp/gdb.base-hp/dollar.c | 10 - gdb/testsuite/gdb.hp/gdb.base-hp/dollar.exp | 146 - gdb/testsuite/gdb.hp/gdb.base-hp/genso-thresh.c | 229 - gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.c | 9 - gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.exp | 74 - gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.c | 37 - gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.exp | 119 - gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.exp | 182 - gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.s | 104 - gdb/testsuite/gdb.hp/gdb.base-hp/reg.exp | 230 - gdb/testsuite/gdb.hp/gdb.base-hp/reg.s | 96 - gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.c | 43 - gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.exp | 156 - gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.exp | 331 - gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.mk | 74 - gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.sh | 34 - gdb/testsuite/gdb.hp/gdb.compat/Makefile.in | 25 - gdb/testsuite/gdb.hp/gdb.compat/average.c | 46 - gdb/testsuite/gdb.hp/gdb.compat/sum.c | 15 - gdb/testsuite/gdb.hp/gdb.compat/xdb.c | 20 - gdb/testsuite/gdb.hp/gdb.compat/xdb0.c | 39 - gdb/testsuite/gdb.hp/gdb.compat/xdb0.h | 36 - gdb/testsuite/gdb.hp/gdb.compat/xdb1.c | 33 - gdb/testsuite/gdb.hp/gdb.compat/xdb1.exp | 67 - gdb/testsuite/gdb.hp/gdb.compat/xdb2.exp | 95 - gdb/testsuite/gdb.hp/gdb.compat/xdb3.exp | 316 - gdb/testsuite/gdb.hp/gdb.defects/Makefile.in | 25 - gdb/testsuite/gdb.hp/gdb.defects/bs14602.c | 9 - gdb/testsuite/gdb.hp/gdb.defects/bs14602.exp | 111 - gdb/testsuite/gdb.hp/gdb.defects/solib-d.c | 6 - gdb/testsuite/gdb.hp/gdb.defects/solib-d.exp | 271 - gdb/testsuite/gdb.hp/gdb.defects/solib-d1.c | 12 - gdb/testsuite/gdb.hp/gdb.defects/solib-d2.c | 11 - gdb/testsuite/gdb.hp/gdb.objdbg/Makefile.in | 26 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01.exp | 223 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x1.cc | 25 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x2.cc | 14 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x3.cc | 7 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x3.h | 22 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02.exp | 86 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x1.cc | 16 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x2.cc | 17 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x3.cc | 6 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03.exp | 165 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x1.cc | 15 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x2.cc | 7 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x3.cc | 21 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04.exp | 66 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x.h | 30 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x1.cc | 15 - gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x2.cc | 3 - gdb/testsuite/gdb.hp/gdb.objdbg/tools/symaddr | 8 - gdb/testsuite/gdb.hp/gdb.objdbg/tools/symaddr.pa64 | 8 - .../gdb.hp/gdb.objdbg/tools/test-objdbg.cc | 4 - gdb/testsuite/gdb.hp/tools/odump | 7 - gdb/testsuite/gdb.java/jmain.exp | 2 +- gdb/testsuite/gdb.java/jmisc.exp | 2 +- gdb/testsuite/gdb.java/jnpe.exp | 2 +- gdb/testsuite/gdb.java/jnpe.java | 2 +- gdb/testsuite/gdb.java/jprint.exp | 2 +- gdb/testsuite/gdb.java/jprint.java | 2 +- gdb/testsuite/gdb.java/jv-exp.exp | 2 +- gdb/testsuite/gdb.java/jv-print.exp | 2 +- gdb/testsuite/gdb.linespec/base/one/header.h | 2 +- gdb/testsuite/gdb.linespec/base/two/header.h | 2 +- gdb/testsuite/gdb.linespec/break-ask.exp | 2 +- gdb/testsuite/gdb.linespec/break-asm-file.c | 2 +- gdb/testsuite/gdb.linespec/break-asm-file.exp | 25 +- gdb/testsuite/gdb.linespec/break-asm-file0.s | 27 +- gdb/testsuite/gdb.linespec/break-asm-file1.s | 27 +- gdb/testsuite/gdb.linespec/keywords.c | 36 + gdb/testsuite/gdb.linespec/keywords.exp | 77 + gdb/testsuite/gdb.linespec/linespec.exp | 2 +- gdb/testsuite/gdb.linespec/ls-dollar.cc | 2 +- gdb/testsuite/gdb.linespec/ls-dollar.exp | 2 +- gdb/testsuite/gdb.linespec/ls-errs.c | 2 +- gdb/testsuite/gdb.linespec/ls-errs.exp | 5 +- gdb/testsuite/gdb.linespec/macro-relative.c | 2 +- gdb/testsuite/gdb.linespec/macro-relative.exp | 2 +- gdb/testsuite/gdb.linespec/skip-two.exp | 2 +- gdb/testsuite/gdb.linespec/thread.c | 2 +- gdb/testsuite/gdb.linespec/thread.exp | 2 +- gdb/testsuite/gdb.mi/Makefile.in | 2 +- gdb/testsuite/gdb.mi/array.f | 2 +- gdb/testsuite/gdb.mi/basics.c | 2 +- gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c | 2 +- gdb/testsuite/gdb.mi/dw2-ref-missing-frame-main.c | 2 +- gdb/testsuite/gdb.mi/dw2-ref-missing-frame.S | 2 +- gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp | 2 +- gdb/testsuite/gdb.mi/gdb2549.exp | 2 +- gdb/testsuite/gdb.mi/gdb669.exp | 2 +- gdb/testsuite/gdb.mi/gdb680.exp | 2 +- gdb/testsuite/gdb.mi/gdb701.exp | 2 +- gdb/testsuite/gdb.mi/gdb792.exp | 2 +- gdb/testsuite/gdb.mi/mi-async.exp | 2 +- gdb/testsuite/gdb.mi/mi-basics.exp | 2 +- gdb/testsuite/gdb.mi/mi-break.exp | 2 +- gdb/testsuite/gdb.mi/mi-breakpoint-changed.exp | 2 +- gdb/testsuite/gdb.mi/mi-catch-load-so.c | 2 +- gdb/testsuite/gdb.mi/mi-catch-load.c | 2 +- gdb/testsuite/gdb.mi/mi-catch-load.exp | 2 +- gdb/testsuite/gdb.mi/mi-cli.exp | 2 +- gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp | 2 +- .../gdb.mi/mi-condbreak-call-thr-state-mt.c | 2 +- .../gdb.mi/mi-condbreak-call-thr-state-st.c | 2 +- gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.c | 2 +- .../gdb.mi/mi-condbreak-call-thr-state.exp | 2 +- gdb/testsuite/gdb.mi/mi-console.exp | 2 +- gdb/testsuite/gdb.mi/mi-disassemble.exp | 2 +- gdb/testsuite/gdb.mi/mi-dprintf.c | 2 +- gdb/testsuite/gdb.mi/mi-dprintf.exp | 2 +- gdb/testsuite/gdb.mi/mi-eval.exp | 2 +- gdb/testsuite/gdb.mi/mi-exit-code.c | 2 +- gdb/testsuite/gdb.mi/mi-exit-code.exp | 2 +- gdb/testsuite/gdb.mi/mi-file-transfer.exp | 2 +- gdb/testsuite/gdb.mi/mi-file.exp | 2 +- gdb/testsuite/gdb.mi/mi-fill-memory.exp | 2 +- gdb/testsuite/gdb.mi/mi-fullname-deleted.exp | 2 +- gdb/testsuite/gdb.mi/mi-hack-cli.exp | 2 +- gdb/testsuite/gdb.mi/mi-i-cmd.exp | 2 +- gdb/testsuite/gdb.mi/mi-info-os.exp | 2 +- .../gdb.mi/mi-inheritance-syntax-error.exp | 2 +- gdb/testsuite/gdb.mi/mi-language.exp | 2 +- gdb/testsuite/gdb.mi/mi-logging.exp | 2 +- gdb/testsuite/gdb.mi/mi-memory-changed.exp | 2 +- gdb/testsuite/gdb.mi/mi-nonstop-exit.exp | 2 +- gdb/testsuite/gdb.mi/mi-nonstop.exp | 2 +- gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp | 2 +- gdb/testsuite/gdb.mi/mi-nsintrall.exp | 2 +- gdb/testsuite/gdb.mi/mi-nsmoribund.exp | 2 +- gdb/testsuite/gdb.mi/mi-nsthrexec.exp | 2 +- gdb/testsuite/gdb.mi/mi-pending.c | 46 +- gdb/testsuite/gdb.mi/mi-pending.exp | 74 +- gdb/testsuite/gdb.mi/mi-pendshr.c | 15 +- gdb/testsuite/gdb.mi/mi-pendshr2.c | 21 + gdb/testsuite/gdb.mi/mi-pthreads.exp | 2 +- gdb/testsuite/gdb.mi/mi-read-memory.exp | 2 +- gdb/testsuite/gdb.mi/mi-record-changed.exp | 2 +- gdb/testsuite/gdb.mi/mi-reg-undefined.S | 2 +- gdb/testsuite/gdb.mi/mi-reg-undefined.c | 2 +- gdb/testsuite/gdb.mi/mi-reg-undefined.exp | 2 +- gdb/testsuite/gdb.mi/mi-regs.exp | 2 +- gdb/testsuite/gdb.mi/mi-return.exp | 2 +- gdb/testsuite/gdb.mi/mi-reverse.exp | 2 +- gdb/testsuite/gdb.mi/mi-simplerun.exp | 2 +- gdb/testsuite/gdb.mi/mi-solib.exp | 2 +- gdb/testsuite/gdb.mi/mi-stack.c | 2 +- gdb/testsuite/gdb.mi/mi-stack.exp | 2 +- gdb/testsuite/gdb.mi/mi-start.c | 2 +- gdb/testsuite/gdb.mi/mi-start.exp | 2 +- gdb/testsuite/gdb.mi/mi-stepi.exp | 2 +- gdb/testsuite/gdb.mi/mi-stepn.c | 2 +- gdb/testsuite/gdb.mi/mi-stepn.exp | 2 +- gdb/testsuite/gdb.mi/mi-syn-frame.exp | 2 +- gdb/testsuite/gdb.mi/mi-undefined-cmd.exp | 2 +- gdb/testsuite/gdb.mi/mi-until.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-block.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-child-f.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-child.c | 2 +- gdb/testsuite/gdb.mi/mi-var-child.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-cmd.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-cp.cc | 2 +- gdb/testsuite/gdb.mi/mi-var-cp.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-create-rtti.c | 2 +- gdb/testsuite/gdb.mi/mi-var-create-rtti.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-display.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-invalidate.exp | 2 +- .../mi-var-list-children-invalid-grandchild.c | 46 + .../mi-var-list-children-invalid-grandchild.exp | 63 + gdb/testsuite/gdb.mi/mi-var-rtti.cc | 2 +- gdb/testsuite/gdb.mi/mi-var-rtti.exp | 2 +- gdb/testsuite/gdb.mi/mi-vla-c99.exp | 2 +- gdb/testsuite/gdb.mi/mi-watch-nonstop.exp | 2 +- gdb/testsuite/gdb.mi/mi-watch.exp | 2 +- gdb/testsuite/gdb.mi/mi2-amd64-entry-value.c | 2 +- gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp | 2 +- gdb/testsuite/gdb.mi/mi2-amd64-entry-value.s | 2 +- gdb/testsuite/gdb.mi/mi2-prompt.exp | 2 +- gdb/testsuite/gdb.mi/mi2-var-child.exp | 2 +- gdb/testsuite/gdb.mi/non-stop-exit.c | 2 +- gdb/testsuite/gdb.mi/non-stop.c | 3 +- gdb/testsuite/gdb.mi/ns-stale-regcache.c | 2 +- gdb/testsuite/gdb.mi/nsintrall.c | 2 +- gdb/testsuite/gdb.mi/nsmoribund.c | 2 +- gdb/testsuite/gdb.mi/nsthrexec.c | 3 +- gdb/testsuite/gdb.mi/pending.c | 2 +- gdb/testsuite/gdb.mi/pendshr1.c | 2 +- gdb/testsuite/gdb.mi/pendshr2.c | 2 +- gdb/testsuite/gdb.mi/pr11022.c | 2 +- gdb/testsuite/gdb.mi/pr11022.exp | 2 +- gdb/testsuite/gdb.mi/pthreads.c | 3 +- gdb/testsuite/gdb.mi/solib-lib.c | 2 +- gdb/testsuite/gdb.mi/solib-main.c | 2 +- gdb/testsuite/gdb.mi/var-cmd.c | 2 +- gdb/testsuite/gdb.mi/vla.c | 2 +- gdb/testsuite/gdb.mi/watch-nonstop.c | 2 +- gdb/testsuite/gdb.modula2/Makefile.in | 2 +- gdb/testsuite/gdb.modula2/unbounded-array.exp | 2 +- gdb/testsuite/gdb.modula2/unbounded1.c | 4 +- gdb/testsuite/gdb.multi/base.exp | 2 +- gdb/testsuite/gdb.multi/bkpt-multi-exec.exp | 2 +- gdb/testsuite/gdb.multi/dummy-frame-restore.c | 2 +- gdb/testsuite/gdb.multi/dummy-frame-restore.exp | 2 +- gdb/testsuite/gdb.multi/goodbye.c | 2 +- gdb/testsuite/gdb.multi/hangout.c | 2 +- gdb/testsuite/gdb.multi/hello.c | 2 +- gdb/testsuite/gdb.multi/multi-arch-exec.c | 2 +- gdb/testsuite/gdb.multi/multi-arch-exec.exp | 2 +- gdb/testsuite/gdb.multi/multi-arch.exp | 2 +- gdb/testsuite/gdb.multi/multi-attach.c | 2 +- gdb/testsuite/gdb.multi/multi-attach.exp | 5 +- gdb/testsuite/gdb.multi/watchpoint-multi.c | 2 +- gdb/testsuite/gdb.multi/watchpoint-multi.exp | 2 +- gdb/testsuite/gdb.objc/basicclass.exp | 2 +- gdb/testsuite/gdb.objc/nondebug.exp | 2 +- gdb/testsuite/gdb.objc/objcdecode.exp | 2 +- gdb/testsuite/gdb.objc/print.exp | 2 +- gdb/testsuite/gdb.opencl/callfuncs.cl | 2 +- gdb/testsuite/gdb.opencl/callfuncs.exp | 2 +- gdb/testsuite/gdb.opencl/convs_casts.cl | 2 +- gdb/testsuite/gdb.opencl/convs_casts.exp | 2 +- gdb/testsuite/gdb.opencl/datatypes.cl | 2 +- gdb/testsuite/gdb.opencl/datatypes.exp | 2 +- gdb/testsuite/gdb.opencl/operators.cl | 2 +- gdb/testsuite/gdb.opencl/operators.exp | 2 +- gdb/testsuite/gdb.opencl/vec_comps.cl | 2 +- gdb/testsuite/gdb.opencl/vec_comps.exp | 2 +- gdb/testsuite/gdb.opt/clobbered-registers-O2.c | 2 +- gdb/testsuite/gdb.opt/clobbered-registers-O2.exp | 2 +- gdb/testsuite/gdb.opt/inline-break.c | 2 +- gdb/testsuite/gdb.opt/inline-break.exp | 2 +- gdb/testsuite/gdb.opt/inline-bt.c | 2 +- gdb/testsuite/gdb.opt/inline-bt.exp | 2 +- gdb/testsuite/gdb.opt/inline-cmds.c | 2 +- gdb/testsuite/gdb.opt/inline-cmds.exp | 2 +- gdb/testsuite/gdb.opt/inline-locals.c | 2 +- gdb/testsuite/gdb.opt/inline-locals.exp | 2 +- gdb/testsuite/gdb.opt/inline-markers.c | 2 +- .../gdb.pascal/case-insensitive-symbols.exp | 58 + .../gdb.pascal/case-insensitive-symbols.pas | 63 + gdb/testsuite/gdb.pascal/floats.exp | 2 +- gdb/testsuite/gdb.pascal/floats.pas | 2 +- gdb/testsuite/gdb.pascal/gdb11492.exp | 2 +- gdb/testsuite/gdb.pascal/gdb11492.pas | 2 +- gdb/testsuite/gdb.pascal/hello.exp | 2 +- gdb/testsuite/gdb.pascal/integers.exp | 2 +- gdb/testsuite/gdb.pascal/integers.pas | 2 +- gdb/testsuite/gdb.pascal/print.exp | 2 +- gdb/testsuite/gdb.pascal/stub-method.exp | 30 + gdb/testsuite/gdb.pascal/stub-method.pas | 33 + gdb/testsuite/gdb.pascal/types.exp | 2 +- gdb/testsuite/gdb.perf/backtrace.c | 2 +- gdb/testsuite/gdb.perf/backtrace.exp | 2 +- gdb/testsuite/gdb.perf/backtrace.py | 2 +- gdb/testsuite/gdb.perf/disassemble.exp | 2 +- gdb/testsuite/gdb.perf/disassemble.py | 2 +- gdb/testsuite/gdb.perf/lib/perftest/__init__.py | 2 +- gdb/testsuite/gdb.perf/lib/perftest/measure.py | 2 +- gdb/testsuite/gdb.perf/lib/perftest/perftest.py | 2 +- gdb/testsuite/gdb.perf/lib/perftest/reporter.py | 2 +- gdb/testsuite/gdb.perf/lib/perftest/testresult.py | 2 +- gdb/testsuite/gdb.perf/single-step.c | 2 +- gdb/testsuite/gdb.perf/single-step.exp | 2 +- gdb/testsuite/gdb.perf/single-step.py | 2 +- gdb/testsuite/gdb.perf/skip-prologue.c | 2 +- gdb/testsuite/gdb.perf/skip-prologue.exp | 2 +- gdb/testsuite/gdb.perf/skip-prologue.py | 2 +- gdb/testsuite/gdb.perf/solib.c | 2 +- gdb/testsuite/gdb.perf/solib.exp | 2 +- gdb/testsuite/gdb.perf/solib.py | 2 +- .../gdb.python/amd64-py-framefilter-invalidarg.S | 2 +- gdb/testsuite/gdb.python/lib-types.cc | 2 +- gdb/testsuite/gdb.python/lib-types.exp | 2 +- gdb/testsuite/gdb.python/py-arch.c | 2 +- gdb/testsuite/gdb.python/py-arch.exp | 2 +- gdb/testsuite/gdb.python/py-bad-printers.c | 57 + gdb/testsuite/gdb.python/py-bad-printers.exp | 54 + gdb/testsuite/gdb.python/py-bad-printers.py | 80 + gdb/testsuite/gdb.python/py-block.c | 2 +- gdb/testsuite/gdb.python/py-block.exp | 2 +- gdb/testsuite/gdb.python/py-breakpoint.c | 2 +- gdb/testsuite/gdb.python/py-breakpoint.exp | 2 +- gdb/testsuite/gdb.python/py-caller-is.c | 2 +- gdb/testsuite/gdb.python/py-caller-is.exp | 2 +- gdb/testsuite/gdb.python/py-cmd.c | 2 +- gdb/testsuite/gdb.python/py-cmd.exp | 2 +- gdb/testsuite/gdb.python/py-completion.exp | 67 +- gdb/testsuite/gdb.python/py-completion.py | 91 +- gdb/testsuite/gdb.python/py-error.exp | 2 +- gdb/testsuite/gdb.python/py-error.py | 2 +- gdb/testsuite/gdb.python/py-events-shlib.c | 2 +- gdb/testsuite/gdb.python/py-events.c | 2 +- gdb/testsuite/gdb.python/py-events.exp | 2 +- gdb/testsuite/gdb.python/py-events.py | 2 +- gdb/testsuite/gdb.python/py-evsignal.exp | 2 +- gdb/testsuite/gdb.python/py-evthreads.c | 2 +- gdb/testsuite/gdb.python/py-evthreads.exp | 2 +- gdb/testsuite/gdb.python/py-explore-cc.exp | 2 +- gdb/testsuite/gdb.python/py-explore.c | 2 +- gdb/testsuite/gdb.python/py-explore.cc | 2 +- gdb/testsuite/gdb.python/py-explore.exp | 2 +- gdb/testsuite/gdb.python/py-finish-breakpoint.c | 2 +- gdb/testsuite/gdb.python/py-finish-breakpoint.exp | 2 +- gdb/testsuite/gdb.python/py-finish-breakpoint.py | 2 +- gdb/testsuite/gdb.python/py-finish-breakpoint2.cc | 2 +- gdb/testsuite/gdb.python/py-finish-breakpoint2.exp | 2 +- gdb/testsuite/gdb.python/py-finish-breakpoint2.py | 2 +- gdb/testsuite/gdb.python/py-frame-args.c | 2 +- gdb/testsuite/gdb.python/py-frame-args.exp | 2 +- gdb/testsuite/gdb.python/py-frame-args.py | 2 +- gdb/testsuite/gdb.python/py-frame-inline.c | 2 +- gdb/testsuite/gdb.python/py-frame-inline.exp | 2 +- gdb/testsuite/gdb.python/py-frame.exp | 16 +- gdb/testsuite/gdb.python/py-framefilter-gdb.py.in | 2 +- .../gdb.python/py-framefilter-invalidarg-gdb.py.in | 2 +- .../gdb.python/py-framefilter-invalidarg.exp | 2 +- .../gdb.python/py-framefilter-invalidarg.py | 2 +- gdb/testsuite/gdb.python/py-framefilter-mi.c | 2 +- gdb/testsuite/gdb.python/py-framefilter-mi.exp | 2 +- gdb/testsuite/gdb.python/py-framefilter.c | 2 +- gdb/testsuite/gdb.python/py-framefilter.exp | 15 +- gdb/testsuite/gdb.python/py-framefilter.py | 9 +- gdb/testsuite/gdb.python/py-function.exp | 2 +- gdb/testsuite/gdb.python/py-inferior.exp | 2 +- gdb/testsuite/gdb.python/py-infthread.exp | 2 +- gdb/testsuite/gdb.python/py-linetable.S | 2 +- gdb/testsuite/gdb.python/py-linetable.c | 2 +- gdb/testsuite/gdb.python/py-linetable.exp | 2 +- gdb/testsuite/gdb.python/py-lookup-type.exp | 60 + gdb/testsuite/gdb.python/py-mi.exp | 2 +- gdb/testsuite/gdb.python/py-objfile-script-gdb.py | 2 +- gdb/testsuite/gdb.python/py-objfile-script.c | 2 +- gdb/testsuite/gdb.python/py-objfile-script.exp | 2 +- gdb/testsuite/gdb.python/py-objfile.c | 2 +- gdb/testsuite/gdb.python/py-objfile.exp | 31 +- gdb/testsuite/gdb.python/py-parameter.exp | 5 +- gdb/testsuite/gdb.python/py-pp-integral.c | 2 +- gdb/testsuite/gdb.python/py-pp-integral.exp | 2 +- gdb/testsuite/gdb.python/py-pp-integral.py | 2 +- gdb/testsuite/gdb.python/py-pp-maint.c | 2 +- gdb/testsuite/gdb.python/py-pp-maint.exp | 2 +- gdb/testsuite/gdb.python/py-pp-maint.py | 13 +- gdb/testsuite/gdb.python/py-pp-re-notag.c | 2 +- gdb/testsuite/gdb.python/py-pp-re-notag.exp | 2 +- gdb/testsuite/gdb.python/py-pp-re-notag.py | 2 +- gdb/testsuite/gdb.python/py-pp-registration.c | 55 + gdb/testsuite/gdb.python/py-pp-registration.exp | 116 + gdb/testsuite/gdb.python/py-pp-registration.py | 80 + gdb/testsuite/gdb.python/py-prettyprint.c | 2 +- gdb/testsuite/gdb.python/py-prettyprint.exp | 2 +- gdb/testsuite/gdb.python/py-prettyprint.py | 2 +- gdb/testsuite/gdb.python/py-progspace.c | 2 +- gdb/testsuite/gdb.python/py-progspace.exp | 2 +- gdb/testsuite/gdb.python/py-prompt.c | 2 +- gdb/testsuite/gdb.python/py-prompt.exp | 12 +- gdb/testsuite/gdb.python/py-section-script.c | 51 +- gdb/testsuite/gdb.python/py-section-script.exp | 52 +- gdb/testsuite/gdb.python/py-section-script.py | 2 +- gdb/testsuite/gdb.python/py-shared-sl.c | 2 +- gdb/testsuite/gdb.python/py-shared.c | 2 +- gdb/testsuite/gdb.python/py-shared.exp | 2 +- gdb/testsuite/gdb.python/py-strfns.c | 2 +- gdb/testsuite/gdb.python/py-strfns.exp | 2 +- gdb/testsuite/gdb.python/py-symbol.c | 2 +- gdb/testsuite/gdb.python/py-symbol.exp | 2 +- gdb/testsuite/gdb.python/py-symtab.exp | 2 +- gdb/testsuite/gdb.python/py-sync-interp.c | 2 +- gdb/testsuite/gdb.python/py-sync-interp.exp | 5 +- gdb/testsuite/gdb.python/py-template.cc | 2 +- gdb/testsuite/gdb.python/py-template.exp | 2 +- gdb/testsuite/gdb.python/py-type.c | 2 +- gdb/testsuite/gdb.python/py-type.exp | 11 +- gdb/testsuite/gdb.python/py-typeprint.cc | 2 +- gdb/testsuite/gdb.python/py-typeprint.exp | 2 +- gdb/testsuite/gdb.python/py-typeprint.py | 2 +- gdb/testsuite/gdb.python/py-unwind-maint.c | 24 + gdb/testsuite/gdb.python/py-unwind-maint.exp | 64 + gdb/testsuite/gdb.python/py-unwind-maint.py | 59 + gdb/testsuite/gdb.python/py-unwind.c | 81 + gdb/testsuite/gdb.python/py-unwind.exp | 54 + gdb/testsuite/gdb.python/py-unwind.py | 99 + gdb/testsuite/gdb.python/py-value-cc.cc | 2 +- gdb/testsuite/gdb.python/py-value-cc.exp | 2 +- gdb/testsuite/gdb.python/py-value.c | 2 +- gdb/testsuite/gdb.python/py-value.exp | 2 +- gdb/testsuite/gdb.python/py-xmethods.cc | 4 +- gdb/testsuite/gdb.python/py-xmethods.exp | 20 +- gdb/testsuite/gdb.python/py-xmethods.py | 23 +- gdb/testsuite/gdb.python/python-1.c | 2 +- gdb/testsuite/gdb.python/python.c | 2 +- gdb/testsuite/gdb.python/python.exp | 2 +- gdb/testsuite/gdb.python/source1 | 2 +- gdb/testsuite/gdb.python/source2.py | 2 +- gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S | 2 +- gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c | 2 +- .../gdb.reverse/amd64-tailcall-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/break-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/break-reverse.c | 2 +- gdb/testsuite/gdb.reverse/break-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/consecutive-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/consecutive-reverse.c | 3 +- gdb/testsuite/gdb.reverse/consecutive-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/finish-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp | 2 +- gdb/testsuite/gdb.reverse/finish-reverse.c | 2 +- gdb/testsuite/gdb.reverse/finish-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/i386-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/i386-reverse.c | 2 +- gdb/testsuite/gdb.reverse/i386-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/i386-sse-reverse.c | 2 +- gdb/testsuite/gdb.reverse/i386-sse-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/i387-env-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/i387-stack-reverse.exp | 2 +- .../gdb.reverse/machinestate-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/machinestate.c | 2 +- gdb/testsuite/gdb.reverse/machinestate.exp | 2 +- gdb/testsuite/gdb.reverse/ms1.c | 2 +- .../gdb.reverse/next-reverse-bkpt-over-sr.exp | 2 +- gdb/testsuite/gdb.reverse/rerun-prec.c | 2 +- gdb/testsuite/gdb.reverse/rerun-prec.exp | 2 +- gdb/testsuite/gdb.reverse/shr.h | 2 +- gdb/testsuite/gdb.reverse/shr1.c | 2 +- gdb/testsuite/gdb.reverse/shr2.c | 2 +- gdb/testsuite/gdb.reverse/sigall-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/sigall-reverse.c | 2 +- gdb/testsuite/gdb.reverse/sigall-reverse.exp | 17 +- .../gdb.reverse/singlejmp-reverse-nodebug.S | 2 +- .../gdb.reverse/singlejmp-reverse-nodebug.c | 2 +- gdb/testsuite/gdb.reverse/singlejmp-reverse.S | 2 +- gdb/testsuite/gdb.reverse/singlejmp-reverse.c | 2 +- gdb/testsuite/gdb.reverse/singlejmp-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/solib-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/solib-reverse.c | 2 +- gdb/testsuite/gdb.reverse/solib-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/step-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/step-reverse.c | 2 +- gdb/testsuite/gdb.reverse/step-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/until-precsave.exp | 23 +- gdb/testsuite/gdb.reverse/until-reverse.c | 2 +- gdb/testsuite/gdb.reverse/until-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/ur1.c | 2 +- gdb/testsuite/gdb.reverse/watch-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/watch-reverse.c | 2 +- gdb/testsuite/gdb.reverse/watch-reverse.exp | 2 +- gdb/testsuite/gdb.server/ext-attach.c | 2 +- gdb/testsuite/gdb.server/ext-attach.exp | 5 +- gdb/testsuite/gdb.server/ext-run.exp | 2 +- gdb/testsuite/gdb.server/file-transfer.exp | 2 +- gdb/testsuite/gdb.server/no-thread-db.c | 2 +- gdb/testsuite/gdb.server/no-thread-db.exp | 2 +- gdb/testsuite/gdb.server/non-existing-program.exp | 67 + gdb/testsuite/gdb.server/server-exec-info.exp | 3 +- gdb/testsuite/gdb.server/server-kill.c | 2 +- gdb/testsuite/gdb.server/server-kill.exp | 2 +- gdb/testsuite/gdb.server/server-mon.exp | 2 +- gdb/testsuite/gdb.server/server-run.exp | 2 +- gdb/testsuite/gdb.server/server.c | 2 +- gdb/testsuite/gdb.server/solib-list-lib.c | 2 +- gdb/testsuite/gdb.server/solib-list-main.c | 2 +- gdb/testsuite/gdb.server/solib-list.exp | 2 +- gdb/testsuite/gdb.server/wrapper.c | 2 +- gdb/testsuite/gdb.server/wrapper.exp | 2 +- gdb/testsuite/gdb.stabs/exclfwd.exp | 2 +- gdb/testsuite/gdb.stabs/exclfwd.h | 2 +- gdb/testsuite/gdb.stabs/exclfwd1.c | 2 +- gdb/testsuite/gdb.stabs/exclfwd2.c | 2 +- gdb/testsuite/gdb.stabs/gdb11479.c | 2 +- gdb/testsuite/gdb.stabs/gdb11479.exp | 2 +- gdb/testsuite/gdb.stabs/weird.exp | 2 +- gdb/testsuite/gdb.threads/attach-into-signal.c | 2 +- gdb/testsuite/gdb.threads/attach-into-signal.exp | 2 +- .../gdb.threads/attach-many-short-lived-threads.c | 174 + .../attach-many-short-lived-threads.exp | 143 + gdb/testsuite/gdb.threads/attach-stopped.c | 2 +- gdb/testsuite/gdb.threads/attach-stopped.exp | 2 +- gdb/testsuite/gdb.threads/bp_in_thread.c | 2 +- gdb/testsuite/gdb.threads/bp_in_thread.exp | 2 +- gdb/testsuite/gdb.threads/break-while-running.c | 2 +- gdb/testsuite/gdb.threads/break-while-running.exp | 2 +- gdb/testsuite/gdb.threads/clone-new-thread-event.c | 2 +- .../gdb.threads/clone-new-thread-event.exp | 2 +- gdb/testsuite/gdb.threads/clone-thread_db.c | 75 + gdb/testsuite/gdb.threads/clone-thread_db.exp | 37 + .../gdb.threads/continue-pending-after-query.c | 48 + .../gdb.threads/continue-pending-after-query.exp | 90 + .../gdb.threads/continue-pending-status.c | 58 + .../gdb.threads/continue-pending-status.exp | 124 + gdb/testsuite/gdb.threads/corethreads.c | 2 +- gdb/testsuite/gdb.threads/corethreads.exp | 2 +- gdb/testsuite/gdb.threads/create-fail.c | 3 +- gdb/testsuite/gdb.threads/create-fail.exp | 2 +- gdb/testsuite/gdb.threads/current-lwp-dead.c | 2 +- gdb/testsuite/gdb.threads/current-lwp-dead.exp | 2 +- gdb/testsuite/gdb.threads/dlopen-libpthread-lib.c | 2 +- gdb/testsuite/gdb.threads/dlopen-libpthread.c | 2 +- gdb/testsuite/gdb.threads/dlopen-libpthread.exp | 2 +- gdb/testsuite/gdb.threads/execl.c | 2 +- gdb/testsuite/gdb.threads/execl.exp | 2 +- gdb/testsuite/gdb.threads/execl1.c | 2 +- gdb/testsuite/gdb.threads/fork-child-threads.c | 2 +- gdb/testsuite/gdb.threads/fork-child-threads.exp | 2 +- gdb/testsuite/gdb.threads/fork-thread-pending.c | 2 +- gdb/testsuite/gdb.threads/fork-thread-pending.exp | 4 +- gdb/testsuite/gdb.threads/gcore-stale-thread.c | 2 +- gdb/testsuite/gdb.threads/gcore-stale-thread.exp | 2 +- gdb/testsuite/gdb.threads/gcore-thread.exp | 2 +- gdb/testsuite/gdb.threads/hand-call-in-threads.c | 2 +- gdb/testsuite/gdb.threads/hand-call-in-threads.exp | 2 +- gdb/testsuite/gdb.threads/ia64-sigill.c | 13 +- gdb/testsuite/gdb.threads/ia64-sigill.exp | 2 +- gdb/testsuite/gdb.threads/info-threads-cur-sal-2.c | 2 +- gdb/testsuite/gdb.threads/info-threads-cur-sal.c | 2 +- gdb/testsuite/gdb.threads/info-threads-cur-sal.exp | 2 +- gdb/testsuite/gdb.threads/interrupted-hand-call.c | 2 +- .../gdb.threads/interrupted-hand-call.exp | 2 +- gdb/testsuite/gdb.threads/kill.c | 2 +- gdb/testsuite/gdb.threads/kill.exp | 2 +- gdb/testsuite/gdb.threads/killed.c | 3 +- gdb/testsuite/gdb.threads/killed.exp | 2 +- gdb/testsuite/gdb.threads/leader-exit.c | 2 +- gdb/testsuite/gdb.threads/leader-exit.exp | 2 +- gdb/testsuite/gdb.threads/linux-dp.c | 1 + gdb/testsuite/gdb.threads/linux-dp.exp | 2 +- .../gdb.threads/local-watch-wrong-thread.c | 2 +- .../gdb.threads/local-watch-wrong-thread.exp | 2 +- gdb/testsuite/gdb.threads/manythreads.c | 2 +- gdb/testsuite/gdb.threads/manythreads.exp | 4 +- .../gdb.threads/multi-create-ns-info-thr.exp | 52 + gdb/testsuite/gdb.threads/multi-create.c | 2 +- gdb/testsuite/gdb.threads/multi-create.exp | 2 +- gdb/testsuite/gdb.threads/multiple-step-overs.c | 9 +- gdb/testsuite/gdb.threads/multiple-step-overs.exp | 75 +- gdb/testsuite/gdb.threads/next-bp-other-thread.c | 2 +- gdb/testsuite/gdb.threads/next-bp-other-thread.exp | 2 +- gdb/testsuite/gdb.threads/no-unwaited-for-left.c | 2 +- gdb/testsuite/gdb.threads/no-unwaited-for-left.exp | 12 +- gdb/testsuite/gdb.threads/non-ldr-exc-1.c | 4 +- gdb/testsuite/gdb.threads/non-ldr-exc-1.exp | 2 +- gdb/testsuite/gdb.threads/non-ldr-exc-2.c | 4 +- gdb/testsuite/gdb.threads/non-ldr-exc-2.exp | 2 +- gdb/testsuite/gdb.threads/non-ldr-exc-3.c | 4 +- gdb/testsuite/gdb.threads/non-ldr-exc-3.exp | 2 +- gdb/testsuite/gdb.threads/non-ldr-exc-4.c | 4 +- gdb/testsuite/gdb.threads/non-ldr-exc-4.exp | 2 +- gdb/testsuite/gdb.threads/non-stop-fair-events.c | 89 + gdb/testsuite/gdb.threads/non-stop-fair-events.exp | 162 + gdb/testsuite/gdb.threads/pending-step.c | 2 +- gdb/testsuite/gdb.threads/pending-step.exp | 2 +- gdb/testsuite/gdb.threads/print-threads.exp | 2 +- gdb/testsuite/gdb.threads/pthread_cond_wait.c | 3 +- gdb/testsuite/gdb.threads/pthread_cond_wait.exp | 2 +- gdb/testsuite/gdb.threads/pthreads.c | 4 +- gdb/testsuite/gdb.threads/pthreads.exp | 2 +- gdb/testsuite/gdb.threads/queue-signal.c | 2 +- gdb/testsuite/gdb.threads/queue-signal.exp | 2 +- gdb/testsuite/gdb.threads/reconnect-signal.c | 2 +- gdb/testsuite/gdb.threads/reconnect-signal.exp | 2 +- gdb/testsuite/gdb.threads/schedlock.c | 2 +- gdb/testsuite/gdb.threads/schedlock.exp | 13 +- gdb/testsuite/gdb.threads/siginfo-threads.c | 15 +- gdb/testsuite/gdb.threads/siginfo-threads.exp | 2 +- .../gdb.threads/signal-command-handle-nopass.c | 2 +- .../gdb.threads/signal-command-handle-nopass.exp | 2 +- .../signal-command-multiple-signals-pending.c | 13 +- .../signal-command-multiple-signals-pending.exp | 9 +- .../gdb.threads/signal-delivered-right-thread.c | 2 +- .../gdb.threads/signal-delivered-right-thread.exp | 2 +- gdb/testsuite/gdb.threads/signal-sigtrap.c | 46 + gdb/testsuite/gdb.threads/signal-sigtrap.exp | 67 + .../signal-while-stepping-over-bp-other-thread.c | 2 +- .../signal-while-stepping-over-bp-other-thread.exp | 22 +- gdb/testsuite/gdb.threads/sigstep-threads.c | 2 +- gdb/testsuite/gdb.threads/sigstep-threads.exp | 2 +- gdb/testsuite/gdb.threads/sigthread.exp | 2 +- gdb/testsuite/gdb.threads/staticthreads.c | 2 +- gdb/testsuite/gdb.threads/staticthreads.exp | 2 +- .../gdb.threads/step-bg-decr-pc-switch-thread.c | 54 + .../gdb.threads/step-bg-decr-pc-switch-thread.exp | 91 + .../gdb.threads/step-over-lands-on-breakpoint.c | 2 +- .../gdb.threads/step-over-lands-on-breakpoint.exp | 24 +- .../gdb.threads/step-over-trips-on-watchpoint.c | 4 +- .../gdb.threads/step-over-trips-on-watchpoint.exp | 73 +- gdb/testsuite/gdb.threads/stepi-random-signal.c | 2 +- gdb/testsuite/gdb.threads/stepi-random-signal.exp | 2 +- gdb/testsuite/gdb.threads/switch-threads.c | 2 +- gdb/testsuite/gdb.threads/switch-threads.exp | 2 +- gdb/testsuite/gdb.threads/thread-execl.c | 2 +- gdb/testsuite/gdb.threads/thread-execl.exp | 26 +- gdb/testsuite/gdb.threads/thread-find.exp | 2 +- gdb/testsuite/gdb.threads/thread-specific-bp.c | 2 +- gdb/testsuite/gdb.threads/thread-specific-bp.exp | 15 +- gdb/testsuite/gdb.threads/thread-specific.c | 2 +- gdb/testsuite/gdb.threads/thread-specific.exp | 2 +- .../gdb.threads/thread-unwindonsignal.exp | 2 +- gdb/testsuite/gdb.threads/thread_check.c | 2 +- gdb/testsuite/gdb.threads/thread_check.exp | 2 +- gdb/testsuite/gdb.threads/thread_events.c | 2 +- gdb/testsuite/gdb.threads/thread_events.exp | 2 +- gdb/testsuite/gdb.threads/threadapply.c | 2 +- gdb/testsuite/gdb.threads/threadapply.exp | 2 +- gdb/testsuite/gdb.threads/threxit-hop-specific.c | 2 +- gdb/testsuite/gdb.threads/threxit-hop-specific.exp | 2 +- gdb/testsuite/gdb.threads/tid-reuse.c | 151 + gdb/testsuite/gdb.threads/tid-reuse.exp | 80 + gdb/testsuite/gdb.threads/tls-main.c | 1 + gdb/testsuite/gdb.threads/tls-nodebug.exp | 2 +- gdb/testsuite/gdb.threads/tls-shared.exp | 2 +- gdb/testsuite/gdb.threads/tls-var-main.c | 2 +- gdb/testsuite/gdb.threads/tls-var.c | 2 +- gdb/testsuite/gdb.threads/tls-var.exp | 2 +- gdb/testsuite/gdb.threads/tls.exp | 2 +- gdb/testsuite/gdb.threads/tls2.c | 2 +- gdb/testsuite/gdb.threads/watchpoint-fork-child.c | 2 +- gdb/testsuite/gdb.threads/watchpoint-fork-mt.c | 5 +- gdb/testsuite/gdb.threads/watchpoint-fork-parent.c | 2 +- gdb/testsuite/gdb.threads/watchpoint-fork-st.c | 2 +- gdb/testsuite/gdb.threads/watchpoint-fork.exp | 2 +- gdb/testsuite/gdb.threads/watchpoint-fork.h | 2 +- gdb/testsuite/gdb.threads/watchthreads-reorder.c | 15 +- gdb/testsuite/gdb.threads/watchthreads-reorder.exp | 2 +- gdb/testsuite/gdb.threads/watchthreads.c | 2 +- gdb/testsuite/gdb.threads/watchthreads.exp | 2 +- gdb/testsuite/gdb.threads/watchthreads2.c | 2 +- gdb/testsuite/gdb.threads/watchthreads2.exp | 2 +- gdb/testsuite/gdb.threads/wp-replication.c | 2 +- gdb/testsuite/gdb.threads/wp-replication.exp | 2 +- gdb/testsuite/gdb.trace/Makefile.in | 4 +- gdb/testsuite/gdb.trace/actions-changed.c | 2 +- gdb/testsuite/gdb.trace/actions-changed.exp | 2 +- gdb/testsuite/gdb.trace/actions.c | 2 +- gdb/testsuite/gdb.trace/actions.exp | 15 +- gdb/testsuite/gdb.trace/ax.exp | 2 +- gdb/testsuite/gdb.trace/backtrace.exp | 2 +- gdb/testsuite/gdb.trace/change-loc-1.c | 2 +- gdb/testsuite/gdb.trace/change-loc-2.c | 2 +- gdb/testsuite/gdb.trace/change-loc.c | 2 +- gdb/testsuite/gdb.trace/change-loc.exp | 2 +- gdb/testsuite/gdb.trace/change-loc.h | 2 +- gdb/testsuite/gdb.trace/circ.c | 2 +- gdb/testsuite/gdb.trace/circ.exp | 2 +- gdb/testsuite/gdb.trace/collection.c | 2 +- gdb/testsuite/gdb.trace/collection.exp | 2 +- gdb/testsuite/gdb.trace/deltrace.exp | 2 +- gdb/testsuite/gdb.trace/disconnected-tracing.c | 2 +- gdb/testsuite/gdb.trace/disconnected-tracing.exp | 2 +- gdb/testsuite/gdb.trace/entry-values.c | 2 +- gdb/testsuite/gdb.trace/entry-values.exp | 40 +- gdb/testsuite/gdb.trace/ftrace.c | 2 +- gdb/testsuite/gdb.trace/ftrace.exp | 2 +- gdb/testsuite/gdb.trace/infotrace.exp | 13 +- .../gdb.trace/mi-trace-frame-collected.exp | 2 +- gdb/testsuite/gdb.trace/mi-trace-unavailable.exp | 2 +- gdb/testsuite/gdb.trace/mi-traceframe-changed.exp | 2 +- gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp | 2 +- gdb/testsuite/gdb.trace/mi-tsv-changed.exp | 2 +- gdb/testsuite/gdb.trace/no-attach-trace.c | 26 + gdb/testsuite/gdb.trace/no-attach-trace.exp | 49 + gdb/testsuite/gdb.trace/packetlen.exp | 2 +- gdb/testsuite/gdb.trace/passc-dyn.exp | 2 +- gdb/testsuite/gdb.trace/passcount.exp | 2 +- gdb/testsuite/gdb.trace/pending.c | 2 +- gdb/testsuite/gdb.trace/pending.exp | 2 +- gdb/testsuite/gdb.trace/pendshr1.c | 2 +- gdb/testsuite/gdb.trace/pendshr2.c | 2 +- gdb/testsuite/gdb.trace/pr16508.exp | 2 +- gdb/testsuite/gdb.trace/qtro.c | 2 +- gdb/testsuite/gdb.trace/qtro.exp | 2 +- gdb/testsuite/gdb.trace/range-stepping.c | 2 +- gdb/testsuite/gdb.trace/range-stepping.exp | 2 +- gdb/testsuite/gdb.trace/read-memory.c | 2 +- gdb/testsuite/gdb.trace/read-memory.exp | 2 +- gdb/testsuite/gdb.trace/report.exp | 2 +- gdb/testsuite/gdb.trace/save-trace.exp | 2 +- gdb/testsuite/gdb.trace/stap-trace.c | 2 +- gdb/testsuite/gdb.trace/stap-trace.exp | 2 +- gdb/testsuite/gdb.trace/status-stop.c | 2 +- gdb/testsuite/gdb.trace/status-stop.exp | 2 +- gdb/testsuite/gdb.trace/strace.c | 2 +- gdb/testsuite/gdb.trace/strace.exp | 2 +- gdb/testsuite/gdb.trace/tfile.c | 2 +- gdb/testsuite/gdb.trace/tfile.exp | 2 +- gdb/testsuite/gdb.trace/tfind.exp | 2 +- gdb/testsuite/gdb.trace/trace-break.c | 2 +- gdb/testsuite/gdb.trace/trace-break.exp | 2 +- gdb/testsuite/gdb.trace/trace-buffer-size.c | 2 +- gdb/testsuite/gdb.trace/trace-buffer-size.exp | 2 +- gdb/testsuite/gdb.trace/trace-mt.c | 2 +- gdb/testsuite/gdb.trace/trace-mt.exp | 2 +- gdb/testsuite/gdb.trace/trace-unavailable.c | 2 +- gdb/testsuite/gdb.trace/tracecmd.exp | 2 +- gdb/testsuite/gdb.trace/tspeed.c | 2 +- gdb/testsuite/gdb.trace/tspeed.exp | 2 +- gdb/testsuite/gdb.trace/tstatus.exp | 2 +- gdb/testsuite/gdb.trace/tsv.exp | 2 +- gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c | 2 +- .../gdb.trace/unavailable-dwarf-piece.exp | 14 +- gdb/testsuite/gdb.trace/unavailable.cc | 2 +- gdb/testsuite/gdb.trace/unavailable.exp | 2 +- gdb/testsuite/gdb.trace/while-dyn.exp | 2 +- gdb/testsuite/gdb.trace/while-stepping.exp | 16 +- gdb/testsuite/gdb.xml/maint_print_struct.exp | 2 +- gdb/testsuite/gdb.xml/maint_print_struct.xml | 2 +- gdb/testsuite/gdb.xml/tdesc-arch.exp | 2 +- gdb/testsuite/gdb.xml/tdesc-errors.exp | 2 +- gdb/testsuite/gdb.xml/tdesc-regs.exp | 5 +- gdb/testsuite/gdb.xml/tdesc-xinclude.exp | 2 +- gdb/testsuite/lib/ada.exp | 2 +- gdb/testsuite/lib/append_gdb_boards_dir.exp | 2 +- gdb/testsuite/lib/cache.exp | 2 +- gdb/testsuite/lib/cell.exp | 2 +- gdb/testsuite/lib/cl_util.c | 2 +- gdb/testsuite/lib/cl_util.h | 2 +- gdb/testsuite/lib/compiler.c | 2 +- gdb/testsuite/lib/compiler.cc | 2 +- gdb/testsuite/lib/cp-support.exp | 2 +- gdb/testsuite/lib/d-support.exp | 2 +- gdb/testsuite/lib/dtrace.exp | 71 + gdb/testsuite/lib/dwarf.exp | 161 +- gdb/testsuite/lib/fortran.exp | 2 +- gdb/testsuite/lib/future.exp | 2 +- gdb/testsuite/lib/gdb-guile.exp | 2 +- gdb/testsuite/lib/gdb-python.exp | 2 +- gdb/testsuite/lib/gdb-utils.exp | 2 +- gdb/testsuite/lib/gdb.exp | 253 +- gdb/testsuite/lib/gdbserver-support.exp | 86 +- gdb/testsuite/lib/go.exp | 2 +- gdb/testsuite/lib/java.exp | 2 +- gdb/testsuite/lib/mi-support.exp | 9 +- gdb/testsuite/lib/objc.exp | 2 +- gdb/testsuite/lib/opencl.exp | 2 +- gdb/testsuite/lib/opencl_hostapp.c | 2 +- gdb/testsuite/lib/pascal.exp | 36 +- gdb/testsuite/lib/pdtrace.in | 1033 + gdb/testsuite/lib/perftest.exp | 2 +- gdb/testsuite/lib/prelink-support.exp | 2 +- gdb/testsuite/lib/prompt.exp | 4 +- gdb/testsuite/lib/range-stepping-support.exp | 2 +- gdb/testsuite/lib/read1.c | 2 +- gdb/testsuite/lib/selftest-support.exp | 2 +- gdb/testsuite/lib/set_unbuffered_mode.c | 2 +- gdb/testsuite/lib/trace-support.exp | 2 +- gdb/testsuite/lib/unbuffer_output.c | 39 + gdb/thread.c | 87 +- gdb/tic6x-linux-tdep.c | 2 +- gdb/tic6x-tdep.c | 2 +- gdb/tic6x-tdep.h | 2 +- gdb/tilegx-linux-nat.c | 2 +- gdb/tilegx-linux-tdep.c | 2 +- gdb/tilegx-tdep.c | 2 +- gdb/tilegx-tdep.h | 2 +- gdb/top.c | 206 +- gdb/top.h | 4 +- gdb/tracefile-tfile.c | 18 +- gdb/tracefile.c | 2 +- gdb/tracepoint.c | 8 +- gdb/tracepoint.h | 2 +- gdb/trad-frame.c | 2 +- gdb/trad-frame.h | 2 +- gdb/tramp-frame.c | 2 +- gdb/tramp-frame.h | 2 +- gdb/transform.m4 | 23 + gdb/tui/tui-command.c | 122 +- gdb/tui/tui-command.h | 5 +- gdb/tui/tui-data.c | 26 +- gdb/tui/tui-data.h | 26 +- gdb/tui/tui-disasm.c | 10 +- gdb/tui/tui-disasm.h | 2 +- gdb/tui/tui-file.c | 12 +- gdb/tui/tui-file.h | 2 +- gdb/tui/tui-hooks.c | 66 +- gdb/tui/tui-hooks.h | 2 +- gdb/tui/tui-interp.c | 2 +- gdb/tui/tui-io.c | 368 +- gdb/tui/tui-io.h | 5 +- gdb/tui/tui-layout.c | 68 +- gdb/tui/tui-layout.h | 2 +- gdb/tui/tui-out.c | 2 +- gdb/tui/tui-regs.c | 51 +- gdb/tui/tui-regs.h | 2 +- gdb/tui/tui-source.c | 40 +- gdb/tui/tui-source.h | 2 +- gdb/tui/tui-stack.c | 15 +- gdb/tui/tui-stack.h | 2 +- gdb/tui/tui-win.c | 187 +- gdb/tui/tui-win.h | 6 +- gdb/tui/tui-windata.c | 4 +- gdb/tui/tui-windata.h | 2 +- gdb/tui/tui-wingeneral.c | 4 +- gdb/tui/tui-wingeneral.h | 2 +- gdb/tui/tui-winsource.c | 56 +- gdb/tui/tui-winsource.h | 2 +- gdb/tui/tui.c | 32 +- gdb/tui/tui.h | 2 +- gdb/typeprint.c | 26 +- gdb/typeprint.h | 2 +- gdb/ui-file.c | 2 +- gdb/ui-file.h | 4 +- gdb/ui-out.c | 2 +- gdb/ui-out.h | 2 +- gdb/unwind_stop_reasons.def | 2 +- gdb/user-regs.c | 2 +- gdb/user-regs.h | 2 +- gdb/utils.c | 185 +- gdb/utils.h | 15 +- gdb/v850-tdep.c | 2 +- gdb/valarith.c | 59 +- gdb/valops.c | 47 +- gdb/valprint.c | 41 +- gdb/valprint.h | 17 +- gdb/value.c | 177 +- gdb/value.h | 11 +- gdb/varobj-iter.h | 2 +- gdb/varobj.c | 210 +- gdb/varobj.h | 89 +- gdb/vax-tdep.c | 2 +- gdb/vax-tdep.h | 2 +- gdb/vaxbsd-nat.c | 2 +- gdb/vaxnbsd-tdep.c | 2 +- gdb/vaxobsd-tdep.c | 2 +- gdb/version.in | 2 +- gdb/windows-nat.c | 202 +- gdb/windows-nat.h | 2 +- gdb/windows-tdep.c | 5 +- gdb/windows-tdep.h | 2 +- gdb/windows-termcap.c | 73 - gdb/x86-linux-nat.c | 209 +- gdb/x86-linux-nat.h | 2 +- gdb/x86-nat.c | 2 +- gdb/x86-nat.h | 7 +- gdb/xcoffread.c | 43 +- gdb/xcoffread.h | 2 +- gdb/xml-support.c | 14 +- gdb/xml-support.h | 2 +- gdb/xml-syscall.c | 2 +- gdb/xml-syscall.h | 2 +- gdb/xml-tdesc.c | 2 +- gdb/xml-tdesc.h | 2 +- gdb/xstormy16-tdep.c | 2 +- gdb/xtensa-config.c | 2 +- gdb/xtensa-linux-nat.c | 2 +- gdb/xtensa-linux-tdep.c | 2 +- gdb/xtensa-tdep.c | 2 +- gdb/xtensa-tdep.h | 16 +- gdb/xtensa-xtregs.c | 2 +- gold/ChangeLog | 757 +- gold/Makefile.am | 18 +- gold/Makefile.in | 23 +- gold/NEWS | 2 +- gold/README | 2 +- gold/aarch64-reloc-property.cc | 2 +- gold/aarch64-reloc-property.h | 2 +- gold/aarch64-reloc.def | 9 +- gold/aarch64.cc | 664 +- gold/archive.cc | 64 +- gold/archive.h | 2 +- gold/arm-reloc-property.cc | 2 +- gold/arm-reloc-property.h | 2 +- gold/arm-reloc.def | 2 +- gold/arm.cc | 625 +- gold/attributes.cc | 2 +- gold/attributes.h | 7 +- gold/binary.cc | 2 +- gold/binary.h | 2 +- gold/common.cc | 2 +- gold/common.h | 2 +- gold/compressed_output.cc | 26 +- gold/compressed_output.h | 2 +- gold/config.in | 3 - gold/configure | 132 +- gold/configure.ac | 19 +- gold/configure.tgt | 2 +- gold/copy-relocs.cc | 2 +- gold/copy-relocs.h | 2 +- gold/cref.cc | 2 +- gold/cref.h | 2 +- gold/debug.h | 7 +- gold/defstd.cc | 2 +- gold/defstd.h | 2 +- gold/descriptors.cc | 19 +- gold/descriptors.h | 2 +- gold/dirsearch.cc | 2 +- gold/dirsearch.h | 2 +- gold/dwarf_reader.cc | 34 +- gold/dwarf_reader.h | 2 +- gold/dwp.cc | 76 +- gold/dwp.h | 2 +- gold/dynobj.cc | 13 +- gold/dynobj.h | 2 +- gold/ehframe.cc | 53 +- gold/ehframe.h | 25 +- gold/errors.cc | 2 +- gold/errors.h | 2 +- gold/expression.cc | 2 +- gold/ffsll.c | 2 +- gold/fileread.cc | 4 +- gold/fileread.h | 2 +- gold/freebsd.h | 2 +- gold/ftruncate.c | 2 +- gold/gc.cc | 24 +- gold/gc.h | 37 +- gold/gdb-index.cc | 6 +- gold/gdb-index.h | 2 +- gold/gold-threads.cc | 2 +- gold/gold-threads.h | 2 +- gold/gold.cc | 5 +- gold/gold.h | 2 +- gold/i386.cc | 156 +- gold/icf.cc | 10 +- gold/icf.h | 12 +- gold/incremental-dump.cc | 2 +- gold/incremental.cc | 3 +- gold/incremental.h | 2 +- gold/int_encoding.cc | 2 +- gold/int_encoding.h | 2 +- gold/layout.cc | 89 +- gold/layout.h | 8 +- gold/main.cc | 2 +- gold/mapfile.cc | 2 +- gold/mapfile.h | 2 +- gold/merge.cc | 162 +- gold/merge.h | 120 +- gold/mips.cc | 32 +- gold/mremap.c | 2 +- gold/nacl.cc | 2 +- gold/nacl.h | 2 +- gold/object.cc | 95 +- gold/object.h | 151 +- gold/options.cc | 11 +- gold/options.h | 17 +- gold/output.cc | 98 +- gold/output.h | 67 +- gold/parameters.cc | 4 +- gold/parameters.h | 2 +- gold/plugin.cc | 27 +- gold/plugin.h | 9 +- gold/po/Make-in | 2 +- gold/po/fi.po | 2481 ++- gold/powerpc.cc | 222 +- gold/pread.c | 2 +- gold/readsyms.cc | 2 +- gold/readsyms.h | 2 +- gold/reduced_debug_output.cc | 2 +- gold/reduced_debug_output.h | 2 +- gold/reloc-types.h | 2 +- gold/reloc.cc | 30 +- gold/reloc.h | 2 +- gold/resolve.cc | 2 +- gold/script-c.h | 4 +- gold/script-sections.cc | 2 +- gold/script-sections.h | 2 +- gold/script.cc | 7 +- gold/script.h | 2 +- gold/sparc.cc | 2 +- gold/stringpool.cc | 6 +- gold/stringpool.h | 2 +- gold/symtab.cc | 42 +- gold/symtab.h | 16 +- gold/system.h | 2 +- gold/target-reloc.h | 2 +- gold/target-select.cc | 2 +- gold/target-select.h | 2 +- gold/target.cc | 2 +- gold/target.h | 10 +- gold/testsuite/Makefile.am | 364 +- gold/testsuite/Makefile.in | 1103 +- gold/testsuite/arm_abs_global.sh | 2 +- gold/testsuite/arm_attr_merge.sh | 2 +- gold/testsuite/arm_branch_in_range.sh | 2 +- gold/testsuite/arm_branch_out_of_range.sh | 2 +- gold/testsuite/arm_branch_range.t | 2 +- gold/testsuite/arm_cortex_a8.sh | 2 +- gold/testsuite/arm_exidx_test.sh | 2 +- gold/testsuite/arm_farcall_arm_arm.sh | 2 +- gold/testsuite/arm_farcall_arm_thumb.sh | 2 +- gold/testsuite/arm_farcall_thumb_arm.sh | 2 +- gold/testsuite/arm_farcall_thumb_thumb.sh | 2 +- gold/testsuite/arm_fix_1176.sh | 2 +- gold/testsuite/arm_fix_v4bx.sh | 2 +- gold/testsuite/arm_thm_jump11.t | 2 +- gold/testsuite/arm_thm_jump8.t | 2 +- gold/testsuite/arm_unaligned_reloc.sh | 2 +- gold/testsuite/basic_test.cc | 2 +- gold/testsuite/binary_test.cc | 2 +- gold/testsuite/binary_unittest.cc | 2 +- gold/testsuite/common_test_1.c | 2 +- gold/testsuite/common_test_1_v1.c | 2 +- gold/testsuite/common_test_1_v2.c | 2 +- gold/testsuite/common_test_2.c | 2 +- gold/testsuite/common_test_3.c | 2 +- gold/testsuite/constructor_test.cc | 2 +- gold/testsuite/copy_test.cc | 2 +- gold/testsuite/copy_test_1.cc | 2 +- gold/testsuite/copy_test_2.cc | 2 +- gold/testsuite/copy_test_v1.cc | 2 +- gold/testsuite/debug_msg.cc | 2 +- gold/testsuite/debug_msg.sh | 14 +- gold/testsuite/defsym_test.sh | 2 +- gold/testsuite/discard_locals_relocatable_test.c | 2 +- gold/testsuite/discard_locals_test.c | 2 +- gold/testsuite/discard_locals_test.sh | 2 +- gold/testsuite/dwp_test.h | 2 +- gold/testsuite/dwp_test_1.cc | 2 +- gold/testsuite/dwp_test_1.sh | 2 +- gold/testsuite/dwp_test_1b.cc | 2 +- gold/testsuite/dwp_test_2.cc | 2 +- gold/testsuite/dwp_test_2.sh | 2 +- gold/testsuite/dwp_test_main.cc | 2 +- gold/testsuite/dyn_weak_ref.sh | 2 +- gold/testsuite/dyn_weak_ref_1.c | 2 +- gold/testsuite/dyn_weak_ref_2.c | 2 +- gold/testsuite/dynamic_list.sh | 2 +- gold/testsuite/dynamic_list_2.cc | 2 +- gold/testsuite/dynamic_list_2.t | 2 +- gold/testsuite/dynamic_list_lib1.cc | 2 +- gold/testsuite/dynamic_list_lib2.cc | 2 +- gold/testsuite/eh_test_a.cc | 4 + gold/testsuite/eh_test_b.cc | 23 + gold/testsuite/ehdr_start_def.cc | 2 +- gold/testsuite/ehdr_start_test.cc | 2 +- gold/testsuite/ehdr_start_test.t | 2 +- gold/testsuite/ehdr_start_test_4.sh | 2 +- gold/testsuite/exception_test.h | 2 +- gold/testsuite/exception_test_1.cc | 2 +- gold/testsuite/exception_test_2.cc | 2 +- gold/testsuite/exception_test_main.cc | 2 +- gold/testsuite/exclude_libs_test.sh | 2 +- gold/testsuite/final_layout.cc | 2 +- gold/testsuite/final_layout.sh | 2 +- gold/testsuite/gc_comdat_test.sh | 2 +- gold/testsuite/gc_comdat_test_1.cc | 2 +- gold/testsuite/gc_comdat_test_2.cc | 2 +- gold/testsuite/gc_dynamic_list_test.c | 2 +- gold/testsuite/gc_dynamic_list_test.sh | 2 +- gold/testsuite/gc_dynamic_list_test.t | 2 +- gold/testsuite/gc_orphan_section_test.cc | 2 +- gold/testsuite/gc_orphan_section_test.sh | 2 +- gold/testsuite/gc_tls_test.cc | 2 +- gold/testsuite/gc_tls_test.sh | 2 +- gold/testsuite/gdb_index_test.cc | 2 +- gold/testsuite/gdb_index_test_1.sh | 2 +- gold/testsuite/gdb_index_test_2.sh | 2 +- gold/testsuite/gdb_index_test_3.c | 2 +- gold/testsuite/gdb_index_test_3.sh | 2 +- gold/testsuite/gdb_index_test_4.sh | 2 +- gold/testsuite/gdb_index_test_comm.sh | 2 +- gold/testsuite/hidden_test.sh | 2 +- gold/testsuite/hidden_test_1.c | 2 +- gold/testsuite/hidden_test_main.c | 2 +- gold/testsuite/i386_mov_to_lea.sh | 36 + gold/testsuite/i386_mov_to_lea1.s | 11 + gold/testsuite/i386_mov_to_lea2.s | 10 + gold/testsuite/i386_mov_to_lea3.s | 4 + gold/testsuite/i386_mov_to_lea4.s | 12 + gold/testsuite/i386_mov_to_lea5.s | 12 + gold/testsuite/icf_keep_unique_test.cc | 2 +- gold/testsuite/icf_keep_unique_test.sh | 2 +- gold/testsuite/icf_preemptible_functions_test.cc | 2 +- gold/testsuite/icf_preemptible_functions_test.sh | 2 +- gold/testsuite/icf_safe_so_test.cc | 2 +- gold/testsuite/icf_safe_so_test.sh | 2 +- gold/testsuite/icf_safe_test.cc | 2 +- gold/testsuite/icf_safe_test.sh | 2 +- gold/testsuite/icf_sht_rel_addend_test.sh | 2 +- gold/testsuite/icf_sht_rel_addend_test_1.cc | 2 +- gold/testsuite/icf_sht_rel_addend_test_2.cc | 2 +- gold/testsuite/icf_string_merge_test.cc | 2 +- gold/testsuite/icf_string_merge_test.sh | 2 +- gold/testsuite/icf_test.cc | 2 +- gold/testsuite/icf_test.sh | 2 +- .../testsuite/icf_virtual_function_folding_test.cc | 2 +- gold/testsuite/incr_comdat_test_1.cc | 2 +- gold/testsuite/incr_comdat_test_2_v1.cc | 2 +- gold/testsuite/incr_comdat_test_2_v2.cc | 2 +- gold/testsuite/incr_comdat_test_2_v3.cc | 2 +- gold/testsuite/incremental_test.sh | 2 +- gold/testsuite/incremental_test_1.c | 2 +- gold/testsuite/incremental_test_2.c | 2 +- gold/testsuite/initpri1.c | 2 +- gold/testsuite/initpri2.c | 2 +- gold/testsuite/initpri3.c | 2 +- gold/testsuite/justsyms.t | 2 +- gold/testsuite/justsyms_1.cc | 2 +- gold/testsuite/justsyms_2.cc | 2 +- gold/testsuite/justsyms_exec.c | 2 +- gold/testsuite/justsyms_lib.c | 2 +- gold/testsuite/large.c | 2 +- gold/testsuite/large_symbol_alignment.cc | 2 +- gold/testsuite/leb128_unittest.cc | 2 +- gold/testsuite/many_sections_test.cc | 2 +- gold/testsuite/memory_test.sh | 2 +- gold/testsuite/memory_test_inc.t | 28 + gold/testsuite/memory_test_inc_1.t.src | 1 + gold/testsuite/memory_test_inc_2.t.src | 1 + gold/testsuite/memory_test_inc_3.t.src | 1 + gold/testsuite/merge_string_literals.sh | 2 +- gold/testsuite/merge_string_literals_1.cc | 2 +- gold/testsuite/merge_string_literals_2.cc | 2 +- gold/testsuite/missing_key_func.cc | 2 +- gold/testsuite/missing_key_func.sh | 2 +- gold/testsuite/no_version_test.c | 2 +- gold/testsuite/no_version_test.sh | 2 +- gold/testsuite/object_unittest.cc | 2 +- gold/testsuite/pie_copyrelocs_shared_test.cc | 2 +- gold/testsuite/pie_copyrelocs_test.cc | 2 +- gold/testsuite/plugin_common_test_1.c | 2 +- gold/testsuite/plugin_common_test_2.c | 2 +- gold/testsuite/plugin_final_layout.cc | 2 +- gold/testsuite/plugin_final_layout.sh | 2 +- gold/testsuite/plugin_section_order.c | 2 +- gold/testsuite/plugin_test.c | 58 +- gold/testsuite/plugin_test_1.sh | 18 +- gold/testsuite/plugin_test_10.sh | 2 +- gold/testsuite/plugin_test_11.sh | 59 + gold/testsuite/plugin_test_2.sh | 14 +- gold/testsuite/plugin_test_3.sh | 18 +- gold/testsuite/plugin_test_4.sh | 2 +- gold/testsuite/plugin_test_6.sh | 26 +- gold/testsuite/plugin_test_7.sh | 2 +- gold/testsuite/plugin_test_7_1.c | 2 +- gold/testsuite/plugin_test_7_2.c | 2 +- gold/testsuite/plugin_test_tls.sh | 20 +- gold/testsuite/pr12826.sh | 2 +- gold/testsuite/pr14265.sh | 2 +- gold/testsuite/protected_1.cc | 2 +- gold/testsuite/protected_2.cc | 2 +- gold/testsuite/protected_3.cc | 2 +- gold/testsuite/protected_4.cc | 2 +- gold/testsuite/protected_main_1.cc | 2 +- gold/testsuite/protected_main_2.cc | 2 +- gold/testsuite/protected_main_3.cc | 2 +- gold/testsuite/relro_script_test.t | 2 +- gold/testsuite/relro_test.cc | 2 +- gold/testsuite/relro_test.sh | 2 +- gold/testsuite/relro_test_main.cc | 2 +- gold/testsuite/retain_symbols_file_test.sh | 2 +- gold/testsuite/script_test_1.cc | 2 +- gold/testsuite/script_test_1.t | 2 +- gold/testsuite/script_test_10.sh | 2 +- gold/testsuite/script_test_10.t | 2 +- gold/testsuite/script_test_2.cc | 2 +- gold/testsuite/script_test_2.t | 2 +- gold/testsuite/script_test_2a.cc | 2 +- gold/testsuite/script_test_2b.cc | 2 +- gold/testsuite/script_test_3.sh | 2 +- gold/testsuite/script_test_3.t | 2 +- gold/testsuite/script_test_4.sh | 2 +- gold/testsuite/script_test_4.t | 2 +- gold/testsuite/script_test_5.cc | 2 +- gold/testsuite/script_test_5.sh | 2 +- gold/testsuite/script_test_5.t | 2 +- gold/testsuite/script_test_6.sh | 2 +- gold/testsuite/script_test_6.t | 2 +- gold/testsuite/script_test_7.sh | 2 +- gold/testsuite/script_test_7.t | 2 +- gold/testsuite/script_test_8.sh | 2 +- gold/testsuite/script_test_9.cc | 2 +- gold/testsuite/script_test_9.sh | 2 +- gold/testsuite/searched_file_test.cc | 2 +- gold/testsuite/searched_file_test_lib.cc | 2 +- gold/testsuite/section_sorting_name.cc | 2 +- gold/testsuite/section_sorting_name.sh | 2 +- gold/testsuite/split_i386.sh | 2 +- gold/testsuite/split_x32.sh | 55 + gold/testsuite/split_x32_1.s | 33 + gold/testsuite/split_x32_2.s | 33 + gold/testsuite/split_x32_3.s | 22 + gold/testsuite/split_x32_4.s | 23 + gold/testsuite/split_x32_n.s | 12 + gold/testsuite/split_x86_64.sh | 2 +- gold/testsuite/start_lib_test_1.c | 2 +- gold/testsuite/start_lib_test_2.c | 2 +- gold/testsuite/start_lib_test_3.c | 2 +- gold/testsuite/start_lib_test_main.c | 2 +- gold/testsuite/strong_ref_weak_def.sh | 2 +- gold/testsuite/strong_ref_weak_def_1.c | 2 +- gold/testsuite/strong_ref_weak_def_2.c | 2 +- gold/testsuite/test.cc | 2 +- gold/testsuite/test.h | 2 +- gold/testsuite/testfile.cc | 2 +- gold/testsuite/testfile.h | 2 +- gold/testsuite/testmain.cc | 2 +- gold/testsuite/text_section_grouping.cc | 2 +- gold/testsuite/text_section_grouping.sh | 2 +- gold/testsuite/thin_archive_main.cc | 2 +- gold/testsuite/thin_archive_test_1.cc | 2 +- gold/testsuite/thin_archive_test_2.cc | 2 +- gold/testsuite/thin_archive_test_3.cc | 2 +- gold/testsuite/thin_archive_test_4.cc | 2 +- gold/testsuite/thumb2_branch_range.t | 2 +- gold/testsuite/thumb_branch_range.t | 2 +- gold/testsuite/tls_pie_test.sh | 58 + gold/testsuite/tls_test.cc | 2 +- gold/testsuite/tls_test.h | 2 +- gold/testsuite/tls_test_c.c | 2 +- gold/testsuite/tls_test_file2.cc | 2 +- gold/testsuite/tls_test_main.cc | 2 +- gold/testsuite/two_file_shared.sh | 2 +- gold/testsuite/two_file_test.h | 2 +- gold/testsuite/two_file_test_1.cc | 2 +- gold/testsuite/two_file_test_1_v1.cc | 2 +- gold/testsuite/two_file_test_1b.cc | 2 +- gold/testsuite/two_file_test_1b_v1.cc | 2 +- gold/testsuite/two_file_test_2.cc | 2 +- gold/testsuite/two_file_test_2_tls.cc | 2 +- gold/testsuite/two_file_test_2_v1.cc | 2 +- gold/testsuite/two_file_test_main.cc | 2 +- gold/testsuite/two_file_test_tls.cc | 2 +- gold/testsuite/undef_symbol.cc | 2 +- gold/testsuite/undef_symbol.sh | 2 +- gold/testsuite/undef_symbol_main.cc | 2 +- gold/testsuite/ver_matching_def.cc | 2 +- gold/testsuite/ver_matching_test.sh | 2 +- gold/testsuite/ver_test.h | 2 +- gold/testsuite/ver_test_1.cc | 2 +- gold/testsuite/ver_test_1.sh | 2 +- gold/testsuite/ver_test_10.script | 2 +- gold/testsuite/ver_test_10.sh | 2 +- gold/testsuite/ver_test_2.cc | 2 +- gold/testsuite/ver_test_2.script | 2 +- gold/testsuite/ver_test_2.sh | 2 +- gold/testsuite/ver_test_3.cc | 2 +- gold/testsuite/ver_test_4.cc | 2 +- gold/testsuite/ver_test_4.script | 2 +- gold/testsuite/ver_test_4.sh | 2 +- gold/testsuite/ver_test_5.cc | 2 +- gold/testsuite/ver_test_5.script | 2 +- gold/testsuite/ver_test_5.sh | 2 +- gold/testsuite/ver_test_6.c | 2 +- gold/testsuite/ver_test_7.cc | 2 +- gold/testsuite/ver_test_7.sh | 2 +- gold/testsuite/ver_test_8.script | 2 +- gold/testsuite/ver_test_9.cc | 2 +- gold/testsuite/ver_test_main.cc | 2 +- gold/testsuite/ver_test_main_2.cc | 2 +- gold/testsuite/weak_alias_test_1.cc | 2 +- gold/testsuite/weak_alias_test_2.cc | 2 +- gold/testsuite/weak_alias_test_3.cc | 2 +- gold/testsuite/weak_alias_test_4.cc | 2 +- gold/testsuite/weak_alias_test_5.cc | 2 +- gold/testsuite/weak_alias_test_main.cc | 2 +- gold/testsuite/weak_plt.sh | 2 +- gold/testsuite/weak_plt_main.cc | 2 +- gold/testsuite/weak_plt_shared.cc | 2 +- gold/testsuite/weak_test.cc | 2 +- gold/testsuite/weak_undef.h | 2 +- gold/testsuite/weak_undef_file1.cc | 2 +- gold/testsuite/weak_undef_file2.cc | 2 +- gold/testsuite/weak_undef_file3.cc | 2 +- gold/testsuite/weak_undef_file4.cc | 2 +- gold/testsuite/weak_undef_test.cc | 2 +- gold/testsuite/weak_undef_test_2.cc | 2 +- gold/testsuite/weak_unresolved_symbols_test.cc | 45 + gold/testsuite/x86_64_mov_to_lea.sh | 42 + gold/testsuite/x86_64_mov_to_lea1.s | 11 + gold/testsuite/x86_64_mov_to_lea2.s | 6 + gold/testsuite/x86_64_mov_to_lea3.s | 10 + gold/testsuite/x86_64_mov_to_lea4.s | 12 + gold/tilegx.cc | 2 +- gold/timer.cc | 2 +- gold/timer.h | 2 +- gold/tls.h | 2 +- gold/token.h | 2 +- gold/version.cc | 4 +- gold/workqueue-internal.h | 2 +- gold/workqueue-threads.cc | 2 +- gold/workqueue.cc | 2 +- gold/workqueue.h | 2 +- gold/x86_64.cc | 156 +- gold/yyscript.y | 45 +- gprof/ChangeLog | 71 +- gprof/{ChangeLog => ChangeLog-2014} | 0 gprof/MAINTAINERS | 2 +- gprof/Makefile.am | 2 +- gprof/Makefile.in | 2 +- gprof/README | 2 +- gprof/TODO | 2 +- gprof/basic_blocks.c | 2 +- gprof/basic_blocks.h | 2 +- gprof/bb_exit_func.c | 2 +- gprof/bbconv.pl | 2 +- gprof/bsd_callg_bl.m | 2 +- gprof/call_graph.c | 2 +- gprof/call_graph.h | 2 +- gprof/cg_arcs.h | 2 +- gprof/cg_dfn.h | 2 +- gprof/cg_print.c | 2 +- gprof/cg_print.h | 2 +- gprof/configure.ac | 2 +- gprof/corefile.c | 2 +- gprof/corefile.h | 2 +- gprof/flat_bl.m | 2 +- gprof/fsf_callg_bl.m | 2 +- gprof/gmon_io.c | 2 +- gprof/gmon_io.h | 2 +- gprof/gmon_out.h | 2 +- gprof/gprof.texi | 6 +- gprof/hertz.h | 2 +- gprof/hist.c | 2 +- gprof/hist.h | 2 +- gprof/po/Make-in | 2 +- gprof/po/da.po | 159 +- gprof/search_list.c | 2 +- gprof/search_list.h | 2 +- gprof/source.c | 2 +- gprof/source.h | 2 +- gprof/sym_ids.c | 2 +- gprof/sym_ids.h | 2 +- gprof/symtab.c | 2 +- gprof/symtab.h | 2 +- gprof/utils.h | 2 +- include/ChangeLog | 97 +- include/MAINTAINERS | 2 +- include/alloca-conf.h | 2 +- include/ansidecl.h | 4 +- include/aout/ChangeLog | 6 +- include/aout/adobe.h | 2 +- include/aout/aout64.h | 2 +- include/aout/ar.h | 2 +- include/aout/dynix3.h | 2 +- include/aout/encap.h | 2 +- include/aout/host.h | 2 +- include/aout/hp.h | 2 +- include/aout/hp300hpux.h | 2 +- include/aout/hppa.h | 2 +- include/aout/ranlib.h | 2 +- include/aout/reloc.h | 2 +- include/aout/stab.def | 2 +- include/aout/stab_gnu.h | 2 +- include/aout/sun4.h | 2 +- include/bfdlink.h | 13 +- include/binary-io.h | 2 +- include/bout.h | 2 +- include/cgen/ChangeLog | 6 +- include/cgen/basic-modes.h | 2 +- include/cgen/basic-ops.h | 2 +- include/cgen/bitset.h | 2 +- include/coff/ChangeLog | 12 +- include/coff/alpha.h | 2 +- include/coff/apollo.h | 2 +- include/coff/arm.h | 2 +- include/coff/aux-coff.h | 2 +- include/coff/ecoff.h | 2 +- include/coff/external.h | 2 +- include/coff/go32exe.h | 2 +- include/coff/h8300.h | 2 +- include/coff/h8500.h | 2 +- include/coff/i386.h | 2 +- include/coff/i860.h | 2 +- include/coff/i960.h | 2 +- include/coff/ia64.h | 2 +- include/coff/internal.h | 8 +- include/coff/m68k.h | 2 +- include/coff/m88k.h | 2 +- include/coff/mcore.h | 2 +- include/coff/mips.h | 2 +- include/coff/mipspe.h | 2 +- include/coff/pe.h | 2 +- include/coff/powerpc.h | 2 +- include/coff/rs6000.h | 2 +- include/coff/rs6k64.h | 2 +- include/coff/sh.h | 2 +- include/coff/sparc.h | 2 +- include/coff/ti.h | 2 +- include/coff/tic30.h | 2 +- include/coff/tic4x.h | 2 +- include/coff/tic54x.h | 2 +- include/coff/tic80.h | 2 +- include/coff/w65.h | 2 +- include/coff/we32k.h | 2 +- include/coff/x86_64.h | 2 +- include/coff/xcoff.h | 2 +- include/coff/z80.h | 2 +- include/coff/z8k.h | 2 +- include/demangle.h | 3 +- include/dis-asm.h | 7 +- include/dwarf2.def | 8 +- include/dwarf2.h | 6 +- include/dyn-string.h | 3 +- include/elf/ChangeLog | 91 +- include/elf/aarch64.h | 5 +- include/elf/alpha.h | 2 +- include/elf/arc.h | 2 +- include/elf/arm.h | 3 +- include/elf/avr.h | 2 +- include/elf/bfin.h | 2 +- include/elf/common.h | 22 +- include/elf/cr16.h | 2 +- include/elf/cr16c.h | 2 +- include/elf/cris.h | 2 +- include/elf/crx.h | 2 +- include/elf/d10v.h | 2 +- include/elf/d30v.h | 2 +- include/elf/dlx.h | 2 +- include/elf/dwarf.h | 2 +- include/elf/epiphany.h | 2 +- include/elf/external.h | 16 +- include/elf/fr30.h | 2 +- include/elf/frv.h | 2 +- include/elf/ft32.h | 37 + include/elf/h8.h | 2 +- include/elf/hppa.h | 2 +- include/elf/i370.h | 2 +- include/elf/i386.h | 2 +- include/elf/i860.h | 2 +- include/elf/i960.h | 2 +- include/elf/ia64.h | 2 +- include/elf/internal.h | 17 +- include/elf/ip2k.h | 2 +- include/elf/iq2000.h | 2 +- include/elf/lm32.h | 2 +- include/elf/m32c.h | 2 +- include/elf/m32r.h | 2 +- include/elf/m68hc11.h | 2 +- include/elf/m68k.h | 2 +- include/elf/mcore.h | 2 +- include/elf/mep.h | 6 +- include/elf/metag.h | 2 +- include/elf/microblaze.h | 2 +- include/elf/mips.h | 2 +- include/elf/mmix.h | 2 +- include/elf/mn10200.h | 2 +- include/elf/mn10300.h | 2 +- include/elf/moxie.h | 2 +- include/elf/msp430.h | 2 +- include/elf/mt.h | 2 +- include/elf/nds32.h | 2 +- include/elf/nios2.h | 2 +- include/elf/or1k.h | 2 +- include/elf/pj.h | 2 +- include/elf/ppc.h | 2 +- include/elf/ppc64.h | 2 +- include/elf/reloc-macros.h | 2 +- include/elf/rl78.h | 8 +- include/elf/rx.h | 7 +- include/elf/s390.h | 15 +- include/elf/score.h | 7 +- include/elf/sh.h | 2 +- include/elf/sparc.h | 2 +- include/elf/spu.h | 2 +- include/elf/tic6x-attrs.h | 2 +- include/elf/tic6x.h | 2 +- include/elf/tilegx.h | 2 +- include/elf/tilepro.h | 2 +- include/elf/v850.h | 58 +- include/elf/vax.h | 2 +- include/elf/visium.h | 2 +- include/elf/vxworks.h | 2 +- include/elf/x86-64.h | 2 +- include/elf/xc16x.h | 2 +- include/elf/xgate.h | 2 +- include/elf/xstormy16.h | 2 +- include/elf/xtensa.h | 2 +- include/fibheap.h | 3 +- include/filenames.h | 4 +- include/floatformat.h | 11 +- include/fnmatch.h | 2 +- include/fopen-bin.h | 2 +- include/fopen-same.h | 2 +- include/fopen-vms.h | 2 +- include/gcc-c-fe.def | 2 +- include/gcc-c-interface.h | 2 +- include/gcc-interface.h | 2 +- include/gdb/ChangeLog | 16 +- include/gdb/callback.h | 2 +- include/gdb/fileio.h | 2 +- include/gdb/gdb-index.h | 2 +- include/gdb/remote-sim.h | 5 +- include/gdb/section-scripts.h | 18 +- include/gdb/signals.def | 2 +- include/gdb/signals.h | 2 +- include/gdb/sim-arm.h | 2 +- include/gdb/sim-bfin.h | 2 +- include/gdb/sim-cr16.h | 2 +- include/gdb/sim-d10v.h | 2 +- include/gdb/sim-frv.h | 2 +- include/gdb/sim-ft32.h | 35 + include/gdb/sim-h8300.h | 2 +- include/gdb/sim-lm32.h | 2 +- include/gdb/sim-m32c.h | 2 +- include/gdb/sim-ppc.h | 2 +- include/gdb/sim-rl78.h | 2 +- include/gdb/sim-rx.h | 2 +- include/gdb/sim-sh.h | 2 +- include/getopt.h | 3 +- include/hashtab.h | 3 +- include/hp-symtab.h | 2 +- include/ieee.h | 2 +- include/leb128.h | 2 +- include/libiberty.h | 45 +- include/longlong.h | 2 +- include/lto-symtab.h | 2 +- include/mach-o/ChangeLog | 6 +- include/mach-o/arm.h | 2 +- include/mach-o/codesign.h | 2 +- include/mach-o/external.h | 2 +- include/mach-o/loader.h | 2 +- include/mach-o/reloc.h | 2 +- include/mach-o/unwind.h | 2 +- include/mach-o/x86-64.h | 2 +- include/md5.h | 2 +- include/nlm/ChangeLog | 6 +- include/nlm/alpha-ext.h | 2 +- include/nlm/common.h | 2 +- include/nlm/external.h | 2 +- include/nlm/i386-ext.h | 2 +- include/nlm/internal.h | 2 +- include/nlm/ppc-ext.h | 2 +- include/nlm/sparc32-ext.h | 2 +- include/oasys.h | 2 +- include/objalloc.h | 2 +- include/obstack.h | 4 +- include/opcode/ChangeLog | 45 +- include/opcode/aarch64.h | 2 +- include/opcode/alpha.h | 2 +- include/opcode/arc.h | 2 +- include/opcode/arm.h | 204 +- include/opcode/avr.h | 2 +- include/opcode/bfin.h | 2 +- include/opcode/cgen.h | 10 +- include/opcode/convex.h | 2 +- include/opcode/cr16.h | 2 +- include/opcode/cris.h | 2 +- include/opcode/crx.h | 2 +- include/opcode/d10v.h | 2 +- include/opcode/d30v.h | 2 +- include/opcode/dlx.h | 2 +- include/opcode/ft32.h | 100 + include/opcode/h8300.h | 2 +- include/opcode/hppa.h | 2 +- include/opcode/i370.h | 2 +- include/opcode/i386.h | 2 +- include/opcode/i860.h | 2 +- include/opcode/i960.h | 2 +- include/opcode/ia64.h | 2 +- include/opcode/m68hc11.h | 2 +- include/opcode/m68k.h | 2 +- include/opcode/m88k.h | 2 +- include/opcode/metag.h | 2 +- include/opcode/mips.h | 2 +- include/opcode/mmix.h | 2 +- include/opcode/mn10200.h | 2 +- include/opcode/mn10300.h | 2 +- include/opcode/moxie.h | 2 +- include/opcode/msp430-decode.h | 10 +- include/opcode/msp430.h | 2 +- include/opcode/nds32.h | 2 +- include/opcode/nios2.h | 10 +- include/opcode/nios2r1.h | 2 +- include/opcode/np1.h | 2 +- include/opcode/ns32k.h | 2 +- include/opcode/pdp11.h | 2 +- include/opcode/pj.h | 2 +- include/opcode/pn.h | 2 +- include/opcode/ppc.h | 2 +- include/opcode/pyr.h | 2 +- include/opcode/rl78.h | 19 +- include/opcode/rx.h | 10 +- include/opcode/s390.h | 25 +- include/opcode/score-datadep.h | 2 +- include/opcode/score-inst.h | 2 +- include/opcode/sparc.h | 2 +- include/opcode/spu-insns.h | 2 +- include/opcode/spu.h | 2 +- include/opcode/tahoe.h | 2 +- include/opcode/tic30.h | 2 +- include/opcode/tic4x.h | 2 +- include/opcode/tic54x.h | 2 +- include/opcode/tic6x-control-registers.h | 2 +- include/opcode/tic6x-insn-formats.h | 2 +- include/opcode/tic6x-opcode-table.h | 2 +- include/opcode/tic6x.h | 2 +- include/opcode/tic80.h | 2 +- include/opcode/tilegx.h | 10 +- include/opcode/tilepro.h | 2 +- include/opcode/v850.h | 2 +- include/opcode/vax.h | 2 +- include/opcode/visium.h | 2 +- include/opcode/xgate.h | 2 +- include/os9k.h | 2 +- include/partition.h | 6 +- include/plugin-api.h | 2 +- include/progress.h | 2 +- include/safe-ctype.h | 2 +- include/sha1.h | 3 +- include/simple-object.h | 2 +- include/som/ChangeLog | 6 +- include/som/aout.h | 2 +- include/som/clock.h | 2 +- include/som/internal.h | 2 +- include/som/lst.h | 2 +- include/som/reloc.h | 2 +- include/sort.h | 2 +- include/splay-tree.h | 3 +- include/symcat.h | 2 +- include/timeval-utils.h | 2 +- include/vms/ChangeLog | 6 +- include/vms/dcx.h | 2 +- include/vms/dmt.h | 2 +- include/vms/dsc.h | 2 +- include/vms/dst.h | 2 +- include/vms/eeom.h | 2 +- include/vms/egps.h | 2 +- include/vms/egsd.h | 2 +- include/vms/egst.h | 2 +- include/vms/egsy.h | 2 +- include/vms/eiaf.h | 2 +- include/vms/eicp.h | 2 +- include/vms/eidc.h | 2 +- include/vms/eiha.h | 2 +- include/vms/eihd.h | 2 +- include/vms/eihi.h | 2 +- include/vms/eihs.h | 2 +- include/vms/eihvn.h | 2 +- include/vms/eisd.h | 2 +- include/vms/emh.h | 2 +- include/vms/eobjrec.h | 2 +- include/vms/esdf.h | 2 +- include/vms/esdfm.h | 2 +- include/vms/esdfv.h | 2 +- include/vms/esgps.h | 2 +- include/vms/esrf.h | 2 +- include/vms/etir.h | 2 +- include/vms/internal.h | 2 +- include/vms/lbr.h | 2 +- include/vms/prt.h | 2 +- include/vms/shl.h | 2 +- include/vtv-change-permission.h | 3 +- include/xregex2.h | 3 +- include/xtensa-config.h | 3 +- include/xtensa-isa-internal.h | 2 +- include/xtensa-isa.h | 2 +- ld/ChangeLog | 1461 +- ld/{ChangeLog => ChangeLog-2014} | 0 ld/MAINTAINERS | 2 +- ld/Makefile.am | 115 +- ld/Makefile.in | 172 +- ld/NEWS | 9 +- ld/README | 2 +- ld/config.in | 9 +- ld/configure | 434 +- ld/configure.ac | 38 +- ld/configure.host | 2 +- ld/configure.tgt | 78 +- ld/deffile.h | 2 +- ld/deffilep.y | 2 +- ld/emulparams/README | 2 +- ld/emulparams/aarch64fbsd.sh | 37 + ld/emulparams/aarch64fbsdb.sh | 2 + ld/emulparams/elf32_tic6x_le.sh | 10 +- ld/emulparams/elf32_x86_64.sh | 1 + ld/emulparams/elf32bmipn32-defs.sh | 7 +- ld/emulparams/elf32ft32.sh | 8 + ld/emulparams/elf64ppc.sh | 24 +- ld/emulparams/elf_i386.sh | 1 + ld/emulparams/elf_i386_be.sh | 1 + ld/emulparams/elf_i386_chaos.sh | 1 + ld/emulparams/elf_i386_ldso.sh | 1 + ld/emulparams/elf_i386_vxworks.sh | 1 + ld/emulparams/elf_iamcu.sh | 33 + ld/emulparams/elf_k1om.sh | 1 + ld/emulparams/elf_l1om.sh | 1 + ld/emulparams/elf_x86_64.sh | 12 +- ld/emulparams/elf_x86_64_cloudabi.sh | 2 + ld/emulparams/extern_protected_data.sh | 9 + ld/emulparams/h8300elf_linux.sh | 26 + ld/emulparams/h8300helf_linux.sh | 3 + ld/emulparams/h8300self_linux.sh | 3 + ld/emulparams/h8300sxelf_linux.sh | 16 + ld/emulparams/msp430.sh | 18 - ld/emulparams/msp430X.sh | 2 +- ld/emulparams/msp430elf.sh | 18 + ld/emulparams/plt_unwind.sh | 9 +- ld/emulparams/v850.sh | 1 + ld/emulparams/v850_rh850.sh | 1 + ld/emultempl/README | 2 +- ld/emultempl/aarch64elf.em | 17 +- ld/emultempl/aix.em | 2 +- ld/emultempl/alphaelf.em | 2 +- ld/emultempl/armcoff.em | 2 +- ld/emultempl/armelf.em | 2 +- ld/emultempl/avrelf.em | 2 +- ld/emultempl/beos.em | 2 +- ld/emultempl/bfin.em | 2 +- ld/emultempl/cr16elf.em | 2 +- ld/emultempl/crxelf.em | 2 +- ld/emultempl/elf-generic.em | 2 +- ld/emultempl/elf32.em | 148 +- ld/emultempl/epiphanyelf_4x4.em | 2 +- ld/emultempl/genelf.em | 2 +- ld/emultempl/generic.em | 2 +- ld/emultempl/gld960.em | 2 +- ld/emultempl/gld960c.em | 2 +- ld/emultempl/hppaelf.em | 2 +- ld/emultempl/ia64elf.em | 2 +- ld/emultempl/irix.em | 2 +- ld/emultempl/linux.em | 2 +- ld/emultempl/lnk960.em | 2 +- ld/emultempl/m68hc1xelf.em | 2 +- ld/emultempl/m68kcoff.em | 2 +- ld/emultempl/m68kelf.em | 2 +- ld/emultempl/metagelf.em | 2 +- ld/emultempl/mipself.em | 2 +- ld/emultempl/mmix-elfnmmo.em | 2 +- ld/emultempl/mmixelf.em | 2 +- ld/emultempl/mmo.em | 2 +- ld/emultempl/msp430.em | 298 + ld/emultempl/nds32elf.em | 2 +- ld/emultempl/needrelax.em | 2 +- ld/emultempl/netbsd.em | 2 +- ld/emultempl/nios2elf.em | 2 +- ld/emultempl/pe.em | 2 +- ld/emultempl/pep.em | 2 +- ld/emultempl/ppc32elf.em | 17 +- ld/emultempl/ppc64elf.em | 65 +- ld/emultempl/rxelf.em | 2 +- ld/emultempl/scoreelf.em | 2 +- ld/emultempl/sh64elf.em | 2 +- ld/emultempl/solaris2.em | 2 +- ld/emultempl/spu_ovl.S | 2 +- ld/emultempl/spuelf.em | 2 +- ld/emultempl/sunos.em | 2 +- ld/emultempl/tic6xdsbt.em | 2 +- ld/emultempl/ticoff.em | 2 +- ld/emultempl/v850elf.em | 54 + ld/emultempl/vanilla.em | 2 +- ld/emultempl/vms.em | 2 +- ld/emultempl/vxworks.em | 2 +- ld/emultempl/xtensaelf.em | 2 +- ld/emultempl/z80.em | 2 +- ld/gen-doc.texi | 2 +- ld/genscripts.sh | 2 +- ld/h8-doc.texi | 2 +- ld/ld.h | 5 +- ld/ld.texinfo | 96 +- ld/ldbuildid.c | 2 +- ld/ldbuildid.h | 2 +- ld/ldcref.c | 2 +- ld/ldctor.c | 2 +- ld/ldctor.h | 2 +- ld/ldemul.c | 6 +- ld/ldemul.h | 2 +- ld/ldexp.c | 27 +- ld/ldexp.h | 4 +- ld/ldfile.c | 30 +- ld/ldfile.h | 2 +- ld/ldgram.y | 6 +- ld/ldint.texinfo | 6 +- ld/ldlang.c | 162 +- ld/ldlang.h | 7 +- ld/ldlex-wrapper.c | 2 +- ld/ldlex.h | 4 +- ld/ldlex.l | 4 +- ld/ldmain.c | 41 +- ld/ldmain.h | 2 +- ld/ldmisc.c | 2 +- ld/ldmisc.h | 2 +- ld/ldver.c | 4 +- ld/ldver.h | 2 +- ld/ldwrite.c | 2 +- ld/ldwrite.h | 2 +- ld/lexsup.c | 131 +- ld/mri.c | 2 +- ld/mri.h | 2 +- ld/pe-dll.c | 2 +- ld/pe-dll.h | 2 +- ld/pep-dll.c | 2 +- ld/pep-dll.h | 2 +- ld/plugin.c | 391 +- ld/plugin.h | 16 +- ld/po/Make-in | 2 +- ld/po/fr.po | 1707 +- ld/scripttempl/DWARF.sc | 2 +- ld/scripttempl/README | 2 +- ld/scripttempl/aix.sc | 4 +- ld/scripttempl/alpha.sc | 4 +- ld/scripttempl/alphavms.sc | 4 +- ld/scripttempl/aout.sc | 4 +- ld/scripttempl/armaout.sc | 4 +- ld/scripttempl/armbpabi.sc | 4 +- ld/scripttempl/armcoff.sc | 4 +- ld/scripttempl/avr.sc | 25 +- ld/scripttempl/avrtiny.sc | 20 +- ld/scripttempl/crisaout.sc | 4 +- ld/scripttempl/delta68.sc | 4 +- ld/scripttempl/dlx.sc | 4 +- ld/scripttempl/elf.sc | 29 +- ld/scripttempl/elf32cr16.sc | 4 +- ld/scripttempl/elf32cr16c.sc | 4 +- ld/scripttempl/elf32crx.sc | 4 +- ld/scripttempl/elf32msp430.sc | 24 +- ld/scripttempl/elf32msp430_3.sc | 4 +- ld/scripttempl/elf32sh-symbian.sc | 4 +- ld/scripttempl/elf32xc16x.sc | 4 +- ld/scripttempl/elf32xc16xl.sc | 4 +- ld/scripttempl/elf32xc16xs.sc | 4 +- ld/scripttempl/elf64hppa.sc | 4 +- ld/scripttempl/elf_chaos.sc | 4 +- ld/scripttempl/elfd10v.sc | 4 +- ld/scripttempl/elfd30v.sc | 4 +- ld/scripttempl/elfi370.sc | 4 +- ld/scripttempl/elfm68hc11.sc | 4 +- ld/scripttempl/elfm68hc12.sc | 4 +- ld/scripttempl/elfmicroblaze.sc | 4 +- ld/scripttempl/elfxgate.sc | 4 +- ld/scripttempl/elfxtensa.sc | 4 +- ld/scripttempl/epiphany_4x4.sc | 4 +- ld/scripttempl/epocpe.sc | 4 +- ld/scripttempl/ft32.sc | 62 + ld/scripttempl/h8300.sc | 4 +- ld/scripttempl/h8300h.sc | 4 +- ld/scripttempl/h8300hn.sc | 4 +- ld/scripttempl/h8300s.sc | 4 +- ld/scripttempl/h8300sn.sc | 4 +- ld/scripttempl/h8300sx.sc | 4 +- ld/scripttempl/h8300sxn.sc | 4 +- ld/scripttempl/h8500.sc | 4 +- ld/scripttempl/h8500b.sc | 4 +- ld/scripttempl/h8500c.sc | 4 +- ld/scripttempl/h8500m.sc | 4 +- ld/scripttempl/h8500s.sc | 4 +- ld/scripttempl/hppaelf.sc | 4 +- ld/scripttempl/i386beos.sc | 4 +- ld/scripttempl/i386coff.sc | 4 +- ld/scripttempl/i386go32.sc | 4 +- ld/scripttempl/i386msdos.sc | 4 +- ld/scripttempl/i860coff.sc | 4 +- ld/scripttempl/i960.sc | 4 +- ld/scripttempl/ia64vms.sc | 4 +- ld/scripttempl/ip2k.sc | 4 +- ld/scripttempl/iq2000.sc | 4 +- ld/scripttempl/m68kaux.sc | 4 +- ld/scripttempl/m68kcoff.sc | 4 +- ld/scripttempl/m88kbcs.sc | 4 +- ld/scripttempl/mcorepe.sc | 4 +- ld/scripttempl/mep.sc | 4 +- ld/scripttempl/mips.sc | 4 +- ld/scripttempl/mipsbsd.sc | 4 +- ld/scripttempl/mmo.sc | 4 +- ld/scripttempl/moxie.sc | 4 +- ld/scripttempl/nds32elf.sc | 4 +- ld/scripttempl/nw.sc | 4 +- ld/scripttempl/pe.sc | 4 +- ld/scripttempl/pep.sc | 4 +- ld/scripttempl/pj.sc | 4 +- ld/scripttempl/ppcpe.sc | 4 +- ld/scripttempl/psos.sc | 4 +- ld/scripttempl/riscix.sc | 4 +- ld/scripttempl/sh.sc | 4 +- ld/scripttempl/sparccoff.sc | 4 +- ld/scripttempl/st2000.sc | 4 +- ld/scripttempl/tic30aout.sc | 4 +- ld/scripttempl/tic30coff.sc | 4 +- ld/scripttempl/tic4xcoff.sc | 4 +- ld/scripttempl/tic54xcoff.sc | 4 +- ld/scripttempl/tic80coff.sc | 4 +- ld/scripttempl/v850.sc | 6 +- ld/scripttempl/v850_rh850.sc | 6 +- ld/scripttempl/vanilla.sc | 2 +- ld/scripttempl/visium.sc | 2 +- ld/scripttempl/w65.sc | 4 +- ld/scripttempl/xstormy16.sc | 4 +- ld/scripttempl/z80.sc | 4 +- ld/scripttempl/z8000.sc | 4 +- ld/sysdep.h | 2 +- ld/testplug.c | 8 +- ld/testplug2.c | 668 + ld/testplug3.c | 626 + ld/testsuite/ChangeLog | 2057 +-- ld/testsuite/ChangeLog-2014 | 1425 ++ ld/testsuite/config/default.exp | 2 +- ld/testsuite/ld-aarch64/aarch64-elf.exp | 18 +- ld/testsuite/ld-aarch64/erratum835769.d | 2 +- ld/testsuite/ld-aarch64/erratum843419.d | 69 + ld/testsuite/ld-aarch64/erratum843419.s | 84 + ld/testsuite/ld-aarch64/farcall-b.d | 11 +- ld/testsuite/ld-aarch64/farcall-back-be.d | 74 + ld/testsuite/ld-aarch64/farcall-back.d | 74 +- ld/testsuite/ld-aarch64/farcall-bl.d | 12 +- ld/testsuite/ld-aarch64/gc-tls-relocs.d | 1 - ld/testsuite/ld-aarch64/pcrel.s | 20 + ld/testsuite/ld-aarch64/pcrel_pic_defined_local.d | 5 + ld/testsuite/ld-aarch64/pcrel_pic_undefined.d | 10 + ld/testsuite/ld-aarch64/pr17415.d | 6 + ld/testsuite/ld-aarch64/pr17415.s | 43 + ld/testsuite/ld-aarch64/relocs-257-symbolic-func.d | 5 + ld/testsuite/ld-aarch64/relocs-257-symbolic-func.s | 11 + ld/testsuite/ld-aarch64/tls-tiny-desc-ie.d | 11 + ld/testsuite/ld-aarch64/tls-tiny-desc-ie.s | 15 + ld/testsuite/ld-aarch64/tls-tiny-desc-le.d | 11 + ld/testsuite/ld-aarch64/tls-tiny-desc-le.s | 13 + ld/testsuite/ld-aarch64/tls-tiny-desc.d | 31 + ld/testsuite/ld-aarch64/tls-tiny-desc.s | 8 + ld/testsuite/ld-aarch64/tls-tiny-gd-ie.d | 11 + ld/testsuite/ld-aarch64/tls-tiny-gd-ie.s | 14 + ld/testsuite/ld-aarch64/tls-tiny-gd-le.d | 11 + ld/testsuite/ld-aarch64/tls-tiny-gd-le.s | 12 + ld/testsuite/ld-aarch64/tls-tiny-gd.d | 27 + ld/testsuite/ld-aarch64/tls-tiny-gd.s | 6 + ld/testsuite/ld-aarch64/tls-tiny-ie.d | 8 + ld/testsuite/ld-aarch64/tls-tiny-ie.s | 12 + ld/testsuite/ld-aarch64/tlsle.d | 73 + ld/testsuite/ld-aarch64/tlsle.s | 98 + ld/testsuite/ld-aarch64/tprel_g2_overflow.d | 6 + ld/testsuite/ld-aarch64/tprel_g2_overflow.s | 22 + ld/testsuite/ld-alpha/alpha.exp | 2 +- ld/testsuite/ld-alpha/tlspic.rd | 8 +- ld/testsuite/ld-arm/arm-elf.exp | 6 +- ld/testsuite/ld-arm/armthumb-lib.d | 8 +- ld/testsuite/ld-arm/armthumb-lib.sym | 2 +- ld/testsuite/ld-arm/attr-merge-3.attr | 1 - ld/testsuite/ld-arm/attr-merge-hardfp-use-1.d | 15 + ld/testsuite/ld-arm/attr-merge-hardfp-use-1a.s | 12 + ld/testsuite/ld-arm/attr-merge-hardfp-use-1b.s | 16 + ld/testsuite/ld-arm/attr-merge-hardfp-use-2.d | 15 + ld/testsuite/ld-arm/attr-merge-hardfp-use-2a.s | 12 + ld/testsuite/ld-arm/attr-merge-hardfp-use-2b.s | 14 + ld/testsuite/ld-arm/attr-merge-vfp-10.d | 1 - ld/testsuite/ld-arm/attr-merge-vfp-10r.d | 1 - ld/testsuite/ld-arm/attr-merge-vfp-12.d | 1 - ld/testsuite/ld-arm/attr-merge-vfp-12r.d | 1 - ld/testsuite/ld-arm/attr-merge-vfp-13.d | 1 - ld/testsuite/ld-arm/attr-merge-vfp-13r.d | 1 - ld/testsuite/ld-arm/attr-merge-vfp-14.d | 1 - ld/testsuite/ld-arm/attr-merge-vfp-14r.d | 1 - ld/testsuite/ld-arm/attr-merge-vfp-6.d | 1 - ld/testsuite/ld-arm/attr-merge-vfp-6r.d | 1 - ld/testsuite/ld-arm/attr-merge-vfp-7.d | 1 - ld/testsuite/ld-arm/attr-merge-vfp-7r.d | 1 - ld/testsuite/ld-arm/attr-merge-vfp-8.d | 1 - ld/testsuite/ld-arm/attr-merge-vfp-8r.d | 1 - ld/testsuite/ld-arm/cortex-a8-fix-b-rel-arm.d | 4 +- ld/testsuite/ld-arm/cortex-a8-fix-b-rel-thumb.d | 5 +- ld/testsuite/ld-arm/cortex-a8-fix-b.d | 2 +- ld/testsuite/ld-arm/cortex-a8-fix-bcc-rel-thumb.d | 5 +- ld/testsuite/ld-arm/cortex-a8-fix-bcc.d | 2 +- ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-arm.d | 4 +- ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d | 4 +- ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-thumb.d | 5 +- ld/testsuite/ld-arm/cortex-a8-fix-bl.d | 2 +- ld/testsuite/ld-arm/cortex-a8-fix-blx-bcond.d | 2 +- ld/testsuite/ld-arm/cortex-a8-fix-blx-rel-arm.d | 4 +- ld/testsuite/ld-arm/cortex-a8-fix-blx-rel-thumb.d | 5 +- ld/testsuite/ld-arm/cortex-a8-fix-blx.d | 2 +- ld/testsuite/ld-arm/cortex-a8-fix-hdr.d | 4 +- ld/testsuite/ld-arm/export-class.exp | 2 +- ld/testsuite/ld-arm/farcall-mixed-app-v5.d | 18 +- ld/testsuite/ld-arm/farcall-mixed-app.d | 18 +- ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d | 36 +- ld/testsuite/ld-arm/farcall-mixed-lib.d | 37 +- ld/testsuite/ld-arm/ifunc-10.dd | 2 +- ld/testsuite/ld-arm/ifunc-2.dd | 4 +- ld/testsuite/ld-arm/ifunc-7.dd | 86 +- ld/testsuite/ld-arm/ifunc-7.gd | 32 +- ld/testsuite/ld-arm/ifunc-7.rd | 23 +- ld/testsuite/ld-arm/ifunc-7.s | 2 - ld/testsuite/ld-arm/ifunc-8.dd | 824 +- ld/testsuite/ld-arm/ifunc-8.gd | 160 +- ld/testsuite/ld-arm/ifunc-8.rd | 93 +- ld/testsuite/ld-arm/ifunc-8.s | 6 - ld/testsuite/ld-arm/mixed-app-v5.d | 4 +- ld/testsuite/ld-arm/mixed-app.d | 4 +- ld/testsuite/ld-arm/mixed-lib.d | 8 +- ld/testsuite/ld-arm/rel32-reject-pie.d | 3 + ld/testsuite/ld-arm/rel32-reject-pie.s | 8 + ld/testsuite/ld-arm/rel32-reject.d | 3 + ld/testsuite/ld-arm/rel32-reject.s | 9 + ld/testsuite/ld-arm/tls-gdesc-nlazy.g | 1 + ld/testsuite/ld-auto-import/auto-import.exp | 2 +- ld/testsuite/ld-avr/avr-prop-1.d | 10 + ld/testsuite/ld-avr/avr-prop-1.s | 7 + ld/testsuite/ld-avr/avr-prop-2.d | 12 + ld/testsuite/ld-avr/avr-prop-2.s | 13 + ld/testsuite/ld-avr/avr-prop-3.d | 10 + ld/testsuite/ld-avr/avr-prop-3.s | 8 + ld/testsuite/ld-avr/avr-prop-4.d | 10 + ld/testsuite/ld-avr/avr-prop-4.s | 8 + ld/testsuite/ld-avr/avr.exp | 3 +- ld/testsuite/ld-avr/region_overflow.d | 6 + ld/testsuite/ld-avr/region_overflow.s | 5 + ld/testsuite/ld-bootstrap/bootstrap.exp | 9 +- ld/testsuite/ld-cdtest/cdtest.exp | 2 +- ld/testsuite/ld-checks/checks.exp | 2 +- ld/testsuite/ld-cris/cris.exp | 2 +- ld/testsuite/ld-cris/locref2.d | 2 - ld/testsuite/ld-cris/tls-gc-68.d | 6 +- ld/testsuite/ld-cris/tls-gc-69.d | 6 +- ld/testsuite/ld-cris/tls-gc-70.d | 6 +- ld/testsuite/ld-cris/tls-gc-71.d | 6 +- ld/testsuite/ld-cris/tls-gc-75.d | 6 +- ld/testsuite/ld-cris/tls-gc-76.d | 6 +- ld/testsuite/ld-cris/tls-gc-79.d | 6 +- ld/testsuite/ld-crx/crx.exp | 2 +- ld/testsuite/ld-cygwin/exe-export.exp | 2 +- ld/testsuite/ld-d10v/d10v.exp | 2 +- ld/testsuite/ld-discard/discard.exp | 2 +- ld/testsuite/ld-elf/audit.exp | 2 +- ld/testsuite/ld-elf/binutils.exp | 17 +- ld/testsuite/ld-elf/comm-data.exp | 2 +- ld/testsuite/ld-elf/compress.exp | 210 +- ld/testsuite/ld-elf/compress1.s | 2 +- ld/testsuite/ld-elf/compressed1a.d | 10 + ld/testsuite/ld-elf/compressed1b.d | 9 + ld/testsuite/ld-elf/compressed1c.d | 10 + ld/testsuite/ld-elf/compressed1d.d | 11 + ld/testsuite/ld-elf/compressed1e.d | 11 + ld/testsuite/ld-elf/dwarf.exp | 2 +- ld/testsuite/ld-elf/eh-group.exp | 2 +- ld/testsuite/ld-elf/ehdr_start-weak.d | 5 +- ld/testsuite/ld-elf/elf.exp | 14 +- ld/testsuite/ld-elf/exclude.exp | 2 +- ld/testsuite/ld-elf/export-class.exp | 2 +- ld/testsuite/ld-elf/extract-symbol-1sec.d | 3 +- ld/testsuite/ld-elf/frame.exp | 2 +- ld/testsuite/ld-elf/gabiend.rt | 4 + ld/testsuite/ld-elf/gabinormal.rt | 4 + ld/testsuite/ld-elf/gap.s | 4 + ld/testsuite/ld-elf/gnubegin.rS | 3 + ld/testsuite/ld-elf/gnunormal.rS | 3 + ld/testsuite/ld-elf/group1.d | 2 - ld/testsuite/ld-elf/indirect.exp | 2 +- ld/testsuite/ld-elf/linkinfo1a.d | 4 +- ld/testsuite/ld-elf/linkinfo1b.d | 4 +- ld/testsuite/ld-elf/merge3.d | 14 + ld/testsuite/ld-elf/merge3.s | 17 + ld/testsuite/ld-elf/orphan-5.l | 5 + ld/testsuite/ld-elf/pr16322.s | 8 +- ld/testsuite/ld-elf/pr17615.d | 12 + ld/testsuite/ld-elf/pr17615.s | 1 + ld/testsuite/ld-elf/provide-hidden.exp | 2 +- ld/testsuite/ld-elf/sec-to-seg.exp | 2 +- ld/testsuite/ld-elf/sec64k.exp | 2 +- ld/testsuite/ld-elf/shared.exp | 2 +- ld/testsuite/ld-elf/tls_common.exp | 2 +- ld/testsuite/ld-elf/wrap.exp | 2 +- ld/testsuite/ld-elf/zlibbegin.rS | 3 + ld/testsuite/ld-elf/zlibnormal.rS | 3 + ld/testsuite/ld-elfcomm/elfcomm.exp | 2 +- ld/testsuite/ld-elfvers/vers.exp | 2 +- ld/testsuite/ld-elfvsb/elfvsb.exp | 2 +- ld/testsuite/ld-elfweak/elfweak.exp | 2 +- ld/testsuite/ld-fastcall/fastcall.exp | 2 +- ld/testsuite/ld-frv/fdpic.exp | 2 +- ld/testsuite/ld-frv/frv-elf.exp | 2 +- ld/testsuite/ld-frv/tls.exp | 2 +- ld/testsuite/ld-gc/all-debug-sections.d | 10 + ld/testsuite/ld-gc/all-debug-sections.s | 56 + ld/testsuite/ld-gc/gc.exp | 6 +- ld/testsuite/ld-gc/pr14265.d | 8 +- ld/testsuite/ld-gc/pr18223.d | 8 + ld/testsuite/ld-gc/pr18223.s | 6 + ld/testsuite/ld-h8300/h8300.exp | 2 +- ld/testsuite/ld-i386/abs-iamcu.d | 11 + ld/testsuite/ld-i386/compressed1.d | 3 +- ld/testsuite/ld-i386/copyreloc-lib.c | 1 + ld/testsuite/ld-i386/copyreloc-main.S | 24 + ld/testsuite/ld-i386/copyreloc-main1.rd | 3 + ld/testsuite/ld-i386/copyreloc-main2.rd | 4 + ld/testsuite/ld-i386/dummy.c | 1 + ld/testsuite/ld-i386/dummy.s | 1 + ld/testsuite/ld-i386/export-class.exp | 2 +- ld/testsuite/ld-i386/foo.s | 3 + ld/testsuite/ld-i386/i386.exp | 178 +- ld/testsuite/ld-i386/iamcu-1.d | 16 + ld/testsuite/ld-i386/iamcu-2.d | 4 + ld/testsuite/ld-i386/iamcu-3.d | 4 + ld/testsuite/ld-i386/iamcu-4.d | 16 + ld/testsuite/ld-i386/pltgot-1.d | 8 + ld/testsuite/ld-i386/pltgot-1.s | 6 + ld/testsuite/ld-i386/pr17689.out | 2 + ld/testsuite/ld-i386/pr17689.rd | 3 + ld/testsuite/ld-i386/pr17689a.c | 10 + ld/testsuite/ld-i386/pr17689a.t | 6 + ld/testsuite/ld-i386/pr17689b.S | 44 + ld/testsuite/ld-i386/pr17689now.rd | 4 + ld/testsuite/ld-i386/pr17689ver.rd | 3 + ld/testsuite/ld-i386/pr17709-nacl.rd | 4 + ld/testsuite/ld-i386/pr17709.rd | 4 + ld/testsuite/ld-i386/pr17709a.s | 8 + ld/testsuite/ld-i386/pr17709b.s | 5 + ld/testsuite/ld-i386/pr17827.rd | 4 + ld/testsuite/ld-i386/pr17935-1.d | 3 + ld/testsuite/ld-i386/pr17935-1.s | 7 + ld/testsuite/ld-i386/pr17935-2.d | 3 + ld/testsuite/ld-i386/pr17935-2.s | 6 + ld/testsuite/ld-i386/protected3.d | 3 +- ld/testsuite/ld-i386/protected3.s | 3 +- ld/testsuite/ld-i386/protected6.s | 14 + ld/testsuite/ld-i386/protected6a.d | 4 + ld/testsuite/ld-i386/protected6b.d | 6 + ld/testsuite/ld-i386/start.s | 3 + ld/testsuite/ld-i386/tlsbin-nacl.rd | 6 +- ld/testsuite/ld-i386/tlsbin.rd | 6 +- ld/testsuite/ld-i386/tlsbindesc-nacl.rd | 6 +- ld/testsuite/ld-i386/tlsbindesc.rd | 6 +- ld/testsuite/ld-i386/tlsdesc-nacl.rd | 10 +- ld/testsuite/ld-i386/tlsdesc.rd | 10 +- ld/testsuite/ld-i386/tlsnopic-nacl.rd | 8 +- ld/testsuite/ld-i386/tlsnopic.rd | 8 +- ld/testsuite/ld-i386/tlspic-nacl.rd | 8 +- ld/testsuite/ld-i386/tlspic.rd | 8 +- ld/testsuite/ld-ia64/error1.d | 2 - ld/testsuite/ld-ia64/error2.d | 2 - ld/testsuite/ld-ia64/error3.d | 2 - ld/testsuite/ld-ia64/ia64.exp | 2 +- ld/testsuite/ld-ia64/line.exp | 2 +- ld/testsuite/ld-ia64/tlspic.rd | 6 +- ld/testsuite/ld-ifunc/binutils.exp | 2 +- ld/testsuite/ld-ifunc/ifunc.exp | 2 +- ld/testsuite/ld-libs/libs.exp | 2 +- ld/testsuite/ld-linkonce/linkonce.exp | 2 +- ld/testsuite/ld-m68hc11/m68hc11.exp | 2 +- ld/testsuite/ld-m68k/m68k-got.exp | 2 +- ld/testsuite/ld-m68k/m68k.exp | 2 +- ld/testsuite/ld-mep/mep.exp | 2 +- ld/testsuite/ld-metag/metag.exp | 2 +- ld/testsuite/ld-mips-elf/comm-data.exp | 2 +- ld/testsuite/ld-mips-elf/export-class.exp | 2 +- ld/testsuite/ld-mips-elf/mips-elf-flags.exp | 2 +- ld/testsuite/ld-mips-elf/mips-elf.exp | 2 +- ld/testsuite/ld-mips-elf/pic-and-nonpic-1.nd | 1 - ld/testsuite/ld-misc/defsym.exp | 2 +- ld/testsuite/ld-mmix/bpo-10.d | 6 +- ld/testsuite/ld-mmix/bpo-11.d | 6 +- ld/testsuite/ld-mmix/bspec1.d | 2 +- ld/testsuite/ld-mmix/bspec2.d | 2 +- ld/testsuite/ld-mmix/local1.d | 2 +- ld/testsuite/ld-mmix/local3.d | 2 +- ld/testsuite/ld-mmix/local5.d | 2 +- ld/testsuite/ld-mmix/local7.d | 2 +- ld/testsuite/ld-mmix/mmix.exp | 2 +- ld/testsuite/ld-mmix/undef-3.d | 19 +- ld/testsuite/ld-mn10300/mn10300.exp | 2 +- ld/testsuite/ld-nds32/nds32.exp | 2 +- ld/testsuite/ld-pe/pe-compile.exp | 2 +- ld/testsuite/ld-pe/pe-run.exp | 2 +- ld/testsuite/ld-pe/pe-run2.exp | 2 +- ld/testsuite/ld-pe/pe.exp | 2 +- ld/testsuite/ld-pie/pie.exp | 2 +- ld/testsuite/ld-plugin/func.c | 3 + ld/testsuite/ld-plugin/lto.exp | 26 +- ld/testsuite/ld-plugin/plugin-1.d | 1 + ld/testsuite/ld-plugin/plugin-10.d | 1 + ld/testsuite/ld-plugin/plugin-11.d | 1 + ld/testsuite/ld-plugin/plugin-13.d | 27 + ld/testsuite/ld-plugin/plugin-14.d | 33 + ld/testsuite/ld-plugin/plugin-15.d | 34 + ld/testsuite/ld-plugin/plugin-16.d | 38 + ld/testsuite/ld-plugin/plugin-17.d | 37 + ld/testsuite/ld-plugin/plugin-18.d | 38 + ld/testsuite/ld-plugin/plugin-19.d | 42 + ld/testsuite/ld-plugin/plugin-2.d | 1 + ld/testsuite/ld-plugin/plugin-20.d | 7 + ld/testsuite/ld-plugin/plugin-21.d | 7 + ld/testsuite/ld-plugin/plugin-22.d | 7 + ld/testsuite/ld-plugin/plugin-23.d | 7 + ld/testsuite/ld-plugin/plugin-24.d | 5 + ld/testsuite/ld-plugin/plugin-25.d | 5 + ld/testsuite/ld-plugin/plugin-26.d | 24 + ld/testsuite/ld-plugin/plugin-27.d | 1 + ld/testsuite/ld-plugin/plugin-28.d | 1 + ld/testsuite/ld-plugin/plugin-29.d | 1 + ld/testsuite/ld-plugin/plugin-3.d | 1 + ld/testsuite/ld-plugin/plugin-4.d | 1 + ld/testsuite/ld-plugin/plugin-5.d | 1 + ld/testsuite/ld-plugin/plugin-6.d | 1 + ld/testsuite/ld-plugin/plugin-7.d | 4 +- ld/testsuite/ld-plugin/plugin-8.d | 4 +- ld/testsuite/ld-plugin/plugin-9.d | 1 + ld/testsuite/ld-plugin/plugin.exp | 154 +- ld/testsuite/ld-plugin/pr12365a.c | 25 + ld/testsuite/ld-plugin/pr12365b.c | 47 + ld/testsuite/ld-plugin/pr12365c.c | 79 + ld/testsuite/ld-plugin/pr14918.c | 5 + ld/testsuite/ld-plugin/pr14918.d | 4 + ld/testsuite/ld-plugin/pr17973.d | 4 + ld/testsuite/ld-plugin/pr17973.s | 3 + ld/testsuite/ld-powerpc/aix52.exp | 2 +- ld/testsuite/ld-powerpc/ambiguousv1.d | 26 +- ld/testsuite/ld-powerpc/ambiguousv1b.d | 31 +- ld/testsuite/ld-powerpc/ambiguousv2.d | 27 +- ld/testsuite/ld-powerpc/ambiguousv2b.d | 28 +- ld/testsuite/ld-powerpc/defsym.d | 20 +- ld/testsuite/ld-powerpc/elfv2-2exe.d | 6 +- ld/testsuite/ld-powerpc/elfv2exe.d | 52 +- ld/testsuite/ld-powerpc/elfv2so.d | 120 +- ld/testsuite/ld-powerpc/export-class.exp | 2 +- ld/testsuite/ld-powerpc/powerpc.exp | 7 +- ld/testsuite/ld-powerpc/relbrlt.d | 4 +- ld/testsuite/ld-powerpc/tls.g | 4 +- ld/testsuite/ld-powerpc/tls32.d | 15 +- ld/testsuite/ld-powerpc/tls32.g | 2 +- ld/testsuite/ld-powerpc/tls32.s | 9 + ld/testsuite/ld-powerpc/tls32.t | 4 +- ld/testsuite/ld-powerpc/tlsexe.d | 6 +- ld/testsuite/ld-powerpc/tlsexe.g | 2 +- ld/testsuite/ld-powerpc/tlsexe.r | 9 +- ld/testsuite/ld-powerpc/tlsexe32.d | 52 +- ld/testsuite/ld-powerpc/tlsexe32.g | 4 +- ld/testsuite/ld-powerpc/tlsexe32.r | 12 +- ld/testsuite/ld-powerpc/tlsexetoc.d | 6 +- ld/testsuite/ld-powerpc/tlsexetoc.g | 2 +- ld/testsuite/ld-powerpc/tlsexetoc.r | 9 +- ld/testsuite/ld-powerpc/tlsld.d | 43 + ld/testsuite/ld-powerpc/tlsld.s | 48 + ld/testsuite/ld-powerpc/tlsld32.d | 44 + ld/testsuite/ld-powerpc/tlsld32.s | 43 + ld/testsuite/ld-powerpc/tlsso.d | 4 +- ld/testsuite/ld-powerpc/tlsso.g | 2 +- ld/testsuite/ld-powerpc/tlsso.r | 9 +- ld/testsuite/ld-powerpc/tlsso32.d | 54 +- ld/testsuite/ld-powerpc/tlsso32.g | 3 +- ld/testsuite/ld-powerpc/tlsso32.r | 21 +- ld/testsuite/ld-powerpc/tlstoc.g | 10 +- ld/testsuite/ld-powerpc/tlstocso.d | 4 +- ld/testsuite/ld-powerpc/tlstocso.g | 2 +- ld/testsuite/ld-powerpc/tlstocso.r | 9 +- ld/testsuite/ld-powerpc/tocnovar.d | 14 + ld/testsuite/ld-powerpc/tocnovar.s | 16 + ld/testsuite/ld-powerpc/tocopt.d | 8 +- ld/testsuite/ld-powerpc/tocopt2.d | 2 +- ld/testsuite/ld-powerpc/tocopt3.d | 2 +- ld/testsuite/ld-powerpc/tocopt4.d | 2 +- ld/testsuite/ld-powerpc/tocopt5.d | 8 +- ld/testsuite/ld-powerpc/tocvar.d | 14 + ld/testsuite/ld-powerpc/tocvar.s | 17 + ld/testsuite/ld-s390/gotreloc_31-1.dd | 5 +- ld/testsuite/ld-s390/s390.exp | 2 +- ld/testsuite/ld-s390/tlsbin.dd | 12 +- ld/testsuite/ld-s390/tlspic.rd | 6 +- ld/testsuite/ld-s390/tlspic_64.rd | 6 +- ld/testsuite/ld-scripts/align.exp | 2 +- ld/testsuite/ld-scripts/alignof.exp | 2 +- ld/testsuite/ld-scripts/assert.exp | 2 +- ld/testsuite/ld-scripts/crossref.exp | 2 +- ld/testsuite/ld-scripts/data.exp | 2 +- ld/testsuite/ld-scripts/default-script.exp | 2 +- ld/testsuite/ld-scripts/defined.exp | 2 +- ld/testsuite/ld-scripts/dynamic-sections.exp | 2 +- ld/testsuite/ld-scripts/empty-address.exp | 2 +- ld/testsuite/ld-scripts/empty-aligned.exp | 2 +- ld/testsuite/ld-scripts/empty-orphan.exp | 2 +- ld/testsuite/ld-scripts/expr.exp | 2 +- ld/testsuite/ld-scripts/extern.exp | 2 +- ld/testsuite/ld-scripts/include.exp | 2 +- ld/testsuite/ld-scripts/log2.exp | 2 +- ld/testsuite/ld-scripts/map-address.exp | 2 +- ld/testsuite/ld-scripts/memory.t | 3 +- ld/testsuite/ld-scripts/memory_sym.t | 36 + ld/testsuite/ld-scripts/overlay-size.d | 1 + ld/testsuite/ld-scripts/overlay-size.exp | 11 +- ld/testsuite/ld-scripts/phdrs.exp | 2 +- ld/testsuite/ld-scripts/phdrs2.exp | 2 +- ld/testsuite/ld-scripts/phdrs3.exp | 2 +- ld/testsuite/ld-scripts/provide-4-map.d | 13 + ld/testsuite/ld-scripts/provide-4.d | 9 + ld/testsuite/ld-scripts/provide-4.t | 16 + ld/testsuite/ld-scripts/provide-5-map.d | 6 + ld/testsuite/ld-scripts/provide-5.d | 6 + ld/testsuite/ld-scripts/provide-5.s | 4 + ld/testsuite/ld-scripts/provide-5.t | 10 + ld/testsuite/ld-scripts/provide.exp | 4 +- ld/testsuite/ld-scripts/rgn-at.exp | 2 +- ld/testsuite/ld-scripts/rgn-over.exp | 2 +- ld/testsuite/ld-scripts/script.exp | 23 +- ld/testsuite/ld-scripts/section-flags.exp | 2 +- ld/testsuite/ld-scripts/section-match.exp | 2 +- ld/testsuite/ld-scripts/size.exp | 2 +- ld/testsuite/ld-scripts/sizeof.exp | 2 +- ld/testsuite/ld-scripts/sort.exp | 2 +- ld/testsuite/ld-scripts/sysroot-prefix.exp | 2 +- ld/testsuite/ld-scripts/weak.exp | 2 +- ld/testsuite/ld-selective/sel-dump.exp | 2 +- ld/testsuite/ld-selective/selective.exp | 2 +- ld/testsuite/ld-sh/arch/arch.exp | 2 +- ld/testsuite/ld-sh/arch/arch_expected.txt | 46 +- ld/testsuite/ld-sh/arch/sh-dsp.s | 11 +- ld/testsuite/ld-sh/arch/sh.s | 13 +- ld/testsuite/ld-sh/arch/sh2.s | 11 +- ld/testsuite/ld-sh/arch/sh2a-nofpu-or-sh3-nommu.s | 12 +- .../ld-sh/arch/sh2a-nofpu-or-sh4-nommu-nofpu.s | 13 +- ld/testsuite/ld-sh/arch/sh2a-nofpu.s | 13 +- ld/testsuite/ld-sh/arch/sh2a-or-sh3e.s | 12 +- ld/testsuite/ld-sh/arch/sh2a-or-sh4.s | 13 +- ld/testsuite/ld-sh/arch/sh2a.s | 13 +- ld/testsuite/ld-sh/arch/sh2e.s | 11 +- ld/testsuite/ld-sh/arch/sh3-dsp.s | 14 +- ld/testsuite/ld-sh/arch/sh3-nommu.s | 14 +- ld/testsuite/ld-sh/arch/sh3.s | 14 +- ld/testsuite/ld-sh/arch/sh3e.s | 14 +- ld/testsuite/ld-sh/arch/sh4-nofpu.s | 15 +- ld/testsuite/ld-sh/arch/sh4-nommu-nofpu.s | 15 +- ld/testsuite/ld-sh/arch/sh4.s | 15 +- ld/testsuite/ld-sh/arch/sh4a-nofpu.s | 15 +- ld/testsuite/ld-sh/arch/sh4a.s | 15 +- ld/testsuite/ld-sh/arch/sh4al-dsp.s | 15 +- ld/testsuite/ld-sh/rd-sh.exp | 2 +- ld/testsuite/ld-sh/sh-vxworks.exp | 2 +- ld/testsuite/ld-sh/sh.exp | 2 +- ld/testsuite/ld-sh/sh64/crangerel1.rd | 2 +- ld/testsuite/ld-sh/sh64/crangerel2.rd | 2 +- ld/testsuite/ld-sh/sh64/rd-sh64.exp | 2 +- ld/testsuite/ld-sh/sh64/relax.exp | 2 +- ld/testsuite/ld-sh/sh64/relfail.exp | 2 +- ld/testsuite/ld-sh/sh64/sh64.exp | 2 +- ld/testsuite/ld-shared/shared.exp | 2 +- ld/testsuite/ld-size/size.exp | 2 +- ld/testsuite/ld-sparc/gotop32.dd | 2 +- ld/testsuite/ld-sparc/gotop32.rd | 4 +- ld/testsuite/ld-sparc/gotop32.td | 3 +- ld/testsuite/ld-sparc/gotop64.dd | 2 +- ld/testsuite/ld-sparc/gotop64.rd | 4 +- ld/testsuite/ld-sparc/gotop64.td | 3 +- ld/testsuite/ld-sparc/sparc.exp | 2 +- ld/testsuite/ld-sparc/tlssunnopic32.rd | 8 +- ld/testsuite/ld-sparc/tlssunnopic64.rd | 8 +- ld/testsuite/ld-sparc/tlssunpic32.rd | 8 +- ld/testsuite/ld-sparc/tlssunpic64.rd | 8 +- ld/testsuite/ld-spu/spu.exp | 2 +- ld/testsuite/ld-srec/srec.exp | 2 +- ld/testsuite/ld-tic6x/common.d | 2 +- ld/testsuite/ld-tic6x/shlib-1.rd | 8 +- ld/testsuite/ld-tic6x/shlib-1b.rd | 8 +- ld/testsuite/ld-tic6x/shlib-1r.rd | 8 +- ld/testsuite/ld-tic6x/shlib-1rb.rd | 8 +- ld/testsuite/ld-tic6x/shlib-app-1.rd | 4 +- ld/testsuite/ld-tic6x/shlib-app-1b.rd | 4 +- ld/testsuite/ld-tic6x/shlib-app-1r.rd | 4 +- ld/testsuite/ld-tic6x/shlib-app-1rb.rd | 4 +- ld/testsuite/ld-tic6x/shlib-noindex.rd | 8 +- ld/testsuite/ld-tic6x/static-app-1.rd | 2 +- ld/testsuite/ld-tic6x/static-app-1b.rd | 2 +- ld/testsuite/ld-tic6x/static-app-1r.rd | 2 +- ld/testsuite/ld-tic6x/static-app-1rb.rd | 2 +- ld/testsuite/ld-tic6x/tic6x.exp | 2 +- ld/testsuite/ld-tilegx/external.s | 2 +- ld/testsuite/ld-tilegx/tilegx.exp | 2 +- ld/testsuite/ld-tilepro/external.s | 2 +- ld/testsuite/ld-tilepro/tilepro.exp | 2 +- ld/testsuite/ld-undefined/entry.exp | 2 +- ld/testsuite/ld-undefined/undefined.exp | 2 +- ld/testsuite/ld-undefined/weak-undef.exp | 2 +- ld/testsuite/ld-unique/unique.exp | 2 +- ld/testsuite/ld-v850/v850.exp | 2 +- ld/testsuite/ld-vax-elf/export-class.exp | 2 +- ld/testsuite/ld-vax-elf/vax-elf.exp | 2 +- ld/testsuite/ld-versados/versados.exp | 2 +- ld/testsuite/ld-visium/visium.exp | 2 +- ld/testsuite/ld-vxworks/vxworks.exp | 2 +- ld/testsuite/ld-x86-64/compressed1.d | 3 +- ld/testsuite/ld-x86-64/dwarfreloc.exp | 2 +- ld/testsuite/ld-x86-64/export-class.exp | 2 +- ld/testsuite/ld-x86-64/hidden4.d | 3 + ld/testsuite/ld-x86-64/hidden4.s | 8 + ld/testsuite/ld-x86-64/hidden5.d | 3 + ld/testsuite/ld-x86-64/hidden5.s | 7 + ld/testsuite/ld-x86-64/ilp32-4.d | 2 +- ld/testsuite/ld-x86-64/line.exp | 2 +- ld/testsuite/ld-x86-64/mpx.exp | 2 +- ld/testsuite/ld-x86-64/pie1.d | 10 + ld/testsuite/ld-x86-64/pie1.s | 4 + ld/testsuite/ld-x86-64/pltgot-1.d | 8 + ld/testsuite/ld-x86-64/pltgot-1.s | 6 + ld/testsuite/ld-x86-64/pr14207.d | 14 +- ld/testsuite/ld-x86-64/pr17689.out | 1 + ld/testsuite/ld-x86-64/pr17689b.S | 10 + ld/testsuite/ld-x86-64/pr17689now.rd | 4 + ld/testsuite/ld-x86-64/pr17709-nacl.rd | 4 + ld/testsuite/ld-x86-64/pr17709.rd | 4 + ld/testsuite/ld-x86-64/pr17709a.s | 8 + ld/testsuite/ld-x86-64/pr17709b.s | 5 + ld/testsuite/ld-x86-64/pr17827.rd | 4 + ld/testsuite/ld-x86-64/pr17935-1.d | 3 + ld/testsuite/ld-x86-64/pr17935-1.s | 7 + ld/testsuite/ld-x86-64/pr17935-2.d | 3 + ld/testsuite/ld-x86-64/pr17935-2.s | 6 + ld/testsuite/ld-x86-64/pr18160.d | 15 + ld/testsuite/ld-x86-64/pr18160.s | 16 + ld/testsuite/ld-x86-64/pr18160.t | 8 + ld/testsuite/ld-x86-64/pr18176.d | 9 + ld/testsuite/ld-x86-64/pr18176.s | 52 + ld/testsuite/ld-x86-64/pr18176.t | 39 + ld/testsuite/ld-x86-64/protected3.d | 3 +- ld/testsuite/ld-x86-64/protected3.s | 3 +- ld/testsuite/ld-x86-64/protected6.s | 14 + ld/testsuite/ld-x86-64/protected6a.d | 4 + ld/testsuite/ld-x86-64/protected6b.d | 6 + ld/testsuite/ld-x86-64/protected7.s | 12 + ld/testsuite/ld-x86-64/protected7a.d | 4 + ld/testsuite/ld-x86-64/protected7b.d | 6 + ld/testsuite/ld-x86-64/split-by-file-nacl.rd | 2 +- ld/testsuite/ld-x86-64/split-by-file.rd | 2 +- ld/testsuite/ld-x86-64/tlsbin-nacl.rd | 6 +- ld/testsuite/ld-x86-64/tlsbin.rd | 6 +- ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd | 6 +- ld/testsuite/ld-x86-64/tlsbindesc.rd | 6 +- ld/testsuite/ld-x86-64/tlsdesc-nacl.rd | 10 +- ld/testsuite/ld-x86-64/tlsdesc.rd | 10 +- ld/testsuite/ld-x86-64/tlsgdesc.dd | 6 +- ld/testsuite/ld-x86-64/tlspic-nacl.rd | 8 +- ld/testsuite/ld-x86-64/tlspic.dd | 10 +- ld/testsuite/ld-x86-64/tlspic.rd | 8 +- ld/testsuite/ld-x86-64/x86-64.exp | 54 +- ld/testsuite/ld-xc16x/xc16x.exp | 2 +- ld/testsuite/ld-xstormy16/xstormy16.exp | 2 +- ld/testsuite/ld-xtensa/coalesce.exp | 2 +- ld/testsuite/ld-xtensa/diff_overflow.exp | 2 +- ld/testsuite/ld-xtensa/lcall.exp | 2 +- ld/testsuite/ld-xtensa/xtensa.exp | 2 +- ld/testsuite/lib/ld-lib.exp | 51 +- libdecnumber/ChangeLog | 4 + libdecnumber/Makefile.in | 2 + libiberty/ChangeLog | 45 + libiberty/Makefile.in | 47 +- libiberty/configure | 41 + libiberty/configure.ac | 1 + libiberty/functions.texi | 18 + libiberty/mkstemps.c | 2 + libiberty/setenv.c | 2 + libiberty/strerror.c | 5 + libiberty/vasprintf.c | 84 +- libiberty/vprintf-support.c | 119 + libiberty/vprintf-support.h | 22 + libiberty/xasprintf.c | 50 + libiberty/xvasprintf.c | 61 + opcodes/ChangeLog | 1117 +- opcodes/{ChangeLog => ChangeLog-2014} | 0 opcodes/MAINTAINERS | 2 +- opcodes/Makefile.am | 4 +- opcodes/Makefile.in | 7 +- opcodes/aarch64-asm-2.c | 288 +- opcodes/aarch64-asm.c | 2 +- opcodes/aarch64-asm.h | 2 +- opcodes/aarch64-dis-2.c | 562 +- opcodes/aarch64-dis.c | 2 +- opcodes/aarch64-dis.h | 2 +- opcodes/aarch64-gen.c | 4 +- opcodes/aarch64-opc-2.c | 40 +- opcodes/aarch64-opc.c | 2 +- opcodes/aarch64-opc.h | 2 +- opcodes/aarch64-tbl.h | 38 +- opcodes/alpha-dis.c | 2 +- opcodes/alpha-opc.c | 2 +- opcodes/arc-dis.c | 2 +- opcodes/arc-dis.h | 2 +- opcodes/arc-ext.c | 2 +- opcodes/arc-ext.h | 2 +- opcodes/arc-opc.c | 2 +- opcodes/arm-dis.c | 3839 +++-- opcodes/avr-dis.c | 2 +- opcodes/bfin-dis.c | 2 +- opcodes/cgen-asm.c | 2 +- opcodes/cgen-asm.in | 2 +- opcodes/cgen-bitset.c | 2 +- opcodes/cgen-dis.c | 2 +- opcodes/cgen-dis.in | 2 +- opcodes/cgen-ibld.in | 2 +- opcodes/cgen-opc.c | 2 +- opcodes/cgen.sh | 2 +- opcodes/configure | 3 +- opcodes/configure.ac | 5 +- opcodes/configure.com | 2 +- opcodes/cr16-dis.c | 2 +- opcodes/cr16-opc.c | 2 +- opcodes/cris-dis.c | 2 +- opcodes/cris-opc.c | 2 +- opcodes/crx-dis.c | 2 +- opcodes/crx-opc.c | 2 +- opcodes/d10v-dis.c | 2 +- opcodes/d10v-opc.c | 4 +- opcodes/d30v-dis.c | 2 +- opcodes/d30v-opc.c | 2 +- opcodes/dis-buf.c | 2 +- opcodes/dis-init.c | 2 +- opcodes/disassemble.c | 11 +- opcodes/dlx-dis.c | 2 +- opcodes/epiphany-asm.c | 2 +- opcodes/epiphany-desc.c | 2 +- opcodes/epiphany-desc.h | 2 +- opcodes/epiphany-dis.c | 2 +- opcodes/epiphany-ibld.c | 2 +- opcodes/epiphany-opc.c | 2 +- opcodes/epiphany-opc.h | 2 +- opcodes/fr30-asm.c | 2 +- opcodes/fr30-desc.c | 2 +- opcodes/fr30-desc.h | 2 +- opcodes/fr30-dis.c | 2 +- opcodes/fr30-ibld.c | 2 +- opcodes/fr30-opc.c | 2 +- opcodes/fr30-opc.h | 2 +- opcodes/frv-asm.c | 2 +- opcodes/frv-desc.c | 2 +- opcodes/frv-desc.h | 2 +- opcodes/frv-dis.c | 2 +- opcodes/frv-ibld.c | 2 +- opcodes/frv-opc.c | 2 +- opcodes/frv-opc.h | 2 +- opcodes/ft32-dis.c | 177 + opcodes/ft32-opc.c | 88 + opcodes/h8300-dis.c | 2 +- opcodes/h8500-dis.c | 2 +- opcodes/h8500-opc.h | 2 +- opcodes/hppa-dis.c | 2 +- opcodes/i370-dis.c | 2 +- opcodes/i370-opc.c | 2 +- opcodes/i386-dis-evex.h | 944 +- opcodes/i386-dis.c | 3041 ++-- opcodes/i386-gen.c | 16 +- opcodes/i386-init.h | 358 +- opcodes/i386-opc.c | 2 +- opcodes/i386-opc.h | 14 +- opcodes/i386-opc.tbl | 16 +- opcodes/i386-reg.tbl | 2 +- opcodes/i386-tbl.h |11348 ++++++------ opcodes/i860-dis.c | 2 +- opcodes/i960-dis.c | 2 +- opcodes/ia64-asmtab.c | 2 +- opcodes/ia64-asmtab.h | 2 +- opcodes/ia64-dis.c | 2 +- opcodes/ia64-gen.c | 4 +- opcodes/ia64-opc-a.c | 2 +- opcodes/ia64-opc-b.c | 2 +- opcodes/ia64-opc-d.c | 2 +- opcodes/ia64-opc-f.c | 2 +- opcodes/ia64-opc-i.c | 2 +- opcodes/ia64-opc-m.c | 2 +- opcodes/ia64-opc-x.c | 2 +- opcodes/ia64-opc.c | 2 +- opcodes/ia64-opc.h | 2 +- opcodes/ip2k-asm.c | 2 +- opcodes/ip2k-desc.c | 2 +- opcodes/ip2k-desc.h | 2 +- opcodes/ip2k-dis.c | 2 +- opcodes/ip2k-ibld.c | 2 +- opcodes/ip2k-opc.c | 2 +- opcodes/ip2k-opc.h | 2 +- opcodes/iq2000-asm.c | 2 +- opcodes/iq2000-desc.c | 2 +- opcodes/iq2000-desc.h | 2 +- opcodes/iq2000-dis.c | 2 +- opcodes/iq2000-ibld.c | 2 +- opcodes/iq2000-opc.c | 2 +- opcodes/iq2000-opc.h | 2 +- opcodes/lm32-asm.c | 2 +- opcodes/lm32-desc.c | 2 +- opcodes/lm32-desc.h | 2 +- opcodes/lm32-dis.c | 2 +- opcodes/lm32-ibld.c | 2 +- opcodes/lm32-opc.c | 2 +- opcodes/lm32-opc.h | 2 +- opcodes/lm32-opinst.c | 2 +- opcodes/m10200-dis.c | 2 +- opcodes/m10200-opc.c | 2 +- opcodes/m10300-dis.c | 2 +- opcodes/m10300-opc.c | 2 +- opcodes/m32c-asm.c | 2 +- opcodes/m32c-desc.c | 2 +- opcodes/m32c-desc.h | 2 +- opcodes/m32c-dis.c | 2 +- opcodes/m32c-ibld.c | 2 +- opcodes/m32c-opc.c | 2 +- opcodes/m32c-opc.h | 2 +- opcodes/m32r-asm.c | 2 +- opcodes/m32r-desc.c | 2 +- opcodes/m32r-desc.h | 2 +- opcodes/m32r-dis.c | 2 +- opcodes/m32r-ibld.c | 2 +- opcodes/m32r-opc.c | 2 +- opcodes/m32r-opc.h | 2 +- opcodes/m32r-opinst.c | 2 +- opcodes/m68hc11-dis.c | 2 +- opcodes/m68hc11-opc.c | 2 +- opcodes/m68k-dis.c | 2 +- opcodes/m68k-opc.c | 2 +- opcodes/m88k-dis.c | 2 +- opcodes/makefile.vms | 2 +- opcodes/mcore-dis.c | 2 +- opcodes/mcore-opc.h | 2 +- opcodes/mep-asm.c | 2 +- opcodes/mep-desc.c | 2 +- opcodes/mep-desc.h | 2 +- opcodes/mep-dis.c | 2 +- opcodes/mep-ibld.c | 2 +- opcodes/mep-opc.c | 2 +- opcodes/mep-opc.h | 2 +- opcodes/metag-dis.c | 2 +- opcodes/microblaze-dis.c | 2 +- opcodes/microblaze-dis.h | 10 +- opcodes/microblaze-opc.h | 8 +- opcodes/microblaze-opcm.h | 6 +- opcodes/micromips-opc.c | 2 +- opcodes/mips-dis.c | 2 +- opcodes/mips-formats.h | 2 +- opcodes/mips-opc.c | 10 +- opcodes/mips16-opc.c | 2 +- opcodes/mmix-dis.c | 2 +- opcodes/mmix-opc.c | 2 +- opcodes/moxie-dis.c | 2 +- opcodes/moxie-opc.c | 2 +- opcodes/msp430-decode.c | 2 +- opcodes/msp430-decode.opc | 2 +- opcodes/msp430-dis.c | 2 +- opcodes/mt-asm.c | 2 +- opcodes/mt-desc.c | 2 +- opcodes/mt-desc.h | 2 +- opcodes/mt-dis.c | 2 +- opcodes/mt-ibld.c | 2 +- opcodes/mt-opc.c | 2 +- opcodes/mt-opc.h | 2 +- opcodes/nds32-asm.c | 17 +- opcodes/nds32-asm.h | 2 +- opcodes/nds32-dis.c | 2 +- opcodes/nds32-opc.h | 2 +- opcodes/nios2-dis.c | 2 +- opcodes/nios2-opc.c | 2 +- opcodes/ns32k-dis.c | 2 +- opcodes/opc2c.c | 2 +- opcodes/opintl.h | 2 +- opcodes/or1k-asm.c | 2 +- opcodes/or1k-desc.c | 2 +- opcodes/or1k-desc.h | 2 +- opcodes/or1k-dis.c | 2 +- opcodes/or1k-ibld.c | 2 +- opcodes/or1k-opc.c | 2 +- opcodes/or1k-opc.h | 2 +- opcodes/or1k-opinst.c | 2 +- opcodes/pdp11-dis.c | 2 +- opcodes/pdp11-opc.c | 2 +- opcodes/pj-dis.c | 2 +- opcodes/pj-opc.c | 2 +- opcodes/po/Make-in | 2 +- opcodes/po/POTFILES.in | 2 + opcodes/po/fr.po | 1185 +- opcodes/ppc-dis.c | 64 +- opcodes/ppc-opc.c | 47 +- opcodes/rl78-decode.c | 974 +- opcodes/rl78-decode.opc | 60 +- opcodes/rl78-dis.c | 53 +- opcodes/rx-decode.c | 2 +- opcodes/rx-decode.opc | 2 +- opcodes/rx-dis.c | 2 +- opcodes/s390-dis.c | 52 +- opcodes/s390-mkopc.c | 153 +- opcodes/s390-opc.c | 971 +- opcodes/s390-opc.txt | 574 +- opcodes/score-dis.c | 2 +- opcodes/score-opc.h | 2 +- opcodes/score7-dis.c | 2 +- opcodes/sh-dis.c | 2 +- opcodes/sh-opc.h | 8 +- opcodes/sh64-dis.c | 2 +- opcodes/sh64-opc.c | 2 +- opcodes/sh64-opc.h | 2 +- opcodes/sparc-dis.c | 2 +- opcodes/sparc-opc.c | 2 +- opcodes/spu-dis.c | 2 +- opcodes/spu-opc.c | 2 +- opcodes/sysdep.h | 2 +- opcodes/tic30-dis.c | 2 +- opcodes/tic4x-dis.c | 2 +- opcodes/tic54x-dis.c | 2 +- opcodes/tic54x-opc.c | 2 +- opcodes/tic6x-dis.c | 2 +- opcodes/tic80-dis.c | 2 +- opcodes/tic80-opc.c | 2 +- opcodes/tilegx-dis.c | 2 +- opcodes/tilegx-opc.c | 2 +- opcodes/tilepro-dis.c | 2 +- opcodes/tilepro-opc.c | 2 +- opcodes/v850-dis.c | 2 +- opcodes/v850-opc.c | 2 +- opcodes/vax-dis.c | 2 +- opcodes/visium-dis.c | 2 +- opcodes/visium-opc.c | 2 +- opcodes/w65-dis.c | 2 +- opcodes/w65-opc.h | 2 +- opcodes/xc16x-asm.c | 2 +- opcodes/xc16x-desc.c | 2 +- opcodes/xc16x-desc.h | 2 +- opcodes/xc16x-dis.c | 2 +- opcodes/xc16x-ibld.c | 2 +- opcodes/xc16x-opc.c | 2 +- opcodes/xc16x-opc.h | 2 +- opcodes/xgate-dis.c | 2 +- opcodes/xgate-opc.c | 2 +- opcodes/xstormy16-asm.c | 2 +- opcodes/xstormy16-desc.c | 2 +- opcodes/xstormy16-desc.h | 2 +- opcodes/xstormy16-dis.c | 2 +- opcodes/xstormy16-ibld.c | 2 +- opcodes/xstormy16-opc.c | 2 +- opcodes/xstormy16-opc.h | 2 +- opcodes/xtensa-dis.c | 2 +- opcodes/z80-dis.c | 2 +- opcodes/z8k-dis.c | 2 +- opcodes/z8k-opc.h | 2 +- opcodes/z8kgen.c | 4 +- readline/ChangeLog.gdb | 6 + readline/complete.c | 13 + sim/.gitignore | 1 - sim/ChangeLog | 95 +- sim/Makefile.in | 2 +- sim/README-HACKING | 8 +- sim/arm/ChangeLog | 123 + sim/arm/Makefile.in | 41 +- sim/arm/aclocal.m4 | 17 +- sim/arm/armemu.c | 24 +- sim/arm/armemu.h | 51 +- sim/arm/armsupp.c | 5 +- sim/arm/bag.c | 6 +- sim/arm/config.in | 20 +- sim/arm/configure | 638 +- sim/arm/configure.ac | 11 +- sim/arm/iwmmxt.c | 2 +- sim/arm/iwmmxt.h | 2 +- sim/arm/maverick.c | 51 +- sim/arm/sim-main.h | 43 + sim/arm/tconfig.in | 17 - sim/arm/wrapper.c | 258 +- sim/avr/ChangeLog | 90 + sim/avr/Makefile.in | 15 +- sim/avr/aclocal.m4 | 17 +- sim/avr/config.in | 20 +- sim/avr/configure | 636 +- sim/avr/configure.ac | 7 + sim/avr/interp.c | 1579 +- sim/avr/sim-main.h | 40 + sim/bfin/ChangeLog | 95 + sim/bfin/Makefile.in | 19 +- sim/bfin/aclocal.m4 | 17 +- sim/bfin/bfin-sim.c | 6 +- sim/bfin/bfin-sim.h | 2 +- sim/bfin/config.in | 5 +- sim/bfin/configure | 148 +- sim/bfin/configure.ac | 3 - sim/bfin/devices.c | 2 +- sim/bfin/devices.h | 2 +- sim/bfin/dv-bfin_cec.c | 2 +- sim/bfin/dv-bfin_cec.h | 2 +- sim/bfin/dv-bfin_ctimer.c | 2 +- sim/bfin/dv-bfin_ctimer.h | 2 +- sim/bfin/dv-bfin_dma.c | 2 +- sim/bfin/dv-bfin_dma.h | 2 +- sim/bfin/dv-bfin_dmac.c | 2 +- sim/bfin/dv-bfin_dmac.h | 2 +- sim/bfin/dv-bfin_ebiu_amc.c | 2 +- sim/bfin/dv-bfin_ebiu_amc.h | 2 +- sim/bfin/dv-bfin_ebiu_ddrc.c | 2 +- sim/bfin/dv-bfin_ebiu_ddrc.h | 2 +- sim/bfin/dv-bfin_ebiu_sdc.c | 2 +- sim/bfin/dv-bfin_ebiu_sdc.h | 2 +- sim/bfin/dv-bfin_emac.c | 2 +- sim/bfin/dv-bfin_emac.h | 2 +- sim/bfin/dv-bfin_eppi.c | 2 +- sim/bfin/dv-bfin_eppi.h | 2 +- sim/bfin/dv-bfin_evt.c | 2 +- sim/bfin/dv-bfin_evt.h | 2 +- sim/bfin/dv-bfin_gpio.c | 2 +- sim/bfin/dv-bfin_gpio.h | 2 +- sim/bfin/dv-bfin_gpio2.c | 2 +- sim/bfin/dv-bfin_gpio2.h | 2 +- sim/bfin/dv-bfin_gptimer.c | 2 +- sim/bfin/dv-bfin_gptimer.h | 2 +- sim/bfin/dv-bfin_jtag.c | 2 +- sim/bfin/dv-bfin_jtag.h | 2 +- sim/bfin/dv-bfin_mmu.c | 2 +- sim/bfin/dv-bfin_mmu.h | 2 +- sim/bfin/dv-bfin_nfc.c | 2 +- sim/bfin/dv-bfin_nfc.h | 2 +- sim/bfin/dv-bfin_otp.c | 2 +- sim/bfin/dv-bfin_otp.h | 2 +- sim/bfin/dv-bfin_pfmon.c | 2 +- sim/bfin/dv-bfin_pfmon.h | 2 +- sim/bfin/dv-bfin_pint.c | 2 +- sim/bfin/dv-bfin_pint.h | 2 +- sim/bfin/dv-bfin_pll.c | 2 +- sim/bfin/dv-bfin_pll.h | 2 +- sim/bfin/dv-bfin_ppi.c | 2 +- sim/bfin/dv-bfin_ppi.h | 2 +- sim/bfin/dv-bfin_rtc.c | 2 +- sim/bfin/dv-bfin_rtc.h | 2 +- sim/bfin/dv-bfin_sic.c | 2 +- sim/bfin/dv-bfin_sic.h | 2 +- sim/bfin/dv-bfin_spi.c | 2 +- sim/bfin/dv-bfin_spi.h | 2 +- sim/bfin/dv-bfin_trace.c | 2 +- sim/bfin/dv-bfin_trace.h | 2 +- sim/bfin/dv-bfin_twi.c | 2 +- sim/bfin/dv-bfin_twi.h | 2 +- sim/bfin/dv-bfin_uart.c | 8 +- sim/bfin/dv-bfin_uart.h | 2 +- sim/bfin/dv-bfin_uart2.c | 2 +- sim/bfin/dv-bfin_uart2.h | 2 +- sim/bfin/dv-bfin_wdog.c | 2 +- sim/bfin/dv-bfin_wdog.h | 2 +- sim/bfin/dv-bfin_wp.c | 2 +- sim/bfin/dv-bfin_wp.h | 2 +- sim/bfin/dv-eth_phy.c | 2 +- sim/bfin/gui.c | 2 +- sim/bfin/gui.h | 2 +- sim/bfin/insn_list.def | 2 +- sim/bfin/interp.c | 2 +- sim/bfin/linux-fixed-code.s | 2 +- sim/bfin/machs.c | 2 +- sim/bfin/machs.h | 2 +- sim/bfin/proc_list.def | 2 +- sim/bfin/sim-main.h | 16 +- sim/bfin/tconfig.h | 15 + sim/bfin/tconfig.in | 27 - sim/common/ChangeLog | 175 + sim/common/Make-common.in | 24 +- sim/common/Makefile.in | 2 +- sim/common/acinclude.m4 | 48 +- sim/common/aclocal.m4 | 17 +- sim/common/callback.c | 2 +- sim/common/cgen-cpu.h | 2 +- sim/common/cgen-defs.h | 2 +- sim/common/cgen-engine.h | 6 +- sim/common/cgen-mem.h | 5 +- sim/common/cgen-ops.h | 5 +- sim/common/cgen-par.c | 2 +- sim/common/cgen-par.h | 2 +- sim/common/cgen-run.c | 2 +- sim/common/cgen-scache.c | 2 +- sim/common/cgen-scache.h | 2 +- sim/common/cgen-sim.h | 2 +- sim/common/cgen-trace.c | 2 +- sim/common/cgen-trace.h | 2 +- sim/common/cgen-types.h | 2 +- sim/common/cgen-utils.c | 4 +- sim/common/config.in | 5 +- sim/common/configure | 111 +- sim/common/create-version.sh | 38 - sim/common/dv-cfi.c | 2 +- sim/common/dv-cfi.h | 2 +- sim/common/dv-core.c | 2 +- sim/common/dv-glue.c | 2 +- sim/common/dv-pal.c | 2 +- sim/common/dv-sockser.c | 3 +- sim/common/dv-sockser.h | 41 +- sim/common/genmloop.sh | 2 +- sim/common/gennltvals.sh | 45 +- sim/common/gentmap.c | 9 +- sim/common/hw-alloc.c | 2 +- sim/common/hw-alloc.h | 2 +- sim/common/hw-base.c | 2 +- sim/common/hw-base.h | 2 +- sim/common/hw-device.c | 2 +- sim/common/hw-device.h | 2 +- sim/common/hw-events.c | 2 +- sim/common/hw-events.h | 2 +- sim/common/hw-handles.c | 2 +- sim/common/hw-handles.h | 2 +- sim/common/hw-instances.c | 2 +- sim/common/hw-instances.h | 2 +- sim/common/hw-main.h | 2 +- sim/common/hw-ports.c | 2 +- sim/common/hw-ports.h | 2 +- sim/common/hw-properties.c | 2 +- sim/common/hw-properties.h | 2 +- sim/common/hw-tree.c | 2 +- sim/common/hw-tree.h | 2 +- sim/common/nltvals.def | 18 + sim/common/nrun.c | 3 +- sim/common/run-sim.h | 93 - sim/common/run.1 | 2 +- sim/common/run.c | 357 - sim/common/sim-abort.c | 2 +- sim/common/sim-alu.h | 2 +- sim/common/sim-arange.c | 2 +- sim/common/sim-arange.h | 22 +- sim/common/sim-assert.h | 4 +- sim/common/sim-base.h | 21 +- sim/common/sim-basics.h | 7 +- sim/common/sim-bits.c | 2 +- sim/common/sim-bits.h | 2 +- sim/common/sim-command.c | 2 +- sim/common/sim-config.c | 2 +- sim/common/sim-config.h | 2 +- sim/common/sim-core.c | 6 +- sim/common/sim-core.h | 2 +- sim/common/sim-cpu.c | 2 +- sim/common/sim-cpu.h | 2 +- sim/common/sim-endian.c | 3 +- sim/common/sim-endian.h | 2 +- sim/common/sim-engine.c | 2 +- sim/common/sim-engine.h | 4 +- sim/common/sim-events.c | 2 +- sim/common/sim-events.h | 2 +- sim/common/sim-fpu.c | 6 +- sim/common/sim-fpu.h | 2 +- sim/common/sim-hload.c | 2 +- sim/common/sim-hrw.c | 2 +- sim/common/sim-hw.c | 2 +- sim/common/sim-hw.h | 2 +- sim/common/sim-info.c | 2 +- sim/common/sim-inline.c | 2 +- sim/common/sim-inline.h | 6 +- sim/common/sim-io.c | 2 +- sim/common/sim-io.h | 2 +- sim/common/sim-load.c | 2 +- sim/common/sim-memopt.c | 2 +- sim/common/sim-memopt.h | 2 +- sim/common/sim-model.c | 2 +- sim/common/sim-model.h | 2 +- sim/common/sim-module.c | 12 +- sim/common/sim-module.h | 3 +- sim/common/sim-n-bits.h | 2 +- sim/common/sim-n-core.h | 2 +- sim/common/sim-n-endian.h | 2 +- sim/common/sim-options.c | 18 +- sim/common/sim-options.h | 2 +- sim/common/sim-profile.c | 18 +- sim/common/sim-profile.h | 2 +- sim/common/sim-reason.c | 2 +- sim/common/sim-reg.c | 2 +- sim/common/sim-resume.c | 2 +- sim/common/sim-run.c | 6 +- sim/common/sim-signal.c | 2 +- sim/common/sim-signal.h | 2 +- sim/common/sim-stop.c | 2 +- sim/common/sim-trace.c | 2 +- sim/common/sim-trace.h | 2 +- sim/common/sim-types.h | 2 +- sim/common/sim-utils.c | 2 +- sim/common/sim-utils.h | 2 +- sim/common/sim-watch.c | 2 +- sim/common/sim-watch.h | 2 +- sim/common/syscall.c | 2 +- sim/common/tconfig.h | 9 + sim/common/tconfig.in | 19 - sim/common/version.h | 2 +- sim/configure | 32 +- sim/configure.ac | 4 +- sim/configure.tgt | 23 +- sim/cr16/ChangeLog | 140 + sim/cr16/Makefile.in | 30 +- sim/cr16/aclocal.m4 | 17 +- sim/cr16/config.in | 20 +- sim/cr16/configure | 539 +- sim/cr16/configure.ac | 8 +- sim/cr16/cr16_sim.h | 11 +- sim/cr16/endian.c | 23 +- sim/cr16/gencode.c | 27 +- sim/cr16/interp.c | 516 +- sim/cr16/sim-main.h | 44 + sim/cr16/simops.c | 868 +- sim/cris/ChangeLog | 77 + sim/cris/Makefile.in | 10 +- sim/cris/aclocal.m4 | 17 +- sim/cris/arch.c | 2 +- sim/cris/arch.h | 2 +- sim/cris/config.in | 5 +- sim/cris/configure | 143 +- sim/cris/cpuall.h | 2 +- sim/cris/cpuv10.c | 2 +- sim/cris/cpuv10.h | 2 +- sim/cris/cpuv32.c | 2 +- sim/cris/cpuv32.h | 2 +- sim/cris/cris-desc.c | 2 +- sim/cris/cris-desc.h | 2 +- sim/cris/cris-opc.h | 2 +- sim/cris/cris-sim.h | 2 +- sim/cris/cris-tmpl.c | 2 +- sim/cris/crisv10f.c | 4 +- sim/cris/crisv32f.c | 4 +- sim/cris/decodev10.c | 2 +- sim/cris/decodev10.h | 2 +- sim/cris/decodev32.c | 2 +- sim/cris/decodev32.h | 2 +- sim/cris/devices.c | 2 +- sim/cris/dv-cris.c | 2 +- sim/cris/dv-rv.c | 2 +- sim/cris/mloop.in | 2 +- sim/cris/modelv10.c | 2 +- sim/cris/modelv32.c | 2 +- sim/cris/rvdummy.c | 3 +- sim/cris/semcrisv10f-switch.c | 2 +- sim/cris/semcrisv32f-switch.c | 2 +- sim/cris/sim-if.c | 2 +- sim/cris/sim-main.h | 27 +- sim/cris/tconfig.h | 44 + sim/cris/tconfig.in | 55 - sim/cris/traps.c | 2 +- sim/d10v/ChangeLog | 122 + sim/d10v/Makefile.in | 26 +- sim/d10v/aclocal.m4 | 17 +- sim/d10v/config.in | 20 +- sim/d10v/configure | 539 +- sim/d10v/configure.ac | 8 +- sim/d10v/d10v_sim.h | 10 +- sim/d10v/endian.c | 21 +- sim/d10v/gencode.c | 21 +- sim/d10v/interp.c | 323 +- sim/d10v/sim-main.h | 44 + sim/d10v/simops.c | 359 +- sim/erc32/ChangeLog | 167 + sim/erc32/Makefile.in | 23 +- sim/erc32/aclocal.m4 | 17 +- sim/erc32/config.in | 20 +- sim/erc32/configure | 377 +- sim/erc32/configure.ac | 18 +- sim/erc32/end.c | 27 - sim/erc32/erc32.c | 339 +- sim/erc32/exec.c | 136 +- sim/erc32/float.c | 249 +- sim/erc32/func.c | 231 +- sim/erc32/help.c | 20 +- sim/erc32/interf.c | 120 +- sim/erc32/sis.c | 89 +- sim/erc32/sis.h | 64 +- sim/erc32/startsim | 14 + sim/frv/ChangeLog | 76 + sim/frv/Makefile.in | 7 +- sim/frv/aclocal.m4 | 17 +- sim/frv/arch.c | 2 +- sim/frv/arch.h | 2 +- sim/frv/cache.c | 2 +- sim/frv/cache.h | 2 +- sim/frv/config.in | 5 +- sim/frv/configure | 143 +- sim/frv/configure.ac | 2 +- sim/frv/cpu.c | 2 +- sim/frv/cpu.h | 2 +- sim/frv/cpuall.h | 2 +- sim/frv/decode.c | 2 +- sim/frv/decode.h | 2 +- sim/frv/devices.c | 39 +- sim/frv/frv-sim.h | 2 +- sim/frv/frv.c | 2 +- sim/frv/interrupts.c | 2 +- sim/frv/memory.c | 2 +- sim/frv/mloop.in | 2 +- sim/frv/model.c | 2 +- sim/frv/options.c | 2 +- sim/frv/pipeline.c | 2 +- sim/frv/profile-fr400.c | 2 +- sim/frv/profile-fr400.h | 2 +- sim/frv/profile-fr450.c | 2 +- sim/frv/profile-fr500.c | 2 +- sim/frv/profile-fr500.h | 2 +- sim/frv/profile-fr550.c | 2 +- sim/frv/profile-fr550.h | 2 +- sim/frv/profile.c | 2 +- sim/frv/profile.h | 2 +- sim/frv/registers.c | 2 +- sim/frv/registers.h | 2 +- sim/frv/reset.c | 2 +- sim/frv/sem.c | 2 +- sim/frv/sim-if.c | 2 +- sim/frv/sim-main.h | 19 +- sim/frv/tconfig.h | 36 + sim/frv/tconfig.in | 42 - sim/frv/traps.c | 4 +- sim/ft32/ChangeLog | 52 + sim/ft32/Makefile.in | 45 + sim/ft32/aclocal.m4 | 129 + sim/ft32/config.in | 160 + sim/ft32/configure |15674 +++++++++++++++ sim/ft32/configure.ac | 15 + sim/ft32/ft32-sim.h | 43 + sim/ft32/interp.c | 891 + sim/ft32/sim-main.h | 46 + sim/h8300/ChangeLog | 67 + sim/h8300/Makefile.in | 12 +- sim/h8300/aclocal.m4 | 17 +- sim/h8300/compile.c | 55 +- sim/h8300/config.in | 5 +- sim/h8300/configure | 122 +- sim/h8300/configure.ac | 2 +- sim/h8300/sim-main.h | 9 +- sim/h8300/tconfig.h | 11 + sim/h8300/tconfig.in | 17 - sim/igen/ChangeLog | 15 + sim/igen/Makefile.in | 2 +- sim/igen/compare_igen_models | 2 +- sim/igen/configure | 1 - sim/igen/filter.c | 2 +- sim/igen/filter.h | 2 +- sim/igen/filter_host.c | 2 +- sim/igen/filter_host.h | 2 +- sim/igen/gen-engine.c | 12 +- sim/igen/gen-engine.h | 2 +- sim/igen/gen-icache.c | 2 +- sim/igen/gen-icache.h | 2 +- sim/igen/gen-idecode.c | 2 +- sim/igen/gen-idecode.h | 2 +- sim/igen/gen-itable.c | 2 +- sim/igen/gen-itable.h | 2 +- sim/igen/gen-model.c | 2 +- sim/igen/gen-model.h | 2 +- sim/igen/gen-semantics.c | 2 +- sim/igen/gen-semantics.h | 2 +- sim/igen/gen-support.c | 2 +- sim/igen/gen-support.h | 2 +- sim/igen/gen.c | 2 +- sim/igen/gen.h | 2 +- sim/igen/igen.c | 2 +- sim/igen/igen.h | 2 +- sim/igen/ld-cache.c | 2 +- sim/igen/ld-cache.h | 2 +- sim/igen/ld-decode.c | 2 +- sim/igen/ld-decode.h | 2 +- sim/igen/ld-insn.c | 2 +- sim/igen/ld-insn.h | 2 +- sim/igen/lf.c | 2 +- sim/igen/lf.h | 2 +- sim/igen/misc.c | 6 +- sim/igen/misc.h | 2 +- sim/igen/table.c | 2 +- sim/igen/table.h | 2 +- sim/iq2000/ChangeLog | 73 + sim/iq2000/Makefile.in | 13 +- sim/iq2000/aclocal.m4 | 17 +- sim/iq2000/arch.c | 2 +- sim/iq2000/arch.h | 2 +- sim/iq2000/config.in | 5 +- sim/iq2000/configure | 143 +- sim/iq2000/configure.ac | 2 +- sim/iq2000/cpu.c | 2 +- sim/iq2000/cpu.h | 2 +- sim/iq2000/cpuall.h | 2 +- sim/iq2000/decode.c | 2 +- sim/iq2000/decode.h | 2 +- sim/iq2000/iq2000-sim.h | 2 +- sim/iq2000/iq2000.c | 2 +- sim/iq2000/mloop.in | 2 +- sim/iq2000/model.c | 2 +- sim/iq2000/sem-switch.c | 2 +- sim/iq2000/sem.c | 2 +- sim/iq2000/sim-if.c | 2 +- sim/iq2000/sim-main.h | 14 +- sim/iq2000/tconfig.h | 36 + sim/iq2000/tconfig.in | 42 - sim/lm32/ChangeLog | 73 + sim/lm32/Makefile.in | 7 +- sim/lm32/aclocal.m4 | 17 +- sim/lm32/arch.c | 2 +- sim/lm32/arch.h | 2 +- sim/lm32/config.in | 5 +- sim/lm32/configure | 143 +- sim/lm32/cpu.c | 2 +- sim/lm32/cpu.h | 2 +- sim/lm32/cpuall.h | 2 +- sim/lm32/decode.c | 2 +- sim/lm32/decode.h | 2 +- sim/lm32/dv-lm32cpu.c | 6 +- sim/lm32/dv-lm32timer.c | 2 +- sim/lm32/dv-lm32uart.c | 2 +- sim/lm32/lm32-sim.h | 2 +- sim/lm32/lm32.c | 2 +- sim/lm32/model.c | 2 +- sim/lm32/sem-switch.c | 2 +- sim/lm32/sem.c | 2 +- sim/lm32/sim-if.c | 2 +- sim/lm32/sim-main.h | 27 +- sim/lm32/{tconfig.in => tconfig.h} | 0 sim/lm32/traps.c | 6 +- sim/lm32/user.c | 2 +- sim/m32c/ChangeLog | 48 + sim/m32c/Makefile.in | 2 +- sim/m32c/aclocal.m4 | 17 +- sim/m32c/blinky.S | 2 +- sim/m32c/config.in | 5 +- sim/m32c/configure | 223 +- sim/m32c/configure.ac | 4 +- sim/m32c/cpu.h | 12 +- sim/m32c/gdb-if.c | 21 +- sim/m32c/gloss.S | 2 +- sim/m32c/int.c | 2 +- sim/m32c/int.h | 2 +- sim/m32c/load.c | 8 +- sim/m32c/load.h | 4 +- sim/m32c/m32c.opc | 10 +- sim/m32c/main.c | 2 +- sim/m32c/mem.c | 18 +- sim/m32c/mem.h | 6 +- sim/m32c/misc.c | 2 +- sim/m32c/misc.h | 2 +- sim/m32c/opc2c.c | 2 +- sim/m32c/r8c.opc | 8 +- sim/m32c/reg.c | 11 +- sim/m32c/safe-fgets.c | 2 +- sim/m32c/safe-fgets.h | 2 +- sim/m32c/sample.S | 2 +- sim/m32c/sample.ld | 2 +- sim/m32c/sample2.c | 5 +- sim/m32c/srcdest.c | 20 +- sim/m32c/syscalls.c | 2 +- sim/m32c/syscalls.h | 2 +- sim/m32c/timer_a.h | 2 +- sim/m32c/trace.c | 8 +- sim/m32c/trace.h | 2 +- sim/m32r/ChangeLog | 76 + sim/m32r/Makefile.in | 7 +- sim/m32r/aclocal.m4 | 17 +- sim/m32r/arch.c | 2 +- sim/m32r/arch.h | 2 +- sim/m32r/config.in | 5 +- sim/m32r/configure | 143 +- sim/m32r/configure.ac | 2 +- sim/m32r/cpu.c | 2 +- sim/m32r/cpu.h | 2 +- sim/m32r/cpu2.c | 2 +- sim/m32r/cpu2.h | 2 +- sim/m32r/cpuall.h | 2 +- sim/m32r/cpux.c | 2 +- sim/m32r/cpux.h | 2 +- sim/m32r/decode.c | 2 +- sim/m32r/decode.h | 2 +- sim/m32r/decode2.c | 2 +- sim/m32r/decode2.h | 2 +- sim/m32r/decodex.c | 2 +- sim/m32r/decodex.h | 2 +- sim/m32r/devices.c | 2 +- sim/m32r/m32r-sim.h | 2 +- sim/m32r/m32r.c | 2 +- sim/m32r/m32r2.c | 2 +- sim/m32r/m32rx.c | 2 +- sim/m32r/mloop.in | 2 +- sim/m32r/mloop2.in | 2 +- sim/m32r/mloopx.in | 2 +- sim/m32r/model.c | 2 +- sim/m32r/model2.c | 2 +- sim/m32r/modelx.c | 2 +- sim/m32r/sem-switch.c | 2 +- sim/m32r/sem.c | 2 +- sim/m32r/sem2-switch.c | 2 +- sim/m32r/semx-switch.c | 2 +- sim/m32r/sim-if.c | 10 +- sim/m32r/sim-main.h | 25 +- sim/m32r/tconfig.h | 38 + sim/m32r/tconfig.in | 44 - sim/m32r/traps-linux.c | 2 +- sim/m32r/traps.c | 2 +- sim/m68hc11/ChangeLog | 86 + sim/m68hc11/Makefile.in | 12 +- sim/m68hc11/aclocal.m4 | 17 +- sim/m68hc11/config.in | 5 +- sim/m68hc11/configure | 165 +- sim/m68hc11/configure.ac | 8 - sim/m68hc11/dv-m68hc11.c | 2 +- sim/m68hc11/dv-m68hc11eepr.c | 2 +- sim/m68hc11/dv-m68hc11sio.c | 2 +- sim/m68hc11/dv-m68hc11spi.c | 2 +- sim/m68hc11/dv-m68hc11tim.c | 2 +- sim/m68hc11/dv-nvram.c | 2 +- sim/m68hc11/emulos.c | 2 +- sim/m68hc11/gencode.c | 5 +- sim/m68hc11/interp.c | 66 +- sim/m68hc11/interrupts.c | 2 +- sim/m68hc11/interrupts.h | 2 +- sim/m68hc11/m68hc11_sim.c | 16 +- sim/m68hc11/sim-main.h | 20 +- sim/mcore/ChangeLog | 184 + sim/mcore/Makefile.in | 19 +- sim/mcore/aclocal.m4 | 17 +- sim/mcore/config.in | 20 +- sim/mcore/configure | 637 +- sim/mcore/configure.ac | 7 +- sim/mcore/interp.c | 1146 +- sim/mcore/sim-main.h | 45 + sim/mcore/sysdep.h | 94 - sim/microblaze/ChangeLog | 163 + sim/microblaze/Makefile.in | 15 +- sim/microblaze/aclocal.m4 | 17 +- sim/microblaze/config.in | 20 +- sim/microblaze/configure | 637 +- sim/microblaze/configure.ac | 7 +- sim/microblaze/interp.c | 809 +- sim/microblaze/microblaze.h | 18 +- sim/microblaze/microblaze.isa | 8 +- sim/microblaze/sim-main.h | 19 +- sim/microblaze/sysdep.h | 94 - sim/mips/ChangeLog | 121 + sim/mips/Makefile.in | 9 +- sim/mips/aclocal.m4 | 17 +- sim/mips/config.in | 5 +- sim/mips/configure | 171 +- sim/mips/configure.ac | 14 +- sim/mips/cp1.c | 2 +- sim/mips/cp1.h | 2 +- sim/mips/dsp.c | 2 +- sim/mips/dsp.igen | 2 +- sim/mips/dsp2.igen | 2 +- sim/mips/dv-tx3904cpu.c | 10 +- sim/mips/dv-tx3904irc.c | 2 +- sim/mips/dv-tx3904sio.c | 2 +- sim/mips/dv-tx3904tmr.c | 2 +- sim/mips/interp.c | 126 +- sim/mips/m16e.igen | 2 +- sim/mips/m16run.c | 6 +- sim/mips/mdmx.c | 2 +- sim/mips/mdmx.igen | 2 +- sim/mips/mips3264r2.igen | 2 +- sim/mips/mips3d.igen | 2 +- sim/mips/sb1.igen | 2 +- sim/mips/sim-main.h | 22 +- sim/mips/smartmips.igen | 2 +- sim/mips/tconfig.h | 17 + sim/mips/tconfig.in | 40 - sim/mn10300/ChangeLog | 97 + sim/mn10300/Makefile.in | 10 +- sim/mn10300/aclocal.m4 | 17 +- sim/mn10300/config.in | 5 +- sim/mn10300/configure | 275 +- sim/mn10300/configure.ac | 10 +- sim/mn10300/dv-mn103cpu.c | 14 +- sim/mn10300/dv-mn103int.c | 2 +- sim/mn10300/dv-mn103iop.c | 2 +- sim/mn10300/dv-mn103ser.c | 2 +- sim/mn10300/dv-mn103tim.c | 2 +- sim/mn10300/interp.c | 39 +- sim/mn10300/sim-main.h | 15 +- sim/mn10300/tconfig.in | 29 - sim/moxie/ChangeLog | 124 + sim/moxie/Makefile.in | 22 +- sim/moxie/aclocal.m4 | 17 +- sim/moxie/config.in | 5 +- sim/moxie/configure | 225 +- sim/moxie/configure.ac | 5 +- sim/moxie/interp.c | 377 +- sim/moxie/sim-main.h | 17 +- sim/moxie/sysdep.h | 94 - sim/msp430/ChangeLog | 67 + sim/msp430/Makefile.in | 28 +- sim/msp430/aclocal.m4 | 17 +- sim/msp430/config.in | 5 +- sim/msp430/configure | 268 +- sim/msp430/configure.ac | 4 +- sim/msp430/msp430-sim.c | 93 +- sim/msp430/msp430-sim.h | 2 +- sim/msp430/sim-main.h | 17 +- sim/msp430/trace.c | 6 +- sim/msp430/trace.h | 4 +- sim/ppc/ChangeLog | 17 + sim/ppc/Makefile.in | 8 +- sim/ppc/altivec.igen | 2 +- sim/ppc/altivec_expression.h | 2 +- sim/ppc/altivec_registers.h | 2 +- sim/ppc/config.in | 3 - sim/ppc/configure | 264 +- sim/ppc/dp-bit.c | 2 +- sim/ppc/e500.igen | 2 +- sim/ppc/e500_expression.h | 2 +- sim/ppc/e500_registers.h | 2 +- sim/ppc/gdb-sim.c | 2 +- sim/ppc/hw_htab.c | 2 +- sim/ppc/psim.texinfo | 2 +- sim/rl78/ChangeLog | 39 + sim/rl78/Makefile.in | 2 +- sim/rl78/aclocal.m4 | 17 +- sim/rl78/config.in | 5 +- sim/rl78/configure | 112 +- sim/rl78/configure.ac | 2 +- sim/rl78/cpu.c | 5 +- sim/rl78/cpu.h | 8 +- sim/rl78/gdb-if.c | 33 +- sim/rl78/load.c | 29 +- sim/rl78/load.h | 2 +- sim/rl78/main.c | 26 +- sim/rl78/mem.c | 38 +- sim/rl78/mem.h | 2 +- sim/rl78/rl78.c | 12 +- sim/rl78/trace.c | 19 +- sim/rl78/trace.h | 2 +- sim/rx/ChangeLog | 23 + sim/rx/Makefile.in | 2 +- sim/rx/aclocal.m4 | 17 +- sim/rx/config.in | 5 +- sim/rx/configure | 112 +- sim/rx/configure.ac | 2 +- sim/rx/cpu.h | 2 +- sim/rx/err.c | 2 +- sim/rx/err.h | 2 +- sim/rx/fpu.c | 2 +- sim/rx/fpu.h | 2 +- sim/rx/gdb-if.c | 10 +- sim/rx/load.c | 2 +- sim/rx/load.h | 2 +- sim/rx/main.c | 2 +- sim/rx/mem.c | 2 +- sim/rx/mem.h | 2 +- sim/rx/misc.c | 2 +- sim/rx/misc.h | 2 +- sim/rx/reg.c | 4 +- sim/rx/rx.c | 2 +- sim/rx/syscalls.c | 2 +- sim/rx/syscalls.h | 2 +- sim/rx/trace.c | 2 +- sim/rx/trace.h | 2 +- sim/sh/ChangeLog | 139 + sim/sh/Makefile.in | 14 +- sim/sh/aclocal.m4 | 17 +- sim/sh/config.in | 20 +- sim/sh/configure | 637 +- sim/sh/configure.ac | 7 +- sim/sh/gencode.c | 111 +- sim/sh/interp.c | 582 +- sim/sh/sim-main.h | 141 + sim/sh/tconfig.in | 17 - sim/sh64/ChangeLog | 77 + sim/sh64/Makefile.in | 13 +- sim/sh64/aclocal.m4 | 17 +- sim/sh64/arch.c | 2 +- sim/sh64/arch.h | 2 +- sim/sh64/config.in | 5 +- sim/sh64/configure | 144 +- sim/sh64/configure.ac | 3 +- sim/sh64/cpu.c | 2 +- sim/sh64/cpu.h | 2 +- sim/sh64/cpuall.h | 2 +- sim/sh64/decode-compact.c | 2 +- sim/sh64/decode-compact.h | 2 +- sim/sh64/decode-media.c | 2 +- sim/sh64/decode-media.h | 2 +- sim/sh64/defs-compact.h | 2 +- sim/sh64/defs-media.h | 2 +- sim/sh64/eng.h | 2 +- sim/sh64/sem-compact-switch.c | 2 +- sim/sh64/sem-compact.c | 2 +- sim/sh64/sem-media-switch.c | 2 +- sim/sh64/sem-media.c | 2 +- sim/sh64/sh-desc.c | 2 +- sim/sh64/sh-desc.h | 2 +- sim/sh64/sh-opc.h | 2 +- sim/sh64/sh64-sim.h | 2 +- sim/sh64/sh64.c | 2 +- sim/sh64/sim-if.c | 2 +- sim/sh64/sim-main.h | 12 +- sim/sh64/tconfig.h | 36 + sim/sh64/tconfig.in | 45 - sim/testsuite/ChangeLog | 27 + sim/testsuite/Makefile.in | 2 +- sim/testsuite/common/bits-gen.c | 2 +- sim/testsuite/configure | 34 +- sim/testsuite/configure.ac | 3 + sim/testsuite/d10v-elf/ChangeLog | 4 + sim/testsuite/d10v-elf/Makefile.in | 4 +- sim/testsuite/frv-elf/Makefile.in | 2 +- sim/testsuite/lib/sim-defs.exp | 14 +- sim/testsuite/m32r-elf/Makefile.in | 2 +- sim/testsuite/mips64el-elf/Makefile.in | 2 +- sim/testsuite/sim/avr/ChangeLog | 7 + sim/testsuite/sim/avr/allinsn.exp | 15 + sim/testsuite/sim/avr/pass.s | 7 + sim/testsuite/sim/avr/testutils.inc | 42 + sim/testsuite/sim/cr16/ChangeLog | 5 + sim/testsuite/sim/cr16/testutils.inc | 2 + sim/testsuite/sim/cris/asm/asm.exp | 2 +- sim/testsuite/sim/cris/c/c.exp | 2 +- sim/testsuite/sim/cris/hw/rv-n-cris/rvc.exp | 2 +- sim/testsuite/sim/ft32/ChangeLog | 3 + sim/testsuite/sim/ft32/allinsn.exp | 15 + sim/testsuite/sim/ft32/basic.s | 862 + sim/testsuite/sim/ft32/testutils.inc | 65 + sim/testsuite/sim/iq2000/ChangeLog | 3 + sim/testsuite/sim/iq2000/allinsn.exp | 15 + sim/testsuite/sim/iq2000/pass.s | 7 + sim/testsuite/sim/iq2000/testutils.inc | 53 + sim/testsuite/sim/lm32/ChangeLog | 3 + sim/testsuite/sim/lm32/allinsn.exp | 15 + sim/testsuite/sim/lm32/pass.s | 7 + sim/testsuite/sim/lm32/testutils.inc | 59 + sim/testsuite/sim/m68hc11/ChangeLog | 3 + sim/testsuite/sim/m68hc11/allinsn.exp | 15 + sim/testsuite/sim/m68hc11/pass.s | 7 + sim/testsuite/sim/m68hc11/testutils.inc | 53 + sim/testsuite/sim/mcore/ChangeLog | 3 + sim/testsuite/sim/mcore/allinsn.exp | 15 + sim/testsuite/sim/mcore/pass.s | 7 + sim/testsuite/sim/mcore/testutils.inc | 52 + sim/testsuite/sim/microblaze/ChangeLog | 3 + sim/testsuite/sim/microblaze/allinsn.exp | 15 + sim/testsuite/sim/microblaze/pass.s | 8 + sim/testsuite/sim/microblaze/testutils.inc | 29 + sim/testsuite/sim/mips/ChangeLog | 4 + sim/testsuite/sim/mips/basic.exp | 6 - sim/testsuite/sim/mips/mips32-dsp.s | 2 +- sim/testsuite/sim/mips/testutils.inc | 2 +- sim/testsuite/sim/mips/utils-dsp.inc | 2 +- sim/testsuite/sim/mips/utils-fpu.inc | 2 +- sim/testsuite/sim/mips/utils-mdmx.inc | 2 +- sim/testsuite/sim/mn10300/ChangeLog | 3 + sim/testsuite/sim/mn10300/allinsn.exp | 15 + sim/testsuite/sim/mn10300/pass.s | 7 + sim/testsuite/sim/mn10300/testutils.inc | 63 + sim/testsuite/sim/moxie/ChangeLog | 3 + sim/testsuite/sim/moxie/allinsn.exp | 15 + sim/testsuite/sim/moxie/pass.s | 7 + sim/testsuite/sim/moxie/testutils.inc | 46 + sim/v850/ChangeLog | 114 + sim/v850/Makefile.in | 6 +- sim/v850/aclocal.m4 | 17 +- sim/v850/config.in | 5 +- sim/v850/configure | 122 +- sim/v850/configure.ac | 2 +- sim/v850/interp.c | 80 +- sim/v850/sim-main.h | 99 +- sim/v850/simops.c | 338 +- sim/v850/v850-dc | 6 + sim/v850/v850.igen | 847 +- src-release.sh | 15 +- zlib/CMakeLists.txt | 211 + zlib/ChangeLog | 1409 ++ zlib/ChangeLog.gcj | 365 + zlib/ChangeLog.jit | 22 + zlib/FAQ | 368 + zlib/INDEX | 68 + zlib/Makefile.am | 61 + zlib/Makefile.in | 697 + zlib/README | 118 + zlib/acinclude.m4 | 9 + zlib/aclocal.m4 | 979 + zlib/adler32.c | 179 + zlib/amiga/Makefile.pup | 69 + zlib/amiga/Makefile.sas | 68 + zlib/as400/bndsrc | 205 + zlib/as400/compile.clp | 110 + zlib/as400/readme.txt | 115 + zlib/as400/zlib.inc | 445 + zlib/compress.c | 80 + zlib/configure |13426 +++++++++++++ zlib/configure.ac | 131 + zlib/contrib/README.contrib | 77 + zlib/contrib/ada/buffer_demo.adb | 106 + zlib/contrib/ada/mtest.adb | 156 + zlib/contrib/ada/read.adb | 156 + zlib/contrib/ada/readme.txt | 65 + zlib/contrib/ada/test.adb | 463 + zlib/contrib/ada/zlib-streams.adb | 225 + zlib/contrib/ada/zlib-streams.ads | 114 + zlib/contrib/ada/zlib-thin.adb | 141 + zlib/contrib/ada/zlib-thin.ads | 450 + zlib/contrib/ada/zlib.adb | 701 + zlib/contrib/ada/zlib.ads | 328 + zlib/contrib/ada/zlib.gpr | 20 + zlib/contrib/amd64/amd64-match.S | 452 + zlib/contrib/asm686/README.686 | 51 + zlib/contrib/asm686/match.S | 357 + zlib/contrib/blast/Makefile | 8 + zlib/contrib/blast/README | 4 + zlib/contrib/blast/blast.c | 444 + zlib/contrib/blast/blast.h | 71 + zlib/contrib/blast/test.pk | Bin 0 -> 8 bytes zlib/contrib/blast/test.txt | 1 + zlib/contrib/delphi/ZLib.pas | 557 + zlib/contrib/delphi/ZLibConst.pas | 11 + zlib/contrib/delphi/readme.txt | 76 + zlib/contrib/delphi/zlibd32.mak | 99 + zlib/contrib/dotzlib/DotZLib.build | 33 + zlib/contrib/dotzlib/DotZLib.chm | Bin 0 -> 72728 bytes zlib/contrib/dotzlib/DotZLib.sln | 21 + zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs | 58 + zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs | 202 + zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs | 83 + zlib/contrib/dotzlib/DotZLib/CodecBase.cs | 198 + zlib/contrib/dotzlib/DotZLib/Deflater.cs | 106 + zlib/contrib/dotzlib/DotZLib/DotZLib.cs | 288 + zlib/contrib/dotzlib/DotZLib/DotZLib.csproj | 141 + zlib/contrib/dotzlib/DotZLib/GZipStream.cs | 301 + zlib/contrib/dotzlib/DotZLib/Inflater.cs | 105 + zlib/contrib/dotzlib/DotZLib/UnitTests.cs | 274 + zlib/contrib/dotzlib/LICENSE_1_0.txt | 23 + zlib/contrib/dotzlib/readme.txt | 58 + zlib/contrib/gcc_gvmat64/gvmat64.S | 574 + zlib/contrib/infback9/README | 1 + zlib/contrib/infback9/infback9.c | 617 + zlib/contrib/infback9/infback9.h | 37 + zlib/contrib/infback9/inffix9.h | 107 + zlib/contrib/infback9/inflate9.h | 47 + zlib/contrib/infback9/inftree9.c | 324 + zlib/contrib/infback9/inftree9.h | 61 + zlib/contrib/inflate86/inffas86.c | 1157 ++ zlib/contrib/inflate86/inffast.S | 1368 ++ zlib/contrib/iostream/test.cpp | 24 + zlib/contrib/iostream/zfstream.cpp | 329 + zlib/contrib/iostream/zfstream.h | 128 + zlib/contrib/iostream2/zstream.h | 307 + zlib/contrib/iostream2/zstream_test.cpp | 25 + zlib/contrib/iostream3/README | 35 + zlib/contrib/iostream3/TODO | 17 + zlib/contrib/iostream3/test.cc | 50 + zlib/contrib/iostream3/zfstream.cc | 479 + zlib/contrib/iostream3/zfstream.h | 466 + zlib/contrib/masmx64/bld_ml64.bat | 2 + zlib/contrib/masmx64/gvmat64.asm | 553 + zlib/contrib/masmx64/gvmat64.obj | Bin 0 -> 4119 bytes zlib/contrib/masmx64/inffas8664.c | 186 + zlib/contrib/masmx64/inffasx64.asm | 396 + zlib/contrib/masmx64/inffasx64.obj | Bin 0 -> 5913 bytes zlib/contrib/masmx64/readme.txt | 31 + zlib/contrib/masmx86/bld_ml32.bat | 2 + zlib/contrib/masmx86/gvmat32.obj | Bin 0 -> 10241 bytes zlib/contrib/masmx86/inffas32.asm | 1080 ++ zlib/contrib/masmx86/inffas32.obj | Bin 0 -> 14893 bytes zlib/contrib/masmx86/match686.asm | 479 + zlib/contrib/masmx86/readme.txt | 27 + zlib/contrib/minizip/Makefile | 25 + zlib/contrib/minizip/Makefile.am | 45 + zlib/contrib/minizip/MiniZip64_Changes.txt | 6 + zlib/contrib/minizip/MiniZip64_info.txt | 74 + zlib/contrib/minizip/configure.ac | 32 + zlib/contrib/minizip/crypt.h | 131 + zlib/contrib/minizip/ioapi.c | 247 + zlib/contrib/minizip/ioapi.h | 208 + zlib/contrib/minizip/iowin32.c | 389 + zlib/contrib/minizip/iowin32.h | 28 + zlib/contrib/minizip/make_vms.com | 25 + zlib/contrib/minizip/miniunz.c | 660 + zlib/contrib/minizip/minizip.c | 520 + zlib/contrib/minizip/minizip.pc.in | 12 + zlib/contrib/minizip/mztools.c | 291 + zlib/contrib/minizip/mztools.h | 37 + zlib/contrib/minizip/unzip.c | 2125 ++ zlib/contrib/minizip/unzip.h | 437 + zlib/contrib/minizip/zip.c | 2007 ++ zlib/contrib/minizip/zip.h | 362 + zlib/contrib/pascal/example.pas | 599 + zlib/contrib/pascal/readme.txt | 76 + zlib/contrib/pascal/zlibd32.mak | 99 + zlib/contrib/pascal/zlibpas.pas | 276 + zlib/contrib/puff/Makefile | 42 + zlib/contrib/puff/README | 63 + zlib/contrib/puff/puff.c | 837 + zlib/contrib/puff/puff.h | 35 + zlib/contrib/puff/pufftest.c | 165 + zlib/contrib/puff/zeros.raw | Bin 0 -> 1213 bytes zlib/contrib/testzlib/testzlib.c | 275 + zlib/contrib/testzlib/testzlib.txt | 10 + zlib/contrib/untgz/Makefile | 14 + zlib/contrib/untgz/Makefile.msc | 17 + zlib/contrib/untgz/untgz.c | 674 + zlib/contrib/vstudio/readme.txt | 60 + zlib/contrib/vstudio/vc10/miniunz.vcxproj | 310 + zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters | 22 + zlib/contrib/vstudio/vc10/miniunz.vcxproj.user | 3 + zlib/contrib/vstudio/vc10/minizip.vcxproj | 307 + zlib/contrib/vstudio/vc10/minizip.vcxproj.filters | 22 + zlib/contrib/vstudio/vc10/minizip.vcxproj.user | 3 + zlib/contrib/vstudio/vc10/testzlib.vcxproj | 420 + zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters | 58 + zlib/contrib/vstudio/vc10/testzlib.vcxproj.user | 3 + zlib/contrib/vstudio/vc10/testzlibdll.vcxproj | 310 + .../vstudio/vc10/testzlibdll.vcxproj.filters | 22 + zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.user | 3 + zlib/contrib/vstudio/vc10/zlib.rc | 32 + zlib/contrib/vstudio/vc10/zlibstat.vcxproj | 457 + zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters | 77 + zlib/contrib/vstudio/vc10/zlibstat.vcxproj.user | 3 + zlib/contrib/vstudio/vc10/zlibvc.def | 139 + zlib/contrib/vstudio/vc10/zlibvc.sln | 135 + zlib/contrib/vstudio/vc10/zlibvc.vcxproj | 681 + zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters | 118 + zlib/contrib/vstudio/vc10/zlibvc.vcxproj.user | 3 + zlib/contrib/vstudio/vc9/miniunz.vcproj | 565 + zlib/contrib/vstudio/vc9/minizip.vcproj | 562 + zlib/contrib/vstudio/vc9/testzlib.vcproj | 852 + zlib/contrib/vstudio/vc9/testzlibdll.vcproj | 565 + zlib/contrib/vstudio/vc9/zlib.rc | 32 + zlib/contrib/vstudio/vc9/zlibstat.vcproj | 835 + zlib/contrib/vstudio/vc9/zlibvc.def | 139 + zlib/contrib/vstudio/vc9/zlibvc.sln | 144 + zlib/contrib/vstudio/vc9/zlibvc.vcproj | 1156 ++ zlib/crc32.c | 425 + zlib/crc32.h | 441 + zlib/deflate.c | 1965 ++ zlib/deflate.h | 346 + zlib/doc/algorithm.txt | 209 + zlib/doc/rfc1950.txt | 619 + zlib/doc/rfc1951.txt | 955 + zlib/doc/rfc1952.txt | 675 + zlib/doc/txtvsbin.txt | 107 + zlib/example.c | 565 + zlib/examples/README.examples | 49 + zlib/examples/enough.c | 569 + zlib/examples/fitblk.c | 233 + zlib/examples/gun.c | 701 + zlib/examples/gzappend.c | 500 + zlib/examples/gzjoin.c | 448 + zlib/examples/gzlog.c | 1058 + zlib/examples/gzlog.h | 89 + zlib/examples/zlib_how.html | 545 + zlib/examples/zpipe.c | 205 + zlib/examples/zran.c | 404 + zlib/gzclose.c | 25 + zlib/gzguts.h | 193 + zlib/gzlib.c | 620 + zlib/gzread.c | 589 + zlib/gzwrite.c | 565 + zlib/infback.c | 640 + zlib/inffast.c | 340 + zlib/inffast.h | 11 + zlib/inffixed.h | 94 + zlib/inflate.c | 1496 ++ zlib/inflate.h | 122 + zlib/inftrees.c | 306 + zlib/inftrees.h | 62 + zlib/make_vms.com | 867 + zlib/minigzip.c | 440 + zlib/msdos/Makefile.bor | 115 + zlib/msdos/Makefile.dj2 | 104 + zlib/msdos/Makefile.emx | 69 + zlib/msdos/Makefile.msc | 112 + zlib/msdos/Makefile.tc | 100 + zlib/nintendods/Makefile | 126 + zlib/nintendods/README | 5 + zlib/old/Makefile.emx | 69 + zlib/old/Makefile.riscos | 151 + zlib/old/README | 3 + zlib/old/descrip.mms | 48 + zlib/old/os2/Makefile.os2 | 136 + zlib/old/os2/zlib.def | 51 + zlib/old/visual-basic.txt | 160 + zlib/qnx/package.qpg | 141 + zlib/test/example.c | 601 + zlib/test/infcover.c | 671 + zlib/test/minigzip.c | 631 + zlib/treebuild.xml | 116 + zlib/trees.c | 1224 ++ zlib/trees.h | 128 + zlib/uncompr.c | 59 + zlib/watcom/watcom_f.mak | 43 + zlib/watcom/watcom_l.mak | 43 + zlib/win32/DLL_FAQ.txt | 397 + zlib/win32/Makefile.bor | 110 + zlib/win32/Makefile.gcc | 182 + zlib/win32/Makefile.msc | 160 + zlib/win32/README-WIN32.txt | 103 + zlib/win32/VisualC.txt | 3 + zlib/win32/zlib.def | 84 + zlib/win32/zlib1.rc | 40 + zlib/zconf.h | 522 + zlib/zconf.h.cmakein | 508 + zlib/zconf.h.in | 506 + zlib/zlib.3 | 151 + zlib/zlib.h | 1744 ++ zlib/zlib.map | 78 + zlib/zlib.pc.cmakein | 13 + zlib/zlib.pc.in | 13 + zlib/zlib2ansi | 152 + zlib/zutil.c | 324 + zlib/zutil.h | 252 + 8437 files changed, 260442 insertions(+), 101341 deletions(-) create mode 100644 bfd/ChangeLog-2014 create mode 100644 bfd/cpu-ft32.c create mode 100644 bfd/cpu-iamcu.c create mode 100644 bfd/elf32-ft32.c copy binutils/{ChangeLog => ChangeLog-2014} (100%) create mode 100644 binutils/testsuite/binutils-all/arm/rvct_symbol.s create mode 100644 binutils/testsuite/binutils-all/dw2-3.S create mode 100644 binutils/testsuite/binutils-all/dw2-3.W create mode 100644 binutils/testsuite/binutils-all/dw2-3.rS create mode 100644 binutils/testsuite/binutils-all/dw2-3.rt create mode 100644 binutils/testsuite/binutils-all/dw2-3gabi.W create mode 100644 binutils/testsuite/binutils-all/elfedit-5.d create mode 100644 binutils/testsuite/binutils-all/libdw2-compressedgabi.out create mode 100644 binutils/testsuite/binutils-all/pr18374.s create mode 100644 binutils/testsuite/binutils-all/readelf.pr18374 create mode 100644 binutils/testsuite/binutils-all/readelf.z create mode 100644 binutils/testsuite/binutils-all/update-1.s create mode 100644 binutils/testsuite/binutils-all/update-2.s create mode 100644 binutils/testsuite/binutils-all/update-3.s create mode 100644 binutils/testsuite/binutils-all/update-4.s create mode 100644 binutils/testsuite/binutils-all/update-section.exp create mode 100644 binutils/testsuite/binutils-all/z.s delete mode 100644 config/cloog.m4 copy gas/{ChangeLog => ChangeLog-2014} (100%) create mode 100644 gas/config/tc-ft32.c create mode 100644 gas/config/tc-ft32.h copy gas/testsuite/{ChangeLog => ChangeLog-2014} (100%) create mode 100644 gas/testsuite/gas/aarch64/codealign.d create mode 100644 gas/testsuite/gas/aarch64/codealign.s create mode 100644 gas/testsuite/gas/aarch64/codealign_1.d create mode 100644 gas/testsuite/gas/aarch64/codealign_1.s create mode 100644 gas/testsuite/gas/aarch64/mapping_5.d create mode 100644 gas/testsuite/gas/aarch64/mapping_5.s create mode 100644 gas/testsuite/gas/aarch64/mapping_6.d create mode 100644 gas/testsuite/gas/aarch64/mapping_6.s create mode 100644 gas/testsuite/gas/aarch64/tail_padding.d create mode 100644 gas/testsuite/gas/aarch64/tail_padding.s create mode 100644 gas/testsuite/gas/all/none.d create mode 100644 gas/testsuite/gas/all/none.s create mode 100644 gas/testsuite/gas/arm/attr-abi-hardfp-use-0.d create mode 100644 gas/testsuite/gas/arm/attr-abi-hardfp-use-0.s create mode 100644 gas/testsuite/gas/arm/attr-abi-hardfp-use-1.d create mode 100644 gas/testsuite/gas/arm/attr-abi-hardfp-use-1.s create mode 100644 gas/testsuite/gas/arm/attr-abi-hardfp-use-2.d create mode 100644 gas/testsuite/gas/arm/attr-abi-hardfp-use-2.s create mode 100644 gas/testsuite/gas/arm/attr-abi-hardfp-use-3.d create mode 100644 gas/testsuite/gas/arm/attr-abi-hardfp-use-3.s create mode 100644 gas/testsuite/gas/arm/pr18256.d create mode 100644 gas/testsuite/gas/arm/pr18256.l create mode 100644 gas/testsuite/gas/arm/pr18256.s create mode 100644 gas/testsuite/gas/arm/pr18347.d create mode 100644 gas/testsuite/gas/arm/pr18347.l create mode 100644 gas/testsuite/gas/arm/pr18347.s create mode 100644 gas/testsuite/gas/avr/avr-prop-1.d create mode 100644 gas/testsuite/gas/avr/avr-prop-1.s create mode 100644 gas/testsuite/gas/avr/large-debug-line-table.d create mode 100644 gas/testsuite/gas/avr/large-debug-line-table.s create mode 100644 gas/testsuite/gas/cfi/cfi-label.d create mode 100644 gas/testsuite/gas/cfi/cfi-label.s create mode 100644 gas/testsuite/gas/elf/section2.e-v850 create mode 100644 gas/testsuite/gas/ft32/ft32.exp create mode 100644 gas/testsuite/gas/ft32/insn.d create mode 100644 gas/testsuite/gas/ft32/insn.s create mode 100644 gas/testsuite/gas/i386/arch-13-znver1.d create mode 100644 gas/testsuite/gas/i386/arch-13.d create mode 100644 gas/testsuite/gas/i386/arch-13.s create mode 100644 gas/testsuite/gas/i386/clzero.d create mode 100644 gas/testsuite/gas/i386/clzero.s create mode 100644 gas/testsuite/gas/i386/dw2-compress-3.d create mode 100644 gas/testsuite/gas/i386/dw2-compress-3.s create mode 100644 gas/testsuite/gas/i386/dw2-compressed-1.d create mode 100644 gas/testsuite/gas/i386/dw2-compressed-2.d create mode 100644 gas/testsuite/gas/i386/dw2-compressed-3.d create mode 100644 gas/testsuite/gas/i386/iamcu-1.d create mode 100644 gas/testsuite/gas/i386/iamcu-1.s create mode 100644 gas/testsuite/gas/i386/iamcu-2.d create mode 100644 gas/testsuite/gas/i386/iamcu-2.s create mode 100644 gas/testsuite/gas/i386/iamcu-3.d create mode 100644 gas/testsuite/gas/i386/iamcu-3.s create mode 100644 gas/testsuite/gas/i386/iamcu-inval-1.l create mode 100644 gas/testsuite/gas/i386/iamcu-inval-1.s create mode 100644 gas/testsuite/gas/i386/iamcu-inval-2.l create mode 100644 gas/testsuite/gas/i386/iamcu-inval-2.s create mode 100644 gas/testsuite/gas/i386/iamcu-inval-3.l create mode 100644 gas/testsuite/gas/i386/iamcu-inval-3.s delete mode 100644 gas/testsuite/gas/i386/ilp32/x86-64-nops-1-nocona.d delete mode 100644 gas/testsuite/gas/i386/nops-1-bdver1.d delete mode 100644 gas/testsuite/gas/i386/nops-1-bdver2.d delete mode 100644 gas/testsuite/gas/i386/nops-1-bdver3.d delete mode 100644 gas/testsuite/gas/i386/nops-1-bdver4.d delete mode 100644 gas/testsuite/gas/i386/nops-1-btver1.d delete mode 100644 gas/testsuite/gas/i386/nops-1-btver2.d create mode 100644 gas/testsuite/gas/i386/note.d create mode 100644 gas/testsuite/gas/i386/note.s create mode 100644 gas/testsuite/gas/i386/pcrel-elf.d create mode 100644 gas/testsuite/gas/i386/relax-3.d create mode 100644 gas/testsuite/gas/i386/relax-3.s create mode 100644 gas/testsuite/gas/i386/relax-4.d create mode 100644 gas/testsuite/gas/i386/x86-64-arch-3-znver1.d create mode 100644 gas/testsuite/gas/i386/x86-64-arch-3.d create mode 100644 gas/testsuite/gas/i386/x86-64-arch-3.s create mode 100644 gas/testsuite/gas/i386/x86-64-branch-2.d create mode 100644 gas/testsuite/gas/i386/x86-64-branch-2.s create mode 100644 gas/testsuite/gas/i386/x86-64-branch-3.l create mode 100644 gas/testsuite/gas/i386/x86-64-branch-3.s create mode 100644 gas/testsuite/gas/i386/x86-64-clzero.d create mode 100644 gas/testsuite/gas/i386/x86-64-dw2-compressed-2.d create mode 100644 gas/testsuite/gas/i386/x86-64-jump.d create mode 100644 gas/testsuite/gas/i386/x86-64-jump.s delete mode 100644 gas/testsuite/gas/i386/x86-64-nops-1-bdver1.d delete mode 100644 gas/testsuite/gas/i386/x86-64-nops-1-bdver2.d delete mode 100644 gas/testsuite/gas/i386/x86-64-nops-1-bdver3.d delete mode 100644 gas/testsuite/gas/i386/x86-64-nops-1-bdver4.d delete mode 100644 gas/testsuite/gas/i386/x86-64-nops-1-btver1.d delete mode 100644 gas/testsuite/gas/i386/x86-64-nops-1-btver2.d delete mode 100644 gas/testsuite/gas/i386/x86-64-nops-1-nocona.d create mode 100644 gas/testsuite/gas/i386/x86-64-relax-2.d create mode 100644 gas/testsuite/gas/i386/x86-64-relax-3.d create mode 100644 gas/testsuite/gas/mips/dla-warn.l create mode 100644 gas/testsuite/gas/mips/dla-warn.s create mode 100644 gas/testsuite/gas/mips/la-warn.l create mode 100644 gas/testsuite/gas/mips/la-warn.s create mode 100644 gas/testsuite/gas/mips/r6-branch-constraints.l create mode 100644 gas/testsuite/gas/mips/r6-branch-constraints.s create mode 100644 gas/testsuite/gas/s390/zarch-z13.d create mode 100644 gas/testsuite/gas/s390/zarch-z13.s create mode 100644 gas/testsuite/gas/sh/arch/sh-opc-gen-as.pl create mode 100644 gas/testsuite/gas/sparc/natural-32.d create mode 100644 gas/testsuite/gas/sparc/natural-32.s create mode 100644 gas/testsuite/gas/sparc/natural.d create mode 100644 gas/testsuite/gas/sparc/natural.s create mode 100644 gdb/ChangeLog-2014 create mode 100644 gdb/break-catch-syscall.c create mode 100644 gdb/build-with-cxx.m4 create mode 100644 gdb/common/btrace-common.c create mode 100644 gdb/common/common.host create mode 100644 gdb/common/fileio.c create mode 100644 gdb/common/fileio.h create mode 100644 gdb/common/mingw-strerror.c create mode 100644 gdb/common/posix-strerror.c delete mode 100644 gdb/config/ia64/hpux.mh delete mode 100644 gdb/config/pa/hpux.mh create mode 100644 gdb/dtrace-probe.c create mode 100644 gdb/features/btrace-conf.dtd mode change 100644 => 100755 gdb/features/feature_to_c.sh create mode 100644 gdb/features/s390-tevx-linux64.c create mode 100644 gdb/features/s390-tevx-linux64.xml create mode 100644 gdb/features/s390-vx-linux64.c create mode 100644 gdb/features/s390-vx-linux64.xml create mode 100644 gdb/features/s390-vx.xml create mode 100644 gdb/features/s390x-tevx-linux64.c create mode 100644 gdb/features/s390x-tevx-linux64.xml create mode 100644 gdb/features/s390x-vx-linux64.c create mode 100644 gdb/features/s390x-vx-linux64.xml create mode 100644 gdb/ft32-tdep.c create mode 100644 gdb/ft32-tdep.h create mode 100644 gdb/gnulib/import/m4/strtok_r.m4 create mode 100644 gdb/gnulib/import/strtok_r.c mode change 100644 => 100755 gdb/gnulib/update-gnulib.sh delete mode 100644 gdb/hppa-hpux-nat.c delete mode 100644 gdb/hppa-hpux-tdep.c delete mode 100644 gdb/hppabsd-nat.c create mode 100644 gdb/hppaobsd-nat.c create mode 100644 gdb/i386fbsd-tdep.h delete mode 100644 gdb/ia64-hpux-nat.c delete mode 100644 gdb/ia64-hpux-tdep.c delete mode 100644 gdb/ia64-hpux-tdep.h delete mode 100644 gdb/inf-ttrace.c delete mode 100644 gdb/inf-ttrace.h create mode 100644 gdb/libiberty.m4 create mode 100644 gdb/nat/linux-personality.c create mode 100644 gdb/nat/linux-personality.h create mode 100644 gdb/nat/ppc-linux.c create mode 100644 gdb/nat/ppc-linux.h create mode 100644 gdb/nat/x86-linux-dregs.c create mode 100644 gdb/nat/x86-linux-dregs.h create mode 100644 gdb/nat/x86-linux.c create mode 100644 gdb/nat/x86-linux.h create mode 100644 gdb/python/lib/gdb/command/unwinders.py create mode 100644 gdb/python/lib/gdb/unwinder.py create mode 100644 gdb/python/py-unwind.c create mode 100644 gdb/regformats/s390-tevx-linux64.dat create mode 100644 gdb/regformats/s390-vx-linux64.dat create mode 100644 gdb/regformats/s390x-tevx-linux64.dat create mode 100644 gdb/regformats/s390x-vx-linux64.dat delete mode 100644 gdb/solib-ia64-hpux.c delete mode 100644 gdb/solib-ia64-hpux.h delete mode 100644 gdb/solib-pa64.c delete mode 100644 gdb/solib-pa64.h delete mode 100644 gdb/solib-som.c delete mode 100644 gdb/solib-som.h delete mode 100644 gdb/somread.c create mode 100644 gdb/stub-termcap.c create mode 100644 gdb/syscalls/aarch64-linux.xml create mode 100644 gdb/testsuite/boards/remote-gdbserver-on-localhost.exp delete mode 100644 gdb/testsuite/dg-extract-results.py create mode 100644 gdb/testsuite/gdb.ada/byte_packed_arr.exp create mode 100644 gdb/testsuite/gdb.ada/byte_packed_arr/array_list_g.ads create mode 100644 gdb/testsuite/gdb.ada/byte_packed_arr/reprod.adb create mode 100644 gdb/testsuite/gdb.ada/byte_packed_arr/reprod.ads create mode 100644 gdb/testsuite/gdb.ada/byte_packed_arr/reprod_main.adb create mode 100644 gdb/testsuite/gdb.ada/disc_arr_bound.exp create mode 100644 gdb/testsuite/gdb.ada/disc_arr_bound/foo_n612_026.adb create mode 100644 gdb/testsuite/gdb.ada/disc_arr_bound/pck.adb create mode 100644 gdb/testsuite/gdb.ada/disc_arr_bound/pck.ads create mode 100644 gdb/testsuite/gdb.ada/funcall_ref.exp create mode 100644 gdb/testsuite/gdb.ada/funcall_ref/foo.adb create mode 100644 gdb/testsuite/gdb.ada/mi_var_array.exp create mode 100644 gdb/testsuite/gdb.ada/mi_var_array/bar.adb create mode 100644 gdb/testsuite/gdb.ada/mi_var_array/pck.adb create mode 100644 gdb/testsuite/gdb.ada/mi_var_array/pck.ads create mode 100644 gdb/testsuite/gdb.ada/out_of_line_in_inlined.exp create mode 100644 gdb/testsuite/gdb.ada/out_of_line_in_inlined/bar.adb create mode 100644 gdb/testsuite/gdb.ada/out_of_line_in_inlined/bar.ads create mode 100644 gdb/testsuite/gdb.ada/out_of_line_in_inlined/foo_o224_021.adb create mode 100644 gdb/testsuite/gdb.ada/pckd_neg.exp create mode 100644 gdb/testsuite/gdb.ada/pckd_neg/foo_o508_021.adb create mode 100644 gdb/testsuite/gdb.ada/pckd_neg/pck.adb create mode 100644 gdb/testsuite/gdb.ada/pckd_neg/pck.ads create mode 100644 gdb/testsuite/gdb.ada/rec_comp.exp create mode 100644 gdb/testsuite/gdb.ada/rec_comp/bar_o203_012.adb create mode 100644 gdb/testsuite/gdb.ada/rec_comp/pck.adb create mode 100644 gdb/testsuite/gdb.ada/rec_comp/pck.ads create mode 100644 gdb/testsuite/gdb.ada/var_arr_attrs.exp create mode 100644 gdb/testsuite/gdb.ada/var_arr_attrs/foo_o115_002.adb create mode 100644 gdb/testsuite/gdb.ada/var_arr_attrs/pck.adb create mode 100644 gdb/testsuite/gdb.ada/var_arr_attrs/pck.ads create mode 100644 gdb/testsuite/gdb.ada/var_rec_arr.exp create mode 100644 gdb/testsuite/gdb.ada/var_rec_arr/foo_na09_042.adb create mode 100644 gdb/testsuite/gdb.ada/var_rec_arr/pck.adb create mode 100644 gdb/testsuite/gdb.ada/var_rec_arr/pck.ads create mode 100644 gdb/testsuite/gdb.arch/cordic.ko.bz2 create mode 100644 gdb/testsuite/gdb.arch/cordic.ko.debug.bz2 create mode 100644 gdb/testsuite/gdb.arch/i386-biarch-core.core.bz2 create mode 100644 gdb/testsuite/gdb.arch/i386-biarch-core.exp create mode 100644 gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp create mode 100644 gdb/testsuite/gdb.arch/s390-vregs.S create mode 100644 gdb/testsuite/gdb.arch/s390-vregs.exp create mode 100644 gdb/testsuite/gdb.base/batch-preserve-term-settings.c create mode 100644 gdb/testsuite/gdb.base/batch-preserve-term-settings.exp create mode 100644 gdb/testsuite/gdb.base/bp-cmds-execution-x-script.c create mode 100644 gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp create mode 100644 gdb/testsuite/gdb.base/bp-cmds-execution-x-script.gdb create mode 100644 gdb/testsuite/gdb.base/catch-gdb-caused-signals.c create mode 100644 gdb/testsuite/gdb.base/catch-gdb-caused-signals.exp create mode 100644 gdb/testsuite/gdb.base/coredump-filter.c create mode 100644 gdb/testsuite/gdb.base/coredump-filter.exp create mode 100644 gdb/testsuite/gdb.base/dtrace-probe.c create mode 100644 gdb/testsuite/gdb.base/dtrace-probe.d create mode 100644 gdb/testsuite/gdb.base/dtrace-probe.exp create mode 100644 gdb/testsuite/gdb.base/gdbinit-history.exp create mode 100644 gdb/testsuite/gdb.base/gdbinit-history/unlimited/.gdbinit create mode 100644 gdb/testsuite/gdb.base/gdbinit-history/zero/.gdbinit create mode 100644 gdb/testsuite/gdb.base/noreturn-finish.c create mode 100644 gdb/testsuite/gdb.base/noreturn-finish.exp create mode 100644 gdb/testsuite/gdb.base/noreturn-return.c create mode 100644 gdb/testsuite/gdb.base/noreturn-return.exp create mode 100644 gdb/testsuite/gdb.base/step-over-no-symbols.exp create mode 100644 gdb/testsuite/gdb.btrace/buffer-size.exp delete mode 100644 gdb/testsuite/gdb.btrace/finish.exp create mode 100644 gdb/testsuite/gdb.btrace/i686-record_goto.S create mode 100644 gdb/testsuite/gdb.btrace/i686-tailcall.S delete mode 100644 gdb/testsuite/gdb.btrace/next.exp delete mode 100644 gdb/testsuite/gdb.btrace/nexti.exp create mode 100644 gdb/testsuite/gdb.btrace/tailcall.c delete mode 100644 gdb/testsuite/gdb.btrace/x86-record_goto.S delete mode 100644 gdb/testsuite/gdb.btrace/x86-tailcall.S delete mode 100644 gdb/testsuite/gdb.btrace/x86-tailcall.c create mode 100644 gdb/testsuite/gdb.btrace/x86_64-record_goto.S create mode 100644 gdb/testsuite/gdb.btrace/x86_64-tailcall.S create mode 100644 gdb/testsuite/gdb.compile/compile-ifunc.c create mode 100644 gdb/testsuite/gdb.compile/compile-ifunc.exp create mode 100644 gdb/testsuite/gdb.compile/compile-print.c create mode 100644 gdb/testsuite/gdb.compile/compile-print.exp create mode 100644 gdb/testsuite/gdb.dwarf2/atomic-type.exp create mode 100644 gdb/testsuite/gdb.dwarf2/atomic.c create mode 100644 gdb/testsuite/gdb.dwarf2/staticvirtual.exp create mode 100644 gdb/testsuite/gdb.guile/scm-ports.c delete mode 100644 gdb/testsuite/gdb.hp/Makefile.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.aCC/Makefile.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.aCC/optimize.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.aCC/optimize.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.aCC/run.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.aCC/watch-cmd.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/Makefile.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/dollar.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/dollar.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/genso-thresh.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.s delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/reg.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/reg.s delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.mk delete mode 100755 gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.sh delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/Makefile.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/average.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/sum.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/xdb.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/xdb0.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/xdb0.h delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/xdb1.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/xdb1.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/xdb2.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.compat/xdb3.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/Makefile.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/bs14602.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/bs14602.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/solib-d.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/solib-d.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/solib-d1.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.defects/solib-d2.c delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/Makefile.in delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x1.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x2.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x3.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg01/x3.h delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x1.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x2.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02/x3.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x1.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x2.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x3.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04.exp delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x.h delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x1.cc delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x2.cc delete mode 100755 gdb/testsuite/gdb.hp/gdb.objdbg/tools/symaddr delete mode 100755 gdb/testsuite/gdb.hp/gdb.objdbg/tools/symaddr.pa64 delete mode 100644 gdb/testsuite/gdb.hp/gdb.objdbg/tools/test-objdbg.cc delete mode 100755 gdb/testsuite/gdb.hp/tools/odump create mode 100644 gdb/testsuite/gdb.linespec/keywords.c create mode 100644 gdb/testsuite/gdb.linespec/keywords.exp create mode 100644 gdb/testsuite/gdb.mi/mi-pendshr2.c create mode 100644 gdb/testsuite/gdb.mi/mi-var-list-children-invalid-grandchild.c create mode 100644 gdb/testsuite/gdb.mi/mi-var-list-children-invalid-grandchild.exp create mode 100644 gdb/testsuite/gdb.pascal/case-insensitive-symbols.exp create mode 100644 gdb/testsuite/gdb.pascal/case-insensitive-symbols.pas create mode 100644 gdb/testsuite/gdb.pascal/stub-method.exp create mode 100644 gdb/testsuite/gdb.pascal/stub-method.pas create mode 100644 gdb/testsuite/gdb.python/py-bad-printers.c create mode 100644 gdb/testsuite/gdb.python/py-bad-printers.exp create mode 100644 gdb/testsuite/gdb.python/py-bad-printers.py create mode 100644 gdb/testsuite/gdb.python/py-lookup-type.exp create mode 100644 gdb/testsuite/gdb.python/py-pp-registration.c create mode 100644 gdb/testsuite/gdb.python/py-pp-registration.exp create mode 100644 gdb/testsuite/gdb.python/py-pp-registration.py create mode 100644 gdb/testsuite/gdb.python/py-unwind-maint.c create mode 100644 gdb/testsuite/gdb.python/py-unwind-maint.exp create mode 100644 gdb/testsuite/gdb.python/py-unwind-maint.py create mode 100644 gdb/testsuite/gdb.python/py-unwind.c create mode 100644 gdb/testsuite/gdb.python/py-unwind.exp create mode 100644 gdb/testsuite/gdb.python/py-unwind.py create mode 100644 gdb/testsuite/gdb.server/non-existing-program.exp create mode 100644 gdb/testsuite/gdb.threads/attach-many-short-lived-threads.c create mode 100644 gdb/testsuite/gdb.threads/attach-many-short-lived-threads.exp create mode 100644 gdb/testsuite/gdb.threads/clone-thread_db.c create mode 100644 gdb/testsuite/gdb.threads/clone-thread_db.exp create mode 100644 gdb/testsuite/gdb.threads/continue-pending-after-query.c create mode 100644 gdb/testsuite/gdb.threads/continue-pending-after-query.exp create mode 100644 gdb/testsuite/gdb.threads/continue-pending-status.c create mode 100644 gdb/testsuite/gdb.threads/continue-pending-status.exp create mode 100644 gdb/testsuite/gdb.threads/multi-create-ns-info-thr.exp create mode 100644 gdb/testsuite/gdb.threads/non-stop-fair-events.c create mode 100644 gdb/testsuite/gdb.threads/non-stop-fair-events.exp create mode 100644 gdb/testsuite/gdb.threads/signal-sigtrap.c create mode 100644 gdb/testsuite/gdb.threads/signal-sigtrap.exp create mode 100644 gdb/testsuite/gdb.threads/step-bg-decr-pc-switch-thread.c create mode 100644 gdb/testsuite/gdb.threads/step-bg-decr-pc-switch-thread.exp create mode 100644 gdb/testsuite/gdb.threads/tid-reuse.c create mode 100644 gdb/testsuite/gdb.threads/tid-reuse.exp create mode 100644 gdb/testsuite/gdb.trace/no-attach-trace.c create mode 100644 gdb/testsuite/gdb.trace/no-attach-trace.exp create mode 100644 gdb/testsuite/lib/dtrace.exp create mode 100755 gdb/testsuite/lib/pdtrace.in create mode 100644 gdb/testsuite/lib/unbuffer_output.c create mode 100644 gdb/transform.m4 delete mode 100644 gdb/windows-termcap.c create mode 100644 gold/testsuite/eh_test_a.cc create mode 100644 gold/testsuite/eh_test_b.cc create mode 100755 gold/testsuite/i386_mov_to_lea.sh create mode 100644 gold/testsuite/i386_mov_to_lea1.s create mode 100644 gold/testsuite/i386_mov_to_lea2.s create mode 100644 gold/testsuite/i386_mov_to_lea3.s create mode 100644 gold/testsuite/i386_mov_to_lea4.s create mode 100644 gold/testsuite/i386_mov_to_lea5.s create mode 100644 gold/testsuite/memory_test_inc.t create mode 100644 gold/testsuite/memory_test_inc_1.t.src create mode 100644 gold/testsuite/memory_test_inc_2.t.src create mode 100644 gold/testsuite/memory_test_inc_3.t.src create mode 100755 gold/testsuite/plugin_test_11.sh create mode 100755 gold/testsuite/split_x32.sh create mode 100644 gold/testsuite/split_x32_1.s create mode 100644 gold/testsuite/split_x32_2.s create mode 100644 gold/testsuite/split_x32_3.s create mode 100644 gold/testsuite/split_x32_4.s create mode 100644 gold/testsuite/split_x32_n.s create mode 100755 gold/testsuite/tls_pie_test.sh create mode 100644 gold/testsuite/weak_unresolved_symbols_test.cc create mode 100755 gold/testsuite/x86_64_mov_to_lea.sh create mode 100644 gold/testsuite/x86_64_mov_to_lea1.s create mode 100644 gold/testsuite/x86_64_mov_to_lea2.s create mode 100644 gold/testsuite/x86_64_mov_to_lea3.s create mode 100644 gold/testsuite/x86_64_mov_to_lea4.s copy gprof/{ChangeLog => ChangeLog-2014} (100%) create mode 100644 include/elf/ft32.h create mode 100644 include/gdb/sim-ft32.h create mode 100644 include/opcode/ft32.h copy ld/{ChangeLog => ChangeLog-2014} (100%) create mode 100644 ld/emulparams/aarch64fbsd.sh create mode 100644 ld/emulparams/aarch64fbsdb.sh create mode 100644 ld/emulparams/elf32ft32.sh create mode 100644 ld/emulparams/elf_iamcu.sh create mode 100644 ld/emulparams/elf_x86_64_cloudabi.sh create mode 100644 ld/emulparams/extern_protected_data.sh create mode 100644 ld/emulparams/h8300elf_linux.sh create mode 100644 ld/emulparams/h8300helf_linux.sh create mode 100644 ld/emulparams/h8300self_linux.sh create mode 100644 ld/emulparams/h8300sxelf_linux.sh delete mode 100644 ld/emulparams/msp430.sh create mode 100644 ld/emulparams/msp430elf.sh create mode 100644 ld/emultempl/msp430.em create mode 100644 ld/emultempl/v850elf.em create mode 100644 ld/scripttempl/ft32.sc create mode 100644 ld/testplug2.c create mode 100644 ld/testplug3.c create mode 100644 ld/testsuite/ChangeLog-2014 create mode 100644 ld/testsuite/ld-aarch64/erratum843419.d create mode 100644 ld/testsuite/ld-aarch64/erratum843419.s create mode 100644 ld/testsuite/ld-aarch64/farcall-back-be.d create mode 100644 ld/testsuite/ld-aarch64/pcrel.s create mode 100644 ld/testsuite/ld-aarch64/pcrel_pic_defined_local.d create mode 100644 ld/testsuite/ld-aarch64/pcrel_pic_undefined.d create mode 100644 ld/testsuite/ld-aarch64/pr17415.d create mode 100644 ld/testsuite/ld-aarch64/pr17415.s create mode 100644 ld/testsuite/ld-aarch64/relocs-257-symbolic-func.d create mode 100644 ld/testsuite/ld-aarch64/relocs-257-symbolic-func.s create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-desc-ie.d create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-desc-ie.s create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-desc-le.d create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-desc-le.s create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-desc.d create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-desc.s create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-gd-ie.d create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-gd-ie.s create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-gd-le.d create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-gd-le.s create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-gd.d create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-gd.s create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-ie.d create mode 100644 ld/testsuite/ld-aarch64/tls-tiny-ie.s create mode 100644 ld/testsuite/ld-aarch64/tlsle.d create mode 100644 ld/testsuite/ld-aarch64/tlsle.s create mode 100644 ld/testsuite/ld-aarch64/tprel_g2_overflow.d create mode 100644 ld/testsuite/ld-aarch64/tprel_g2_overflow.s create mode 100644 ld/testsuite/ld-arm/attr-merge-hardfp-use-1.d create mode 100644 ld/testsuite/ld-arm/attr-merge-hardfp-use-1a.s create mode 100644 ld/testsuite/ld-arm/attr-merge-hardfp-use-1b.s create mode 100644 ld/testsuite/ld-arm/attr-merge-hardfp-use-2.d create mode 100644 ld/testsuite/ld-arm/attr-merge-hardfp-use-2a.s create mode 100644 ld/testsuite/ld-arm/attr-merge-hardfp-use-2b.s create mode 100644 ld/testsuite/ld-arm/rel32-reject-pie.d create mode 100644 ld/testsuite/ld-arm/rel32-reject-pie.s create mode 100644 ld/testsuite/ld-arm/rel32-reject.d create mode 100644 ld/testsuite/ld-arm/rel32-reject.s create mode 100644 ld/testsuite/ld-avr/avr-prop-1.d create mode 100644 ld/testsuite/ld-avr/avr-prop-1.s create mode 100644 ld/testsuite/ld-avr/avr-prop-2.d create mode 100644 ld/testsuite/ld-avr/avr-prop-2.s create mode 100644 ld/testsuite/ld-avr/avr-prop-3.d create mode 100644 ld/testsuite/ld-avr/avr-prop-3.s create mode 100644 ld/testsuite/ld-avr/avr-prop-4.d create mode 100644 ld/testsuite/ld-avr/avr-prop-4.s create mode 100644 ld/testsuite/ld-avr/region_overflow.d create mode 100644 ld/testsuite/ld-avr/region_overflow.s create mode 100644 ld/testsuite/ld-elf/compressed1a.d create mode 100644 ld/testsuite/ld-elf/compressed1b.d create mode 100644 ld/testsuite/ld-elf/compressed1c.d create mode 100644 ld/testsuite/ld-elf/compressed1d.d create mode 100644 ld/testsuite/ld-elf/compressed1e.d create mode 100644 ld/testsuite/ld-elf/gabiend.rt create mode 100644 ld/testsuite/ld-elf/gabinormal.rt create mode 100644 ld/testsuite/ld-elf/gap.s create mode 100644 ld/testsuite/ld-elf/gnubegin.rS create mode 100644 ld/testsuite/ld-elf/gnunormal.rS create mode 100644 ld/testsuite/ld-elf/merge3.d create mode 100644 ld/testsuite/ld-elf/merge3.s create mode 100644 ld/testsuite/ld-elf/orphan-5.l create mode 100644 ld/testsuite/ld-elf/pr17615.d create mode 100644 ld/testsuite/ld-elf/pr17615.s create mode 100644 ld/testsuite/ld-elf/zlibbegin.rS create mode 100644 ld/testsuite/ld-elf/zlibnormal.rS create mode 100644 ld/testsuite/ld-gc/all-debug-sections.d create mode 100644 ld/testsuite/ld-gc/all-debug-sections.s create mode 100644 ld/testsuite/ld-gc/pr18223.d create mode 100644 ld/testsuite/ld-gc/pr18223.s create mode 100644 ld/testsuite/ld-i386/abs-iamcu.d create mode 100644 ld/testsuite/ld-i386/copyreloc-lib.c create mode 100644 ld/testsuite/ld-i386/copyreloc-main.S create mode 100644 ld/testsuite/ld-i386/copyreloc-main.out create mode 100644 ld/testsuite/ld-i386/copyreloc-main1.rd create mode 100644 ld/testsuite/ld-i386/copyreloc-main2.rd create mode 100644 ld/testsuite/ld-i386/dummy.c create mode 100644 ld/testsuite/ld-i386/dummy.s create mode 100644 ld/testsuite/ld-i386/foo.s create mode 100644 ld/testsuite/ld-i386/iamcu-1.d create mode 100644 ld/testsuite/ld-i386/iamcu-2.d create mode 100644 ld/testsuite/ld-i386/iamcu-3.d create mode 100644 ld/testsuite/ld-i386/iamcu-4.d create mode 100644 ld/testsuite/ld-i386/pltgot-1.d create mode 100644 ld/testsuite/ld-i386/pltgot-1.s create mode 100644 ld/testsuite/ld-i386/pr17689.out create mode 100644 ld/testsuite/ld-i386/pr17689.rd create mode 100644 ld/testsuite/ld-i386/pr17689a.c create mode 100644 ld/testsuite/ld-i386/pr17689a.t create mode 100644 ld/testsuite/ld-i386/pr17689b.S create mode 100644 ld/testsuite/ld-i386/pr17689now.rd create mode 100644 ld/testsuite/ld-i386/pr17689ver.rd create mode 100644 ld/testsuite/ld-i386/pr17709-nacl.rd create mode 100644 ld/testsuite/ld-i386/pr17709.rd create mode 100644 ld/testsuite/ld-i386/pr17709a.s create mode 100644 ld/testsuite/ld-i386/pr17709b.s create mode 100644 ld/testsuite/ld-i386/pr17827.rd create mode 100644 ld/testsuite/ld-i386/pr17935-1.d create mode 100644 ld/testsuite/ld-i386/pr17935-1.s create mode 100644 ld/testsuite/ld-i386/pr17935-2.d create mode 100644 ld/testsuite/ld-i386/pr17935-2.s create mode 100644 ld/testsuite/ld-i386/protected6.s create mode 100644 ld/testsuite/ld-i386/protected6a.d create mode 100644 ld/testsuite/ld-i386/protected6b.d create mode 100644 ld/testsuite/ld-i386/start.s create mode 100644 ld/testsuite/ld-plugin/plugin-13.d create mode 100644 ld/testsuite/ld-plugin/plugin-14.d create mode 100644 ld/testsuite/ld-plugin/plugin-15.d create mode 100644 ld/testsuite/ld-plugin/plugin-16.d create mode 100644 ld/testsuite/ld-plugin/plugin-17.d create mode 100644 ld/testsuite/ld-plugin/plugin-18.d create mode 100644 ld/testsuite/ld-plugin/plugin-19.d create mode 100644 ld/testsuite/ld-plugin/plugin-20.d create mode 100644 ld/testsuite/ld-plugin/plugin-21.d create mode 100644 ld/testsuite/ld-plugin/plugin-22.d create mode 100644 ld/testsuite/ld-plugin/plugin-23.d create mode 100644 ld/testsuite/ld-plugin/plugin-24.d create mode 100644 ld/testsuite/ld-plugin/plugin-25.d create mode 100644 ld/testsuite/ld-plugin/plugin-26.d create mode 100644 ld/testsuite/ld-plugin/plugin-27.d create mode 100644 ld/testsuite/ld-plugin/plugin-28.d create mode 100644 ld/testsuite/ld-plugin/plugin-29.d create mode 100644 ld/testsuite/ld-plugin/pr12365a.c create mode 100644 ld/testsuite/ld-plugin/pr12365b.c create mode 100644 ld/testsuite/ld-plugin/pr12365c.c create mode 100644 ld/testsuite/ld-plugin/pr14918.c create mode 100644 ld/testsuite/ld-plugin/pr14918.d create mode 100644 ld/testsuite/ld-plugin/pr17973.d create mode 100644 ld/testsuite/ld-plugin/pr17973.s create mode 100644 ld/testsuite/ld-powerpc/tlsld.d create mode 100644 ld/testsuite/ld-powerpc/tlsld.s create mode 100644 ld/testsuite/ld-powerpc/tlsld32.d create mode 100644 ld/testsuite/ld-powerpc/tlsld32.s create mode 100644 ld/testsuite/ld-powerpc/tocnovar.d create mode 100644 ld/testsuite/ld-powerpc/tocnovar.s create mode 100644 ld/testsuite/ld-powerpc/tocvar.d create mode 100644 ld/testsuite/ld-powerpc/tocvar.s create mode 100644 ld/testsuite/ld-scripts/memory_sym.t create mode 100644 ld/testsuite/ld-scripts/provide-4-map.d create mode 100644 ld/testsuite/ld-scripts/provide-4.d create mode 100644 ld/testsuite/ld-scripts/provide-4.t create mode 100644 ld/testsuite/ld-scripts/provide-5-map.d create mode 100644 ld/testsuite/ld-scripts/provide-5.d create mode 100644 ld/testsuite/ld-scripts/provide-5.s create mode 100644 ld/testsuite/ld-scripts/provide-5.t create mode 100644 ld/testsuite/ld-x86-64/hidden4.d create mode 100644 ld/testsuite/ld-x86-64/hidden4.s create mode 100644 ld/testsuite/ld-x86-64/hidden5.d create mode 100644 ld/testsuite/ld-x86-64/hidden5.s create mode 100644 ld/testsuite/ld-x86-64/pie1.d create mode 100644 ld/testsuite/ld-x86-64/pie1.s create mode 100644 ld/testsuite/ld-x86-64/pltgot-1.d create mode 100644 ld/testsuite/ld-x86-64/pltgot-1.s create mode 100644 ld/testsuite/ld-x86-64/pr17689now.rd create mode 100644 ld/testsuite/ld-x86-64/pr17709-nacl.rd create mode 100644 ld/testsuite/ld-x86-64/pr17709.rd create mode 100644 ld/testsuite/ld-x86-64/pr17709a.s create mode 100644 ld/testsuite/ld-x86-64/pr17709b.s create mode 100644 ld/testsuite/ld-x86-64/pr17827.rd create mode 100644 ld/testsuite/ld-x86-64/pr17935-1.d create mode 100644 ld/testsuite/ld-x86-64/pr17935-1.s create mode 100644 ld/testsuite/ld-x86-64/pr17935-2.d create mode 100644 ld/testsuite/ld-x86-64/pr17935-2.s create mode 100644 ld/testsuite/ld-x86-64/pr18160.d create mode 100644 ld/testsuite/ld-x86-64/pr18160.s create mode 100644 ld/testsuite/ld-x86-64/pr18160.t create mode 100644 ld/testsuite/ld-x86-64/pr18176.d create mode 100644 ld/testsuite/ld-x86-64/pr18176.s create mode 100644 ld/testsuite/ld-x86-64/pr18176.t create mode 100644 ld/testsuite/ld-x86-64/protected6.s create mode 100644 ld/testsuite/ld-x86-64/protected6a.d create mode 100644 ld/testsuite/ld-x86-64/protected6b.d create mode 100644 ld/testsuite/ld-x86-64/protected7.s create mode 100644 ld/testsuite/ld-x86-64/protected7a.d create mode 100644 ld/testsuite/ld-x86-64/protected7b.d create mode 100644 libiberty/vprintf-support.c create mode 100644 libiberty/vprintf-support.h create mode 100644 libiberty/xasprintf.c create mode 100644 libiberty/xvasprintf.c copy opcodes/{ChangeLog => ChangeLog-2014} (100%) create mode 100644 opcodes/ft32-dis.c create mode 100644 opcodes/ft32-opc.c create mode 100644 sim/arm/sim-main.h delete mode 100644 sim/arm/tconfig.in create mode 100644 sim/avr/sim-main.h create mode 100644 sim/bfin/tconfig.h delete mode 100644 sim/bfin/tconfig.in mode change 100644 => 100755 sim/common/cgen.sh delete mode 100755 sim/common/create-version.sh mode change 100644 => 100755 sim/common/genmloop.sh mode change 100644 => 100755 sim/common/gennltvals.sh mode change 100644 => 100755 sim/common/gentvals.sh delete mode 100644 sim/common/run-sim.h delete mode 100644 sim/common/run.c create mode 100644 sim/common/tconfig.h delete mode 100644 sim/common/tconfig.in mode change 100644 => 100755 sim/cr16/configure create mode 100644 sim/cr16/sim-main.h create mode 100644 sim/cris/tconfig.h delete mode 100644 sim/cris/tconfig.in create mode 100644 sim/d10v/sim-main.h delete mode 100644 sim/erc32/end.c create mode 100644 sim/frv/tconfig.h delete mode 100644 sim/frv/tconfig.in create mode 100644 sim/ft32/ChangeLog create mode 100644 sim/ft32/Makefile.in create mode 100644 sim/ft32/aclocal.m4 create mode 100644 sim/ft32/config.in create mode 100755 sim/ft32/configure create mode 100644 sim/ft32/configure.ac create mode 100644 sim/ft32/ft32-sim.h create mode 100644 sim/ft32/interp.c create mode 100644 sim/ft32/sim-main.h create mode 100644 sim/h8300/tconfig.h delete mode 100644 sim/h8300/tconfig.in create mode 100644 sim/iq2000/tconfig.h delete mode 100644 sim/iq2000/tconfig.in rename sim/lm32/{tconfig.in => tconfig.h} (100%) create mode 100644 sim/m32r/tconfig.h delete mode 100644 sim/m32r/tconfig.in create mode 100644 sim/mcore/sim-main.h delete mode 100644 sim/mcore/sysdep.h mode change 100644 => 100755 sim/microblaze/configure delete mode 100644 sim/microblaze/sysdep.h create mode 100644 sim/mips/tconfig.h delete mode 100644 sim/mips/tconfig.in delete mode 100644 sim/mn10300/tconfig.in mode change 100644 => 100755 sim/moxie/configure delete mode 100644 sim/moxie/sysdep.h create mode 100644 sim/sh/sim-main.h delete mode 100644 sim/sh/tconfig.in create mode 100644 sim/sh64/tconfig.h delete mode 100644 sim/sh64/tconfig.in create mode 100644 sim/testsuite/sim/avr/ChangeLog create mode 100644 sim/testsuite/sim/avr/allinsn.exp create mode 100644 sim/testsuite/sim/avr/pass.s create mode 100644 sim/testsuite/sim/avr/testutils.inc create mode 100644 sim/testsuite/sim/ft32/ChangeLog create mode 100644 sim/testsuite/sim/ft32/allinsn.exp create mode 100644 sim/testsuite/sim/ft32/basic.s create mode 100644 sim/testsuite/sim/ft32/testutils.inc create mode 100644 sim/testsuite/sim/iq2000/ChangeLog create mode 100644 sim/testsuite/sim/iq2000/allinsn.exp create mode 100644 sim/testsuite/sim/iq2000/pass.s create mode 100644 sim/testsuite/sim/iq2000/testutils.inc create mode 100644 sim/testsuite/sim/lm32/ChangeLog create mode 100644 sim/testsuite/sim/lm32/allinsn.exp create mode 100644 sim/testsuite/sim/lm32/pass.s create mode 100644 sim/testsuite/sim/lm32/testutils.inc create mode 100644 sim/testsuite/sim/m68hc11/ChangeLog create mode 100644 sim/testsuite/sim/m68hc11/allinsn.exp create mode 100644 sim/testsuite/sim/m68hc11/pass.s create mode 100644 sim/testsuite/sim/m68hc11/testutils.inc create mode 100644 sim/testsuite/sim/mcore/ChangeLog create mode 100644 sim/testsuite/sim/mcore/allinsn.exp create mode 100644 sim/testsuite/sim/mcore/pass.s create mode 100644 sim/testsuite/sim/mcore/testutils.inc create mode 100644 sim/testsuite/sim/microblaze/ChangeLog create mode 100644 sim/testsuite/sim/microblaze/allinsn.exp create mode 100644 sim/testsuite/sim/microblaze/pass.s create mode 100644 sim/testsuite/sim/microblaze/testutils.inc create mode 100644 sim/testsuite/sim/mn10300/ChangeLog create mode 100644 sim/testsuite/sim/mn10300/allinsn.exp create mode 100644 sim/testsuite/sim/mn10300/pass.s create mode 100644 sim/testsuite/sim/mn10300/testutils.inc create mode 100644 sim/testsuite/sim/moxie/ChangeLog create mode 100644 sim/testsuite/sim/moxie/allinsn.exp create mode 100644 sim/testsuite/sim/moxie/pass.s create mode 100644 sim/testsuite/sim/moxie/testutils.inc create mode 100644 zlib/CMakeLists.txt create mode 100644 zlib/ChangeLog create mode 100644 zlib/ChangeLog.gcj create mode 100644 zlib/ChangeLog.jit create mode 100644 zlib/FAQ create mode 100644 zlib/INDEX create mode 100644 zlib/Makefile.am create mode 100644 zlib/Makefile.in create mode 100644 zlib/README create mode 100644 zlib/acinclude.m4 create mode 100644 zlib/aclocal.m4 create mode 100644 zlib/adler32.c create mode 100644 zlib/amiga/Makefile.pup create mode 100644 zlib/amiga/Makefile.sas create mode 100644 zlib/as400/bndsrc create mode 100644 zlib/as400/compile.clp create mode 100644 zlib/as400/readme.txt create mode 100644 zlib/as400/zlib.inc create mode 100644 zlib/compress.c create mode 100755 zlib/configure create mode 100644 zlib/configure.ac create mode 100644 zlib/contrib/README.contrib create mode 100644 zlib/contrib/ada/buffer_demo.adb create mode 100644 zlib/contrib/ada/mtest.adb create mode 100644 zlib/contrib/ada/read.adb create mode 100644 zlib/contrib/ada/readme.txt create mode 100644 zlib/contrib/ada/test.adb create mode 100644 zlib/contrib/ada/zlib-streams.adb create mode 100644 zlib/contrib/ada/zlib-streams.ads create mode 100644 zlib/contrib/ada/zlib-thin.adb create mode 100644 zlib/contrib/ada/zlib-thin.ads create mode 100644 zlib/contrib/ada/zlib.adb create mode 100644 zlib/contrib/ada/zlib.ads create mode 100644 zlib/contrib/ada/zlib.gpr create mode 100644 zlib/contrib/amd64/amd64-match.S create mode 100644 zlib/contrib/asm686/README.686 create mode 100644 zlib/contrib/asm686/match.S create mode 100644 zlib/contrib/blast/Makefile create mode 100644 zlib/contrib/blast/README create mode 100644 zlib/contrib/blast/blast.c create mode 100644 zlib/contrib/blast/blast.h create mode 100644 zlib/contrib/blast/test.pk create mode 100644 zlib/contrib/blast/test.txt create mode 100644 zlib/contrib/delphi/ZLib.pas create mode 100644 zlib/contrib/delphi/ZLibConst.pas create mode 100644 zlib/contrib/delphi/readme.txt create mode 100644 zlib/contrib/delphi/zlibd32.mak create mode 100644 zlib/contrib/dotzlib/DotZLib.build create mode 100644 zlib/contrib/dotzlib/DotZLib.chm create mode 100644 zlib/contrib/dotzlib/DotZLib.sln create mode 100644 zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs create mode 100644 zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs create mode 100644 zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs create mode 100644 zlib/contrib/dotzlib/DotZLib/CodecBase.cs create mode 100644 zlib/contrib/dotzlib/DotZLib/Deflater.cs create mode 100644 zlib/contrib/dotzlib/DotZLib/DotZLib.cs create mode 100644 zlib/contrib/dotzlib/DotZLib/DotZLib.csproj create mode 100644 zlib/contrib/dotzlib/DotZLib/GZipStream.cs create mode 100644 zlib/contrib/dotzlib/DotZLib/Inflater.cs create mode 100644 zlib/contrib/dotzlib/DotZLib/UnitTests.cs create mode 100644 zlib/contrib/dotzlib/LICENSE_1_0.txt create mode 100644 zlib/contrib/dotzlib/readme.txt create mode 100644 zlib/contrib/gcc_gvmat64/gvmat64.S create mode 100644 zlib/contrib/infback9/README create mode 100644 zlib/contrib/infback9/infback9.c create mode 100644 zlib/contrib/infback9/infback9.h create mode 100644 zlib/contrib/infback9/inffix9.h create mode 100644 zlib/contrib/infback9/inflate9.h create mode 100644 zlib/contrib/infback9/inftree9.c create mode 100644 zlib/contrib/infback9/inftree9.h create mode 100644 zlib/contrib/inflate86/inffas86.c create mode 100644 zlib/contrib/inflate86/inffast.S create mode 100644 zlib/contrib/iostream/test.cpp create mode 100644 zlib/contrib/iostream/zfstream.cpp create mode 100644 zlib/contrib/iostream/zfstream.h create mode 100644 zlib/contrib/iostream2/zstream.h create mode 100644 zlib/contrib/iostream2/zstream_test.cpp create mode 100644 zlib/contrib/iostream3/README create mode 100644 zlib/contrib/iostream3/TODO create mode 100644 zlib/contrib/iostream3/test.cc create mode 100644 zlib/contrib/iostream3/zfstream.cc create mode 100644 zlib/contrib/iostream3/zfstream.h create mode 100644 zlib/contrib/masmx64/bld_ml64.bat create mode 100644 zlib/contrib/masmx64/gvmat64.asm create mode 100644 zlib/contrib/masmx64/gvmat64.obj create mode 100644 zlib/contrib/masmx64/inffas8664.c create mode 100644 zlib/contrib/masmx64/inffasx64.asm create mode 100644 zlib/contrib/masmx64/inffasx64.obj create mode 100644 zlib/contrib/masmx64/readme.txt create mode 100644 zlib/contrib/masmx86/bld_ml32.bat create mode 100644 zlib/contrib/masmx86/gvmat32.obj create mode 100644 zlib/contrib/masmx86/inffas32.asm create mode 100644 zlib/contrib/masmx86/inffas32.obj create mode 100644 zlib/contrib/masmx86/match686.asm create mode 100644 zlib/contrib/masmx86/readme.txt create mode 100644 zlib/contrib/minizip/Makefile create mode 100644 zlib/contrib/minizip/Makefile.am create mode 100644 zlib/contrib/minizip/MiniZip64_Changes.txt create mode 100644 zlib/contrib/minizip/MiniZip64_info.txt create mode 100644 zlib/contrib/minizip/configure.ac create mode 100644 zlib/contrib/minizip/crypt.h create mode 100644 zlib/contrib/minizip/ioapi.c create mode 100644 zlib/contrib/minizip/ioapi.h create mode 100644 zlib/contrib/minizip/iowin32.c create mode 100644 zlib/contrib/minizip/iowin32.h create mode 100644 zlib/contrib/minizip/make_vms.com create mode 100644 zlib/contrib/minizip/miniunz.c create mode 100644 zlib/contrib/minizip/minizip.c create mode 100644 zlib/contrib/minizip/minizip.pc.in create mode 100644 zlib/contrib/minizip/mztools.c create mode 100644 zlib/contrib/minizip/mztools.h create mode 100644 zlib/contrib/minizip/unzip.c create mode 100644 zlib/contrib/minizip/unzip.h create mode 100644 zlib/contrib/minizip/zip.c create mode 100644 zlib/contrib/minizip/zip.h create mode 100644 zlib/contrib/pascal/example.pas create mode 100644 zlib/contrib/pascal/readme.txt create mode 100644 zlib/contrib/pascal/zlibd32.mak create mode 100644 zlib/contrib/pascal/zlibpas.pas create mode 100644 zlib/contrib/puff/Makefile create mode 100644 zlib/contrib/puff/README create mode 100644 zlib/contrib/puff/puff.c create mode 100644 zlib/contrib/puff/puff.h create mode 100644 zlib/contrib/puff/pufftest.c create mode 100644 zlib/contrib/puff/zeros.raw create mode 100644 zlib/contrib/testzlib/testzlib.c create mode 100644 zlib/contrib/testzlib/testzlib.txt create mode 100644 zlib/contrib/untgz/Makefile create mode 100644 zlib/contrib/untgz/Makefile.msc create mode 100644 zlib/contrib/untgz/untgz.c create mode 100644 zlib/contrib/vstudio/readme.txt create mode 100644 zlib/contrib/vstudio/vc10/miniunz.vcxproj create mode 100644 zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters create mode 100644 zlib/contrib/vstudio/vc10/miniunz.vcxproj.user create mode 100644 zlib/contrib/vstudio/vc10/minizip.vcxproj create mode 100644 zlib/contrib/vstudio/vc10/minizip.vcxproj.filters create mode 100644 zlib/contrib/vstudio/vc10/minizip.vcxproj.user create mode 100644 zlib/contrib/vstudio/vc10/testzlib.vcxproj create mode 100644 zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters create mode 100644 zlib/contrib/vstudio/vc10/testzlib.vcxproj.user create mode 100644 zlib/contrib/vstudio/vc10/testzlibdll.vcxproj create mode 100644 zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters create mode 100644 zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.user create mode 100644 zlib/contrib/vstudio/vc10/zlib.rc create mode 100644 zlib/contrib/vstudio/vc10/zlibstat.vcxproj create mode 100644 zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters create mode 100644 zlib/contrib/vstudio/vc10/zlibstat.vcxproj.user create mode 100644 zlib/contrib/vstudio/vc10/zlibvc.def create mode 100644 zlib/contrib/vstudio/vc10/zlibvc.sln create mode 100644 zlib/contrib/vstudio/vc10/zlibvc.vcxproj create mode 100644 zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters create mode 100644 zlib/contrib/vstudio/vc10/zlibvc.vcxproj.user create mode 100644 zlib/contrib/vstudio/vc9/miniunz.vcproj create mode 100644 zlib/contrib/vstudio/vc9/minizip.vcproj create mode 100644 zlib/contrib/vstudio/vc9/testzlib.vcproj create mode 100644 zlib/contrib/vstudio/vc9/testzlibdll.vcproj create mode 100644 zlib/contrib/vstudio/vc9/zlib.rc create mode 100644 zlib/contrib/vstudio/vc9/zlibstat.vcproj create mode 100644 zlib/contrib/vstudio/vc9/zlibvc.def create mode 100644 zlib/contrib/vstudio/vc9/zlibvc.sln create mode 100644 zlib/contrib/vstudio/vc9/zlibvc.vcproj create mode 100644 zlib/crc32.c create mode 100644 zlib/crc32.h create mode 100644 zlib/deflate.c create mode 100644 zlib/deflate.h create mode 100644 zlib/doc/algorithm.txt create mode 100644 zlib/doc/rfc1950.txt create mode 100644 zlib/doc/rfc1951.txt create mode 100644 zlib/doc/rfc1952.txt create mode 100644 zlib/doc/txtvsbin.txt create mode 100644 zlib/example.c create mode 100644 zlib/examples/README.examples create mode 100644 zlib/examples/enough.c create mode 100644 zlib/examples/fitblk.c create mode 100644 zlib/examples/gun.c create mode 100644 zlib/examples/gzappend.c create mode 100644 zlib/examples/gzjoin.c create mode 100644 zlib/examples/gzlog.c create mode 100644 zlib/examples/gzlog.h create mode 100644 zlib/examples/zlib_how.html create mode 100644 zlib/examples/zpipe.c create mode 100644 zlib/examples/zran.c create mode 100644 zlib/gzclose.c create mode 100644 zlib/gzguts.h create mode 100644 zlib/gzlib.c create mode 100644 zlib/gzread.c create mode 100644 zlib/gzwrite.c create mode 100644 zlib/infback.c create mode 100644 zlib/inffast.c create mode 100644 zlib/inffast.h create mode 100644 zlib/inffixed.h create mode 100644 zlib/inflate.c create mode 100644 zlib/inflate.h create mode 100644 zlib/inftrees.c create mode 100644 zlib/inftrees.h create mode 100644 zlib/make_vms.com create mode 100644 zlib/minigzip.c create mode 100644 zlib/msdos/Makefile.bor create mode 100644 zlib/msdos/Makefile.dj2 create mode 100644 zlib/msdos/Makefile.emx create mode 100644 zlib/msdos/Makefile.msc create mode 100644 zlib/msdos/Makefile.tc create mode 100644 zlib/nintendods/Makefile create mode 100644 zlib/nintendods/README create mode 100644 zlib/old/Makefile.emx create mode 100644 zlib/old/Makefile.riscos create mode 100644 zlib/old/README create mode 100644 zlib/old/descrip.mms create mode 100644 zlib/old/os2/Makefile.os2 create mode 100644 zlib/old/os2/zlib.def create mode 100644 zlib/old/visual-basic.txt create mode 100644 zlib/qnx/package.qpg create mode 100644 zlib/test/example.c create mode 100644 zlib/test/infcover.c create mode 100644 zlib/test/minigzip.c create mode 100644 zlib/treebuild.xml create mode 100644 zlib/trees.c create mode 100644 zlib/trees.h create mode 100644 zlib/uncompr.c create mode 100644 zlib/watcom/watcom_f.mak create mode 100644 zlib/watcom/watcom_l.mak create mode 100644 zlib/win32/DLL_FAQ.txt create mode 100644 zlib/win32/Makefile.bor create mode 100644 zlib/win32/Makefile.gcc create mode 100644 zlib/win32/Makefile.msc create mode 100644 zlib/win32/README-WIN32.txt create mode 100644 zlib/win32/VisualC.txt create mode 100644 zlib/win32/zlib.def create mode 100644 zlib/win32/zlib1.rc create mode 100644 zlib/zconf.h create mode 100644 zlib/zconf.h.cmakein create mode 100644 zlib/zconf.h.in create mode 100644 zlib/zlib.3 create mode 100644 zlib/zlib.h create mode 100644 zlib/zlib.map create mode 100644 zlib/zlib.pc.cmakein create mode 100644 zlib/zlib.pc.in create mode 100644 zlib/zlib2ansi create mode 100644 zlib/zutil.c create mode 100644 zlib/zutil.h First 500 lines of diff: diff --git a/ChangeLog b/ChangeLog index 157f902..583b822 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,108 @@ +2015-05-13 John David Anglin + + * configure.ac: Disable configuration of GDB for HPUX targets. + * configure: Regenerate. + +2015-05-01 H.J. Lu + + PR ld/18355 + * Makefile.def: Add extra_configure_flags to host zlib. + * configure.ac (extra_host_zlib_configure_flags): New. Set + to --enable-host-shared When bfd is to be built as shared + library. AC_SUBST. + * Makefile.in: Regenerated. + +2015-04-15 Mike Frysinger + Hans-Peter Nilsson + + Adjust src-release.sh for sim using the gdb create-version.sh. + * src-release.sh (tar_compress): If there's a fifth parameter, + use that in the getver call instead of $tool. + (sim_release): Pass gdb as fifth parameter to tar_compress. + (SIM_SUPPORT_DIRS): Add gdb/common/create-version.sh. + +2015-04-01 H.J. Lu + + * configure.ac: Add --with-system-zlib. + * configure: Regenerated. + +2015-03-31 H.J. Lu + + * src-release.sh: Don't configure with --with-target-subdir=. + --disable-multilib. + +2015-03-31 H.J. Lu + + * src-release.sh (DEVO_SUPPORT): Replace src-release with + src-release.sh. + +2015-03-30 Ed Schouten + + * config.sub: Update from upstream, to 2015-03-04 version. + * config.guess: Likewise. + +2015-03-30 H.J. Lu + + * Makefile.def (dependencies): Add all-zlib to all-bfd. + * Makefile.in: Regenerated. + +2015-03-28 H.J. Lu + + * src-release.sh (do_proto_toplev): Configure with --target + --with-target-subdir and --disable-multilib. + (BINUTILS_SUPPORT_DIRS): Add zlib. + (GAS_SUPPORT_DIRS): Likewise. + (GDB_SUPPORT_DIRS): Likewise. + (SIM_SUPPORT_DIRS): Likewise. + +2015-03-17 H.J. Lu + + * configure.ac (target_configdirs): Exclude target-zlib if + target-libjava isn't built. + * configure: Regenerated. + +2015-03-17 H.J. Lu + + Sync with GCC + 2014-06-13 Thomas Schwinge + + * config-ml.in: Robustify ac_configure_args parsing. + +2015-03-16 H.J. Lu + + * Makefile.def: Updated from GCC trunk. + * Makefile.tpl: Likewise. + * configure.ac: Likewise. + * Makefile.in: Regenerated. + * configure: Likewise. + +2015-01-28 James Bowman + + * configure.ac: Add FT32 support. + * configure: Regenerate. + +2015-01-12 Anthony Green + + * configure.ac: Don't disable gprof for moxie. + * configure: Rebuild. + +2015-01-03 Andrew Pinski + + * Makefile.def (flags_to_pass): Pass OBJCOPY_FOR_TARGET also. + * Makefile.tpl (HOST_EXPORTS): Add OBJCOPY_FOR_TARGET. + (BASE_TARGET_EXPORTS): Add OBJCOPY. + (OBJCOPY_FOR_TARGET): New variable. + (EXTRA_TARGET_FLAGS): Add OBJCOPY. + * Makefile.in: Regenerate. + * configure.ac: Check for already installed target objcopy. + Also GCC_TARGET_TOOL on objcopy. + * configure: Regenerate. + +2015-01-02 Hans-Peter Nilsson + + * config.sub: Update from upstream, to 2015-01-01 version. + * config.guess: Ditto. + 2014-12-06 Eric Botcazou * config.sub: Update from upstream config repo. diff --git a/Makefile.def b/Makefile.def index ec2b0f2..4394188 100644 --- a/Makefile.def +++ b/Makefile.def @@ -30,6 +30,8 @@ build_modules= { module= flex; }; build_modules= { module= m4; }; build_modules= { module= texinfo; }; build_modules= { module= fixincludes; }; +build_modules= { module= libcpp; + extra_configure_flags='--disable-nls am_cv_func_iconv=no';}; host_modules= { module= bfd; bootstrap=true; }; host_modules= { module= opcodes; bootstrap=true; }; @@ -46,7 +48,8 @@ host_modules= { module= gas; bootstrap=true; }; host_modules= { module= gcc; bootstrap=true; extra_make_flags="$(EXTRA_GCC_FLAGS)"; }; host_modules= { module= gmp; lib_path=.libs; bootstrap=true; - extra_configure_flags='--disable-shared'; + // Work around in-tree gmp configure bug with missing flex. + extra_configure_flags='--disable-shared LEX="touch lex.yy.c"'; no_install= true; // none-*-* disables asm optimizations, bootstrap-testing // the compiler more thoroughly. @@ -64,11 +67,6 @@ host_modules= { module= isl; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared @extra_isl_gmp_configure_flags@'; extra_make_flags='V=1'; no_install= true; }; -host_modules= { module= cloog; lib_path=.libs; bootstrap=true; - extra_configure_flags='--disable-shared --with-gmp=system --with-bits=gmp --with-isl=system'; - extra_exports='CPPFLAGS="$(HOST_GMPINC) $(HOST_ISLINC) $$CPPFLAGS"; export CPPFLAGS; LDFLAGS="-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/isl/.libs $$LDFLAGS"; export LDFLAGS; '; - extra_make_flags='CPPFLAGS="$$CPPFLAGS" LDFLAGS="$$LDFLAGS" V=1'; - no_install= true; }; host_modules= { module= libelf; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared'; no_install= true; }; @@ -85,6 +83,14 @@ host_modules= { module= libdecnumber; bootstrap=true; }; host_modules= { module= libgui; }; host_modules= { module= libiberty; bootstrap=true; extra_configure_flags='@extra_host_libiberty_configure_flags@';}; +// Linker plugins may need their own build of libiberty; see +// gcc/doc/install.texi. We take care that this build of libiberty doesn't get +// installed. It's a helper library for linker plugins, so we pay attention to +// @extra_linker_plugin_flags@ and @extra_linker_plugin_configure_flags@. +host_modules= { module= libiberty-linker-plugin; bootstrap=true; + module_srcdir=libiberty; + extra_configure_flags='@extra_host_libiberty_configure_flags@ --disable-install-libiberty @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@'; + extra_make_flags='@extra_linker_plugin_flags@'; }; // We abuse missing to avoid installing anything for libiconv. host_modules= { module= libiconv; extra_configure_flags='--disable-shared'; @@ -98,7 +104,9 @@ host_modules= { module= readline; }; host_modules= { module= sid; }; host_modules= { module= sim; }; host_modules= { module= texinfo; no_install= true; }; -host_modules= { module= zlib; no_install=true; no_check=true; bootstrap=true; }; +host_modules= { module= zlib; no_install=true; no_check=true; + bootstrap=true; + extra_configure_flags='@extra_host_zlib_configure_flags@';}; host_modules= { module= gdb; }; host_modules= { module= expect; }; host_modules= { module= guile; }; @@ -111,7 +119,10 @@ host_modules= { module= libtermcap; no_check=true; host_modules= { module= utils; no_check=true; }; host_modules= { module= gnattools; }; host_modules= { module= lto-plugin; bootstrap=true; - extra_configure_flags=--enable-shared; }; + extra_configure_flags='--enable-shared @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@'; + extra_make_flags='@extra_linker_plugin_flags@'; }; +host_modules= { module= libcc1; extra_configure_flags=--enable-shared; }; +host_modules= { module= gotools; }; target_modules = { module= libstdc++-v3; bootstrap=true; @@ -121,12 +132,18 @@ target_modules = { module= libsanitizer; bootstrap=true; lib_path=.libs; raw_cxx=true; }; +target_modules = { module= libmpx; + bootstrap=true; + lib_path=.libs; }; target_modules = { module= libvtv; bootstrap=true; lib_path=.libs; raw_cxx=true; }; target_modules = { module= libcilkrts; lib_path=.libs; }; +target_modules = { module= liboffloadmic; + lib_path=.libs; + extra_configure_flags='@extra_liboffloadmic_configure_flags@'; }; target_modules = { module= libssp; lib_path=.libs; }; target_modules = { module= newlib; }; target_modules = { module= libgcc; bootstrap=true; no_check=true; }; @@ -271,6 +288,7 @@ flags_to_pass = { flag= LIBCFLAGS_FOR_TARGET ; }; flags_to_pass = { flag= LIBCXXFLAGS_FOR_TARGET ; }; flags_to_pass = { flag= NM_FOR_TARGET ; }; flags_to_pass = { flag= OBJDUMP_FOR_TARGET ; }; +flags_to_pass = { flag= OBJCOPY_FOR_TARGET ; }; flags_to_pass = { flag= RANLIB_FOR_TARGET ; }; flags_to_pass = { flag= READELF_FOR_TARGET ; }; flags_to_pass = { flag= STRIP_FOR_TARGET ; }; @@ -292,10 +310,14 @@ dependencies = { module=all-build-flex; on=all-build-m4; }; dependencies = { module=all-build-libiberty; on=all-build-texinfo; }; dependencies = { module=all-build-m4; on=all-build-texinfo; }; dependencies = { module=all-build-fixincludes; on=all-build-libiberty; }; +dependencies = { module=all-build-libcpp; on=all-build-libiberty; }; // Host modules specific to gcc. dependencies = { module=configure-gcc; on=configure-intl; }; dependencies = { module=configure-gcc; on=all-gmp; }; +dependencies = { module=configure-gcc; on=all-mpfr; }; +dependencies = { module=configure-gcc; on=all-mpc; }; +dependencies = { module=configure-gcc; on=all-isl; }; dependencies = { module=configure-gcc; on=all-lto-plugin; }; dependencies = { module=configure-gcc; on=all-binutils; }; dependencies = { module=configure-gcc; on=all-gas; }; @@ -306,12 +328,13 @@ dependencies = { module=all-gcc; on=all-libiberty; hard=true; }; dependencies = { module=all-gcc; on=all-intl; }; dependencies = { module=all-gcc; on=all-mpfr; }; dependencies = { module=all-gcc; on=all-mpc; }; -dependencies = { module=all-gcc; on=all-cloog; }; +dependencies = { module=all-gcc; on=all-isl; }; dependencies = { module=all-gcc; on=all-build-texinfo; }; dependencies = { module=all-gcc; on=all-build-bison; }; dependencies = { module=all-gcc; on=all-build-flex; }; dependencies = { module=all-gcc; on=all-build-libiberty; }; dependencies = { module=all-gcc; on=all-build-fixincludes; }; +dependencies = { module=all-gcc; on=all-build-libcpp; }; dependencies = { module=all-gcc; on=all-zlib; }; dependencies = { module=all-gcc; on=all-libbacktrace; hard=true; }; dependencies = { module=all-gcc; on=all-libcpp; hard=true; }; @@ -338,15 +361,21 @@ dependencies = { module=all-fixincludes; on=all-libiberty; }; dependencies = { module=all-gnattools; on=all-target-libada; }; dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; }; +// Depending on the specific configuration, the LTO plugin will either use the +// generic libiberty build or the specific build for linker plugins. dependencies = { module=all-lto-plugin; on=all-libiberty; }; +dependencies = { module=all-lto-plugin; on=all-libiberty-linker-plugin; }; + +dependencies = { module=configure-libcc1; on=configure-gcc; }; +dependencies = { module=all-libcc1; on=all-gcc; }; + +dependencies = { module=all-gotools; on=all-target-libgo; }; dependencies = { module=all-utils; on=all-libiberty; }; dependencies = { module=configure-mpfr; on=all-gmp; }; dependencies = { module=configure-mpc; on=all-mpfr; }; dependencies = { module=configure-isl; on=all-gmp; }; -dependencies = { module=configure-cloog; on=all-isl; }; -dependencies = { module=configure-cloog; on=all-gmp; }; // Host modules specific to gdb. dependencies = { module=configure-gdb; on=all-intl; }; @@ -375,6 +404,7 @@ dependencies = { module=configure-bfd; on=configure-libiberty; hard=true; }; dependencies = { module=configure-bfd; on=configure-intl; }; dependencies = { module=all-bfd; on=all-libiberty; }; dependencies = { module=all-bfd; on=all-intl; }; +dependencies = { module=all-bfd; on=all-zlib; }; dependencies = { module=configure-opcodes; on=configure-libiberty; hard=true; }; dependencies = { module=all-opcodes; on=all-libiberty; }; @@ -496,6 +526,7 @@ dependencies = { module=all-m4; on=all-build-texinfo; }; lang_env_dependencies = { module=libjava; cxx=true; }; lang_env_dependencies = { module=libitm; cxx=true; }; lang_env_dependencies = { module=libcilkrts; cxx=true; }; +lang_env_dependencies = { module=liboffloadmic; cxx=true; }; lang_env_dependencies = { module=newlib; no_c=true; }; lang_env_dependencies = { module=libgloss; no_c=true; }; lang_env_dependencies = { module=libgcc; no_gcc=true; no_c=true; }; @@ -522,12 +553,14 @@ dependencies = { module=all-target-libjava; on=all-target-libffi; }; dependencies = { module=configure-target-libobjc; on=configure-target-boehm-gc; }; dependencies = { module=all-target-libobjc; on=all-target-boehm-gc; }; dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; }; +dependencies = { module=configure-target-liboffloadmic; on=configure-target-libgomp; }; dependencies = { module=configure-target-libsanitizer; on=all-target-libstdc++-v3; }; dependencies = { module=configure-target-libvtv; on=all-target-libstdc++-v3; }; // parallel_list.o and parallel_settings.o depend on omp.h, which is // generated by the libgomp configure. Unfortunately, due to the use of // recursive make, we can't be that specific. dependencies = { module=all-target-libstdc++-v3; on=configure-target-libgomp; }; +dependencies = { module=all-target-liboffloadmic; on=all-target-libgomp; }; dependencies = { module=install-target-libgo; on=install-target-libatomic; }; dependencies = { module=install-target-libgfortran; on=install-target-libquadmath; }; @@ -538,6 +571,8 @@ dependencies = { module=install-target-libvtv; on=install-target-libstdc++-v3; } dependencies = { module=install-target-libvtv; on=install-target-libgcc; }; dependencies = { module=install-target-libcilkrts; on=install-target-libstdc++-v3; }; dependencies = { module=install-target-libcilkrts; on=install-target-libgcc; }; +dependencies = { module=install-target-liboffloadmic; on=install-target-libstdc++-v3; }; +dependencies = { module=install-target-liboffloadmic; on=install-target-libgcc; }; dependencies = { module=install-target-libjava; on=install-target-libgcc; }; dependencies = { module=install-target-libitm; on=install-target-libgcc; }; dependencies = { module=install-target-libobjc; on=install-target-libgcc; }; diff --git a/Makefile.in b/Makefile.in index bf06dce..8ae261f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -213,15 +213,15 @@ HOST_EXPORTS = \ LD_FOR_TARGET="$(LD_FOR_TARGET)"; export LD_FOR_TARGET; \ NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \ OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \ + OBJCOPY_FOR_TARGET="$(OBJCOPY_FOR_TARGET)"; export OBJCOPY_FOR_TARGET; \ RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \ READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \ TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \ GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \ GMPINC="$(HOST_GMPINC)"; export GMPINC; \ + ISLLIBS="$(HOST_ISLLIBS)"; export ISLLIBS; \ ISLINC="$(HOST_ISLINC)"; export ISLINC; \ - CLOOGLIBS="$(HOST_CLOOGLIBS)"; export CLOOGLIBS; \ - CLOOGINC="$(HOST_CLOOGINC)"; export CLOOGINC; \ LIBELFLIBS="$(HOST_LIBELFLIBS)" ; export LIBELFLIBS; \ LIBELFINC="$(HOST_LIBELFINC)" ; export LIBELFINC; \ @if gcc-bootstrap @@ -256,6 +256,7 @@ POSTSTAGE1_HOST_EXPORTS = \ $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \ CC_FOR_BUILD="$$CC"; export CC_FOR_BUILD; \ $(POSTSTAGE1_CXX_EXPORT) \ + $(LTO_EXPORTS) \ GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \ LDFLAGS="$(POSTSTAGE1_LDFLAGS) $(BOOT_LDFLAGS)"; export LDFLAGS; \ HOST_LIBS="$(POSTSTAGE1_LIBS)"; export HOST_LIBS; @@ -285,6 +286,7 @@ BASE_TARGET_EXPORTS = \ LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \ NM="$(COMPILER_NM_FOR_TARGET)"; export NM; \ OBJDUMP="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP; \ + OBJCOPY="$(OBJCOPY_FOR_TARGET)"; export OBJCOPY; \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ READELF="$(READELF_FOR_TARGET)"; export READELF; \ STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \ @@ -310,12 +312,9 @@ HOST_GMPLIBS = @gmplibs@ HOST_GMPINC = @gmpinc@ # Where to find ISL +HOST_ISLLIBS = @isllibs@ HOST_ISLINC = @islinc@ -# Where to find CLOOG -HOST_CLOOGLIBS = @clooglibs@ -HOST_CLOOGINC = @clooginc@ - # Where to find libelf HOST_LIBELFLIBS = @libelflibs@ HOST_LIBELFINC = @libelfinc@ @@ -536,6 +535,7 @@ LD_FOR_TARGET=@LD_FOR_TARGET@ LIPO_FOR_TARGET=@LIPO_FOR_TARGET@ NM_FOR_TARGET=@NM_FOR_TARGET@ OBJDUMP_FOR_TARGET=@OBJDUMP_FOR_TARGET@ +OBJCOPY_FOR_TARGET=@OBJCOPY_FOR_TARGET@ RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@ READELF_FOR_TARGET=@READELF_FOR_TARGET@ STRIP_FOR_TARGET=@STRIP_FOR_TARGET@ @@ -577,7 +577,7 @@ all: # This is the list of directories that may be needed in RPATH_ENVVAR # so that programs built for the target machine work. -TARGET_LIB_PATH = $(TARGET_LIB_PATH_libstdc++-v3)$(TARGET_LIB_PATH_libsanitizer)$(TARGET_LIB_PATH_libvtv)$(TARGET_LIB_PATH_libcilkrts)$(TARGET_LIB_PATH_libssp)$(TARGET_LIB_PATH_libgomp)$(TARGET_LIB_PATH_libitm)$(TARGET_LIB_PATH_libatomic)$(HOST_LIB_PATH_gcc) +TARGET_LIB_PATH = $(TARGET_LIB_PATH_libstdc++-v3)$(TARGET_LIB_PATH_libsanitizer)$(TARGET_LIB_PATH_libmpx)$(TARGET_LIB_PATH_libvtv)$(TARGET_LIB_PATH_libcilkrts)$(TARGET_LIB_PATH_liboffloadmic)$(TARGET_LIB_PATH_libssp)$(TARGET_LIB_PATH_libgomp)$(TARGET_LIB_PATH_libitm)$(TARGET_LIB_PATH_libatomic)$(HOST_LIB_PATH_gcc) @if target-libstdc++-v3 TARGET_LIB_PATH_libstdc++-v3 = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs: @@ -587,6 +587,10 @@ TARGET_LIB_PATH_libstdc++-v3 = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs: TARGET_LIB_PATH_libsanitizer = $$r/$(TARGET_SUBDIR)/libsanitizer/.libs: @endif target-libsanitizer +@if target-libmpx +TARGET_LIB_PATH_libmpx = $$r/$(TARGET_SUBDIR)/libmpx/.libs: +@endif target-libmpx + @if target-libvtv TARGET_LIB_PATH_libvtv = $$r/$(TARGET_SUBDIR)/libvtv/.libs: @endif target-libvtv @@ -595,6 +599,10 @@ TARGET_LIB_PATH_libvtv = $$r/$(TARGET_SUBDIR)/libvtv/.libs: TARGET_LIB_PATH_libcilkrts = $$r/$(TARGET_SUBDIR)/libcilkrts/.libs: @endif target-libcilkrts +@if target-liboffloadmic +TARGET_LIB_PATH_liboffloadmic = $$r/$(TARGET_SUBDIR)/liboffloadmic/.libs: +@endif target-liboffloadmic + @if target-libssp TARGET_LIB_PATH_libssp = $$r/$(TARGET_SUBDIR)/libssp/.libs: @endif target-libssp @@ -615,7 +623,7 @@ TARGET_LIB_PATH_libatomic = $$r/$(TARGET_SUBDIR)/libatomic/.libs: # This is the list of directories that may be needed in RPATH_ENVVAR # so that programs built for the host machine work. -HOST_LIB_PATH = $(HOST_LIB_PATH_gmp)$(HOST_LIB_PATH_mpfr)$(HOST_LIB_PATH_mpc)$(HOST_LIB_PATH_isl)$(HOST_LIB_PATH_cloog)$(HOST_LIB_PATH_libelf) +HOST_LIB_PATH = $(HOST_LIB_PATH_gmp)$(HOST_LIB_PATH_mpfr)$(HOST_LIB_PATH_mpc)$(HOST_LIB_PATH_isl)$(HOST_LIB_PATH_libelf) # Define HOST_LIB_PATH_gcc here, for the sake of TARGET_LIB_PATH, ouch @if gcc @@ -643,11 +651,6 @@ HOST_LIB_PATH_isl = \ $$r/$(HOST_SUBDIR)/isl/.libs:$$r/$(HOST_SUBDIR)/prev-isl/.libs: @endif isl -@if cloog -HOST_LIB_PATH_cloog = \ - $$r/$(HOST_SUBDIR)/cloog/.libs:$$r/$(HOST_SUBDIR)/prev-cloog/.libs: -@endif cloog - @if libelf HOST_LIB_PATH_libelf = \ $$r/$(HOST_SUBDIR)/libelf/.libs:$$r/$(HOST_SUBDIR)/prev-libelf/.libs: @@ -755,6 +758,7 @@ BASE_FLAGS_TO_PASS = \ "LIBCXXFLAGS_FOR_TARGET=$(LIBCXXFLAGS_FOR_TARGET)" \ "NM_FOR_TARGET=$(NM_FOR_TARGET)" \ "OBJDUMP_FOR_TARGET=$(OBJDUMP_FOR_TARGET)" \ + "OBJCOPY_FOR_TARGET=$(OBJCOPY_FOR_TARGET)" \ "RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \ "READELF_FOR_TARGET=$(READELF_FOR_TARGET)" \ "STRIP_FOR_TARGET=$(STRIP_FOR_TARGET)" \ @@ -826,6 +830,7 @@ POSTSTAGE1_FLAGS_TO_PASS = \ GNATBIND="$${GNATBIND}" \ LDFLAGS="$${LDFLAGS}" \ HOST_LIBS="$${HOST_LIBS}" \ + $(LTO_FLAGS_TO_PASS) \ "`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" # Flags to pass down to makes which are built with the target environment. @@ -838,7 +843,9 @@ EXTRA_TARGET_FLAGS = \ 'AS=$(COMPILER_AS_FOR_TARGET)' \ 'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ 'CFLAGS=$$(CFLAGS_FOR_TARGET)' \ - 'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ + 'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \ + -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \ + $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \ 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \ 'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ @@ -851,11 +858,14 @@ EXTRA_TARGET_FLAGS = \ 'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \ 'NM=$(COMPILER_NM_FOR_TARGET)' \ 'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \ + 'OBJCOPY=$$(OBJCOPY_FOR_TARGET)' \ 'RANLIB=$$(RANLIB_FOR_TARGET)' \ 'READELF=$$(READELF_FOR_TARGET)' \ 'WINDRES=$$(WINDRES_FOR_TARGET)' \ 'WINDMC=$$(WINDMC_FOR_TARGET)' \ 'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \ + 'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \ + 'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \ "TFLAGS=$$TFLAGS" TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) @@ -898,7 +908,6 @@ configure-host: \ maybe-configure-mpfr \ maybe-configure-mpc \ maybe-configure-isl \ - maybe-configure-cloog \ maybe-configure-libelf \ maybe-configure-gold \ maybe-configure-gprof \ @@ -911,6 +920,7 @@ configure-host: \ maybe-configure-libdecnumber \ maybe-configure-libgui \ maybe-configure-libiberty \ + maybe-configure-libiberty-linker-plugin \ maybe-configure-libiconv \ maybe-configure-m4 \ maybe-configure-readline \ @@ -925,13 +935,17 @@ configure-host: \ maybe-configure-libtermcap \ maybe-configure-utils \ maybe-configure-gnattools \ - maybe-configure-lto-plugin + maybe-configure-lto-plugin \ + maybe-configure-libcc1 \ + maybe-configure-gotools .PHONY: configure-target configure-target: \ maybe-configure-target-libstdc++-v3 \ maybe-configure-target-libsanitizer \ + maybe-configure-target-libmpx \ maybe-configure-target-libvtv \ maybe-configure-target-libcilkrts \ + maybe-configure-target-liboffloadmic \ maybe-configure-target-libssp \ maybe-configure-target-newlib \ maybe-configure-target-libgcc \ @@ -986,6 +1000,7 @@ all-build: maybe-all-build-flex all-build: maybe-all-build-m4 all-build: maybe-all-build-texinfo all-build: maybe-all-build-fixincludes hooks/post-receive -- Repository for Project Archer.