From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5669 invoked by alias); 28 Dec 2014 20:30:38 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 5648 invoked by uid 9674); 28 Dec 2014 20:30:37 -0000 Date: Sun, 28 Dec 2014 20:30:00 -0000 Message-ID: <20141228203029.3893.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: b88230edf4e2da948d633c283ba0893bf22bd7ae X-Git-Newrev: ef5e5e4d5bfedecf54ef7f1380eaf89662b617d0 X-SW-Source: 2014-q4/txt/msg00004.txt.bz2 List-Id: The branch, tromey/python has been updated via ef5e5e4d5bfedecf54ef7f1380eaf89662b617d0 (commit) via de0d78958fe3db5184c5a7174f55f08d41c8706b (commit) via ce637ffbe6b75a4a676bbf5f68434abf5261ba99 (commit) via 11a580132e6cfeb1d96e1fccca53bb6fb931a2ff (commit) via 6441e6db4abe6043dc81acfeeb6a7bd7124376f7 (commit) via 507411ccab1206edb32395059f7f8c5ad41917e1 (commit) via bffb60047d90919d8c3a11db9ae7e9f45553a657 (commit) via 3b146284444f889294f0c1db13015c18bde0cf20 (commit) via bd47fe1c2eb5a04ed5dcd5dc7a481743c9727666 (commit) via 0abb10c82d2c202e34b87104d51080b6d1de26d1 (commit) via ff600205664cc39be32910e4bf36c3de8183f93c (commit) via 67afb06e018cfb92c5b6bb0aeec3f47b31a8d49d (commit) via 3ba611c3ca7a13df6846aa8a3ef984be846a2179 (commit) via f12d1e8a660c34ce3098da788ac01d067d6ccbab (commit) via 6fd9d738c04fd1dd1d73c08f8a384ea3c8a160ab (commit) via 5c294fee9abb6bb259519d9cf164c34b81b83312 (commit) via d274fbe8a43db3164b133772b2d0f557052561b5 (commit) via 09eb8b7bd63c017dbd5e84ecc5497824b6e6a4c6 (commit) via f5be95254d169859a5ebfbd4663a9cf669066968 (commit) via edc9e9a62fddb2745093c1edafd0a2310e79a579 (commit) via 7a093a782000c0d0f1a50d6a74ee786695f52c86 (commit) via ed4fd7b7f30020dfdcd79cfd1e36672395f905d7 (commit) via 0be40ae409724495a434de404bda39c53bb167a0 (commit) via ca0694adf6d128c2feba16f6374954c191fb5edb (commit) via 854399ea9d0d5d5c14b4035bbc0adfe891f26a3d (commit) via c361b9ac1ffcf62fb5d4c031c55e60cea963a85d (commit) via d5111a0e037c732029879829ca4d18ae2ae0d3e5 (commit) via 931804de6cec4ba55de1bf8b2f893879ebbf1537 (commit) via 8a7fbfc0da71fd1230f17f49c0eb5211e29af872 (commit) via 805b1c8bc6cc131266d7db7e03beb43cb25f2e78 (commit) via 1994afbf19892c9e614a034fbf1a5233e9addce3 (commit) via 9d7b48dc6e8415e95f5228a6f66b414827eb0204 (commit) via eac7440d805bec68f583db395aa42c38615daf14 (commit) via c01feb367543270196672dedf9a8365a2d8d3cff (commit) via 38bf1463f46546a9d839ce87146f71a7d2a62638 (commit) via f606139ae8aa873f6294aaf3bf599d18c3025023 (commit) via 08be3fe322244a3684d007d9282e225fc215f5d8 (commit) via 4347085ad3e84bdc1f91e7121cedf3e79a9467fb (commit) via c4416f303531c4d01a13216be18fada4ee55720b (commit) via 422f1c65c9e9d30a7e82d136b2d4c6cd901f0245 (commit) via 12b2843a6bb12292d8e36d8df22c788a3c91cb2f (commit) via 4cc2bf08a4e18aa2009e9d4f1694a800eacbee17 (commit) via cd8e2bcf0d51e91ab8da72ec63048790e3720b03 (commit) via 18d6a79d3527acd718cc8acd9395d1bf4cc4ce0a (commit) via 175a3e5098a30af882cfe28d3351b6d882a1456b (commit) via 1fc8204e528e37f358104dab17f0249ce72b0d9b (commit) via 926e166ccb13215da1577f83fd422d3c9b36a1f2 (commit) via 058037d3a169c91042c9b8549f7d04fd7550bed6 (commit) via 5860e3f883597cf6b8a937547015394edc1e8784 (commit) via e30880c2eeee3b43897161344bbbffd03f3a1c91 (commit) via f953163fe9bb5b87edb168a6ea25e2baa966750f (commit) via 4bd0864e2124057b312fafd3a86920f9e0a10a57 (commit) via 6f27419a4d739346db2909d4258dea86e8ed0693 (commit) via d276311738a3863e58a1281e56e2073169e7b405 (commit) via 791244bea2544503c626ffdd5fdb4ff657f98207 (commit) via 6232c07d28f3a19059b165e17b92f723b35f1660 (commit) via 3946f7973c754ed65b7d1e0bf24b8e0618788242 (commit) via 87186c6a5ccf857d7f4e55478dda3aa06387c3c4 (commit) via bd040da1dbb7e6640440f306ddf993af98441851 (commit) via 13a1997e6688d79ee01f1b082f7a220901c8cf34 (commit) via 0866e94c879f256ddb1bb7149c5f9fc7b80fda89 (commit) via 13e322759bd9d6d64e68b200084341681687fb74 (commit) via d340a82588df5d54ead90124f3dce5bb750665d6 (commit) via 6e8ec71244d3bb6a1223d07965066b7b9836ab7d (commit) via bb7e3f4d51bf73843de0572af17ee1b6cf1167db (commit) via ff7609bc46d9afdd4fdbaebf49a838db75d78057 (commit) via 04c6a44c7c74d9e60ca47373a0d7d51209d93dbc (commit) via db7a9bcd53534a32abf4d75a93838c6bdbf876fa (commit) via 1bab73830f14fc0dcb1b0e7663cf8c2e02b10d72 (commit) via cc86d1cb9510dbba32bf19e5d2699f2972efbc03 (commit) via 2ad47ec43319b87774a276506f48e8e4496bb310 (commit) via 253342b8e6fbd24249fb84eebc706d923f08406f (commit) via 46b0da1738df4a49025f1674a67cd841688dd3d9 (commit) via 99d4b98d4b61b13947514670ef14a61e42ebd1ed (commit) via 6ddfe5b4f9644204d5e322a2d026a01190dd38d9 (commit) via e0631a6a2b7cadc7a0ed6a6110fb1a5818dde511 (commit) via 1bc1068a0c1a1a0fad09500c97edf88467de9be0 (commit) via 5e3c72e6b817a4d40a9ba551ed3c397098cdbfd4 (commit) via cc485e620197e6db42d942820d499b01794aeb00 (commit) via 0ab9ce852ba65ef77cfc1fc82d1c48d03152f868 (commit) via b6615d1086eb357e62ec2db85b48d1d1c75157bc (commit) via 55accf4a1eccd84436fc8238cb44021709472188 (commit) via a07e3e182d1a00af9ce7bfc6b437f72fa84a2d8b (commit) via d01060f023ce60fea127b737298a3d4e9bc9404b (commit) via 64f0601bb42fae8cebf8f845a840bf21f14ad125 (commit) via e02a4046e0617f3e2c1b811a1888db3fa998dfa4 (commit) via 15969b63f98e669afd097a1878b191a01bf95d82 (commit) via b9121b573e2e2a9cc5a96bf84727c882cd21f2f9 (commit) via 25dda427ec9e074e0a258eb93c7cc811f0a85a9c (commit) via 033539e2685156ad6ad60e5925bc61cef5ced483 (commit) via beed38b8273fa18be574a7e84d5d2ee1f563ed48 (commit) via bf330350c212fb8880faab663f5b3565319d0a95 (commit) via 8fda9068191372d8282648986055493be17feff0 (commit) via 2a54636794b71f8248dff12cd7608829ee068571 (commit) via 395cf596db32c02f34fa211cf49c3e9231d7c277 (commit) via c2c0b2c2b08b086318f1e7e51573111f0d2c7702 (commit) via c9657e708a03cb06ad92ce81bf17c68d28e57689 (commit) via e882ef3cfc3d991433c3b9aed104961ad3ce5904 (commit) via 38bcc89d48a20af944fe0d51eff3980f7dc8a88e (commit) via 89ed8ea187a460bc746a41f08fa8ee986716743b (commit) via 263ddf68020ee659a221af45319984b4e73e8efe (commit) via 4992aa2019c1b0467e60c6064b8aa958913f37e5 (commit) via 5227d625257f3ae52d45d87f2e16954fb5af9349 (commit) via aacd3e8c4f5ac00f1ee41c082c2f10eb7457d04c (commit) via 184d64776bc16fcba7b00e5784e27f52854cc8dd (commit) via 0d2b51ad6aec6f9e92a3cb0ed4d9f6c9c490c392 (commit) via add6016bac156e40e60bf21a2c2c8ed3015db049 (commit) via 89e7505fcde4bd83948f559f429a0e1eb4262f05 (commit) via bc696fd5af08fa199750abfca092894ab54206c7 (commit) via 94ec908766bbe8c146798754261bcce83572b00f (commit) via dc4d68869c3c700b629bd9f12076bd7fbd35aa49 (commit) via c1b5a1a6e732a65350af930c499b23018f8663cc (commit) via 3c46a02f5083c4a9c07b563d44b8b6ded6d85bb1 (commit) via 8e8347b895af2f492df694c621e70b101d8eb146 (commit) via e07829801094dedf61c76757a1f6b15515df310b (commit) via f93b65a0f4e4e481eee904df841b5f67ccfc7364 (commit) via 648d586d843834820c3a1a4eb4ed767aff6283cd (commit) via 5537b577695dd5cd72395590d7ebd7aa92ee856a (commit) via 14aba1ac0d583ebd77b7645f88308d75c0a69d0f (commit) via ae6a105d22fb603dbfb956bbcedf9ae469323d55 (commit) via 59da4d04cbce4d4209f7e88f8fc3532ef289a99e (commit) via 838275403d9c8ef648b889e348500cfc1b9fab40 (commit) via ac51d3ed8b689857d7066cd79f665f38fcf04950 (commit) via bb2ec1b34e7cc8d8602512235016e74b800dac3b (commit) via a2658febe2016f875ffb70287904b01013bcca75 (commit) via 3bc3cebe8a597c4281cad70e806efe69b2031825 (commit) via d064d1bef5c64c3525c01461ecd5be76c5fb0ca7 (commit) via af945b753559079fe37d61917041f2217d181b86 (commit) via a8fd55897077beda3717e0672807c1b2940e330a (commit) via ed12ef62ccad3b86e25ec3b042d8bf7f15c75909 (commit) via ac04f72bb4396a311ffc445710d4068c13fb0448 (commit) via f208eee0f3a4f42a0bf20ab900eb36fbba8e4b9e (commit) via 233a8fb382c88d7faa6da1cd93a7e21b77e36df4 (commit) via f1660027106d583c639c9f37096519944d5c20e9 (commit) via 4ff709eb44e13fee683f01184a490e4fcc5c2862 (commit) via a92a2e3435f9f579365424fb95d5e07cbd4c4ffd (commit) via de571fc5fbd89d21436119ca2cd9dce1375bdcb3 (commit) via 6dddd6a5747532ef6e9703432c51680011df4e8d (commit) via f161c17134bdfa5f5e72d7afb7dfccf5599a67e1 (commit) via 71c247087cbff23fbbe10333a9e504f3e197c107 (commit) via f5b95c01fbe709f73ca3ba60136ff973dcb706a5 (commit) via 3e29f34a4eef29f5b159749ccb1efb8867b2e651 (commit) via c784b1150407a85946f9d45553893349de45a577 (commit) via 26047f76c056cfe04e917a249beed66d046b7eb6 (commit) via c322dea4027dd82a7727154b3eb33438db2859f7 (commit) via de287215cef5f4271367f75c557c1af788892e69 (commit) via e5a9158d093d53f2bb1057359ac381dcdf6d4305 (commit) via feea5f36a9dd65a0ff279c71744423c419b77ada (commit) via 098dbe61246fd65ea5e3825d77afb31d52c43153 (commit) via 28eef6727d3cd4461091a752c19c418d1bf3bcb7 (commit) via 6cabe1ea460c54c17ac877b2541eccf91d6b4b9c (commit) via 21daaaaffcbda47b724858dd99ee2082043ef2da (commit) via f303bc3e6ca29f0413376e38164dc5cdc0893d4b (commit) via 65840e31a7a7cd64c81ac47bcb17319536ce3ba2 (commit) via acff96643eb25bc425d108b0576d393ab398f1c5 (commit) via 05a6c3c813d617d9900c5de056f40f958a6c71a5 (commit) via fe2a438d598329ed45cd7552565085068883276e (commit) via 8acbedd60e1045bf8d37b29ddd25c2c8b6a302a9 (commit) via 540feddfde2c93f242e6f54be5feb641f263c5f3 (commit) via 4c219c2e69bb66a5535645e2c83fafda1362acea (commit) via 1b43a4392f2c979e77a9fef16877ec99b9cf26a3 (commit) via 0bf32ea9e678df657d306fe28aecac7307debdce (commit) via fc1269757f5614cd893c36120f61a5014a45fe37 (commit) via 0a46d518c7565be02e544ab508f8b5a99b1b5192 (commit) via 56286edfdc0acaed8f412c6b414bb10c867bd2e8 (commit) via 34ef845277802f3f440e8f889e8b151711aca55e (commit) via 9a80057aa002674468fa90135f4f361dd34b9f2a (commit) via 1abf3a143773819e195fceaa485060dcac9e6089 (commit) via f4943d8253e8c9c539fd72d23e94a65f84c92d1a (commit) via e00e81980c70659d0efe686b31a55db5faaa91f9 (commit) via fa15f18deaf6f48e0b415ad3e8864de0b1cf6a39 (commit) via 4673aa7850ee7a8a806a9e61f531c8dd88f70325 (commit) via 28dbcedc7b1282b93c3f25c4e42ae71b44e8e2a8 (commit) via 4e3272393ff1ab2c07d9fa209d2ae82954f7954c (commit) via f64e188b58f4aab4cbd03aa6e9fc1aa602546e26 (commit) via 137d1369ac054744d27f19e95aa8a739e6c0068d (commit) via 77ab336ea162fa8d7a9a9e005d7e2865a210b375 (commit) via 31d999a568b8dcd19d79308335f2508685943f1f (commit) via d4d1e336f94fe40283d6c27b79723fd4bac3ed13 (commit) via f505f9504cc1b9c48ddd9c65c4cd45d250fb4c0c (commit) via 53774b7e76dc5b3e8cc00d6f7a9d27e6c65830a9 (commit) via 2ebecbb12e1281fca50fb0361475a01243432825 (commit) via 6d0cfb9c9d197410756fae48052837aea58767e4 (commit) via a0be3e44c7f510df608e4a480dd05c173ce280ce (commit) via 137d04f77229e4e61098c5595a1edf70c3bc4d28 (commit) via 14952177cde1390962bdc9e92f800776ec398cea (commit) via c18392d87d22191584d76f7b4a850eb9508a8f04 (commit) via b6605dddac58805d735211f0d38805bf87b6db04 (commit) via 619ed720087c20a96b6b9a7892217c5193eb3b8f (commit) via d924db559be94e668253a272f70870c85aecc60e (commit) via 1945cfa59de0a6093011891e1974ac2b6d25658f (commit) via bb5f7690917fd192b98c2fcace1884252c5f6f02 (commit) via 8e309d07d26134de7de071fb2e4c92fa8d5e448a (commit) via 343433dfd71925aa05cc086ad13a3aa15e7a1854 (commit) via 238309aab1e49760b335262db8dbfb26ac88e69a (commit) via 6c1c7be347154e17a8cf723395bb616d4f3258ed (commit) via efad9b6a7ad68e3e85dd28a12b567f84d6860d17 (commit) via 069bb7eced120d5a81fc41f339390719a0063ce3 (commit) via b7365e5df5b41bc23a2a1464d93ed6435d87a056 (commit) via a13c5393d524f93b87e14475357cef2d585201f7 (commit) via df1b803ada346835ca3372408555b28e1f9795f2 (commit) via 642a8d806780150b62e3a0381a8d995212bdf442 (commit) via ddb9f679fa9f54633442c46574b8e5b0ca45a786 (commit) via 3972882e52d7199000bb5dfc753a86aa296a567a (commit) via 82cf9cb2653b39c426f330854c64028eab4cb65d (commit) via 86e4ed39595933e04a9dcbc7dec18c1056c9cbe1 (commit) via 7c50a93137df660f7b2d9d68c0db748a9cb7868f (commit) via fbad6518c1397939ea2d832eea7e53f2147759a8 (commit) via cbcb23fa01027a7fe1be938d58ef8e7a60b5fb7e (commit) via ba715d7fe49c8a59660fbd571b935b29eb7cfbdb (commit) via 53df40a43c968f4d97754226d62775d1fe665459 (commit) via 621661e3faf809d4f28bb84e94e30c1c8a8cc933 (commit) via e4429773bbd150781b6a45183339390f8a5913dc (commit) via 1611bc4afb0f08f0aff64ec355b8d68e9f4f0a73 (commit) via 858339f2b7aafe199c1cd07fc8d4a7c8130aa285 (commit) via db6b071a97893d5c7bf34e7fb171a0b710ea736d (commit) via 4759c34e128035e57b06a7b3d7c58f135061c6da (commit) via 01bbed2a55655bb46b5fe1493f0c1a15dcf3a844 (commit) via bee0ee850e846a8717b9aadb8d5da3adee3254ee (commit) via 9d157cb9fe73ff3d911ccdf581ab09eae02e78aa (commit) via 1f98a0748c4dfae57a76c408501c938480c1173c (commit) via ff1eb2b544c8500f48eff3418ac1e005acd5e3fe (commit) via 75783939d7bd00c4e0086e5b7e536fb88f4e9d27 (commit) via 2d7bb7580ac174127f8ae127ebc4156a91035fc0 (commit) via fd9edc908915788839e7605e2fe4c00f4b3eb3db (commit) via 7c5fdd25ebe3262695084d93027f313e1015518a (commit) via 31c0ebfe8bfd9af65aee24cbff17fffe039c0b28 (commit) via 29f0c3b7b2b4fb46dd5ad29c72ae41a565f5ac60 (commit) via 72998fb37a6a4bc684ba86228e81f27c7a7609ca (commit) via 422b9917ceadf6247ac4d52aa198c291e5de4c10 (commit) via 47c6ee49907b49cbb804495b60abcba336f6b11d (commit) via 01828971bc571106e275b19a1a8f99ba71a99cb6 (commit) via 9a926d55ab4b6667f6c35b518d59b902fe490d9d (commit) via 5da3ffc99d0ec7d0770b4fcf8830ffe05d39b1b8 (commit) via 162078c893bb9614d4bf5e0d60ad567fcaf8e2bd (commit) via 71dd4b30a741cf8a23e8a49f6a4294759f76be33 (commit) via dc6c87175b672f00e72997c0ff9dcf984e305285 (commit) via 007baf27e405bec58bd6c3452168a02efeb30050 (commit) via e8b338d053b1dbfe2cbad0834632e814ec11a5a5 (commit) via fdb09caf2386b09272df3cac6ec65be724ace3b9 (commit) via 538baf8b7e6d17a490f126f8565638469da70204 (commit) via 51aecdc5320d1707e1f034f05a378e60aae71d18 (commit) via d5552aabd6c68147421819577108b51ff25ea064 (commit) via 870c90bb8af2464b2f8505766d5a7c5831673cba (commit) via fb2578353335091488c8a5a02e8275a7c139f51a (commit) via d8e603148f3cc4a953409f4a5afff9e4ea898830 (commit) via ef77750ef779ac887423f84bcc11a8de4dd0fe79 (commit) via 06614111d1be94b43ea8dd83805184d4e177bcea (commit) via 30b5e341f3bcb219718ad32cd0065670fd37e637 (commit) via fb389763e0ee42be2f221da60e1c126314857d11 (commit) via 55cfb2c4c8accd5031fd7c8167988fc4624e847c (commit) via ac3d87c0d256547c036067de7bceee320b9bab8f (commit) via 591f7597d447d8d038d6d8e24a706d1d5e32eba1 (commit) via 9e8cd6df3ca295986b2c295b6cfa5ceadd410bb4 (commit) via 3fcd9bb03b8e7d2046442d3990b3fc2fdf960a3e (commit) via f10c5b19e0d3f34cf36272bd9f038c19e6873275 (commit) via 413b59aecb4ab6b8a552d3b93a9dd7e981ab3c10 (commit) via f0d4ba1fc4c702890bf090d1d6d2413fc6c34dd0 (commit) via db76a70026ab100148eb274322fac01f1a1dd466 (commit) via 7b20f09964ba4275768350a24fca109527a19425 (commit) via b6a8f012d1813271c74cbc49545a27a2e8781fc0 (commit) via 18ac6ffc9b119c8d55a1cd0339d47998076faf2b (commit) via 4072f9208f12fdd60e68c73807fed4624607d290 (commit) via 6c659fc2c7cd2da6d2b9a3d7c38597ad3821832a (commit) via f4f855e84b45eb41987641b4a26037c7444dda33 (commit) via d306ce58b4c7d544721ba328c447240cb2228fe5 (commit) via d7fc3181f73ab3d5549b396198645558127e0584 (commit) via 57df9adf2d437e3c7f17a77c3e0f3c0d8e56aa40 (commit) via f7ca3fcfccd144c234370aa939e4f5f15f3b2a88 (commit) via b2859a9a54fcc824c3ed7948767d095c02570a19 (commit) via 0fa9473ff006c0cc9e62036349ab05664b25b4c7 (commit) via 6a29c58ef8067e7c5869aa6dda9ffdd123bc94a8 (commit) via abbffc8924ff61b64d86ee89775c466e59a32c63 (commit) via 98399780958f38d70550174b8204f5085f3b23d5 (commit) via 3332aaf2896b3218a131eab5976a500bb46d6ac3 (commit) via f45c62c4d5afa794d061199b6b4e585d509d1040 (commit) via bdca27a2f57f5152ec83766d7a8b25b2d33b8905 (commit) via 2196f55f0140f3e278ed4002040f32acc5a6aaf1 (commit) via 7014e923da3a3b95a99c3fb5f17e109864bd1113 (commit) via 25ff461f19250e7315ff2de84d6b42319e4b2faa (commit) via 8514e4db84ccafaf3be07e842be2fa2001ba876e (commit) via 8066deb11b8e23de5c75e3e2526524bdef0f5a41 (commit) via 10e79639cc08c050b8fa97c0a5af102683a11e3c (commit) via e87e47787eb22622ddd9e07b561486e1c0e8cbf8 (commit) via c9c1d674406c5fff9d2f2ea771e4288cb6bf4e5a (commit) via 3a1cfc456f3b3f422b7c6c0d63891b015ea234b9 (commit) via f28a0564dded48d14df749f11f8ce7638d96db12 (commit) via 1036838a771b96ad9428e8fc7ecc45d3d8e056ce (commit) via 608ce2f3c8b1fb309f50b6426389282ec6031323 (commit) via 8bc106204c1aedd8c5ffb52453632a632d5484b8 (commit) via 3fe1ce1d5b225417a8e3234aaa0d7a0a597067f1 (commit) via 982bbd97c56073d9524b71526dc5911ec32124ca (commit) via bb779192aecf89975aef7a16e1ea67789b5f38dd (commit) via a11652892c18324bf3abb8b25c01475e5a18632a (commit) via 0cfd832fc7d4f1b5633248754dcc75fa90b5475b (commit) via 601a03ba3d521989584a1f8abd5678040e0218cf (commit) via a3e60ddb0b43a3aed32f2982d472ab305c7e8f67 (commit) via aa4893954a75660d2aa66245cb9d020049cb9546 (commit) via 7f1659b5875387986901ee9bccd5247bf6899afc (commit) via d53c26c753a39b80a338fb85bd41f75a49374842 (commit) via a20605cf85452f051434296ddfd8ed109577bb6b (commit) via 38bd618497d57d118160976867397e8bb22732d8 (commit) via 43b64debe3577c6923ca9f16ec91451bb47f5f65 (commit) via c924eb67e143722e4098d84c1cb91123a51c988f (commit) via 61e6682207163bfc02b2fc0c54c084cf8f2c5f10 (commit) via d92b6eece424f0ad35d96fdd85bf207295e8c4c3 (commit) via 60bb06bc89858ee50ad02907a833565dcc317182 (commit) via bb4d2ac2cc637c61232624d9d359b8d3f031e3e9 (commit) via dd7e64d45b317128f5fe813a8da0b13b4ad046ae (commit) via 07e94edf043090a6771eb3b8e7e03339cab8e607 (commit) via 6e733ccea9ed0c822817a06b53ccdbe73f8f5c04 (commit) via cac9b138f75c94c1256d054cbafdf208b8963ce1 (commit) via 520c7b56ac91e91120c59d7a85466ec9394277cf (commit) via a441dfbc4e339198cf9d27d21579fd04ff8c6e2c (commit) via 4c9e848275b2073db55ebc1b7c18a52ab32954eb (commit) via e05fa0bad203f7236cfe374181e1bd72ccbcaa35 (commit) via 1ae92035c29475c97a0795e3f93f068f8e612f25 (commit) via 15ee0bbdde66989674d6cf904dd9dedfb372e9ba (commit) via 6db50b4cfe55834ee5fc8dc95c80529f8a0f2a1f (commit) via e8af5d7a5cd4c58136a4733e87612f49061bf28b (commit) via a344fc094daa257557786eb2ce871debf38456ba (commit) via d64e57faa89ba4de0ebacdc30fbee5d19310950c (commit) via 6f9d33d89858fce0278af93658fcaef8d76f33cb (commit) via 88db67effd5c083011397a00e40fe03ea70629d8 (commit) via 576054f170b1d1a2ab8c9473798193fcd5687c3a (commit) via 8eec6289f850433e42349c1bffc8c1b7479717ae (commit) via fcb381293d999944e48f904d7a813f98e03ebfe2 (commit) via 8b627517756c1f54652f089870cb0072268fb20e (commit) via 01465b569ea01cff11889ca72fe5505ef1c4c85d (commit) via 07a1c2c3c7be5942a20ccc45ccf695ce3cb08112 (commit) via 35a14c6b54b63adc6b6ef28a4e4403bb271b9bdd (commit) via 84429e27c826c74b99791b8f1efe8dce03cfa6ca (commit) via 267418593cfb3986a924024a28e3283626399301 (commit) via 7af4e273070de20d0a46239569ab8a518b713310 (commit) via b8b64fa5e4486e681a1a8efb5aa286ff8cb61162 (commit) via e235c3a213b73bf2da20d3c45a60a241139714f0 (commit) via 0a9d414aa114b7b7e609cbcbc285f79031bbe608 (commit) via 5974eba65b82912621ac68f2c0ff844efbd02b25 (commit) via 9d585188889de38c7191976051d9acdd8d57cbbf (commit) via b2a919a82b1d131c20f9e9c21b8c4871e5622d75 (commit) via 4a7a79238819b06f8995ee9d916c8e06f680c631 (commit) via ce641d0b6b9fc9d873cf204c5ecd25a451fef3d2 (commit) via 278289d5d70324b580cb5faf663a8398e4710816 (commit) via e01e2baa693e8d623e04dd66a55a75a2102bb7cb (commit) via f0c00af8b494001e2a49a2f9ee2df7f340f80f0d (commit) via 0cae13bb02b69af6713fc0133eb705ca0ea8b084 (commit) via 9c232dda88ade649e92be7a6c9917e0a80ea54c8 (commit) via 00d7f58fd4e59c9ffe375f3a6edbe918fd7b5645 (commit) via 6068ad5d49cb80f5f2934bc100fffdc856e7e9be (commit) via 5d921cbd81554867007e903b634acc6bc8281f9f (commit) via cd11f78f810cf12b04046ac954ceb6528b00956c (commit) via 3cfdb7812cda6ca610be8bf65ffaf5138dc0d379 (commit) via a715796ba188e7ca9eac6e613439b63fe50a677d (commit) via 45e44d277a1b558bb77ea0a1962172a06be26594 (commit) via 82dac402d2a0fa22abd9b355a7bd8383dce9527c (commit) via 3ffaac206b7169712e1d556a881ea6730ea110a7 (commit) via 344d1e9ca89655827ee4b1d613bd248829978def (commit) via 4cd4358388c02ca25f626b3e66a02df79a8ce968 (commit) via 76e7af5ffa07e570c7cedb8b8141a822905d78f0 (commit) via 731885c1add5b5012654fe1a70572f033c8d21f8 (commit) via 5f7cbeec7d698c4881ffbb55d9c3288536098d32 (commit) via 7e7cbeb3a21dd677d35321c5eafae75e3dc0dc1a (commit) via 458c8db89f7e9913da6fa67c3df73404375c436b (commit) via d840c081f8082e8b9e63fead5306643975a97bb3 (commit) via c22ee0ad9de7efff74942263c71b1878003e3eda (commit) via 43f3e411c415ac74130808a76473e05ff41a1d94 (commit) via 5c47e525893b06db772d8b1c043233a173101c8c (commit) via 0cfb07174869f3542a96619fb36a85398af35da2 (commit) via 1e269e9b8fb2acf403bfa09486cdc5d496bbf27b (commit) via 005e2509a167c05719df3a3edd966865110a5052 (commit) via 9274e9de160a98d737bb2bd068c22d37ec66d98d (commit) via 430ce64f28318ef6f8e24b38af6c79741560b4f5 (commit) via f9dffbf0863b9010a5eece87bd6b36e38c09ffb0 (commit) via 3f9034c204cf1845d2f2d94f906a8573183831ba (commit) via e44c58ce2fdf07b5c0acb7eab7155dca48d0e6da (commit) via 54a28c4ce5b18cccee584d7a5e26df750edfafe1 (commit) via 0d7b2549024f66cb98dd173b6f339673df1b0ea1 (commit) via 2b0f535a446c682c3dc7c1276e2cbc747bfae163 (commit) via 8908fca5772fcff9f7766158ba2aa59f5a2b1f68 (commit) via 4a46959e7b897a74c0ee4a0b6ecbaacc1a9f243e (commit) via 2acf986b741bd27cc441d2972b248dd506f0415a (commit) via b10779500e8a7c0734beaefe782c495ab1ecc930 (commit) via ab7fede88eddf004994f8769e3c7ac145628f5b4 (commit) via 439247b656ce3bcfaa00fec7dbce70e65ca17cf5 (commit) via 4d663531f209bcbd7209ef2f1a02e0b0d4e7385a (commit) via 0593bd3ace3cb64775f4d9e8039da919c26803cd (commit) via 8435453b810d8ab0574e509446003d10d04abfd4 (commit) via ee6f8984bbdbf340816a7f2aebe736f100601b22 (commit) via eb822aa6d0f2cdc1a3125da084b96c5bbe32cb86 (commit) via 98387a2917d136b1acbaa9229d5b6a787d9efd54 (commit) via aff0895837de06af4e16b809d1f2eb17930297ad (commit) via 7bab9b58fd9c05c20cbd56d778ffa05d9fe3af3e (commit) via f194fefb5e345e8c3b55de1d957bc6d7b95667ad (commit) via 6937bb54a9c3ddc7ba330bc18af76f8dbe856ac3 (commit) via de84aee38c50fd306876cdbf92007afaacbfab4d (commit) via d258b828287a863376af60a1ef7ceafbccc83d93 (commit) via 470e2f4e300e5f84b1c35070df43d69b501e0b91 (commit) via ae527cd876fe35de72d876d3484e194ccc66232f (commit) via 0a9ce86dafbd889ab3dfc8f61db364a2426be99b (commit) via 070cb95614a9c50be0d1191d9b9daee178dd4c38 (commit) via 0eff716535f3e8f501d6b438f7f796b70a0b9f98 (commit) via 25a0334e39963239f03555efe7e933558cc897e0 (commit) via 14f195c9a0960335c0ff548e86e051072036cb5f (commit) via 2cc1b5aad8defa9b5e6d9b4920c4d2ab6cf1f02e (commit) via 9d8596f0792ad0f9d21d6af23ff0db68beb56ccd (commit) via c5e7287a1a245a2043352e0db9c731fb7e31a90f (commit) via a267f3ad3f8c3f76f46ed006ac11a88426414339 (commit) via 12084a9ae15f6844e987ff6d3b2a64bb5963da8a (commit) via dc7e1a77a4d3fb8c636628af674327ba20c736b6 (commit) via 43968415b0025fa8e1fa5c813e53e87ae392e977 (commit) via abdef8eb901ce829fdc9fbe7eb89c8327c262f07 (commit) via 41c7760520c02124d2d3d0b8ad12e2186ba48f46 (commit) via 209fed2decc3cbda86fdf0c2c7bf24ee14cd9fc8 (commit) via 8969c424dc03ef605841c7cf60cda7ed60161730 (commit) via 37e77caf21a38d4bce74d89ff3ab9aca6191b719 (commit) via e30465112ed4c6320dd19107302057a5f7712cf2 (commit) via a3f89f9768198adc31f6c6554d467044eb1d0025 (commit) via 34248c3af73049fe1f8b7a4b9eb7ae09f42eed95 (commit) via 2097ae2584c1018a7a58d93d9edd7f6d1d9654c8 (commit) via 1ada499f30b82fe7ab3636154ce0d39ebc06ec55 (commit) via e88ba8d56975c6d5d7c6ba83fc146ab6e89510d5 (commit) via 355e210214ba52d477f25b33de00dbbcfb566c70 (commit) via 1dfc6506b7482baf86dbb3c91de5bd2ae3f5acda (commit) via 830301108dc6f1a14f7e21897a4aeb4f3ed2e441 (commit) via 470c009be81f3ac0205d4efb1d16fc4216093b69 (commit) via 02c1355124de323e32b8b47fa0b19c114549756a (commit) via 041830e03cca866f12be18198898139e558ad31e (commit) via 646da0594c91719ef591d8736865a1d58fbbfc34 (commit) via 9301ebe667e05c378d7f09ac991a925eb2a95617 (commit) via f166b542723928ab8ecd5cd1788e6c1161bf3315 (commit) via 0f6e71e32ffee942879c37cbab162f9dcee7e683 (commit) via 876c4df94765ce9409e867ff035ab2203c9f4a3b (commit) via 02ad9cf101803a29d15ea81bb1fdab8a2e82f34f (commit) via a8719064e81f8330d3b3e5e504653e19c4131864 (commit) via 60f7655a4abc5baa3b8861ff896090dec2c3dcd7 (commit) via 57494d81b631343380888b8a6ca55bf8a6110436 (commit) via f8521a03584f2451e52cbc90bff5c1050a588c0f (commit) via 0be36304922ded1a6ffdec8ecce204adce597c4b (commit) via 553d1284b7820ebc88a2e9500d813441c642bdc9 (commit) via 5784b3caf8e2d55339994067e7f05dd047109b87 (commit) via a5c71af8d3c7c535f27614947f72883233658706 (commit) via 09bc6c722493047fb50e8a7e70e028023eff8f32 (commit) via 3102e897eeda28961a32826095befef5c4a74097 (commit) via a59add0c2ed21c03efc8b39e333564d7713a7ccc (commit) via 3b5d59973315a2f2e77e9febd35034b4d51c716f (commit) via 066a77c58038e1ecf0a18d51b28d7bab303e8234 (commit) via 4f204ea54e2b80354d03dea210047137a09ceae2 (commit) via 3b377a3aa772bf1214efba8a98cec59e2d7ad734 (commit) via e444df73e954bf24d9dc6a4eaeb5153b3faee973 (commit) via 8008f2a759c11cbb37e3cef9b9a4ac3b77e0e4d6 (commit) via a5a0688714a7a7c224aa591b3c393cab24cc364b (commit) via 44dba9b9cddaf92d520defc74d38f7d576c9426b (commit) via d1fbcd564ab192434686588b9ff0853e158afbfc (commit) via b0e59b8f1c5fecb1354de5664f50149ac964d98e (commit) via 78f98cca318cbf5f38d85a09f11e17cc3684ac51 (commit) via 58fa2af0b3d87dbc2aaf640ef31af301e5f3c9b6 (commit) via 04e5059ba62bf70b1b73f525d306e05fad66131a (commit) via dbfdb174e3984a6f6965d594b712c212e09afcaf (commit) via 888a2adec7736f2f507295fd2fd5feac732f4a7a (commit) via 6acc2ddee2a596e3785bb17a8c753e2c30ff2683 (commit) via 9ecfcd1d02e8e92457e7a81d060b8d0d46bb68bd (commit) via f41e4712a7b7ac60f181e7dfc984ca35c222f0d7 (commit) via 40e91bc71f7993f2064cec4ffd007f2c814a1b29 (commit) via c2c118cfe13264f5638f9e3924c7fd05a293ad40 (commit) via 78708b7c8ccc2138880217de9bd60eceff683f10 (commit) via 6218dc4bdb198bc4982516ba0b8a6714c9123a8f (commit) via af48d08f97fa678571a42be35a8a77b61e36d7d7 (commit) via 1a853c5224e2b8fedfac6d029365522b83080b40 (commit) via ae9bb220caeb7d51fce6f54a182477247d8e3ac3 (commit) via 6bb3e67958b0ee59f1b69619761e6d5ad1f7544b (commit) via abd58633c1985c879a84249650172da639773730 (commit) via 6d19a37a8f3be44fb006c7854a12f9edcb74080d (commit) via d50abe23863b5bbb40fab2b785f0df8917b1b7dd (commit) via 8b73c35699b4b1da558be29ac3c90aee0e0e1e49 (commit) via 51b26797b4a05304e4d00e2fd77810e38147bb7f (commit) via 0f35c779a9aa18739d3a0acc47b39ed819c8a860 (commit) via 60984d529119f8fcafe5e7dea192453eb8c78d59 (commit) via 603c43995f4ee594b48ab52f1ea8d254b3a46f55 (commit) via 541a3cbda9de8ae8888906cfe14887c394a3f772 (commit) via 201159ecec7e17600df4153e5d4e7a145f0c7cfe (commit) via 015de6884f6fdebaffd4b7d4c7f14fb4d5fc0bb1 (commit) via 0ac2337434968896a6393fdd8c0624bd2945bbea (commit) via fcfa62408aec326a54765a6fd8895349fb41eb7c (commit) via 4de1599bcf044a5396ec588f90b8f475be657d4f (commit) via 26a84859720cc202e98265d9e4a2e0ddde207f86 (commit) via 712a2e6d225f2139be6954c948d8db2787071051 (commit) via af3768e945b188caa141e3285dc3eb84f440a673 (commit) via c4bfc839ee132ad8f925800410f4b5bb7ff0fb0d (commit) via fd6f9d1747cd2ad2840ea099a1f3aaf1dd090d0e (commit) via 4082ef846466438ea2cd5b3606f304f6fded152b (commit) via 5e186ece2feebb46e63ff6bb2d2490aad0d5a724 (commit) via 36e9d67b868c85232ab630514260f0d9c9c6b27b (commit) via b1f28d992c916eab861df3fa62d436755f874b62 (commit) via aceb5ff54262c4b03a11b95656e9080cfd23a9ef (commit) via 5316048023bf46a0ca8b81f584bfd918d676987b (commit) via d1f5d98a185f0a6f026d265d5bf463f1f91c1256 (commit) via bda749187388ff9f7f500142c772b676a5f10acb (commit) via d37ffe2537a2ec5a22abfaad316a640a40cccda1 (commit) via 8ee35f2ab5f91c7a558009ff9ba341dc7133ef4c (commit) via 5a2cbcf4ce0f56e5f66aad3cd674f8c8edf428bf (commit) via 0115826241fc07d78fbd9709567b1c35fece4179 (commit) via cf61b7473a8ee3b43c4f8f2776075ec8d81d7495 (commit) via 9de00a4aa026297eae42bafd8ab413cfc1a53e3a (commit) via b7a084bebe979a4743540349025561ce82208843 (commit) via 071436c6e94be13904438b6eb70ee79c73354a61 (commit) via 56aedec7ab6a1da818ed900827e3a2eb1f5cc5d2 (commit) via e5242d4bede9761e9847ca85f8477b4e275a6e22 (commit) via 7c53fd1ca357a5f6d0dcb3fcc6d06a38de48cd09 (commit) via 67be31e5aae5075a99068e752b138a0934bde83c (commit) via 08724ab7cab54446283db200db58a3313463a1a2 (commit) via d9060ba60d1523c87e44eaeb7706d168089936a3 (commit) via 74016e1224f211df4652f8974376ba23e58f507e (commit) via d1a2d36d58bf73daab55f95597218bab5dda471c (commit) via 24d864bb955adc2ecd2103dd7a0dbf9cdfd37010 (commit) via 358d6ab39c95691e721820fd54e9780208faf252 (commit) via 16b2eaa164b48aa0529304eec38102f1c60578be (commit) via 405724050266e30fcc8cbcee416cde41862e8e8f (commit) via 2dd2cd1c92d09ad96b643d2574d0dc6cd7e4841a (commit) via d4c589159dbfe23b7f5de393359da8a9dab854ed (commit) via 4753d33b404f07e749f648c57ae61e3984d40029 (commit) via 9c1877ead06db18e19614a598d1e280acb97e971 (commit) via 7ba3b1171f703e21555d78fbfb34be01adc89d5a (commit) via b4714c7c30c151ccb892bda7d6f79a5ac8767a5b (commit) via 426a40796aa976355999b2ae401820b9c4a72be9 (commit) via dd9b91de2149ee81d47f708e7b0bbf57da10ad42 (commit) via 834107255bbefceb445fa733ebc1ea5d9f41ec7f (commit) via 1fe9dc4519a86b856da7de0837366bbece82f2de (commit) via f321b0377203a27f3ee54bf8e0d613e8404e9c6b (commit) via a6f921c87700c2349cf6fa35fbc8ec9d3e3fb88e (commit) via 74e1a04b9787c02ba0fa9b93e3dae691bb44ed96 (commit) via d3d7100a0d225f44d0bcfc05ae4ede96b462dc9b (commit) via 131e2f8ea152c814af559df088a0d3019f7f45f2 (commit) via 09c14161c5bbba3a3969a48efafbff3b9a4de42a (commit) via 7fc5ac571661cb5e5dac3fe3d2284c9d0079ff33 (commit) via 20ad5e2842911039a60b6bdf9880cee895179e43 (commit) via 1ae1b8cc656639e18715829cbcd72916e86f3324 (commit) via ee11262d06cc6af9d900b44cb4d9af29050b375f (commit) via 336649dc254ec4f62562e345dc928d8ec0bdf5ad (commit) via df97ab2af780b9588a7158c61b6fdd25577b1c68 (commit) via 0b58352d4301958fc1b88bbe014e9f5af09c7f3d (commit) via c87e6d0015ae357774fa5a25e2dcfed2c1df097f (commit) via 441ef17f095f99bb094eb28990a92b8cdc8553b4 (commit) via 79f2a78e76fae1885163027f843e1bafde984b4c (commit) via e0a31db1b16fe0a010aa46185e4a31a08e7fd97f (commit) via bb0d867169d7e9743d229804106a8fbcab7f3b3f (commit) via ed9e98c214dde25cc9ff54bac7191c3824be3ffa (commit) via 127a8db1ed4fc7903007dc23c6b11f613933f9ef (commit) via 0cdcdbf8dbadc70194d46b4c3400ba8cc2a10fc0 (commit) via ef42b83ec01d65286ba2906ef66caa3b943108dd (commit) via 049b0c3a2467c785f9068915d81fdba4985470bf (commit) via e0f52461c2467b6610391681fa27cd9b3c5def57 (commit) via f868b157aa4079bcdcb482b6b6634b5df8f74dbd (commit) via 931b79ccd6cc6ad4d8fe60a9c6de9443322a7cc8 (commit) via a12d0ffc72ee57f8db8b466fd9032360d8d15e09 (commit) via 5a3f568b70bdfb91aacdfb66657b56d8c6d242f1 (commit) via ba241f2d5a6f1ac57e746d230892e27a70def4a6 (commit) via a0b4d89011b2252004d970886af8db831ecadb1d (commit) via 99b4a5a08507a96f6d014553c9ac4c5e257f37a2 (commit) via e82149ff2aa7f91090a440daa882b8c0c37840a9 (commit) via d7ee84f11785f239c40378484f48dc0a17cbd14f (commit) via b71e4c7f6310a6d6ba063c49297560b9be8b8796 (commit) via ca45ab26f53023cab527eae940de86af4d03aa47 (commit) via dcd4a3a4e7fc3912194d1346d2dfc6252f70b456 (commit) via 2959fed98cf1b1fd32516194619a5edbdf6a41a3 (commit) via 6ce8c98020188a7585c24db289191c5c10371e58 (commit) via a218b38d2e3f2f7c55b59b380267fdf7fffdb966 (commit) via 4f072d17b2574e271ae381f42bc404c1a99d0ab6 (commit) via 8301c89eb5f179cbcdfe7666ecef844fc732f97c (commit) via 2a03f3073118b862339be183023b5964a3fa8dae (commit) via 657a7d7d23a4de2cdc4140254e5ee6df5789ad26 (commit) via 2c62985659da21a3fe16062d211a7158f79ad2e9 (commit) via 222016651396c7baea9ff3f96003bd53bbc11ab0 (commit) via da37262b209fab7f239f4d4f1fa4fb302f1f6a5c (commit) via 690725fa0d98ae52c991f4b3ea58b6b47b4fbc80 (commit) via f54498b45795194df671207c6ef3d6cd6d0c0ebb (commit) via fe06005387223e8a8b37e49036efe06b4062c7f4 (commit) via 7fac9594c41ab180979bdf5927ff7f7e1d13a9e9 (commit) via 02be9a71009c94840f2367aa5554cbe5b71f56d1 (commit) via c21c8bde378b41f80ef61313ffbf653592e4ba28 (commit) via 0102ea8cec5fc509bba6c91df61b7ce23a799d32 (commit) via 7e760b06b212f01b3819d5b37e8f5b613e0db34c (commit) via 3bdff46b67a527886f49735a5d192c05a332a131 (commit) via 62cf91a31e4086abbee7bae5cb1b6d9f5133aaad (commit) via f803aa8eadb24ea7152057584c47648fb02e4716 (commit) via 76ca31c09f629e670ffd57e79c0604db7ddecc9e (commit) via 6427bef6d182b98dce746467c7c09e19e7cf7e2d (commit) via 0d93a331c239b0ec629b177b3b4ef55a277a45ee (commit) via e5b470e24ce448a56230137a37d3b17299593041 (commit) via f60325bea599bab4cb721c6e797bc6b908fa616c (commit) via 9726c3c179e375cc0cc73a593adfaef8ed5735ab (commit) via ab917dfb5ae0952c234a9bfa16bb3122fdfaf14c (commit) via 354204061c1eec5cec6e8bab0af164a267b1e67d (commit) via d3d4baedb6d247c6372678edd15195a1a93c2c6c (commit) via d1e8523e40ed5094ed7d5b352ac6b0eabf9f690c (commit) via 64b588b51e04a80ac6f9a30817b5247ad1c4790b (commit) via 6e5d7f393ed899c8e980b238be3cf23ec296e3f6 (commit) via 1e1e619b6b382f9b354d78018ddb73f0070375d2 (commit) via 551cb6a52d99c04055afed182479a8780a15f4a1 (commit) via 84eda397bcf3ebea00383e4a6a864af59723dafd (commit) via 563e8d85161198df8a13de4bc660a047305458c9 (commit) via 0ea4d52e4396f6fdf44e6b0d5a21db17cad41ec7 (commit) via 6041179a7496602f881b6f0a8c0bc3a8f1742cb7 (commit) via 6ae274b7dc305ae7cebcf55c5018dab05228235a (commit) via 5e1b37e7a31f898916d3d5b7e9f6f4f6bf2b50ce (commit) via 7f5ef60532b466ec7a83a943f36e93e32e30eafe (commit) via abbdbd03db7eea82cadbb418da733991cba91b15 (commit) via 5a4b0ccc20ba30caef53b01bee2c0aaa5b855339 (commit) via 1df4399f27f8ee817d8eb4c73bba42bb65844303 (commit) via a5b6e449e36bcdb162271707fa145f316053ebbc (commit) via 7d1a114c44db3d7055afe48868f939ba95a64b7b (commit) via 708d7d0d11f0f2d776171979aa3479e8e12a38a0 (commit) via 6fb9c0f83252a79b2f1a3f8e75fa117ca7a4d589 (commit) via e5f8a7cc2d376c81749b6e4a4efc034201cf683c (commit) via bf67003b4567600ed3022a439207ac8f26454f91 (commit) via 7e1e19887abd24aeb15066b141cdff5541e0ec8e (commit) via 493a33860c71cac998f1a56d6d87d6faa801fbaa (commit) via 763905a3ad8f98d33bd9319790a8d53904554265 (commit) via 71e396f920e593494b8d57114d32e2c07f823781 (commit) via 3aee438bbb1634e6e6e3ae60fe8479ae7172b014 (commit) via 4744af9bf6a84c89f2e3987e40dd533651f2e731 (commit) via f88cb4b683ffe4722fcee751c2b046ceb807deed (commit) via a023a30fb494294f739b3414a28d11da8c298d3f (commit) via 4c35218eab6ed3b4c5ddd454809820f09030480f (commit) via f08e8df3ab2f98b68c6cba6dc9ff5ae2ff3ecb6c (commit) via cf901d3bbac471a581776dbe88dd838d96a894c0 (commit) via ff6c39cf9cea7cdb925557493408808da2bf6e15 (commit) via ec201f0cd1e6a0804822981fd7e25c99a3b39fd0 (commit) via ca040673e070391c8e5c35a12ef6b33fe03128ad (commit) via 9667818c4eba346667b7dbc772a07ed10e8b5629 (commit) via f5627833b4c2c11cee56f2556128ae03fa00a031 (commit) via 6f259a235d01fe7b98c8ad6e8edc06d72074a14a (commit) via 09dd9a6907f0929f2b634e57e68f11a008dfbf68 (commit) via 5ab806deff413e90bb2dc988b78857e13dfc1b5b (commit) via 3433cfa51f6397231ffe2b2c69298eff89179769 (commit) via 68fcca92b735bb46e38331485ac2e933e5876b83 (commit) via 79ccd89e582a1159a503813be020d044e070d53f (commit) via 96ba42336f634f8095ae04abd7cb1cbdab226d24 (commit) via 685e70ae51e312f7cbcfa8943fffceb540d46640 (commit) via 65e84d12a068d72c94e96a569dac915386494e7a (commit) via f179c51249f2a34eaba50f64152a257513aabcf8 (commit) via 00ac7aa072c90d95615bd1c89c699f0ea5eeae22 (commit) via 60822996412bf596f4f786492b0d787ff82417ec (commit) via 7bb01e2d7401f2eb8995d445917708209d3ad4bf (commit) via 80272b8cb9f78cd97c4655019e7826b6d4c5dd41 (commit) via 55fbd9927b9b6f1f4881cf8585c35029ff4ee153 (commit) via 73242275062071346a7c377aca5e704679f25f82 (commit) via e74211b660791d29be21e11766c5b375f5df59b1 (commit) via 12e87fac5c760b04eed4f5a5948c2dfd6ec8f6d8 (commit) via 28f013d5cb2b60882c73f10eedb26fa5b3b15b2f (commit) via 2300b5a1414ecb820aa042a30a08928cfcba620b (commit) via 5c0ac14e47ac99bd6ef80a3eb04e80806f07cf58 (commit) via fab3a15dfb4255e9d5a79536518ccdbed4e66e23 (commit) via 092f880b8e4cacee96e85a885c206e8879e86fec (commit) via acbdb7f355f9dfa851dcff3154944a0d96771b0e (commit) via c6ecbe44d87c71dc97f5d305c47cc3f7d4510e57 (commit) via 28153fd32137e4f1f081f3477c5b76e0bb387f44 (commit) via fc9b8e475d13b13e6cac1441aef649ce45929111 (commit) via 5bb926bae5e049e61d409fc5a0985082c9997eab (commit) via bd286a290bbfe7039cf9fe0291ab9b1f20937e52 (commit) via 673dc4a0542b54d8da67e53eaaa94ace90085421 (commit) via b53dfeb26ed06e97fff1e8f469e33637ebdf6624 (commit) via a841bdf5d3bfb9c687f938be7388597db2e461de (commit) via 998a69f46a3770d0f26aec080fcac4865c689739 (commit) via aed56ec5f279e3849810e19f7d4b7fc0fe6ac528 (commit) via bf97b6dd05d086f6e68854d4861afc1f3f593380 (commit) via 0b6be415509b6dc5de80cb4e151b4a7439734b53 (commit) via d9490cd487215bb3cd28b4235efbb97fed840197 (commit) via 8bd978587880bff236f2b3c20df703c88899be5f (commit) via 4ffbba72f39aa4a8c6833618b9fd552df33ca69a (commit) via d096d8c11e4ab306d45e8dca811db2fa33e933a8 (commit) via a80db0157c31d3f0fbb37ea40384b11041429a2f (commit) via b22089abcba7cc3be26a9ab7d60e01299ac13ea0 (commit) via 6c4486e63f7583ed85a0c72841f6ccceebbf858e (commit) via 0ff33695eeedf3c2e8cdec8690ae4a10a66b3389 (commit) via 6fdebc3d1c54d2202f7637e7345fe6d25c7ed93b (commit) via 5842f62aad5c20dbb3511208efbc40a8d638b6d3 (commit) via 3f7308212cefe5cd958b29e0b9e92d92c4dbe941 (commit) via c1e29d6622533257267e6dd136a34f9785edfb28 (commit) via cb9322a80e3a92aceb7e325ab34f2a15edbae05a (commit) via 32a8097ba5dd6ddb71c0fb2fccbac262c371846a (commit) via 80134cf5b3ca1f75a96af1856fdaad29ad1f57aa (commit) via 7a3517ffebf218c8f34ce2eaea40ab042ce33f9f (commit) via 48cfaa5c1d550990cc8910fb9e1d80c6a0225c23 (commit) via 5af04e20f6333dc224d1668dcd433d7c8ca84e71 (commit) via 89c7137fad41711072e2a15ce539e2ad293bd065 (commit) via f1885d1e59a7e6e0627429cd3068740d96f8a184 (commit) via bb99c4726c8926b943e0f525247d2ce0d7ffe6d1 (commit) via 459609d6f8f65d4b4440385499b84cc8c1804f65 (commit) via 983037647b9ffd052df16fb8e6abfe7e3e8c0683 (commit) via 83a01957175f787ad5d7ac06885a2c0213e21028 (commit) via 44ee4a526db6160b302417127e736b73fc00ee87 (commit) via ab970af19746364a4f236bebc238ebb036adc898 (commit) via e8032dde10b743253125d7defb5f5503b21c1d26 (commit) via 6dc54d9124e8ef9ef3611e0ef3eefef5dcd87ee4 (commit) via 36728e82bd9bb5b472eb569dc11b8f2296d5e3df (commit) via 34b7e8a6ad0a735ecc0a953c8b65846d4776c88e (commit) via 5b834a0a5da717c7d1a8d539623e75f07a474e32 (commit) via a1fd2fa5999a17bc94fa8348326bc75ddb93476c (commit) via 7c16b83e0521a007e4d86fc30e334b41b01668b4 (commit) via 0cbcdb96eaba80fe8e94ccc2b6f1f382a467a04e (commit) via 963f9c80cb3f12fb779cf3189072ac48946da96c (commit) via 6cc83d2a4000e89e4f6f2eb33ffade2d72acfa0f (commit) via a2abc7de6804e7e9882a86375767b24a6c215f28 (commit) via 6979730b1b9378a143b1bea3d0ff7b96c7bf02c5 (commit) via 35a49624e2eda82351518e40d26d6deb86fdacc0 (commit) via 8fa0c4f8ed9e520c39132bc62d51a490a17c537f (commit) via 3666da817e330c563c261cbe9086f4825f74de42 (commit) via 449aa9dfd1505925a4a5dfff470f24a17699b5bc (commit) via fb167eb272279154dc2502614eb5331b01dc6ea4 (commit) via 9c461f7dba0ab17227ec3ada32804ed7f7c1a4d2 (commit) via ebb8ece2ef50ba3f86e8b4ab7a22a4c7734d114b (commit) via 2d1c107c1b8835f4e85c35320d8595a4a6fcaebe (commit) via 82c48ac732edb0155288a93ef3dd39625ff2d2e1 (commit) via 778811d5e7eb96b5ecb848033ffaa2df455a921e (commit) via 91dc4e0a22515bec2d60a8a402970bca5042f26f (commit) via 3e6153932030c3b6e5720f0a331e9a512f4522e6 (commit) via 10c5f0a8a83c4fcec433a2498c4d205921413e6a (commit) via 65d7b369af5b9557cde8fbe6f63cefa215c0af60 (commit) via 46dc13946233b4b5ac2b34fb78e19fe60cd0606a (commit) via eeed9cc785ca447868967e5c84dae63e9ca8e6c2 (commit) via bfa234344327776fb3b16e8bfd9c8de6ec73ae31 (commit) via ef1ab8e216a01d94a4cd23dc94363a78e2971b84 (commit) via bdd65db9b9cd6d5dbdff9b48e97379029f8a3a1a (commit) via cad60a339b2a0a6af675d4243daa78c61eea06b5 (commit) via b3b9c41dc6ac302f5880b3e84b8974488c5bc120 (commit) via d9ab24174cc3b853c186e77c12b55f36574621fe (commit) via 450ccef08d3a35300c9ebeee71df96b9c56ca0b0 (commit) via 45229ecbba96f9f07b3b80c1e3bbc93d38017c17 (commit) via c40cc657bcc930b83ec42e071fe419073bd199f5 (commit) via 2abf49e11e603ecc002fa27704a978733c601386 (commit) via 0ea5cda8612bd2233f7a2f9d1eba0b62c2e6c015 (commit) via f7088df3b1c0370101edada54e26d24efb53125c (commit) via 5697705ac6eafb3e3f9dd3ba253231a4d51a1fa4 (commit) via 4dc06805c2fa208dc2743099feaacb4230d1b1f7 (commit) via 46a93de2ab256dd2cb4e1845a93d9d1ae07b2475 (commit) via c50415e24c5ae8635d550f0c3699ffd88ff14a9b (commit) via 65879393f04e14a9ab8797a8e66e0ec8d94108b5 (commit) via 9495b2e66f772783eb89cfa755e1e09641fa44eb (commit) via daf5e10e4cb2c5e502950dae5da5936d9a3d5a79 (commit) via 29665a79b6dd7146656b98520da468851d1ad974 (commit) via 14ea52eecb11790c7a03eda1b13568b587238b66 (commit) via e5c6e92bbe4b505537429f23cefa8a9fcaadd63d (commit) via 6ff5a0f675d5a806dfd7f9671d72727d1c30cde2 (commit) via 4e1bbde013bae26b550a047baa8c6b999d811f23 (commit) via 5b69e3572d1ee8e8e6e1991fd07f87a96c48746d (commit) via c780cc2f5062451a568458b6ef9b8aef7cc1dd8a (commit) via e06bcd8001496e5fed5c1774af7c0dfe200f603e (commit) via 99894e1175c04ef470761406c0d20f61f5a7e9ba (commit) via 6e1ac5a3735abf8284c09563fdcba18f88226abb (commit) via 34ffd455e884ceda434aef11dc60e69a28d2809f (commit) via b55f967878a4f7905f78b05a9c37457797b1c7ed (commit) via 754dd2b00f2bd3f2d7aaacdb27375bc6faf1458e (commit) via f90183d7e31b335b8a6048e46805509dc56332a4 (commit) via bf40a6078fd5bc24f54aaa1ca2bf44fa95b57c69 (commit) via 052ca3707367a7f1fae462a45c56e8e50fe3b98e (commit) via ad26045764197506da8e79adfb2c43798edeffff (commit) via 3831839c089cf3b65ad6b2efbc608e5a24a40379 (commit) via cc3afae25a4e37ed7a864a8f4eea1dc11b20d5fb (commit) via cdfa0b0ac16739350360b29b05223655d3b9b740 (commit) via 8b9a549d3a9176f92b4cac5b388eb473919f80e6 (commit) via 3437254d7b5bc57d3a298df8640ae2f55bdbff2a (commit) via 31cc0b807b2fde7d0110175418a6eea01a982489 (commit) via 642725adf5b61fb39396fc2e93d12042d54bbded (commit) via 3e3286a28ab29052f2169bfce01b3e770d589037 (commit) via 3d68f91c0fb05b426e554004cabd3ded4c91f9c8 (commit) via fcbdedf866d777b3598cf8703737eb0f987c2aca (commit) via 3abb874c138ec12f9ed65e87d7f62d86e90479f4 (commit) via db984616182522ac079806db7cd24a9f20f5e06f (commit) via 23664eacafac0548546d243bbc49bf5ab268a9c4 (commit) via 3ba37e6c302904cb38b9572faa9b9c1bb176d782 (commit) via a442d0713a940326c72c1c85357cb92d5f6d2fc2 (commit) via 6f1947e8a206a2664506ee5a333f7c9d0af8cac8 (commit) via c765fdb902fd6dbdeaa476b49592a4d9f835d983 (commit) via 6b97fa271f548025208afdf9380d7c8c5e323a4c (commit) via b71cca764512bd25dfe2345457c51ccbce74b91b (commit) via 0c2e631d8142f1ed18431172507c2e9ddbcfc530 (commit) via 484933d11fca33ded4c5465eae3781bf79ee12e2 (commit) via ab50adb6a622fc599ce6e037ae0cdfaf952f4bb4 (commit) via ae79065284d6250c27377b5ca1dce54da9b1d4ba (commit) via 24340e81faf9d23de6456293954de73785e53d3f (commit) via c2aaac080c05369f6fb7009d85dcf9bb98a914e6 (commit) via 0661ae8e4d4a2cadcf04f8300540a723746cba6d (commit) via 6d26190c13397c3bfadac3b65d46ef47523aaff7 (commit) via 9b807e7bbbc55168e91c262c98fd09397482f9c9 (commit) via 0d5ed1535229b7069757e04766f70a02fa60821c (commit) via 3e87153251d9a117182decbe57dd7d9d2a47c2b3 (commit) via ec48dc8bd4d90fa5c1b7cb4088fbc60a33344688 (commit) via 665bd7cfef61fc6afb7968920b590cccd258c6a9 (commit) via d48ba5e8cff2938038cdb53aabff4ddc79ddc172 (commit) via 2278c276a887b12b85ae30d63c446bf45a3bfd9f (commit) via b57bacecd5f3684cd9f58b0da0e2caccbb6a546d (commit) via 13fd3ff34329b882503c7c1ef44b3656d6ebb022 (commit) via 32990adaadc1b119700cd0dfd2dd8849114e0135 (commit) via dac3fe877844e76de9cf102151837998aa1d2a8f (commit) via 0fec99e8be72b091618862eafc14e2741f0ff0d5 (commit) via 2ddf4301102f7a78a03bccf86051a63111b1fcc1 (commit) via 5fdeec1db01500cda1fa46be582fecc69ed1d1a3 (commit) via db74e4ba014f9ee96e8c8587534811c91c4d8ebb (commit) via d63f2f8402c38d106b8508f324da6a5277471a2d (commit) via 20ad026db61cde2376aa5de641ee63b46e818fa4 (commit) via acc9fe45000902313cf7ee9139136419858d874c (commit) via e001e535f63d804127269fbdfbcbefa1f206bf46 (commit) via bdc144174bcb11e808b4e73089b850cf9620a7ee (commit) via 8d7edfd10b9560d9e59fe344a67eb3f0e9b31be5 (commit) via db4c959472b3a8f82cfb67d2532ba22f44ab98da (commit) via cd6da0366dc6684d32f349b729b5558258fc3af4 (commit) via d83ad864a285fe3127e1a98830197e8461ad2745 (commit) via 63b434a4374b61aa34b095a789cd0d03b2a5a526 (commit) via 29082443fc1b8996cf9c6f2ecd8a838f48cac103 (commit) via f968fe80b09ddc88538db2250b367fc0074739fa (commit) via 174ad59a8eff83977a367d2cbb358c00fc470ee9 (commit) via 970940347aef2ad1737d76cfabc12f6c9ca2ba89 (commit) via f73d3ce7f83e5dc0ff749685376b144ba2dae471 (commit) via cb24567a55ff937453f9b35934d3d6a0aad804b1 (commit) via e5139de88ebbfb9ce9c121e526fa507d0fa4fcea (commit) via c6d41a6f5380624846daca4d9aad5988b3946cbd (commit) via 9845a0b521d8a9a117d37dbfdec56677dd7cdae8 (commit) via 23ea9aebceb83a7b0e00da62de37d592ba51b616 (commit) via c5b8d704bc8cf2fa2c6f23cbdb57c935550e6a6a (commit) via 3636e6083c1dc792e2fe0142f45e9f86cc593528 (commit) via d40362355c4db0a32381a2c44e0761030a5197de (commit) via b61ddd6e2452974afa3fb8ecaf3dea74d47a0b5e (commit) via 55a2906a4104af66db515294b18fca1fe63ea060 (commit) via 022c98ab88317728d2f77fc1b3726bf1717dacff (commit) via 5fac247f472389db46e7612d9e425991f77d64b7 (commit) via 490496c342237f3fa2dd92adfe9e34516991f451 (commit) via 50c5eb5335ff58688fd4652a40c791088a94d532 (commit) via 66afae4f0ae73fee2ee19ced16110e184e6c0076 (commit) via ed09174e35d31547d3b89f366890022fd1bee1ac (commit) via dff2166ef98100e28ae22146bcdcd1a0aec9f952 (commit) via 4108500a2ac989e770d91f076be4c9434e25afa8 (commit) via a904c024b0760911288e865c62d91578fd887e3b (commit) via 8f0435f75e3c9676d2e177ce055fed3155fd9476 (commit) via 5aa82d050d61784823767fe3c982b6862fa47391 (commit) via 6a5f3f4353a317dc16d7371fda2ec80835036af5 (commit) via 345bcc73f2714713c8fc58992d989e3e55be0f8a (commit) via 5f77241211f17f37cd9b5795e6b7e1e65fd54ee3 (commit) via 9666e6e63c24c4a124ef93e914d7893c9b2d3875 (commit) via 2eca4a8d84ce27d0768702e93b8fca1578f84d06 (commit) via cf7363b42b2fdc9fd108bed8d53b35adf4d52ad5 (commit) via d98b0e2bf6120f50db57ff68eb9b2e00a9a26154 (commit) via 1b7ee89b52d48adf343e6ffa8808ff238b8cfb9d (commit) via d3ca9bf78f9abddfc6ac3dbff0a78bfc855e951e (commit) via 5f3fd8b4058b2dea8ee4d768030b1e0b13f0c9df (commit) via 730d435b384862d2c1a8f3373206685722fbb2b3 (commit) via 5efeedf61e4fe720fd3e9a08e6c91c10abb66d42 (commit) via a73c2b56cd87f709fb9118232b19cdf516edfb10 (commit) via 1707f183446fae9aca8523c1ebf721bcf2472008 (commit) via d7ac9d81bb1a177264187efc51c9cc0479cdd09c (commit) via 03d469572472d5c59d8a35030bb1b8072c217dc7 (commit) via e558d7c1095545832a90e76f72e6db6c98fdee0f (commit) via 7f89fd6519250f85f7b3f6c58beef1fc0ffd9a44 (commit) via 0da8cb88ed43e56fcb6d8d5e067b4cd618bbbc8e (commit) via b7576e5cf47c6212c0bc1613e74a4c35bc2941d7 (commit) via 00cac886aa4ddbd05105f6aa82280ef8f7f9dce6 (commit) via e44f5bef12a54b9c1cc24a5783dedde6f158ad15 (commit) via 71b9b91bce45aa220e0b48e7c2f70021c86e8594 (commit) via 635aa30e3ae9735e362cfd1cda2be9f7b65b32a2 (commit) via f4ebacfac0581274ead4c3ab43c316c6174790b3 (commit) via 9e5e52835bb205850fb0fa6f0393ecd64b02b22f (commit) via c4d9ceb6473237e614c66be97351109b9f260505 (commit) via 302717ccee079c09f7ca436853a5b9229f945b2d (commit) via 331ed1307b93d3ff77d248bdf2f7b79a20851457 (commit) via 68f34464821105e0c74a0ce16c5d26d4c3e1d20c (commit) via 20b23ee6c89b3c412f78017d777ca2d3d2937431 (commit) via 342cc09114e3925c31de80910420f3b809f3923b (commit) via 9a6cf3683df4f85f58ccea00864e36dc9ebef2ef (commit) via 03f4463bfce516cf7275ec2deb211c1bf2b5c67d (commit) via 4dea914eb19fe30278afad9133121634b3e04484 (commit) via 28a0da39c6db871d66b945d3025f69d56e487aa9 (commit) via 49727e46175419c638251b39091f24c575568bee (commit) via aa8f4d1e5e6c01420489a2dfba72495bbd8489be (commit) via a25a5a45ef9340eb9a435f9b70599a90bb142658 (commit) via 04086b458aebb38994486b09f4492645f03e971f (commit) via 447023601a12d18573ea6acf75a3778a55d809e1 (commit) via c3eb94b43ee8cd748a3b03a5c3eed90f19e18a4b (commit) via f4cb41f4af9e0441639c554472700fa4259dff02 (commit) via bc212851116e114e51be5c9f9d7e2ec71bfe1419 (commit) via a5da9fce667c46aa4deba8d4dbe2386ff37ae7ee (commit) via 0509f8512da87e298b0c397593de83ad2f6169a2 (commit) via 93c6145af62d4ce2e5b283dbe2ece52cf79f6e65 (commit) via 89a5711c561ad1e9a435221bc056ecd86a1aa628 (commit) via e00d879a2e9169759518dd419d19f1b3dcb6f709 (commit) via 00ba3162ed1633f9b27f3fdd450e076d3a3f2e90 (commit) via c3b7b696c231416ac90fd9cb7d5ce735b3683356 (commit) via 8e635c209bd7dbccd410953334a55ff5fc91e81b (commit) via c0c71592f7641790251052cdf18469f21a7bb8f6 (commit) via 2b4fd423cf503beb6264590f0517d35f17a6ab8d (commit) via 92c9bcd479e4cb388a7f286fc42414b115cfc656 (commit) via 039b3b7b034f4c9ac9e38f8b3e7367e108f89f8a (commit) via 6d610fa7cecbeeaf2556e8e037cc23108df488f3 (commit) via 6168c2a1c6636d0897e055d77d807dbd14b34485 (commit) via 3a53193762d8c42fd50daa15034c7326af6ce037 (commit) via 5e43d46791c4c66fd83947a12d4f716b561a9103 (commit) via 2569ceb0b02cc5569af5f946d89b578510ac5ea1 (commit) via a594760181bc3859df1f19e3cca361ad7d031bd9 (commit) via fe5a122675213afa9d4c432601399de0ea52ae99 (commit) via 04e799796f9141d24f211677a60bdb0d46c03679 (commit) via bffc0964c7730dcdcc81eb5d45ee69b1e2a2cbec (commit) via 76aeec5b98e73589013f24bd99e3c40189bec7e8 (commit) via 2f693f9d21a36e333994ef92117ba49a6d506334 (commit) via 91c190590ab3de6d214bcf307240b4ac291f697d (commit) via bb9d5f81c36ecc61e3d4a70ce7e41348c8b12fef (commit) via d3d3c6db1a3de87d5df6900f3be0557c33fa23b3 (commit) via deb8ff2b7afbdfae3c10def598977c4690f7056b (commit) via 0bfdf32fa101021ad0d11dd3ae945c823f4b07ac (commit) via 635856f584de7af4b21bb72688c05cd6d9a0aec6 (commit) via 7280ceea02b97b2da8744b46edf6dab3429c3396 (commit) via 05db5edd7923711a20c6225ea8e15f36e819d140 (commit) via 70e99720f9d558263756a482ae750b263ffd92ba (commit) via 428b16bd5a3947e3a608f0c6751a8be7dbd88959 (commit) via 666d413cc37ef7f841abf3e8faf2c3cbc7c5b456 (commit) via 1c8f6a4d1fcca9e56ac705a224778bf690122a07 (commit) via 40c7a7cb74ee4a9ec0830d734198fcd0e99c3a37 (commit) via 5b636fed3a28c9237c187999490f8e58d54b2d83 (commit) via 5a578da5e2313dbd1668e607f2f41c0b6e8ce205 (commit) via f20f80ddffccda9e3b3cddf9d20d2820a168500c (commit) via 851f26ae7ba8b2f650c5cea9b42a2bee1ecc22b6 (commit) via 1e1b656356c1a0199bb2da9a63f32d37436b3804 (commit) via 60cc5e93e5f96268f20abf0b66025443911b23bc (commit) via a50942089dda154e9c1b0a8311aa5e07193712cc (commit) via 6d74e8a103516a2ca3cec9a0cc3c114b9896d028 (commit) via 7361da2c952eb96d1869e49e35e8bc95ab42074a (commit) via ea79f94a7ab96c6114b80bf78830f877325b10ff (commit) via 64034f58a5fcd7746dd588b78d41b1a2f833df85 (commit) via 57cbd724c3212b40a328b1d21403bb0d96736687 (commit) via 81219e5358e6238d3810136690a0c0b2cd20955e (commit) via d4b38d2d057a5b8a35bc052e4f43b02b53c40f89 (commit) via d36bf488d82165827ef07052ecf775906d7d04a9 (commit) via 3714cea7d44e2bd9cac28a61d45fcc8c3cc6ae83 (commit) via 1a8bdf69e7d1f6084af503407d6a4217b06d6ea5 (commit) via d81404788e990d76febd409ceb9eac33ad37ab4a (commit) via fa43b1d7ca8d9699a253b1f227e91c406a043a0b (commit) via f37f681c2bb884e74cd33340617a6d1a408d1a75 (commit) via 75ac3a7f57ee93e9c59ca6e446ad14f860b9e7e5 (commit) via a9d58c068ccfa66fd94fffc001bbaf996ec53a7d (commit) via 9d9bf2df89db515958b429a1aeb1db38884ba488 (commit) via 1cf2f1b045e9e647f6dfd28829ff4592c588dcb7 (commit) via b006a80e5f41125c876a60a143ad421113533efc (commit) via 296b1496f756d26b2e3235133f89012fff940902 (commit) via 53f813629714f46e536c1f0bfa256d7b6b48cf3e (commit) via 727605ca75e009d8468bb6378b7d18b774838b2d (commit) via 361c8ade9c3c88cf7f0111fdab3ceb03028842bc (commit) via ac4eb736520174305bf6e691827f7473b858cff1 (commit) via ae6c7e33e1510665e8e043eb11a71e59414efbf3 (commit) via 18d60c2bd70855afa467f0d5d8f95b3e4d243cde (commit) via a01cbb490b34eda832c0215b8447e6aef68b0278 (commit) via 98880d46bdb1e88db447f876a8ac1f2a4de97dae (commit) via 4c92ff2c35392b68ee9172af979483b32aaa3d7b (commit) via bd9269f70c70b1218b0eb73a6f487d6ca481e5ac (commit) via f8c1d06b82ab0fd56bcffc9030cb44b5a946113e (commit) via 721ec300e1e27c2fa7540ef97f39b6c5ce65083f (commit) via c5e92cca56da9153985d4c15dab243e383f66919 (commit) via 3adc1a7d457d7fcdc413b970f1ed02b0925e6da8 (commit) via 9b5d451f417a5a0b88e861b2249f75024b7ac57d (commit) via eeef931a6a0596c2121e66dd70e1a36ef0fc576f (commit) via 4b4c407a349620e4a6b9cb36b77778fccb7ff00f (commit) via a485e98ea0cbb61ea9da1e7858da545e0bcf1a46 (commit) via 8efa9855823a78b8f465f39ddd8736266a6f31c4 (commit) via 963349348e119396aa1a326922624aa78398e7e7 (commit) via eb47903935f507a11b6367d4a997b8ac95068c4c (commit) via deede10c775af571f72a37efa5b763b45334b19e (commit) via 7828a5f5fab040cdc007ce235c4c534aa777067b (commit) via 35782f1465dd014737fcf6c82bdf733598a5c9b8 (commit) via d342a0da4fa83b680426511a7d0e1b1e299c63b8 (commit) via b4a3d263b07508de083928823aee72699e59afc0 (commit) via b25b5cef71fc5628fce0908125d6a3a732c22cde (commit) via 9a560ca009644f29654bee0f060f7b1e80336cee (commit) via 6e46637421cc7318c3a1333e32725eaca5f7af4c (commit) via a1ada89ac66ca4a3815e586396a09eb311cf9b77 (commit) via 33aeebcf589077c82b63815645ca95f20dc064d0 (commit) via 7b4159018eeef7e1c682c63c1b33ce9c064e7c65 (commit) via 4a40f85a84f08f7fc6abe06115df9342efdc53c5 (commit) via 86db008d5af464bb3e13113d92a21fcac5965ff1 (commit) via 09635af7cdc14b7a9dc11010de4cb0d556e2a4a8 (commit) via 2bdd10b78e7e5b33c488af6fcb01255269e8a498 (commit) via 72fde3dfe9a2367abc593684b9b4d2343d367d85 (commit) via d7adf9603ba5cdc21b88c6e2c0127f041a3320c8 (commit) via 316935f0ad534e72f4e7d607d933a4ab71963f09 (commit) via 92d8d229d9a310ebfcfc13bf4a75a286c1add1ac (commit) via 837405970476d31d6b4d7774e2c914fdfa7a9930 (commit) via d81412aa4b2669d108de0b4e1d8f881cedebd8a9 (commit) via 4c122fc3154566369237c6194def4bd88a074f7e (commit) via 0a62cfe5676e271b40b5f85efeecbdd36d63a375 (commit) via 74fffc39827629fb48c9e24a7d12ebbd5693df4b (commit) via 2e4bb98a0e52acbb2da4ae441b89a568af26adf8 (commit) via 22af555fc2a2fceb7c58e23a174a34a16af79221 (commit) via a9f116cbf2fb9892ddbc46478b85ebfa99b0074f (commit) via c75bd3a23915c3122070a95e1974e323543ffbe4 (commit) via 3f9d8762a4b24873f22197d004a8710e9a8557ca (commit) via e319abb47d1accdffdce542eb9823d449fe43ef9 (commit) via 87d87479629e0e50b0bcc69579d620a36e978a03 (commit) via dc8cfd83b4e0c8cf04c0f9eaf63e3353f459d42a (commit) via b38b83dc8523d21c7648e706dc0245b4595b44b3 (commit) via 1a52a81ccd124db93f1124c0ac3325888ead4e9c (commit) via faa42425cb1f5cd279fc8c91d0b75d37853a128a (commit) via 0d41ba00c60b5e0b66895cfa56c1db137a9345d8 (commit) via cf07f4d983e42d71f149b82d8f23713732dd7534 (commit) via f8797b5ad9aa357d80578ce020e95f1c43de7c9a (commit) via 474ca4f6871d4addb7ce6a177245bce79c89550e (commit) via 514104634d0efd8955f7fd45cd509963e28212f6 (commit) via ebf13736b42af47c9907b5157c8e80c78dbe00e1 (commit) via eb0b04635f2f57506ab4365b32a6fc0b62920d2f (commit) via 5ee44bfa6bdb8eaf7f30eccb4fbdc989cb9bb7ca (commit) via 4875ffdbdaf7793524464c99baea1d8eb0cb7e34 (commit) via b138b7a9ed2564a8b1420f338d9f71cc3cf28880 (commit) via 38a1a52644f83359d132660966f820972edcd43b (commit) via 1a6a384be101ba422f6d3deba014dabe38cdb7a1 (commit) via 5f3b99cfed3803f0b099152f54aac7cb90a2b926 (commit) via ac740bc7a9103a561329ebf7aa05ff31bcab2267 (commit) via 7d793aa9f0986828d5dde8f3811a7adafc38b6b4 (commit) via 62661c935d1f299e8f9daeebd5559cd1c2d84712 (commit) via df7b4545b2b49572ab63690c130df973af109615 (commit) via ee804238f097e91088a340c15891170f2748b4fd (commit) via 97ea6506c45ab5519483a0221fdc049038496492 (commit) via d14378154883eb1ae5373e7a73edcc9d97e62634 (commit) via 7db018e4e0030026256f30bc1fb02c9f18c2d677 (commit) via 9b94fcf1fae8ceb869e5e13ba66355e969680a3a (commit) via 54674d38930c7da1af518510fede6f700f5ca596 (commit) via 9860cbcfb60bdae2f9800e6a6ea5f21ef1507d08 (commit) via df7e526582809b829ee8651a1315a17627cfea4d (commit) via ed859da732b00d5928f0b311454fa6474c04c15b (commit) via f1fb1cd70ad4b68c23b3fb5f20dd9559b3e3b7ea (commit) via 1c3569d4671201a9473e4b7af353a2c339027df1 (commit) via e36bf698787936b2412e05007dfe77dee98ed2e8 (commit) via d126d60cdc1ccafb2e5ce58d868a94dad5315f9c (commit) via 8e33481e13facdf33c732e25d18b4b9772cc4e9c (commit) via 6128f9cf2b2c4188145faba45596ce49dd0f08be (commit) via 70cc888ddc8b51e5a2cf030941446f0373681463 (commit) via 860789c7d5d6ef2f60e757feb21845bb230582a8 (commit) via ff55e1b54898ca4e2a90c005749505e33e32215c (commit) via e9bcb6585201ab674d90d714295f63b40da41f16 (commit) via e31806255fe0cf49a1eeb14a51788473eaaa6310 (commit) via e3d6ba5d322d871004e84b936e6509749a350325 (commit) via 075c703382f5bed4ec0976dd11f3b5b694ce3cb1 (commit) via 91b35fd05c777ffba9b1738711d470977779c687 (commit) via b1ec390e096983dea311a853c412494a4991153e (commit) via fd0ef3dda9fa7af181d059e4b3e26c17c1385c0d (commit) via e0e6bcab5971ea4ad7c4f2efa5c8164c8383caf6 (commit) via 0d2f5c0791fda17ebbc503c5e7716fcb619318fc (commit) via 5df43998152f7096f8eed45c24a4fad5a3244d8b (commit) via 2437fd32f17cb11338949cff1fd0741e14ce1681 (commit) via 4805fc5533c158766d04f58af62bea884d624421 (commit) via b138affb0262cc600485a93d4fa8cfc7491dbde9 (commit) via bd25671c6f202c4a5108883caa2adb24ff6f361f (commit) via 5a1431e66e1cebb5b4bbc6355804d8a00a4c8d74 (commit) via 53e989de2657a687ae1c06a973957651ed2ab943 (commit) via f1f58506e2b52740916fa233d3b223733e3847cf (commit) via aab2f20890b9252f88a157611df14e79902e02b6 (commit) via fb0576e98388c6f4585b94684cea8d18c97a91aa (commit) via 376c8d5bbb7e31987e363ee4c481ae8ff5015a77 (commit) via 7096e886259fad196b955ecaff9a61891281d117 (commit) via 14ce3192392edde90aa444c153eacede6c1ba5c5 (commit) via 50278d599da5f7536a1243a887c2a5fa12e099c1 (commit) via aa96c426c674844a90e8fbea2cd184462191b498 (commit) via f7160e97410b4b65330e5f23d82e8879c908de50 (commit) via 38e08fcac0966f52dac0ec97870fdea4de304d86 (commit) via 6aefca7e4978b93f502ff8123a6c3cab6e0171f1 (commit) via 6b65d1b6b3bb69051e32537cddf92baa22513cbd (commit) via a1b34d156a85f8c93af66a3677e75a132bfcc54a (commit) via 53116d5d21c469147aaa2717fd79dd12ddeed959 (commit) via ceac4ecf4c7ed63b14456101c152180ae56d40e7 (commit) via d5962de546ad1ceb7ae69539b60d2e48e3942e30 (commit) via 9b13900280517e928ae1d1abc10e11e855e72605 (commit) via 3278a9f568b197cd754dd056b36803e5bd00872f (commit) via ee92b0dd4e4abc5063f689a084c27ee7d5b08942 (commit) via c8831961f9fecf81e90fe7c8c94b47e01ee64662 (commit) via 29a9f53e857c5d55df852d0a5d5c41a9247c16a2 (commit) via 2536ee9d03cb7c4af97bf4b29429bef3c30652c2 (commit) via 7322eefb9ee1c3b00a2ec3649778b733e43c7b35 (commit) via 599b6fb8a35c9af16f0edb8e2ca5a85ae8221767 (commit) via 32e79d39201271dec352310d597dff430109c8cb (commit) via 7f78eb340a4b3f46d842058cd26aad7ffa438c16 (commit) via 614b09cefb3bafa840fe5ed06c58024b0ff9c1cb (commit) via 2836a869c4607fd1200b928986092ffed20c1d32 (commit) via 5575639b8dbb2a04087c3bef0b10f182da48ad35 (commit) via 0db377d09c19fc0f9267ead1f75998b9f1eb38d1 (commit) via 114dba3bbac4f54597734635c957979529177c71 (commit) via 0d6d4c820580c7c212946377eb2fb886a3db7281 (commit) via bc773698ce0cede9051dfe2a3c6726afa118f8bd (commit) via 9c11efa4c26e10fa46eda46b85405c3a3cb26039 (commit) via 6649db3523f32000dd6ddd9ac8add49f53e553a6 (commit) via 564b7600f22299c27fcf3b3bc3699194ba1d4172 (commit) via 9debeba0eda35fb62a0ef76ef4f1019b0d2b649e (commit) via 428fc5fcd14ec655df8db35496f4c4a76ecab57c (commit) via 14191abec071bdee0b8c8ab33d2e09b73b3d3c23 (commit) via 957979137fe8c3bcf709d5fc3e8795cf1e3de161 (commit) via cdc07690a4812fb41d3766d087cf7ec78184d6a8 (commit) via 3881fb67b7017669b3acaba919914954c16270a8 (commit) via ca71f0dbc6c2315cc17c79d53ec6e902e10eb438 (commit) via 9e3042ec073e05a0a5aa56398fd2662c5dcd5002 (commit) via c4892a6b37647a0b33a2113b59762f678aabe4b2 (commit) via 3df3af7c3f9095f9dc951fe680ce76f6e497914b (commit) via 105dd264de9a2fa7eee45eff897aa1d6171c1c4b (commit) via a05a36a5fc98c816381b25c37e8aa971cc86c28d (commit) via 9bda4a968f56cb61b832cdbdabf09a84eab140ab (commit) via 252a6764dd7ce810c9ecea3786d04f8f05c2d566 (commit) via 49b9c17cf445af9184508824a703099c5997f7d0 (commit) via a2cac51cb03f356e387c44b558aa9b4dfa002130 (commit) via 4ee220358d068133b219d729f4c7ada5a41c106e (commit) via fbd940576f6c0891cebb4173f64968b7c50ed642 (commit) via 84919466a87f5ce10cc1af8ef51d7ab9ea66ff5e (commit) via e56c722b60c67fe915c22970a5e669a723fa1ce9 (commit) via a4a027b7f43b1d9e62a6a540cd7857a334d37b12 (commit) via 7c343b48b22f04616bd699779118ede2a6aac4b1 (commit) via baa23169d141b442cdbee3e79279793fe4fbc0f1 (commit) via 510db0520b763ca7cc9bf59e1f201ab2001d4217 (commit) via 4564fb94daa76c3b339507f0f985dc139f2db8ba (commit) via da44f4e5464f82dec79eb5885961c6466dd3bf6a (commit) via 7f85237141c02e3989311cbaca19038c7c3d5b2c (commit) via 22fd09ae995556cc1b898afe3d5901eb161d1102 (commit) via 656e8868f333de49bf22e10112392ca404e5eb67 (commit) via a6c7053929dd26d04293429e8610209f5b1bf900 (commit) via 1d7c96351acfa817fa749a5aefdfed8d9c471e03 (commit) via a8454a7c5a2254b249b1bac34e7cef1438bca9f2 (commit) via c542398150124a0b5adbbeeb274e55ee56d3120a (commit) via de589d04f30e658fcf4ba37a678c9487c128f97f (commit) via 42868dce3e9d5c858d91f141ec920bc4629a5918 (commit) via 83e12debff27af04efd261f7858622c7b851c233 (commit) via 8c45e5ec6b785abbfbda7137385a0c1c14dae228 (commit) via 2a31c6236de308f7109720230e70b96c5d5b966a (commit) via 469a34932ae4208240e98c843b01ea1f00892137 (commit) via 01e6c1a48d2c56a5e8a78f54b3b2021da42257e7 (commit) via aacf0b33aa8a55f935be02a6f6a3b3b62f60d14b (commit) via 2d5c3743a3a223dc6467ff022124b4f2f1844c91 (commit) via d36430db79dc8eccb9cb188e1234f7ff044f79b4 (commit) via 000339af7b74593f4dd3a679427b9fe34d1254f7 (commit) via 5f52445bfb1421c301d95e508c5dc52c4bf86abd (commit) via 985743c7fb71a8639186d4f016788d3dc9b9d0da (commit) via 37186264f39b05906ccb4ea446dbe2cb22b22e77 (commit) via 4627fc13ceaa5b1c8a5a4fe7cc98609d1903545d (commit) via 9a0dc9e3699018b15980bb6a39eb33dea8fefa34 (commit) via 6694c4110a37bc951d01132d6e56445d57350627 (commit) via 0718a8da7b359f184e1b3a866645cc2f9611771b (commit) via 89a1c21a1db9c2b7add8958531ccc3ff692a49eb (commit) via f7f2534e71f51f11f9f00f6365d5d8f37e6df054 (commit) via 9ace48f3d7d80ce09c5df60cccb433470410b11b (commit) via cb417230fb10c4f5b97cf8cffa973937f7bc8b6c (commit) via 13b448cdf796fdc4a92e37a6bc20ce785b7c65dd (commit) via 817e0957a556d241be6f8c5e0e649ac53b1fb020 (commit) via 2974be626b5e40033b9a259a072b2fe123469126 (commit) via 180eb0634cd876d759f3cbd5bdce24d363f9f2f1 (commit) via 34abf635b3edf9d70b24aa655ffd7d4696d48cde (commit) via f6e94d78b2fe30977ffefcb26420109940ca7bb1 (commit) via 9239eeabe340e1662c5df8f816785477309e1c0b (commit) via ef87c8bbe7d1c4a987578626655f4a15555c7f4a (commit) via 196a707b15ab32c29ba021b4f5b9ea202c109fe1 (commit) via 774891604bce270965bd356b8fc81fd51680050c (commit) via 1cbf50779e15893c7801a0332d9e67908a6a7556 (commit) via bf0fae198aeccc83fc9cc53a3318d58320ee2655 (commit) via ded4fc8f9cd3446f28905ca46af056e961d5c67f (commit) via 3ce3a066e18b52c1b7c8da841e0416ecf687e1e5 (commit) via 3c8c5dcc9873798483c8abd6e614edb8ae1608a4 (commit) via 950c97d860f07274cad59b71c57704793e7f5a83 (commit) via 3cdcd0ce16272ae8e8183699a341d081b6eb1b21 (commit) via 08412b0722301c4ffbd9fd51d4056bc436b69658 (commit) via 84754697d2ac74094af81cd484d4471c2e58117b (commit) via da5c522f5be478d020c14038ace2ba2ee2b9e032 (commit) via 0d72a7c318b83384973583323f8c7d54bf1bbffa (commit) via cb8e01c6bbe1da1c6e6553e2bf20f0d6e48e1d42 (commit) via 1009ef284f3932c41cff1158818c87821fe511fa (commit) via 1240be6b7d0a5604c4e3efe12c9e1d08ebc246be (commit) via 759388538d1339f6a634b2777e24f46427dd9c96 (commit) via 1e53931944810798e6741f664bd3ec727272fe11 (commit) via 87ea0aeaa31879f3cfdc91497f14a3f708a3d744 (commit) via d2db64e9143227f9b945405ccafc40e33fc5d667 (commit) via e66d44466912ecf581f6b67ff299d064c7bf4f1a (commit) via 940df408121be31beed22ef7a5ad133cb1592726 (commit) via a0d09f12dbd69d68bb7db0e4c77f3288dec6f81b (commit) via 699ca60ad9d8e94cd3da1b517878cdb155aee87b (commit) via 37780ee59e60da0da88b4b973653b0e49223865e (commit) via faa743bb1b9772427351b8739bdef1f6b4a32f60 (commit) via 0ad93d4feb33a43ea32301721fc370a243b08940 (commit) via 20d8c3722e283ae1240bbf03fc11eccfce936039 (commit) via cb039ba4535a3e9ba59517dc973c842c513b4f05 (commit) via eb7a547ad40c97ca306e29c94678e4eab1822089 (commit) via ebcc6c3a7b5021bab3cc30e9b7d4c340153a0c32 (commit) via 7dba4c934c4c294f28060207df711f730f23a2a8 (commit) via 775e0f048171cae1cbe0d8bfb230204142e06834 (commit) via 783cecc8b3b4aeb00b901cdc0883f93839ac222b (commit) via 60ac5798c80a8c0e51c34756ade51c6312add573 (commit) via b3f3b4b0308163d60eaff8ba2727997149fd1d2a (commit) via a4e600b22e938e766fefa9bd0ab111e262e639a6 (commit) via 513ea82edf8533e3483073561c06be97de035c83 (commit) via 18cd5bce47dc4a33dd1d8e3036b99d2fa7e3234f (commit) via b879806f2fdd2eca7092d7b854d6cbbbbbd0493b (commit) via 23ebe1a0bd86fdae83ca738cf75be67b58703756 (commit) via 8123365312729e65a4a36bc9174a8b229afc29fa (commit) via 78090f7c831f412ea34ceab7d3a8169e8053760c (commit) via ffccb7afb54cf09db1013f941e8dfc5127b01876 (commit) via 703ec4e8d0c1daac6033e14170c0ddd28c455c0a (commit) via ed2c4879565a32432f6cbbf7569e0922835475b0 (commit) via ba32981791a749df5e742abbc4bc2f71a3161d6e (commit) via 63e1777c6c20434c9909eb0f235b14f623d1f914 (commit) via 65c749e7c049f9bf944c5fbe9e727b7a8b4ccc7c (commit) via e20e2464f8ae8803869d788b187cffc522c26155 (commit) via 6374269c11186f88873791d7517e53dce5284b54 (commit) via 0fef4b9893c61ad13eb8b0a2bfc3035b63bf8888 (commit) via 2d03dd2f8df86f7c2110e7e10039a32830f80148 (commit) via e77620a58ff6050a8f1923062262d7811f8f0083 (commit) via 4613510308cea27713e8c7424b2afee9b99f6226 (commit) via 88d3f0870bdcb030d1b9f56f48e389860ff41918 (commit) via 61f41c3c243bbcc0ab2e5adb3157ce00dc11fc27 (commit) via d769e349bc2c28261d4b2391b58eb7dc3f452e99 (commit) via 40a6ca48cc99c52dda81172bfeab0bf831d440e9 (commit) via 24f1235ebca7e956b1d87fcc04488a775d2dc087 (commit) via 2fa67e7dac5ddb827b05c724be962c94a4d63ff3 (commit) via 0e54beadd5f1860edc1670566b6034aa937f1fdc (commit) via dcd2e6ef22c3453b9322ad4b46fb7cc05810b7ee (commit) via 20c6f1e176f4139ed1e76d4256e70149e38c0820 (commit) via 5792e8e37be2f848152115fd4783b0e28b5253ad (commit) via 26278bb8717a16139b3a4da9ba1cd2aed435f1ee (commit) via 236bbb83885fbdf108e714fb0bcf9355d84dbd20 (commit) via 9363c7c3ad54a5f92d74ec8e48eda570de229f63 (commit) via a957de07689be21b85497bdfea6389068f8c9375 (commit) via 070bdf0b1a9b496bc1e7dc63cb2445a7e0e40de1 (commit) via 08f9f542cb977e0f69c407ad90c6809ec04a737e (commit) via 8f1cee41f85e815d300cca3bf82e02a023dea43b (commit) via c5741217d390041fc43ca83ad00b07355d40e9ad (commit) via 81580573ba47d0047d76d4fddabe150b49ee3b54 (commit) via ba199d7d3b21c201d73cdbf108b41f62c9b18ab0 (commit) via 0006a9dadfe758d244b1b5309d5975cb2a69cbab (commit) via 901e1b2377f80ed54e9f5d79d842c94a2dcb4c76 (commit) via 1d6e7555155ecf7ac7e24380c776febdf1e469be (commit) via d4d793bfeb836e833e36237f9e22d91d629ff0df (commit) via 99b7da5d7acfeabdd186ee15e9b182db20feabac (commit) via 0b3092721e5cfa1697f1dafe81efefdbb0236f21 (commit) via 7fefa8d7d6359ec905dbc59bb4e616f386ea2e3d (commit) via 96c4f946a8c8d53141189852c0ba28c45366830b (commit) via fffbe6a8c835b16b1c973766303a9e75ea646898 (commit) via 5ee8a82c47856b204ad76407780e454f8cfd9a72 (commit) via bb974a2493495923903631bab3de9f340526d353 (commit) via 6d3d12ebef6fa7dd6bc8c34fbc5e440ac8d0a8c6 (commit) via dccbb60975cdbcd6a906a79d0c4308b040fdac1b (commit) via e76df0d08686820dee6d6f440431d962c7631bd3 (commit) via 4cb9c816469ef3373d9cdde76e8ab5007cf3739e (commit) via 3995eeeeacd9f6630d46e3d1be226365ef5a6652 (commit) via cb9f1a9bcdd26a6f460a033e641804ba798937fc (commit) via a5fceff840e2928ee7a5cc34196b639d7e65016b (commit) via b939114242762636cfdcf9a45949cb54cdaacc8c (commit) via 0e443c875f4f3f2dcaf9cc09d2518139fee0e76b (commit) via 8ebb3f5606b361b30e854335fa5a9ce0fd018d41 (commit) via 8980bdf628f991be9c13f2d66753af2bbe5f53f5 (commit) via d7096f716534f280fba72a5b2ec3712ad1aea42e (commit) via d02f550d39f0229f7c190e6509b3b466f1a60732 (commit) via 7f59d2acb6971695c36a73ce4a061cdc4b892f29 (commit) via db7129469b10a701659f0e38e3edeb2191236831 (commit) via 59c2656733ccb54660f48c10608f4c1753dcaf01 (commit) via a42e82976aac3aed9b966e611b3cfa98974c4978 (commit) via 44714a840a6cd1cdf555809dc6211adb48f0842b (commit) via b6d7a4bf2932e5ae173dd7fb0213c3b004da8462 (commit) via d022bddd4fd93428a7fa3cc7ad404c912ed20dbf (commit) via ad9fe6c108abf73f47219655ff19a5ec68b68124 (commit) via 87f6c4e3e64fe41df2afc45745437e7584fd97f4 (commit) via af19829b117d124842b41da499b3161690bbca1a (commit) via 7089dca47b1738d9b65b8c3795e14aa92ac30f43 (commit) via 97964ab320d2fd9557ad84e6c8b7b500c518a686 (commit) via c3e11cbe51085fed6ca1c90f56611b8cbbabe3eb (commit) via 7cd4e5b756fa5c1ebe0ba7dd04e45d46330a7675 (commit) via 8e07a239c12ba3b746ef0cf2c53d572315aef654 (commit) via d37497d68fd80e0b6edd08604eab7d0472b7e0ac (commit) via aaffae57f3b2b2f3d353924934accffea527dc6e (commit) via e034b2cc9d2125f80dabb698271a346cbcff8d76 (commit) via 7bfe824172e6bd8759f30b4f6b6fe2036845ec5b (commit) via d6c95504f0d3e51709f50c6e82cf78e18b188430 (commit) via c26fd07110bd0d3197bb7a9ef9feab79c1fdb069 (commit) via 52cdd0bc317c2dfb8cd84b441a72a312b23841b7 (commit) via 13ce3c11a1ea74166a530c576ffacf6e9915baf9 (commit) via 7833fb7b8e4d0c75138ef715935a5040bc9b2e78 (commit) via 02eb0a49bceb35e4b0503e6ffc11e85151dbc571 (commit) via 13e570f80cbfb299a8858ce6830e91a6cb40ab7b (commit) via 241fd515ad94fa11d4608d4fe8108c382792d3be (commit) via 8479caa19304089b2ef42867e406a008bf5fbc4d (commit) via dc304a9424abb58973ffde431264af1deb6abd22 (commit) via 3cecbbbef197fdcdc833155ba4c3f3233a10e5c7 (commit) via 00b51ff5835770104952dca3f9addb8f1025a24b (commit) via 78a4993b90b00289d015305a9eb1948fab9baf91 (commit) via 3160d18c899270a771fb9c7dca5e09b318e77a78 (commit) via a12a279b547e715e4a3b056b40680a939a3dbcaa (commit) via 90debf20f4cc4ddd7cfb6356fe0d3876a18604a6 (commit) via 6908c50982bc70ff9e035028b3bc300f80fed7e4 (commit) via 53e8f97d571973c3bfb04ef3d9a358ea4a0e8e62 (commit) via e068c55d5e2f73e85d0d51a39d2a8921ce262d55 (commit) via 8c7840168031ab93432214580bf14ce63d638d22 (commit) via b131d1fcfa5978f105a9ac39057475f54bab9202 (commit) via 22d64076c87f4fe82a3dbb1bdf3df576d36ab4c0 (commit) via 4d4ca2a15d2e3008d14bf7cda9b353f7fcc11bdc (commit) via 462f517e5020a464e84d2b8535b1b68d39329dc2 (commit) via 678f6f20d08aea2b9ecf8a5ef9491ea672774494 (commit) via 74228e779003e841dd9cfe5780a2c9dc703699b4 (commit) via 014f9477f4bdb04ca3accad0a7c986c2dff90e1f (commit) via e799154c3bf1aac0bffd869df5eed7a959305d00 (commit) via 5f08566b92f63e60559577dedfabf9ed517a3ddf (commit) via 8981c75857ec8ef645ccb4f7ccc70fccc609085d (commit) via cc6563d29b6f86b23c4f9a8ea73dabf9f7fc0d91 (commit) via a1c7835a2f1755e815a662e2d6caeb6f9e1b1ecc (commit) via 976411d6b6aa5cae05259eb92b87a04262052e09 (commit) via 5d4848a4bda0cb79d61dcb9987ef6116cf1e6f67 (commit) via d41f6d8ea2868ed247c149c252741d02293c6659 (commit) via f2120acddc665a9adbd90e2dd32a3f589d9230c4 (commit) via 84202f9c998c3f1bf0aa5d6457de7c9cad5f8500 (commit) via 2530441cef6408cb50b9e96670d766104d6123c8 (commit) via 43885403ede73aa83b37cfa0e7a254b6f255d5af (commit) via ea99bdb59dfddd883c70428f24d16bf1ad3ded93 (commit) via 351cdf24d223290b15fa991e5052ec9e9bd1e284 (commit) via 7e09a22367934a6d53f79d8b01135832b80ab246 (commit) via 7ebdbe9292e4b696740b021938369adb1484da27 (commit) via 385f635ae0be0077dad606c12118bbe0f886f28f (commit) via f347ffc90a320a26394715e6f1629c856458ae15 (commit) via fdb1adc6854e4240bd8ad940c57c93d48abcc040 (commit) via b794fc1d1c3a3dfb65b74a36fe96c474fee65000 (commit) via 774bb79e9b9e192bcecc38da919edffaf9b5d236 (commit) via 1f995db6ad2c9325a8db45b73fea29c8ab9200e1 (commit) via 8a196b99a86d56775aa60043aa41a8a4fa228013 (commit) via 37c5f1f7d2bcad988a038c19b29c199c11ffdd40 (commit) via 0c3abbc7473db6be7618d2261f604ef1489f2755 (commit) via 48494700d58ee0dc781d288191679072cbaf9d16 (commit) via e76c5d173bbf7137555919dd136004a7c0118af7 (commit) via 186fcde0c6134aed28526d925b1360db95d47171 (commit) via 4122867a4227d29b46377c2a44eae803a482d89f (commit) via 4df427550679698832ea9c01e0b561e77d98249c (commit) via ee7333ae06f46f3a6909a0059c2f0bd441a54bfe (commit) via 74edf51613b507d1f27d66360cd8fdd8a253e88a (commit) via e57e6ddc2e768323732a7eed6a5d25d3ee350638 (commit) via cd9ac21580fa2e2068388d86349b8deb85eafce8 (commit) via a843ea33df65b47d5ff525231a5b582e9cd4e5b3 (commit) via d54398a79e97eff8f51aed2035cb513cdc4fb319 (commit) via ab16fce80e60f15058b594f624024219c3a7a000 (commit) via 88056fbbf4fc603517ce2e09c0ee4398ab354836 (commit) via 705096250d59d9aaf3855a350edd2f3946777dd4 (commit) via d8be293957340f1cbe16d65d78d64aebc01df18f (commit) via 7d0d9d2bee341b1e88c559c476f15fc24b6de346 (commit) via c3f814a14336b9d395f3abad739592929e2faaa0 (commit) via a3673aac3c2904957579a23f9d61bd3fd13d4d55 (commit) via e9e7f7240542809f82286e4043ca05409dc761a9 (commit) via 1947513d924efec8b839718cda515ecfc21dd293 (commit) via 64e61d290ec53c27767d0d828f01ab6ae95a7478 (commit) via 429e55ea941f54f8e0481dd2048dc15af751ed71 (commit) via 64669f3b4bab4096df75b7279c5b2d0a4784b835 (commit) via d3d3328bca04f0a5d0c9216c53f737d94f5f947b (commit) via 414842dc7ae1d398fca1bda9a20a89d51b7c2f09 (commit) via baa336ce7b5d6e56bd52d7493c3f77b0953a7f18 (commit) via 5a19e2d0fe40c852ea1ccc46c596764bb35d4d7d (commit) via fc4baa5e1f016c27eab4b2593a1ba9db60e11bee (commit) via 0d5f0dbeb03bab0ce02bf9a4e61d298ad7f1c9bb (commit) via 41c77899672db7a30d09d2e68524f0eb3faf937b (commit) via 93db0d79de0c2676edffb8e36109ca3f6faa822b (commit) via 36d6eb95c1de72b1c5703c5204124abe589d34b1 (commit) via 8009206ae2dec541b55edc488103c6c1ccb1416a (commit) via 314c6a3559393741f22fdd9836f83d9f364fbd2a (commit) via a7068b601288f8f5df45ca1113069b44dc759b11 (commit) via 2c51604d3adbcc77a25d78ce900f5be4597c2504 (commit) via 342119630e4612856017d03f2892f5a693d85d8e (commit) via a52b4d3e268c10b84a48572db632d5011018e3ef (commit) via 11961ad8055910ed653d1d4ed0a20efeeb9ae717 (commit) via a8bdc56b4e36451f197f9522e2bbfcc39c5d90dd (commit) via 91b522404e7eee8b4101bccabc29821792e6a627 (commit) via e294541cdab0373f6097862de1068cc985e7e242 (commit) via 45326f6fbe28ef5bac22dac447a4181c44cb945a (commit) via e214cf6c2e05bcfc85dc6f335d8ffdc3629cf0cf (commit) via bddbbedd70665b48d358e457ef122c4df075b76b (commit) via 90a915bf0c95859e90e79c8264825ad6423eea6f (commit) via 1ba585e8f4ec2ed043539e57640945ff6ff3359b (commit) via 99282af656bee8092850664de135c4a1a9017032 (commit) via b28d1bda54728d10ae189a323c343b6d76f94b8e (commit) via 50d13ae760ccae7ba30244985397240dfb67a431 (commit) via 45c7148402788483773d2a2240a8bedf501d7cde (commit) via 80bfb74d3655a6c9f648401f9ac484bdaa6a5db7 (commit) via cfbc1a6ceba60d30e46ee82af8ea6803fec4a449 (commit) via 3d52a869b2e09d88fc0ebae762d25428d891dd11 (commit) via 7c16d96edb2d4f586ae2dcd4b10a8083206fa3bd (commit) via 5ad9b0a77316bf2f1dd9e257ee683b90ae9f9da9 (commit) via 1b396721c945d5129a296205dfe8873ffe975ffe (commit) via 9597b22adf3552a5617d73104d8facd6a7aea881 (commit) via 91101fe524e5ae8a912880bf3350ad93d511181a (commit) via c9402c95796b6b734bdeecf69a57ca08140f677e (commit) via ae8fddda32d161ea0d8606fdd71349230d5b0ad6 (commit) via 9c81664074faf6028036d9b3615ab860396b0c81 (commit) via 018dc9bedf40d528f1d05d56555e20ed54a77dc3 (commit) via 164224e96ca270d6cbb61d3e326fc1b0453b30a6 (commit) via 57319490943d7ce425c515356f6758ff81bf6c58 (commit) via e45c2fe6a7358698d6df244f141713960ae419b4 (commit) via e8b2341cd2c3663d245651129202f22548766a64 (commit) via 44e89118cb33b71a1eaf6514ea2b686aac1974dd (commit) via b0ed115fa5895ccb20d73e26d89a3b8430fe0f0a (commit) via e75fdfcad1c868eae5396a95be9dd18010406306 (commit) via 83814951ff9b8f73dcf7c860ad7b4f34a31f2be6 (commit) via fe1873d01904620c71a309249c0ae029e53ae0b6 (commit) via d3bb6b49b6f13617b953bfa0ef25a992b41128ef (commit) via e6cf2ae8bb4c675ebfafb137bf13e92ba96225e8 (commit) via 17d0c5c8f07d43142bb35157a0df720b17b8a5ed (commit) via 74b49205e07fcba1273df4c4bed6ec40951cee03 (commit) via b8b8facf90dda8363c989c263715d46125b2c301 (commit) via 93c3fd0ec85cf35c87917a0ac48f10bfc3e6cc9f (commit) via 8d14e1918d16b5f700d7cde8bf40f1e0309bbfc6 (commit) via 69ff6be55c0e6181223f2b9c93d90ffc9f7fb0f5 (commit) via 1b5d0ab34c53d6e896d2c0958b1176e324bb7878 (commit) via cca5b8b64b3286bb96cd7a2c18232d1acea85cd9 (commit) via 144bed8d4d8a1bdc0067f55f2ee71c07e5594677 (commit) via 4d974e8854dbc506f154efca8879da3f310bb2b9 (commit) via 252db1b5de059d292f54216e4541e3ee8370d624 (commit) via a432721e612746b3a70a3b19f579c66cb8253ac8 (commit) via 0a45ee16bce8552abe77c74091b36878ff3816df (commit) via 998d811a23ca3f2c463dfaf40259486ff9958244 (commit) via 41e995687391695e16550eb9c18da8e5d0dcffa9 (commit) via 487d975399dfcb2bb2f0998a7d12bd62acdd9fa1 (commit) via 57745c903f78ffdb10a6198a6e35e5a1e63ea4b0 (commit) via 2d40be181fad7aed4aeabafd36529f3684b8bcab (commit) via ce9e3fe795c05bd7458a1466e14104f489f2b483 (commit) via 19f2f6a9c4aeb0e37d448cb5593164e25ab055a9 (commit) via d6f18fe6cac35e68f86bda603620ebacaf59b1e6 (commit) via ea7cc5bfc8ed2c139aeb50afe5652f8c4bb4d81a (commit) via 87f14779da25380b2e1ee67edcf984f0f8c922c4 (commit) via cd3416da32a950d8ff4fee2863df57bb3f4b7c51 (commit) via 98d4551685ad23284e258604b4a3adc175bfa664 (commit) via 572f65559b461133292118cee522b7e437714a07 (commit) via cc1c52ad653224e0804fa03e3af9affaa7062dc8 (commit) via 8258415802426fd3e6956cc8dc7aa093052177a5 (commit) via 1e9735707b34b8141ea3bfd88205ea26e99891fc (commit) via 93d6eb10ede1d8b72b274345c63f66439eaf7fd0 (commit) via 0017922d0292d8c374584f6100874580659c9973 (commit) via 94696ad31c3fac4a3bc17391e42362d83be1fb56 (commit) via bd29394088b5685d336a501fadca88b25ed777bc (commit) via 9d1e69a21488cb5b8b7553c8df18ee5c3f4d82e3 (commit) via feefc97b5942325a8b7793e7ae089d87ecdee11c (commit) via c933f875f4416a2a06c14fb9e483dd888a948eb2 (commit) via feb6f816c2246f29e1f71db11a757cbf99c25492 (commit) via d98b7a16a982e4a17995536250b55f7ff82bd78e (commit) via 548740d6bdd115da2c9c17b194016c2c4c0a4c69 (commit) via 0ed82684efcb5243b66f918552403ff4ec1d7ee1 (commit) via 152cc38b0aadfa17df5f6fa50b15901988776541 (commit) via 76bd66cfb5207137dac01534cf7d8af8f708743b (commit) via a25eb0280d6ae5a791e0e613f42e3197c82d3030 (commit) via 2836d43109bdad96f14b405b8996011b5f8879a9 (commit) via 218c2655603748b844dcaf103e34fd14d8ee8aef (commit) via 17ca87fc69f554aecc4a7f8d6d354a6ad9bec7be (commit) via 808f7ab1fc88da40007c17a20e49928359f27491 (commit) via 540314bdd87c7478d21b44dd4856d937bcc1479b (commit) via 1db01f22f58cc01768dc921a7443a1bad4e48eb5 (commit) via 3116063bd617de56fbc3bad046a692b1fb363a9d (commit) via 040baaf6deeec9f92645169f3f6e84996e23c986 (commit) via 1aa7e42c3f5c5295f81ff94301c642642be86395 (commit) via c1e246a060dd1eab0c2551d86844edb199994ff7 (commit) via 8c420b8d59e8e045aa733f478adb1d0509d447e3 (commit) via cb1da100b6291ad35ad886555a0f7114925ed29f (commit) via 2acf3cd06577b80adb96df754f910da8b754c7dc (commit) via 5401fde353cbd1d5d32a3fcc7721b1a29147b5ba (commit) via e76126e8d1fc8e244fbfce03bda4a41a7b7722b1 (commit) via b9c1d481cc639a9c1f31aea164f8716a85edd89f (commit) via 68372333a2467491f007d59c390d67f58df0bb77 (commit) via e86c23a851f8b20d50e67217750853b8c89bbf55 (commit) via 1a76d598884a052dacd8feb49f1999e1a0d537f1 (commit) via e7d17e71cdc10a2e81e454ce3b9637f1b2a587f2 (commit) via 0b42baa397bcacec234090eaac043d3d261b2908 (commit) via 6a2619f95336f522e6a5e9a7fcbfd6d4ce47014b (commit) via 15635cff5fc339e9819b975232933a0fb133899d (commit) via 6f86b3b00029344e8aebadf1bb10c9ee46d2d512 (commit) via 2d6f0de676f46ebd8bb7d98a0093aa081e17e94b (commit) via 67ad4d71d6e7f2a58fa9034d3b4ffbf418da29f4 (commit) via 7180e04a36d812bbea2c280f2db33a7e8ce6b07b (commit) via 9a9a76082919371f4ceb571f6c9892325b80a2e0 (commit) via e051745c838bf29e564fb2665339f97c8383b9e8 (commit) via ecf3e831f71257e8ff7bf794f394f23b26d75137 (commit) via f35c4853cc5b0e51d8a460be390f7a20cd44ba44 (commit) via b484180108158f427f3637987de02199416ed53a (commit) via 5bc8cb6f842e588e7ae9f3b9f52f9f41fb97bf34 (commit) via 792f7758e3cdbe72b82a5014d74e87e9c1ee0c3b (commit) via 7572ca8989ead4c3425a1500bc241eaaeffa2c89 (commit) via 8335d6aa34b88ce31b62e1b578d54ab4aa364435 (commit) via bffebb6ba5b4ddbca7353626d682f9f974584dbf (commit) via 161ac41e03a819bc34e8c70a3fd1bc26f43858a2 (commit) via 2e0488d33f8abbbc5bec214e1723d07048d7afcc (commit) via 1f267ae3d18c165f8b4327aa423b909eae92f4d6 (commit) via 37a6ac445daf5075d9058d7f01505f96a43f592a (commit) via e29c73ebde63ce95bfbb4be28eb797b55c8e3842 (commit) via 8a869bcaa54364e8ea6583097a4a6e8414470c4f (commit) via b2ee242b93e9580406e03abb18ff969de7de1976 (commit) via 3510a7b805f8ad1345b9d2671a21a40a09d9f2a2 (commit) via 75f580857a7c65525a98a701c65d0814be04155f (commit) via 38e229b2b3b5cc28c40ae114146bcdb45f60fc46 (commit) via f0f9ff9530992cb86c7022310af223b2721117d1 (commit) via 3bb9e7b43fb3bef0ecfef14b9185661afbe5f4c5 (commit) via 19aef622f37ae4f940d6e3ef6835fd5519289178 (commit) via f1d7f4a64c4d92911127abe6dbab95a219405c2b (commit) via f60ec1cfa8f5e8aa27ffc5db5a344b5db2efe97b (commit) via e9021bb48fbe808bf99b5349f35c6ce9239ac13f (commit) via abc868c6090192b9bf3059da81e518bd744b8da3 (commit) via 878f7dc7d15cd4f47943bef53c8201f4781d1807 (commit) via 1110793abe7dca4b2092e69da0d5356eb4b25c77 (commit) via 35eafcc71b8a54330704656fb6df0b5d6665ed15 (commit) via 82b57a900fdac5664c678206348f403aa7ef53f0 (commit) via 2e98a7bd882356a23076ad4a51a251d9ab1ce070 (commit) via 2900af2d0ad6f939640bbc497ea15f9fb6f3ff52 (commit) via 1455e8c2e5fb8844716da9471a30acc1aec9eb1e (commit) via 4a5be5ee6838648fb92f7c835507a61789cd4ba5 (commit) via 8d112f9ecbe59b0eee3ec636a86891a6a82e4d9b (commit) via 92c3b204c714996d00cb93afdbfed554ed58fef0 (commit) via d215621ebe5a6b60dff2e60c788a0f761e3cb5bd (commit) via fd48cee0093fef69608959d0f577c0c81fe24eec (commit) via 053a4d680b6b870079e7ba094b52a12a4861ce9b (commit) via 2b239efbec446a0c213710b7c5258f2926ef78a4 (commit) via d1eca1e41ddae8c3cd925be827640de919301432 (commit) via 9b11e3a7327f7b1fd5d40a6450a3cc323a78380c (commit) via afb933145e2869c73c08db0995171d0d2e5b6296 (commit) via 53a8cffa625b1b4fdf76e2dd0f0e9fc4b1bf0ab4 (commit) via cf363f183d9a87faeda74f33b58a6c4a22e7d1e2 (commit) via 82ae6c8d79c426e1b4d6f7b8d4be5292b3e9a8c5 (commit) via b6a1c03a9547590a35fccda9ae358fb1cfd8befa (commit) via 7341d5e22f1061016411734ba162d362ac5928db (commit) via 2dc0e7b400e46f105960c0dfcd431013f0013c6a (commit) via 810d4e754dad3e5431399de7b5bacb831b899320 (commit) via f36e88862f94c15a88fa27df7af906ad75a42e7f (commit) via ba8e7d1e24bc53269b5814c99a321783dab3812a (commit) via 422b1cb0912f88f0509f75b9fee055c8259c13be (commit) via 9ef5ddf51cc4d5e9dfc779dea29d97047fa232bf (commit) via 961427268a863e614a79f25449e79d54696690ad (commit) via aebf9d247e4026189a0f612ee03c19cdf4bf86ac (commit) via b00548197542a46df0e46d848ac61a00827943ea (commit) via 3f201179cc5fe9c0b338fd545d26d1e2ed434f22 (commit) via 727d6f7cb02648cbd4428546c97a486667a7678d (commit) via a03f9b1acf6cb11689f053892919b8ab675713f8 (commit) via b67a2c6fd4862b79c04c254fe2ba37c180b73d60 (commit) via 9393ab1c00601a01ec25bbe0d8dc8430f62c9c13 (commit) via 7b5490456670ef187c1b7c07ba2e9e09512a6d70 (commit) via e2ca13570cb87f5257be8a19aa0bdc6e8b13c272 (commit) via 5b10184c5844524e59621dd40cefd1db69680f95 (commit) via 069003265c89fab0c46c5a831c2beeec4bcfb501 (commit) via c2bcbb1d04bb46a130f2c84de05cbbdccc0645fc (commit) via 9cbe5fff2b47da85dbc628bdc8c6a85d5344749a (commit) via 34a68019ccc3879801a291a00bad5bc10558bf5d (commit) via 334ac421efca80df2f95960d917ea9cb5823fb18 (commit) via 6ddf779d8ed3d9411976716e2b617c2aa1b9c6c6 (commit) via eeb14e5a5b378450ca2ed139e76f317f491f4613 (commit) via df565f326e62eacf41fb880f1acc65b9fdb5052c (commit) via efc889c1a86826b6619485bf379467daaea1ad3e (commit) via 60d77146a249ae9b51d7ce98930cdbedb2cfa352 (commit) via 4395285e33e6d67c8a82db744ebfd041034b005a (commit) via cbac4466d7e683855ff72897919791442d5ef756 (commit) via 9d069ac37fb121b2794681480f8691d5699de9f7 (commit) via 28bf260962673c554b926a013af27c77fe82870c (commit) via aef929023e3f9c68126564a96431935d35ce032e (commit) via 5fff78c4e0d938bb4fc1375792ffae02a134943c (commit) via 1d1f1ccb331f1fe9825c3bb6f6231a3aeb560d6f (commit) via 31f0c4c1c653b59ce8552402ecc1b3249273f2de (commit) via cb818dbff5d914dccffadfdba68e32a324aa4334 (commit) via f179cf97a071940bfce6879aa59dbac66ffca391 (commit) via 15bfcc77681f423fd872815eb140c450d69b8a60 (commit) via 3343ef86879b9348bb038bc7adecb665236ca4d8 (commit) via 18d18ac8105647241a4e24a3a4d0196955666e73 (commit) via 80d8d3908b7ef70c325fcdfb455bf5dbc2c68e16 (commit) via 03e46fbd3584d08285cb80e5ca235c48d2fa849c (commit) via 9810d34d76d19f63d4bbe7390fa36ceb85d10cde (commit) via 6a18a01c33083320b86274bdb84e81bc76b286f9 (commit) via 8e9db26e299e5c9d03102d7c9551113db18719b1 (commit) via 70afc5b72d36dabf0a152e219ac981b2b45c138a (commit) via b972bd9c133c8acd3f5ce8d05a4fdfc85aee2c15 (commit) via 6bd23fd2c74eed21a7824f0d1bd2785b96c32c7c (commit) via d17c74c1d41a077567291e1990f4309df65b3f4d (commit) via aed4ab287aa846ad40cf1eedb2c4bbdfb4bdd5e5 (commit) via 886aba9eff0eba428e634f579e8999b67da01b57 (commit) via 840ed64d1c1335328e0c4763dc5041d3cdb85c90 (commit) via 26f2dc3065ea8621b898fe5b98ef19afbf02aaf7 (commit) via 698b3e08336ffac76d45d9ddb6a85ae166098140 (commit) via 125f8a3ddedd413a2290dae011f0bed9ffc78278 (commit) via 42995dbda646ff0291a36f83a7f1a9f45e3fda8a (commit) via e1d2394b50c7b174f48e38efb398034d75e67c99 (commit) via eea6dad2b3ae91189caa91145dd133bae0398d21 (commit) via db988f621f38b0123334c7e481deb113b9b5b9bf (commit) via 3ed9baed43c5253b2e88e5576773957432e268c4 (commit) via 78c164b00654c7f422694035bc0e1817f90c86b5 (commit) via f6e29b6ec0a4fd410ddaaddacf045c4cb4e890f2 (commit) via 034f788c5ec1e5b20fae3b6efc7fe961631e014d (commit) via 46e3325277e604face2848eec78247826b94d5c9 (commit) via 3a8ee006fb19680c444993a99a4fe3a64dd40a39 (commit) via 322a8e06b9675df9dfaaae956538b6cc8a695d4a (commit) via 8f26655c9e3a038159ce4e6f4ad027fd40a99333 (commit) via 992c7d700f99002ed455b0588488e0e42719ba81 (commit) via eae7090bea9d7f129be7dddf89f8e177cdb2003d (commit) via 57fcfb1b202c09bf83e0e98dfb1d518e7be71d2c (commit) via 45371d0ceec9e0771306060c49f378eea01b1269 (commit) via da58fb67f2f9fa8ff22591a0eede8804eb59743e (commit) via 827dfb62b3a0162007942fe1cd1fd0411c547405 (commit) via 1804dbce5a7c0298a98dcedde14ab4d432fad754 (commit) via 17a40b44e2aa89d2df08897ea05a42e1afedd06a (commit) via 346d1dfebdbc5b7c8ce7d84f9250cbb8f4ec3e6c (commit) via 1834676b5f9a7f425b68d181da85f96fe246e03b (commit) via ac1a991b1c00891d29607a6f97d98d66312af83f (commit) via 5bc98e5269423c49d5543079c824f551db4028f0 (commit) via 8236def8eb5276731a00eb21c2e687e4484aeb59 (commit) via 3977b71f1dfd04b6ac2c14e1405ce251c31a38aa (commit) via 5d376983ca914e1cf36f4968cc87957f9033ebcd (commit) via 5171def394398d2a3cc6583747e2f19602f0e1da (commit) via b9228891286aec649c0c53d9b2eff0d5bea7f642 (commit) via a1aa2221cbe340d23c6abf4d68cb509aa16cf8c0 (commit) via 4be83cc2b28ea09aa8ff789839e6520df60836f8 (commit) via 131aa0d4fe4126c53dcb3a73217a39578b73f2ea (commit) via d9305f7fef566159dd940a11155107407f43ec15 (commit) via ea008da432a185fccb9ef967b32092eea98d3c9e (commit) via e927c9fccb149b2a7bbdce1efd1a07d4367444a2 (commit) via 1b6d4134c776d54513114199f1478f83894f490b (commit) via 9b4550ef5e4223bf03a343dc8dd29285bf635e8b (commit) via 6e62758f0249b3b8e4f2f82af6074eed44246cb5 (commit) via 51c79e94b2a4572cd983e47089f6b7beea7c5ea9 (commit) via 3e11889a6e22823270024e8f5f0b2478807a2a54 (commit) via fc6e2f03be9f8b49cc017413f7d2c4f3645f46df (commit) via 6a83deeaa80479ac9cf5ad8302bf933dd0b27faa (commit) via 2afe7d509a64b31a91d31ddc9e2c555e9fe25bb9 (commit) via fc68cc33b16d73595e9ccafb8b34ea7baa1acb7e (commit) via a968e61d8eddf228173019b0265ac6cf6a52cccf (commit) via 3bca49eec22679298a36f7fb2059169c61b7cbfa (commit) via 6e366df19d789254b8e26cc7620218ce98df324f (commit) via 6d1ace6861e999361b30d1bc27459ab8094e0d4a (commit) via 548a23572832015e1d457188c5962e349825e86e (commit) via 0fc059972058a4afb22882a61143c7cc48eca883 (commit) via 70795c525e5b8ca5e9fb8ffbaf33a5f281d53320 (commit) via c8de034b6ae75f0b23d45d15c927daac61c33a3c (commit) via dfac1fa730b83b4f4e42d1fff5778e7127297f76 (commit) via 29cf29a2cf1a5df53c9b77cce8916e8c0fc82e12 (commit) via 6be47f0c48cbd58921a25e7493ca79a6f596dffe (commit) via b97e87cc01703e2e612b1fc21c54f90b1a0f4519 (commit) via 7bc112c1b9bc6e6346e2afff9174fe4adbce909f (commit) via fee354eeef0b5bb9b1b799e2ce313fc805b2af1a (commit) via a30bf1f15c51b82a0134713bc44175cda296d3ae (commit) via f4c51f600ed2fcf9f29bdaae71aa767b9b1bc4ac (commit) via 9f19ab6dfa13c3971423624d18f20d90ab70c9cc (commit) via d03de42190b3b55fb195340dde8e595714a35090 (commit) via 99f4262f2c7e3457f45bd9921889456285d8b025 (commit) via e1279d1d6b5f9205c6603cc661ce7af64e09b5e8 (commit) via 85024cd8bcb93f4112470ecdbd6c10fc2aea724f (commit) via 97d24fbbf5300d5b03e48018454335772d9304e8 (commit) via 1ab668bf2a42ad6c9ef2f691257118faba65bfe9 (commit) via 7e9def1e93c408b5df80ed67b79ef7ac9d5c9289 (commit) via 6e210b4129b522c1a0b0c6dee24ee469d5020583 (commit) via ee0738df021c42217828f02858c1f882a1546557 (commit) via eb9a5ecfacc42b9b741a3f83f433252b3c7cd77e (commit) via 4b1a927e92e49f333838f8f11e621608cccb3a03 (commit) via 44ed9ef26f62c4b348236c4dcea1de78d03900d9 (commit) via cc0c4d535e50adc3fb928943a1945f8e62c933bf (commit) via 2de2a6d098be72656a338c2fea81f132094a1217 (commit) via 97d66cc602ec5abfcb6fc6baaf3d6edbde4fcbfb (commit) via 05629c769a68b5953898adfc9d272e2db3ff930a (commit) via d0ae9fbda7513c1cab463bf1a9b21fdef40e7c56 (commit) via 635c7e8a0521e985921ea3189ab2db5e05fdd41f (commit) via f26c187e2933a0e99a9fbe1ccbcd97260c74b913 (commit) via 2132b4072fb1368afbc0405f909bdf67fcfee427 (commit) via b94ade42840d1b0fbf818db49d98da9ba80c1d53 (commit) via d495ab0d843def702a6641fa4fc31708d7fc97b1 (commit) via caa4096e844a000ff63c4fa9180d70ca2093fd2a (commit) via 68faa6378d757de1fdf29f7d27025c5eadd897ec (commit) via c72f2fb2bb6a3e1850b081dbfce4040970fae8e6 (commit) via 07cccc39f31f4b77607fd9487f33e242969475ca (commit) via 8b48a0d6197dfb70b56558701fb456d6c8a2499b (commit) via f9d1eeed58ec0b3063e014273164179586b1f141 (commit) via 0b04e52316079981b2b77124198a405d826a05cd (commit) via f9579b990244a7f49757ca8bc3bcf48f7bc8505b (commit) via b4b01d36ac91ddc2c96cfac76726e13c404d9483 (commit) via 31f628ae8f5aada207d489fbcf5436bdc3b4b3f7 (commit) via cde5ef40f807cf37ac4fc5adcf621c615049eda9 (commit) via 576ea0910f0bdb3b4705d6faa24d30c86ccf7a09 (commit) via 827f100cee10ed58ef9d22de35ba1d61db73e541 (commit) via e525021603958709381fc4dc296cc2586aaa5dd7 (commit) via 5a2e0d6e89f69f0c3d013cf43f3bd3d97b5e628b (commit) via c151b1c645a87136b61d9c16741b40f59694ed02 (commit) via 58dca1635dc11f329242e888b0b582907a44a73e (commit) via 919b9a93779fae7da9995fd9d8543991fa869701 (commit) via 71a55bdf7d3dc8f949ca7714be72603da82b0d62 (commit) via 173373c6f6388171d1d62a217fae90a052395be2 (commit) via 364fe1f72265eb54bce08511233d06ed48e9c41a (commit) via 7ed689ad61de0cbfe4e5a6f18f097776128202e4 (commit) via 07821655a9fb9ed966984db4c324abbaea67ddb6 (commit) via bad1a9f77e3e3548aeb4e4eda9f482b9093346b3 (commit) via e8de474960b6866797bec0bd35b3c720aa2e9053 (commit) via 5a6c770930a54585c6d4bd9257ce7636b469d7c1 (commit) via d9949a367352c66b7d90ca32bdbd5cac38c14b53 (commit) via b71c404358dbc78d3e84c4299c6139c5291ac441 (commit) via 7b8e2718e4412ddc1e42c6a68166de919eb62221 (commit) via 8a5da09b9e326a19e78b20a1021a5148ea0484b0 (commit) via 0e58ee40a2cec3c4bf796980fb05f93540e40ec2 (commit) via d190df30a147b90e2f189c2038b8ffab5fd8af60 (commit) via ef94b0f0427936cd9b02183824a96b3a1f050017 (commit) via 9baa787b14d9a92067ecb1731407c5abe37d7c3c (commit) via 8f89af0abe40c9231f42ad3193a45e8fccb35720 (commit) from b88230edf4e2da948d633c283ba0893bf22bd7ae (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit ef5e5e4d5bfedecf54ef7f1380eaf89662b617d0 Merge: b88230e de0d789 Author: Jan Kratochvil Date: Sun Dec 28 21:28:12 2014 +0100 Merge remote-tracking branch 'gdb/master' into tromey/python Conflicts: gdb/data-directory/Makefile.in gdb/python/lib/gdb/function/caller_is.py gdb/testsuite/gdb.python/py-frame.exp commit de0d78958fe3db5184c5a7174f55f08d41c8706b Author: Alan Modra Date: Sun Dec 28 15:28:19 2014 +1030 Misplaced parenthesis calculates two too few bytes for string Factor out strlen to give better code and less likelihood of a repeat of this problem. PR 17766 * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct string length. Use memcpy rather than strcpy. commit ce637ffbe6b75a4a676bbf5f68434abf5261ba99 Author: Joel Brobecker Date: Sun Dec 28 07:44:49 2014 +0400 Fix small spelling mistake in gdb/ChangeLog. commit 11a580132e6cfeb1d96e1fccca53bb6fb931a2ff Author: GDB Administrator Date: Sun Dec 28 00:00:09 2014 +0000 Automatic date update in version.in commit 6441e6db4abe6043dc81acfeeb6a7bd7124376f7 Author: Anthony Green Date: Sat Dec 27 18:37:58 2014 -0500 Update for moxie ISA changes commit 507411ccab1206edb32395059f7f8c5ad41917e1 Author: Anthony Green Date: Sat Dec 27 18:19:49 2014 -0500 Update sto/ldo implementations with 16 bit offsets commit bffb60047d90919d8c3a11db9ae7e9f45553a657 Author: Anthony Green Date: Sat Dec 27 10:57:04 2014 -0500 Limit moxie sto/ldo offsets to 16 bits commit 3b146284444f889294f0c1db13015c18bde0cf20 Author: GDB Administrator Date: Sat Dec 27 00:00:12 2014 +0000 Automatic date update in version.in commit bd47fe1c2eb5a04ed5dcd5dc7a481743c9727666 Author: Alan Modra Date: Fri Dec 26 22:10:52 2014 +1030 Update two sh64 ld test's expected output At some stage someone fixed a bug in ld -r output, preserving SHF_INFO_LINK from input objects. These two tests expected the old wrong output. * ld-sh/sh64/crangerel1.rd: Update. * ld-sh/sh64/crangerel2.rd: Update. commit 0abb10c82d2c202e34b87104d51080b6d1de26d1 Author: Alan Modra Date: Fri Dec 26 18:26:38 2014 +1030 Delete unnecessary code copying SHF_SH5_ISA32 flag Since 2006, commit d270463e9, _bfd_elf_copy_private_section_data has copied over SHF_MASKOS and SHF_MASKPROC flags. That makes the buggy code in sh_elf64_copy_private_data_internal redundant. bfd/ PR 17755 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Delete code copying SHF_SH5_ISA32. binutils/testsuite/ * binutils-all/strip-11.d: New test. * binutils-all/objcopy.exp: Run it. commit ff600205664cc39be32910e4bf36c3de8183f93c Author: GDB Administrator Date: Fri Dec 26 00:00:09 2014 +0000 Automatic date update in version.in commit 67afb06e018cfb92c5b6bb0aeec3f47b31a8d49d Author: Anthony Green Date: Thu Dec 25 08:26:57 2014 -0500 Whitespace cleanup commit 3ba611c3ca7a13df6846aa8a3ef984be846a2179 Author: Anthony Green Date: Thu Dec 25 08:26:57 2014 -0500 Whitespace cleanup commit f12d1e8a660c34ce3098da788ac01d067d6ccbab Author: Alan Modra Date: Thu Dec 25 22:15:14 2014 +1030 ARM: Add support for value 3 of Tag_ABI_VFP_args attribute Missing from 5c294fee elfcpp/ * arm.h: Add enums for Tag_ABI_FP_number_model and Tag_ABI_VFP_args. gold/ * arm.cc (Target_arm::do_adjust_elf_header): Provide namespace on new enums. (Target_arm::merge_object_attributes, ): Likewise. commit 6fd9d738c04fd1dd1d73c08f8a384ea3c8a160ab Author: Yaakov Selkowitz Date: Thu Dec 25 21:25:38 2014 +1030 Don't pass unadorned zeros to varargs functions PR gas/17753 * config/tc-mep.c (md_begin): Specify types of vararg literals. commit 5c294fee9abb6bb259519d9cf164c34b81b83312 Author: Terry Guo Date: Thu Dec 25 09:50:48 2014 +0800 ARM: Add support for value 3 of Tag_ABI_VFP_args attribute *** bfd/ChangeLog *** 2014-12-25 Thomas Preud'homme * elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new Tag_ABI_VFP_args value and replace hardcoded values by enum values. (elf32_arm_post_process_headers): Set e_flags in ELF header as hard float only when Tag_ABI_VFP_args is 1, using new enum value AEABI_VFP_args_vfp to check that. *** binutils/ChangeLog *** 2014-12-25 Thomas Preud'homme * readelf.c (arm_attr_tag_ABI_VFP_args): Add "compatible". *** gdb/ChangeLog *** 2014-12-25 Thomas Preud'homme * arm-tdep.c (arm_gdbarch_init): Explicitely handle value 3 of Tag_ABI_VFP_args. Also replace hardcoded values by enum values in the switch handling the different values of Tag_ABI_VFP_args. *** gold/ChangeLog *** 2014-12-25 Thomas Preud'homme * arm.cc (Target_arm::do_adjust_elf_header): Set e_flags in ELF header as hard float only when Tag_ABI_VFP_args is 1, using new enum value AEABI_VFP_args_vfp to check that. (Target_arm::merge_object_attributes): Handle new Tag_ABI_VFP_args value and replace hardcoded values by enum values. *** include/elf/ChangeLog *** 2014-12-25 Thomas Preud'homme * arm.h: New AEABI_FP_number_model_* and AEABI_VFP_args_* enum values. *** ld/testsuite/ChangeLog *** 2014-12-25 Thomas Preud'homme * ld-arm/attr-merge-2a.s: Add Tag_ABI_VFP_args. * ld-arm/attr-merge-2b.s: Likewise. * ld-arm/attr-merge-2.attr: Likewise. * ld-arm/attr-merge-4a.s: Add Tag_ABI_FP_number_model and Tag_ABI_VFP_args. * ld-arm/attr-merge-4b.s: Likewise. * ld-arm/attr-merge-4.attr: Likewise. * ld-arm/attr-merge-6a.s: Likewise. * ld-arm/attr-merge-6b.s: Likewise. * ld-arm/attr-merge-6.attr: Add Tag_ABI_FP_number_model. commit d274fbe8a43db3164b133772b2d0f557052561b5 Author: GDB Administrator Date: Thu Dec 25 00:00:09 2014 +0000 Automatic date update in version.in commit 09eb8b7bd63c017dbd5e84ecc5497824b6e6a4c6 Author: H.J. Lu Date: Wed Dec 24 14:14:14 2014 -0800 Add cast to unsigned long * pei-x86_64.c (pex64_bfd_print_pdata_section): Add cast to unsigned long. commit f5be95254d169859a5ebfbd4663a9cf669066968 Author: Andrew Burgess Date: Tue Dec 23 17:46:45 2014 +0000 AVR: Document linker relaxation related options. Adds documentation describing the -mlink-relax and -mno-link-relax command line options. gas/ChangeLog: * doc/c-avr.texi: Document -mlink-relax and -mno-link-relax. commit edc9e9a62fddb2745093c1edafd0a2310e79a579 Author: Andrew Burgess Date: Mon Oct 27 10:51:17 2014 +0000 AVR: Assembler now prepares for linker relaxation by default. Have the assembler prepare for linker relaxation by default. This means that users will be able to make use of linker relaxation without having to adjust the assembler flags, this can make life easier when compiling libraries. Having this on by default in the assembler should make no difference to the assembler code produced, however, some of the debug information will be slightly less compressed. A few tests needed to be updated as a result of this change as they relied on linker relaxation support being off by default. I've tightened up the definition of which sections can be relaxed on AVR as part of this commit, the assembler used to think that all non-debugging sections could be relaxed, when in reality only code sections can be relaxed for AVR. The previous definition was not dangerous, just over cautious. The new tighter definition allows an extra test (gas/testsuite/gas/all/forward.d) to continue to pass. gas/ChangeLog: * config/tc-avr.c (struct avr_opt_s): Change link_relax to no_link_relax, extend comment. (enum options): Add new OPTION_NO_LINK_RELAX. (md_longopts): Add entry for -mno-link-relax. (md_parse_option): Handle OPTION_NO_LINK_RELAX, and update OPTION_LINK_RELAX. (md_begin): Initialise linkrelax from no_link_relax. (md_show_usage): Include -mno-link-relax option. (relaxable_section): Only allocatable code sections can be relaxed. * config/tc-avr.h (TC_LINKRELAX_FIXUP): Define. gas/testsuite/ChangeLog: * gas/all/gas.exp: Test will not pass on AVR due to linker relaxation support. * gas/avr/noreloc_withoutrelax.d: Add -mno-link-relax option. * gas/avr/link-relax-elf-flag-clear.d: Likewise. ld/testsuite/ChangeLog: * ld/testsuite/ld-avr/relax-elf-flags-02.d: Add -mno-link-relax option. * ld/testsuite/ld-avr/relax-elf-flags-03.d: Likewise. * ld/testsuite/ld-avr/relax-elf-flags-04.d: Likewise. * ld/testsuite/ld-avr/relax-elf-flags-05.d: Likewise. * ld/testsuite/ld-avr/relax-elf-flags-06.d: Likewise. commit 7a093a782000c0d0f1a50d6a74ee786695f52c86 Author: Alexander Cherepanov Date: Wed Dec 24 14:50:53 2014 +0000 This patch fixes a snafu where the -D and -U short versions of the --enable-deterministic-archives and --disable-deteministic-archive options were not being accepted. PR binutils/17671 * objcopy.c (copy_main, strip_main): Add D and U to the list of accepted short versions of long options. commit ed4fd7b7f30020dfdcd79cfd1e36672395f905d7 Author: Anthony Green Date: Wed Dec 24 08:37:16 2014 -0500 Add support for moxie's mul.x and umul.x instructions commit 0be40ae409724495a434de404bda39c53bb167a0 Author: Anthony Green Date: Wed Dec 24 08:34:23 2014 -0500 Add mul.x and umul.x instructions to moxie port commit ca0694adf6d128c2feba16f6374954c191fb5edb Author: Alan Modra Date: Wed Dec 24 22:07:42 2014 +1030 Don't create .eh_frame_hdr on shared lib bfd If no object files have .eh_frame, but some shared library does, then ld creates a .eh_frame_hdr section using the shared library bfd. This is silly since shared library .eh_frame sections don't contribute to the output .eh_frame and thus no .eh_frame_hdr is needed. Also, the bfd section list and count is cleared for shared libraries, and a zero section count used as a flag in lang_check to omit a call to bfd_merge_private_bfd_data for shared libraries. If we create a section on a shared lib bfd then ld will wrongly attempt to merge the shared library private bfd data. PR 17742 * ld/emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Exclude shared libraries in loop looking for .eh_frame sections. Similarly for build-id loop. commit 854399ea9d0d5d5c14b4035bbc0adfe891f26a3d Author: Pierre Muller Date: Wed Dec 24 10:06:57 2014 +0000 This patch adds support for printing out the pdata section of PE objects. * pe-x86_64.c (pex64_bfd_print_pdata): Add external declaration. (bfd_pe_print_data): Set macro to pex64_bfd_print_data. * pei-x86_64.c (pex64_bfd_print_pdata): Changed to global function. Now handles multiple .pdata sections. (pex_bfd_print_pdata_section): New static helper function, using most of old pex_bfd_print_pdata function code, but adding support for coff pe objects, which might have some fields starting at zero offset. (pex64_print_all_pdata_sections) : New static helper function, used in call to bfd_map_over_sections inside new pex66_bfd_print_pdata function. (bfd_boolean pdata_count): New static variable, used to return bfd_boolean value for pex64_bfd_print_pdata function. commit c361b9ac1ffcf62fb5d4c031c55e60cea963a85d Author: Nick Clifton Date: Wed Dec 24 08:21:50 2014 +0000 Reverts an "enhancement" made in a previous delta which complained of unprocessed augmentation data at the end of a CIE. * dwarf.c (read_cie): Revert check for unused augmentation data - it was bogus. commit d5111a0e037c732029879829ca4d18ae2ae0d3e5 Author: Alan Modra Date: Wed Dec 24 11:52:26 2014 +1030 Fix generic linker symbol output when weak is overridden by strong Yes, I know this also affects bfd_link_hash_indirect, but output of indirect and warning symbols looks quite broken anyway. * linker.c (_bfd_generic_link_output_symbols): Remove BSF_WEAK flag from bfd_link_hash_defined symbols. commit 931804de6cec4ba55de1bf8b2f893879ebbf1537 Author: Alan Modra Date: Wed Dec 24 01:03:44 2014 +1030 Yet another DEFINED testcase * ld-scripts/defined6.s, * ld-scripts/defined6.t, * ld-scripts/defined6.d: New test. * ld-scripts/defined.exp: Run it. commit 8a7fbfc0da71fd1230f17f49c0eb5211e29af872 Author: GDB Administrator Date: Wed Dec 24 00:00:10 2014 +0000 Automatic date update in version.in commit 805b1c8bc6cc131266d7db7e03beb43cb25f2e78 Author: Andrew Stubbs Date: Tue Dec 23 20:28:16 2014 +0000 Clarify strip docs. binutils/ * objcopy.c (strip_usage): Reword --remove-section description. * doc/binutils.texi (strip): Likewise. commit 1994afbf19892c9e614a034fbf1a5233e9addce3 Author: Doug Evans Date: Tue Dec 23 07:55:39 2014 -0800 Look up primitive types as symbols. gdb/ChangeLog: * ada-lang.c (user_select_syms): Only fetch symtab if symbol is objfile-owned. (cache_symbol): Ignore symbols that are not objfile-owned. * block.c (block_objfile): New function. (block_gdbarch): New function. * block.h (block_objfile): Declare. (block_gdbarch): Declare. * c-exp.y (classify_name): Remove call to language_lookup_primitive_type. No longer necessary. * gdbtypes.c (lookup_typename): Call lookup_symbol_in_language. Remove call to language_lookup_primitive_type. No longer necessary. * guile/scm-symbol.c (syscm_gdbarch_data_key): New static global. (syscm_gdbarch_data): New struct. (syscm_init_arch_symbols): New function. (syscm_get_symbol_map): Renamed from syscm_objfile_symbol_map. All callers updated. Handle symbols owned by arches. (gdbscm_symbol_symtab): Handle symbols owned by arches. (gdbscm_initialize_symbols): Initialize syscm_gdbarch_data_key. * language.c (language_lookup_primitive_type_1): New function. (language_lookup_primitive_type): Call it. (language_alloc_type_symbol): New function. (language_init_primitive_type_symbols): New function. (language_lookup_primitive_type_as_symbol): New function. * language.h (struct language_arch_info) : New member. (language_lookup_primitive_type): Add function comment. (language_lookup_primitive_type_as_symbol): Declare. * printcmd.c (address_info): Handle arch-owned symbols. * python/py-symbol.c (sympy_get_symtab): Ditto. (set_symbol): Ditto. (sympy_dealloc): Ditto. * symmisc.c (print_symbol): Ditto. * symtab.c (fixup_symbol_section): Ditto. (lookup_symbol_aux): Initialize block_found. (basic_lookup_symbol_nonlocal): Try looking up the symbol as a primitive type. (initialize_objfile_symbol_1): New function. (initialize_objfile_symbol): Call it. (allocate_symbol): Call it. (allocate_template_symbol): Call it. (symbol_objfile): Assert symbol is objfile-owned. (symbol_arch, symbol_symtab, symbol_set_symtab): Ditto. * symtab.h (struct symbol) : Replaces member "symtab". (struct symbol) : New member. (SYMBOL_OBJFILE_OWNED): New macro. * cp-namespace.c (cp_lookup_bare_symbol): New arg langdef. All callers updated. Try to find the symbol as a primitive type. (lookup_namespace_scope): New arg langdef. All callers updated. Call cp_lookup_bare_symbol directly for simple bare symbols. commit 9d7b48dc6e8415e95f5228a6f66b414827eb0204 Author: Andrew Burgess Date: Sat Nov 22 23:25:17 2014 +0000 AVR/ld: Propagate link-relax elf header flag correctly. The AVR target has an elf header flag to indicate if an object was assembler ready for linker relaxation. If a partial link is performed then it is important that the link-relax flag in the output object is set correctly, otherwise, during the final link, we might try to perform linker relaxation on code that was not assembled suitably. As the link-relax elf header covers the entire object file we must be conservative when setting the flag in the output object, so, for a partial link, any input object that does not have the link-relax flag set will cause the output object to also not have the link-relax flag set. This conservative approach could be softened in future, we only need to disable the link relax flag if an input file is not marked link-relax ready, and the input file contains a relaxable section. However, I've left this optimisation for a later day. For the final link I've overloaded the use of the link-relax elf header flag, in a final executable, the flag now indicates if the executable was built with linker relaxation on or not. ld/ChangeLog: * emultempl/avrelf.em: Add include of elf/avr.h. (avr_finish): New function. (LDEMUL_FINISH): Added. ld/testsuite/ChangeLog: * ld-avr/relax-elf-flags-01.d: New file. * ld-avr/relax-elf-flags-02.d: New file. * ld-avr/relax-elf-flags-03.d: New file. * ld-avr/relax-elf-flags-04.d: New file. * ld-avr/relax-elf-flags-05.d: New file. * ld-avr/relax-elf-flags-06.d: New file. * ld-avr/relax-elf-flags-07.d: New file. * ld-avr/relax-elf-flags-08.d: New file. * ld-avr/relax-elf-flags-a.s: New file. * ld-avr/relax-elf-flags-b.s: New file. commit eac7440d805bec68f583db395aa42c38615daf14 Author: Andrew Burgess Date: Sat Nov 22 23:19:31 2014 +0000 AVR: Only set link-relax elf flag when appropriate. The AVR target uses a bit in the elf header flags to indicate if the object was assembled ready for linker relaxation. Previously this flag was always set, even when the object was not assembled ready for linker relaxation. This patch moves setting of the flag into the assembler, and sets it only when the assembler is preparing the file for linker relaxation. bfd/ChangeLog: * elf32-avr.c (bfd_elf_avr_final_write_processing): Don't set EF_AVR_LINKRELAX_PREPARED unconditionally. gas/ChangeLog: * config/tc-avr.c: Add include for elf/avr.h. (avr_elf_final_processing): New function. * config/tc-avr.h (elf_tc_final_processing): Define. (avr_elf_final_processing): Declare gas/testsuite/ChangeLog: * gas/avr/link-relax-elf-flag-clear.d: New file. * gas/avr/link-relax-elf-flag-set.d: New file. * gas/avr/link-relax-elf-flag.s: New file. commit c01feb367543270196672dedf9a8365a2d8d3cff Author: Doug Evans Date: Tue Dec 23 07:31:00 2014 -0800 symtab.h (SYMBOL_DOMAIN_BITS): New macro. gdb/ChangeLog: * symtab.h (SYMBOL_DOMAIN_BITS): New macro. (struct symbol) : Use it. commit 38bf1463f46546a9d839ce87146f71a7d2a62638 Author: Doug Evans Date: Tue Dec 23 07:28:28 2014 -0800 initialize_objfile_symbol: Renamed from initialize_symbol. gdb/ChangeLog: * symtab.c (initialize_objfile_symbol): Renamed from initialize_symbol. All callers updated. commit f606139ae8aa873f6294aaf3bf599d18c3025023 Author: Doug Evans Date: Tue Dec 23 07:24:48 2014 -0800 Add langdef arg to la_lookup_symbol_nonlocal. gdb/ChangeLog: * language.h (struct language_defn) : New arg language_defn. All uses updated. commit 08be3fe322244a3684d007d9282e225fc215f5d8 Author: Doug Evans Date: Tue Dec 23 07:21:10 2014 -0800 Replace some symbol accessor macros with functions. gdb/ChangeLog: * symtab.h (SYMBOL_SYMTAB): Delete (SYMBOL_OBJFILE): Delete. (symbol_symtab, symbol_set_symtab): Declare. (symbol_objfile, symbol_arch): Declare. * symtab.c (symbol_symtab): Replaces SYMBOL_SYMTAB. All uses updated. All references to symbol->symtab redirected through here. (symbol_set_symtab): New function. All assignments to SYMBOL_SYMTAB redirected through here. (symbol_arch): New function. (symbol_objfile): New function. Replaces SYMBOL_OBJFILE. All uses updated. * cp-namespace.c (cp_lookup_symbol_imports_or_template): Call symbol_arch. * findvar.c (default_read_var_value): Call symbol_arch. * guile/scm-frame.c (gdbscm_frame_block): Call symbol_objfile. * jv-lang.c (add_class_symtab_symbol): Call symbol_arch. * printcmd.c (address_info): Call symbol_arch. * tracepoint.c (scope_info): Call symbol_arch. commit 4347085ad3e84bdc1f91e7121cedf3e79a9467fb Author: Nick Clifton Date: Tue Dec 23 13:41:13 2014 +0000 This patch add support for cpu marvell-whitney. * gas/config/tc-arm.c (arm_cpus): Add core marvell-whitney. commit c4416f303531c4d01a13216be18fada4ee55720b Author: Nick Clifton Date: Tue Dec 23 13:11:10 2014 +0000 Reformat the objdump.1 man output to avoid overlong lines. commit 422f1c65c9e9d30a7e82d136b2d4c6cd901f0245 Author: Alan Modra Date: Mon Dec 22 11:11:50 2014 +1030 Report an error for script multiply defined symbols or maybe not just yet, but this is better than a FIXME. * ldexp.c (update_definedness): Return false if script symbol is redefining a strong symbol in an object. (exp_fold_tree_1 ): Set up for reporting a multiple definition error, but for now leave disabled. commit 12b2843a6bb12292d8e36d8df22c788a3c91cb2f Author: Alan Modra Date: Tue Dec 23 19:07:23 2014 +1030 Use a symbol flag bit to mark linker defined symbols Trying to use the SEC_LINKER_CREATED section flag to determine whether a symbol is linker defined fails to work on targets like alpha that define special SEC_COMMON sections. These might contain symbols that originated in an object file. include/ * bfdlink.h (struct bfd_link_hash_entry): Comment non_ir_ref. Add linker_def. bfd/ * elflink.c (_bfd_elf_define_linkage_sym): Set linker_def. * linker.c (_bfd_generic_link_add_one_symbol): Clear linker_def for CDEF, DEF, DEFW, COM. ld/ * ldexp.c (exp_fold_tree_1 ): Test linker_def. ld/testsuite/ * ld-powerpc/sdabase.s, * ld-powerpc/sdabase.t, * ld-powerpc/sdabase.d: New test. * ld-powerpc/sdabase2.t, * ld-powerpc/sdabase2.d: New test. * ld-powerpc/powerpc.exp: Run them. commit 4cc2bf08a4e18aa2009e9d4f1694a800eacbee17 Author: Alan Modra Date: Mon Dec 22 10:49:23 2014 +1030 Don't PROVIDE over top of common symbols This: int end[100000]; int main(void) { end[99999] = 0; return 0; } should not segfault. ld/ * ldexp.c (exp_fold_tree_1 ): Leave bfd_link_hash_common symbols alone. ld/testsuite/ * ld-elf/endsym.s, *ld-elf/endsym.d: New test. commit cd8e2bcf0d51e91ab8da72ec63048790e3720b03 Author: Alan Modra Date: Mon Dec 22 14:43:49 2014 +1030 Correct logic for "defined by object" The old code missed testing bfd_link_hash_undefweak, and wrongly excluded bfd_link_hash_common symbols. It is also clearer to invert the set of enum bfd_link_hash_type values tested. bfd_link_hash_indirect and bfd_link_hash_warning will never appear here. * ldexp.c (update_definedness): Correct logic setting by_object. commit 18d6a79d3527acd718cc8acd9395d1bf4cc4ce0a Author: Alan Modra Date: Mon Dec 22 10:45:13 2014 +1030 Move support code for linker script DEFINED to ldexp.c This moves support code for DEFINED to ldexp.c where it is used, losing the lang_ prefix on identifiers. Two new functions are needed to initialize and clean up to hash table, but other than that there are no functional changes here. * ldexp.c (struct definedness_hash_entry, definedness_table) (definedness_newfunc, symbol_defined, update_definedness): Move and rename from.. * ldlang.h (struct lang_definedness_hash_entry): ..here,.. * ldlang.c (lang_definedness_table, lang_definedness_newfunc) (lang_symbol_defined, lang_update_definedness): ..and here. * ldexp.c (ldexp_init, ldexp_finish): New functions, extracted from.. * ldlang.c (lang_init, lang_finish): ..here. * ldexp.h (ldexp_init, ldexp_finish): Declare. * ldlang.h (lang_symbol_defined, lang_update_definedness): Delete. * ldmain.c (main): Call ldexp_init and ldexp_finish. commit 175a3e5098a30af882cfe28d3351b6d882a1456b Author: Nick Clifton Date: Tue Dec 23 12:39:34 2014 +0000 Updated translations for the gas and gprof tools. * po/es.po: Updated Esperanto translation. * po/fr.po: Updated French translation. * po/uk.po: Updated Ukrainian translation. commit 1fc8204e528e37f358104dab17f0249ce72b0d9b Author: GDB Administrator Date: Tue Dec 23 00:00:12 2014 +0000 Automatic date update in version.in commit 926e166ccb13215da1577f83fd422d3c9b36a1f2 Author: H.J. Lu Date: Mon Dec 22 15:29:21 2014 -0800 Cast size to long to warn * dwarf.c (read_cie): Cast size to long to warn. commit 058037d3a169c91042c9b8549f7d04fd7550bed6 Author: Nick Clifton Date: Mon Dec 22 22:44:34 2014 +0000 More fixes for invalid memory accesses exposed by fuzzed binaries. PR binutils/17531 * dwarf.c (decode_location_expression): Check for an out of range value for a DW_OP_GNU_entry_value expression. (display_debug_lines_raw): Check for a partial .debug_line. section being encountered without a prior, full .debug.line section. (display_debug_lines_decoded): Likewise. Also check for li_line_range being zero. (display_debug_pubnames_worker): Check for an invalid pn_length field. (read_cie): Add range checks. * elfcomm.c (setup_archive): Check for a negative longnames_size. commit 5860e3f883597cf6b8a937547015394edc1e8784 Author: Nick Clifton Date: Mon Dec 22 20:59:00 2014 +0000 More fixes for memory access violations exposed by fuzzed binaries. PR binutils/17512 * archive.c (do_slurp_bsd_armap): Return if the parsed_size is zero. (bfd_slurp_armap): Zero terminate the name. (bfd_generic_stat_arch_elt): If there is no header, fail. * elf32-arc.c (arc_info_to_howto_rel): Replace BFD_ASSERT with error message. * elf32-avr.c (avr_info_to_howto_rela): Likewise. * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise. * elf32-cris.c (cris_info_to_howto_rela): Likewise. * elf32-d10v.c (d10v_info_to_howto_rel): Likewise. * elf32-d30v.c (d30v_info_to_howto_rel): Likewise. * elf32-dlx.c (dlx_rtype_to_howto): 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-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-mep.c (mep_info_to_howto_rela): Likewise. * elf32-metag.c (metag_info_to_howto_rela): 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-rl78.c (rl78_info_to_howto_rela): Likewise. * elf32-rx.c (rx_info_to_howto_rela): Likewise. * elf32-v850.c (v850_elf_info_to_howto_rel): 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-mmix.c (mmix_info_to_howto_rela): Likewise. * elf64-x86-64.c (elf_x86_64_reloc_type_lookup): Likewise. * elfnn-aarch64.c (elfNN_aarch64_bfd_reloc_from_type): Likewise. * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Add range checking of reloc symbol index. * mach-o.c (bfd_mach_o_canonicalize_one_reloc): If no symbols have been provided then set the reloc's symbol to undefined. * reloc.c (bfd_generic_get_relocated_section_contents): Add range checking of the reloc to be applied. * versados.c (process_otr): Add more range checks. (versados_canonicalize_reloc): If the section is unknown, set the symbol to undefined. * vms-alpha.c (_bfd_vms_slurp_eisd): Add range checks. (alpha_vms_object_p): Likewise. commit e30880c2eeee3b43897161344bbbffd03f3a1c91 Author: Cary Coutant Date: Mon Dec 22 10:13:37 2014 -0800 gold/ * powerpc.cc (Target_powerpc::relocate): Fix overflow check. commit f953163fe9bb5b87edb168a6ea25e2baa966750f Author: Doug Evans Date: Mon Dec 22 09:29:25 2014 -0800 cp-namespace.c (cp_lookup_symbol_via_all_imports): New function. gdb/ChangeLog: * cp-namespace.c (cp_lookup_symbol_via_all_imports): New function. (cp_lookup_symbol_namespace): Call it. (cp_lookup_symbol_nonlocal): Ditto. commit 4bd0864e2124057b312fafd3a86920f9e0a10a57 Author: Doug Evans Date: Mon Dec 22 09:20:50 2014 -0800 cp-namespace.c (cp_lookup_symbol_via_imports): New arg "search_scope_first". gdb/ChangeLog: * cp-namespace.c (cp_lookup_symbol_via_imports): New arg "search_scope_first". All callers updated. commit 6f27419a4d739346db2909d4258dea86e8ed0693 Author: Doug Evans Date: Mon Dec 22 09:11:44 2014 -0800 cp-namespace.c (cp_lookup_nested_symbol_1): New function. gdb/ChangeLog: * cp-namespace.c (cp_lookup_nested_symbol_1): New function. (cp_basic_lookup_symbol): Renamed from lookup_symbol_file. Delete arg "search". All callers updated. (cp_lookup_bare_symbol): New function. (cp_search_static_and_baseclasses): New function. (cp_lookup_symbol_in_namespace): Rewrite, move more logic here. (find_symbol_in_baseclass): Simplify, call cp_lookup_nested_symbol_1. (cp_lookup_nested_symbol): Ditto. commit d276311738a3863e58a1281e56e2073169e7b405 Author: Doug Evans Date: Mon Dec 22 08:44:50 2014 -0800 cp-namespace.c (cp_lookup_symbol_in_namespace): Simplify. gdb/ChangeLog: * cp-namespace.c (cp_lookup_symbol_in_namespace): Simplify. commit 791244bea2544503c626ffdd5fdb4ff657f98207 Author: Doug Evans Date: Mon Dec 22 08:42:02 2014 -0800 cp-namespace.c: Whitespace cleanup. gdb/ChangeLog: * cp-namespace.c: Whitespace cleanup. commit 6232c07d28f3a19059b165e17b92f723b35f1660 Author: GDB Administrator Date: Mon Dec 22 00:00:10 2014 +0000 Automatic date update in version.in commit 3946f7973c754ed65b7d1e0bf24b8e0618788242 Author: GDB Administrator Date: Sun Dec 21 00:00:16 2014 +0000 Automatic date update in version.in commit 87186c6a5ccf857d7f4e55478dda3aa06387c3c4 Author: Mihail-Marian Nistor Date: Sat Dec 20 11:04:44 2014 -0500 gdb/17394: cannot put breakpoint only in selected ASM file. This patch fixes a problem when trying to insert a breakpoint on a specific symbol defined in a specific file, eg: break foo.c:func This currently works for files in C/C++/Ada, etc, but doesn't always work for Asm files. Analysis of the problem showed that this related to a limitation in gas, which does not generate debug info for functions/ symbols. Thus, we have a symtab for the file ("info sources" shows the file), but it contains no symbols. When find_linespec_symbols is called in linespec_parse_basic, it calls find_function_symbols, which uses add_matching_symbols_to_info to collect all matching symbols. That function does [pardon any mangled formatting]: for (ix = 0; VEC_iterate (symtab_ptr, info->file_symtabs, ix, elt); ++ix) { if (elt == NULL) { iterate_over_all_matching_symtabs (info->state, name, VAR_DOMAIN, collect_symbols, info, pspace, 1); search_minsyms_for_name (info, name, pspace); } else if (pspace == NULL || pspace == SYMTAB_PSPACE (elt)) { /* Program spaces that are executing startup should have been filtered out earlier. */ gdb_assert (!SYMTAB_PSPACE (elt)->executing_startup); set_current_program_space (SYMTAB_PSPACE (elt)); iterate_over_file_blocks (elt, name, VAR_DOMAIN, collect_symbols, info); } } This iterates over the symtabs. In the failing use case, ELT is non-NULL (points to the symtab for the .s file), so it calls iterate_over_file_blocks. Herein is where the problem exists: it is assumed that if NAME exists, it must exist in the given symtab -- a reasonable assumption for "normal" (non-asm) cases. It never searches minimal symbols (or in the global default symtab). This patch fixes the problem by doing so. It is important to note that iterating over minsyms is fairly expensive, so this patch only adds that extra search if the language is language_asm and iterate_over_file_blocks returns no symbols. gdb/ChangeLog: 2014-12-20 Keith Seitz Mihail-Marian Nistor PR gdb/17394 * linespec.c (struct collect_minsyms): Add new member `symtab'. (add_minsym): Handle cases where info.symtab is non-NULL. (search_minsyms_for_name): Add new parameter `symtab'. Handle limiting searches to a specific symtab. (add_matching_symtabs_to_info): Search through minimal symbols for language_asm files for which no new symbols are found. gdb/testsuite/ChangeLog: 2014-12-20 Mihail-Marian Nistor PR gdb/17394 * gdb.linespec/break-asm-file.c: New file. * gdb.linespec/break-asm-file.exp: New file. * gdb.linespec/break-asm-file0.s: New file. * gdb.linespec/break-asm-file1.s: New file. commit bd040da1dbb7e6640440f306ddf993af98441851 Author: H.J. Lu Date: Sat Dec 20 08:05:45 2014 -0800 Change SometimesInlineFunction to "return i * i * 3;" The debug_msg test has 2 implementations of SometimesInlineFunction: int SometimesInlineFunction(int i) { return i; } int SometimesInlineFunction(int i) { return i * i; } and One Definition Rule (ODR) violation detection expects they will be compiled into functions of different sizes. Hower, on x86, GCC 4.7 and newer compile them into functions of the same size and ODR violation detection test fails. This patch changes int SometimesInlineFunction(int i) { return i; } to int SometimesInlineFunction(int i) { return i * i * 3; } so that it will be compiled into a function of larger size. PR gold/14608 * testsuite/debug_msg.cc (SometimesInlineFunction): Changed to "return i * i * 3;". commit 13a1997e6688d79ee01f1b082f7a220901c8cf34 Author: GDB Administrator Date: Sat Dec 20 00:00:12 2014 +0000 Automatic date update in version.in commit 0866e94c879f256ddb1bb7149c5f9fc7b80fda89 Author: Matthew Fortune Date: Tue Dec 16 12:39:22 2014 +0000 Rework the alignment check for BFD_RELOC_MIPS_18_PCREL_S3. gas/ * config/tc-mips.c (md_apply_fix): Apply alignment check to the symbol and offset rather than *valP for BFD_RELOC_MIPS_18_PCREL_S3. Also update the error message for BFD_RELOC_MIPS_19_PCREL_S2. gas/testsuite/ * gas/mips/r6-64.s: Remove .align directives from LDPC instructions and add further tests for LDPC. * gas/mips/r6-64-n32.d: remove the NOPs from LDPC expected output and update for new tests. * gas/mips/r6-64-n64.d: Likewise. * gas/mips/ldpc-unalign.l: New file. * gas/mips/ldpc-unalign.s: Likewise. * gas/mips/mips.exp: Run ldpc-unalign test. commit 13e322759bd9d6d64e68b200084341681687fb74 Author: Matthew Fortune Date: Thu Dec 18 22:04:02 2014 +0000 Fix octeon3 tests for targets with default abi != n32 gas/testsuite/ * gas/mips/octeon3.d: Switch to use numeric register names. commit d340a82588df5d54ead90124f3dce5bb750665d6 Author: Matthew Fortune Date: Thu Dec 18 21:28:07 2014 +0000 Fix all failing FPXX tests for tx39-elf. ld/testsuite/ * ld-mips-elf/attr-gnu-4-00.d: Relax check for ISA extension. * ld-mips-elf/attr-gnu-4-01.d: Likewise. * ld-mips-elf/attr-gnu-4-02.d: Likewise. * ld-mips-elf/attr-gnu-4-03.d: Likewise. * ld-mips-elf/attr-gnu-4-08.d: Likewise. * ld-mips-elf/attr-gnu-4-10.d: Likewise. * ld-mips-elf/attr-gnu-4-11.d: Likewise. * ld-mips-elf/attr-gnu-4-18.d: Likewise. * ld-mips-elf/attr-gnu-4-20.d: Likewise. * ld-mips-elf/attr-gnu-4-22.d: Likewise. * ld-mips-elf/attr-gnu-4-28.d: Likewise. * ld-mips-elf/attr-gnu-4-30.d: Likewise. * ld-mips-elf/attr-gnu-4-33.d: Likewise. * ld-mips-elf/attr-gnu-4-38.d: Likewise. * ld-mips-elf/attr-gnu-4-44.d: Likewise. commit 6e8ec71244d3bb6a1223d07965066b7b9836ab7d Author: Matthew Fortune Date: Thu Dec 18 20:08:38 2014 +0000 Fix undefined weak symbol reloc tests ld/testsuite/ * ld-mips-elf/mips-elf.exp: Update undefweak-overflow tests. * ld-mips-elf/undefweak-overflow-n32.d: Remove. * ld-mips-elf/undefweak-overflow-n64.d: Likewise. * ld-mips-elf/undefweak-overflow.s: Set mips64r6, noreorder and add a label to mark the micromips region. * ld-mips-elf/undefweak-overflow.d: Update expected output. commit bb7e3f4d51bf73843de0572af17ee1b6cf1167db Author: Yao Qi Date: Fri Dec 19 13:13:07 2014 +0800 MIPS SDE OS ABI support This patch is to add SDE OS ABI support in GDB, which has been used in codesourcery gdb tree for some years. gdb: 2014-12-19 Maciej W. Rozycki Nigel Stephens Chris Dearman Luis Machado * Makefile.in (ALL_TARGET_OBS): Add mips-sde-tdep.o. (ALLDEPFILES): Add mips-sde-tdep.c. * mips-sde-tdep.c: New file containg SDE specific code. * configure.tgt (mips*-sde*-elf*): Add mips-sde-dep.o to gdb_target_obs. * defs.h (gdb_osabi): Add GDB_OSABI_SDE. * osabi.c (gdb_osabi_names): Add SDE. * NEWS: Mention the change. commit ff7609bc46d9afdd4fdbaebf49a838db75d78057 Author: GDB Administrator Date: Fri Dec 19 00:00:12 2014 +0000 Automatic date update in version.in commit 04c6a44c7c74d9e60ca47373a0d7d51209d93dbc Author: Richard Henderson Date: Thu Dec 18 15:40:25 2014 -0600 Set ppc COMMONPAGESIZE to 64k bfd/ * elf32-ppc.c (ELF_COMMONPAGESIZE): Set to 64k. * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise. commit db7a9bcd53534a32abf4d75a93838c6bdbf876fa Author: Simon Marchi Date: Thu Dec 18 11:39:44 2014 -0500 A few comment cleanups I stumbled upon a few comments that I think are outdated. Comment for elfread.c (elf_symfile_init): As far as history goes in git, I don't see anything related to that. Comment for elfread.c (elf_symfile_read): References a parameter that was removed in 1999. Comment for struct sym_fns/sym_offsets: References a parameter that was changed in 1999. gdb/ChangeLog: * elfread.c (elf_symfile_init): Remove stale comment. (elf_symfile_read): Same. * symfile.h (struct sym_fns): Same. commit 1bab73830f14fc0dcb1b0e7663cf8c2e02b10d72 Author: Yao Qi Date: Thu Dec 18 20:47:28 2014 +0800 MIPS: Provide FPU info and decode FCSR in `info float' This patch is the V2. V1 can be found in https://sourceware.org/ml/gdb-patches/2012-05/msg00938.html V2 is to address Joel's comment about keeping dumping floating point registers. Additionally, command 'info float' prints bits on nan2008 and abs2008. ------------------------------------------------------------------ The change below provides a MIPS-specific handler for the: (gdb) info float command. It provides information about the FPU type available (if any), the FPU register width, and decodes the CP1 Floating Point Control and Status Register (FCSR): (gdb) print /x $fsr $1 = 0xff83ffff (gdb) info float fpu type: double-precision reg size: 32 bits cond : 0 1 2 3 4 5 6 7 cause : inexact uflow oflow div0 inval unimp mask : inexact uflow oflow div0 inval flags : inexact uflow oflow div0 inval rounding: -inf flush : zero One point to note about CP1.FCSR are the non-standard Flush-to-Nearest and Flush-Override bits. They are not a part of the MIPS architecture and take two positions reserved for an implementation-dependent use in the architecture. They are present in all the FPU implementations made by MIPS Technologies since the spin-off from SGI. I haven't been able to track down a single other MIPS FPU implementation that would make any use of these bits and they are required to be hardwired to zero by the architecture specification if unimplemented. Therefore I think it makes sense to report them in the current way. GDB has no guaranteed access to the CP0 Processor Identification (PRId) register to validate this feature properly and the ID information stored in the CP1 Floating Point Implementation Register (FIR) is from my experience not reliable enough (there's no Company ID available there for once unlike in CP0.PRId and Processor ID is not guaranteed to be unique). As a side note we should probably dump CP1.FIR information as well, as there's useful stuff indicating some FPU features there. That's material for another change however. gdb/ 2014-12-18 Nigel Stephens Maciej W. Rozycki * mips-tdep.c (print_fpu_flags): New function. (mips_print_float_info): Likewise. (mips_gdbarch_init): Install mips_print_float_info as gdbarch print_float_info routine. gdb/testsuite/ 2014-12-18 Nigel Stephens Maciej W. Rozycki * gdb.base/float.exp: Handle the new output from "info float" on MIPS targets. commit cc86d1cb9510dbba32bf19e5d2699f2972efbc03 Author: Yao Qi Date: Thu Dec 18 20:47:28 2014 +0800 Refactor gdbarch method print_float_info This patch is to change print_float_info gdbarch method for the following two reasons, 1. we want to add a default implementation of print_float_info to dump the float pointer registers. It can be reused by backend to print something more than float point registers. 2. we want to simplify the caller of print_float_info, infcmd.c:print_float_info. gdb: 2014-12-18 Yao Qi * gdbarch.sh (print_float_info): Change its type from 'M' to 'm'. * gdbarch.c: Re-generated. * gdbarch.h: Likewise. * infcmd.c (default_print_float_info): New function. (print_float_info): Removed. Move code to default_print_float_info. (float_info): Adjust to call gdbarch_print_float_info. * inferior.h (default_print_float_info): Declare it. commit 2ad47ec43319b87774a276506f48e8e4496bb310 Author: Yao Qi Date: Thu Dec 18 20:47:27 2014 +0800 Remove h8300_print_float_info In infcmd.c:print_float_info, if the architecture doesn't have gdbarch method print_float_info implemented and doesn't float reggroup, GDB will prints "No floating-point info available for this processor." The h8300 port doesn't have float registers, and don't need to implement print_float_info. This patch is to remove it. gdb: 2014-12-18 Yao Qi * h8300-tdep.c (h8300_print_float_info): Remove. (h8300_gdbarch_init): Remove the call to set_gdbarch_print_float_info. commit 253342b8e6fbd24249fb84eebc706d923f08406f Author: Doug Evans Date: Thu Dec 18 01:32:59 2014 -0800 infcmd.c (jump_command): Minor simplification. gdb/ChangeLog: * infcmd.c (jump_command): Minor simplification. commit 46b0da1738df4a49025f1674a67cd841688dd3d9 Author: Doug Evans Date: Thu Dec 18 01:10:34 2014 -0800 language_lookup_primitive_type: Renamed from language_lookup_primitive_type_by_name. gdb/ChangeLog: * language.c (language_lookup_primitive_type): Renamed from language_lookup_primitive_type_by_name. All callers updated. commit 99d4b98d4b61b13947514670ef14a61e42ebd1ed Author: Doug Evans Date: Thu Dec 18 00:52:40 2014 -0800 Fix file name in earlier entry. commit 6ddfe5b4f9644204d5e322a2d026a01190dd38d9 Author: Mark Wielaard Date: Thu Dec 18 13:05:53 2014 +1030 Display DW_LANG_C11 as (C11). * dwarf.c (read_and_display_attr_value): Change display name of DW_LANG_C11 from (ANSI C11) to (C11). commit e0631a6a2b7cadc7a0ed6a6110fb1a5818dde511 Author: GDB Administrator Date: Thu Dec 18 00:00:09 2014 +0000 Automatic date update in version.in commit 1bc1068a0c1a1a0fad09500c97edf88467de9be0 Author: Jan Kratochvil Date: Wed Dec 17 20:09:02 2014 +0100 Fix MinGW compilation On Sun, 14 Dec 2014 07:00:28 +0100, Yao Qi wrote: The build on mingw host is broken because mingw has no mkdtemp. ../../../git/gdb/compile/compile.c: In function 'get_compile_file_tempdir': ../../../git/gdb/compile/compile.c:194:3: error: implicit declaration of function 'mkdtemp' [-Werror=implicit-function-declaration] tempdir_name = mkdtemp (tname); ^ ../../../git/gdb/compile/compile.c:194:16: error: assignment makes pointer from integer without a cast [-Werror] tempdir_name = mkdtemp (tname); ^ cc1: all warnings being treated as errors In the end I have managed to test it by Wine myself: $ wine build_win32/gdb/gdb.exe -q build_win32/gdb/gdb.exe -ex start -ex 'compile code 1' -ex 'set confirm no' -ex quit [...] Temporary breakpoint 1, main (argc=1, argv=0x241418) at ../../gdb/gdb.c:29 29 args.argc = argc; Could not load libcc1.so: Module not found. Even if it managed to load libcc1.so (it needs host-dependent name libcc1.dll) then it would soon end up at least on: default_infcall_mmap: error (_("This target does not support inferior memory allocation by mmap.")); As currently there is only: linux-tdep.c: set_gdbarch_infcall_mmap (gdbarch, linux_infcall_mmap); While one could debug Linux targets from MS-Windows host I find it somehow overcomplicated now when we are trying to get it running at least on native Linux x86*. The 'compile' project needs a larger port effort to run on MS-Windows. gdb/ChangeLog 2014-12-17 Jan Kratochvil Fix MinGW compilation. * compile/compile.c (get_compile_file_tempdir): Call error if !HAVE_MKDTEMP. * config.in: Regenerate. * configure: Regenerate. * configure.ac (AC_CHECK_FUNCS): Add mkdtemp. gdb/testsuite/ChangeLog 2014-12-17 Jan Kratochvil Fix MinGW compilation. * gdb.compile/compile-ops.exp: Update untested message if !skip_compile_feature_tests. * gdb.compile/compile-setjmp.exp: Likewise. * gdb.compile/compile-tls.exp: Likewise. * gdb.compile/compile.exp: Likewise. * lib/gdb.exp (skip_compile_feature_tests): Check also "Command not supported on this host". commit 5e3c72e6b817a4d40a9ba551ed3c397098cdbfd4 Author: Doug Evans Date: Wed Dec 17 00:30:29 2014 -0800 value_maybe_namespace_elt: Remove redundant call to lookup_static_symbol. Anytime you can remove a symbol lookup that loops over all objfiles is A Good Thing. The call to lookup_static_symbol in valops.c:value_maybe_namespace_elt is redundant with this call in cp_lookup_nested_symbol: /* Now search all static file-level symbols. We have to do this for things like typedefs in the class. We do not try to guess any imported namespace as even the fully specified namespace search is already not C++ compliant and more assumptions could make it too magic. */ size = strlen (parent_name) + 2 + strlen (nested_name) + 1; concatenated_name = alloca (size); xsnprintf (concatenated_name, size, "%s::%s", parent_name, nested_name); sym = lookup_static_symbol (concatenated_name, VAR_DOMAIN); if (sym != NULL) return sym; Earlier in value_maybe_namespace_elt we do this: sym = cp_lookup_symbol_namespace (namespace_name, name, get_selected_block (0), VAR_DOMAIN); That sequence goes like: value_maybe_namespace_elt -> cp_lookup_symbol_namespace -> cp_lookup_symbol_in_namespace -> lookup_symbol_file -> cp_lookup_nested_symbol -> lookup_static_symbol The call was added in commit 41f62f3939b1c69e68ef5652feb44fef90eb85c9. https://sourceware.org/ml/gdb-patches/2010-06/msg00663.html With a part 2 here: https://sourceware.org/ml/gdb-patches/2010-06/msg00664.html At the time the call to lookup_static_symbol (spelled lookup_static_symbol_aux at the time) was needed. However, this patch, 8dea366bbed7986295681c101dcfbd35aeb6dfc4, https://sourceware.org/ml/gdb-patches/2012-11/msg00387.html augmented lookup_symbol_file to call cp_lookup_nested_symbol and introduced the redundancy. It's kinda buried, so it's totally not unexpected that this happened. gdb/ChangeLog: * valops.c (value_maybe_namespace_elt): Remove redundant call to lookup_static_symbol. commit cc485e620197e6db42d942820d499b01794aeb00 Author: Doug Evans Date: Wed Dec 17 00:17:27 2014 -0800 New parameter "debug symbol-lookup". gdb/ChangeLog: New parameter "debug symbol-lookup". * NEWS: Mention it. * cp-namespace.c (cp_lookup_symbol_imports_or_template): Add debug output. (cp_lookup_symbol_namespace, cp_lookup_symbol_nonlocal): Ditto. (cp_lookup_nested_symbol): Ditto. * language.c (language_lookup_primitive_type_by_name): Add debug output. * minsyms.c (lookup_minimal_symbol): Add debug output. * objfiles.c (objfile_debug_name): Moved here, and renamed ... * symfile-debug.c (debug_objfile_name): ... from here. All callers updated. * objfiles.h (objfile_debug_name): Declare. * symtab.h (symbol_lookup_debug): Declare. * symtab.c (symbol_lookup_debug): New global. (lookup_language_this): Add debug output. (lookup_symbol_aux, lookup_symbol_in_block): Ditto. (lookup_symbol_in_objfile_symtabs, lookup_symbol_via_quick_fns): Ditto. (lookup_symbol_in_static_block, lookup_symbol_in_objfile): Ditto. (_initialize_symtab): Add new parameter "debug symbol-lookup". gdb/doc/ChangeLog: * gdb.texinfo (Debugging Output): Document "debug symbol-lookup". commit 0ab9ce852ba65ef77cfc1fc82d1c48d03152f868 Author: Doug Evans Date: Wed Dec 17 00:00:14 2014 -0800 Make buildsym set-up/tear-down more consistent, and document it. gdb/ChangeLog: * buildsym.c: Add comments describing how the buildsym machinery is used by the various file formats. (really_free_pendings): Enhance function comment. See pending_macros to NULL. Simplify resetting pending_addrmap. Call free_buildsym_compunit. (free_buildsym_compunit): Set current_subfile to NULL. (prepare_for_building): New function. (start_symtab): Call it. Remove call to set_last_source_file. (restart_symtab): New arg "cust". All callers updated. Simplify, call prepare_for_building. Re-initialize buildsym_compunit. (reset_symtab_globals): Enhance function comment. Set local_symbols, file_symbols, global_symbols to NULL. Set pending_macros to NULL. Simplify resetting pending_addrmap. Call free_buildysym_compunit. (end_symtab_without_blockvector): Delete. All callers updated. (end_symtab_with_blockvector): Remove redundant call to free_buildsym_compunit. (augment_type_symtab): Remove arg "cust". All callers updated. (buildsym_init): Remove resetting of free_pendings, file_symbols, global_symbols, pending_blocks, pending_macros. Instead make handling consistent with pending_addrmap: Assert value was reset at end of previous symtab building. Initialize context_stack here. commit b6615d1086eb357e62ec2db85b48d1d1c75157bc Author: Doug Evans Date: Tue Dec 16 23:10:54 2014 -0800 boards/stabs.exp: New file. gdb/ChangeLog: * boards/stabs.exp: New file. commit 55accf4a1eccd84436fc8238cb44021709472188 Author: Doug Evans Date: Tue Dec 16 22:19:15 2014 -0800 cp_lookup_symbol_via_imports: Renamed from cp_lookup_symbol_imports. gdb/ChangeLog: * cp-namespace.c (cp_lookup_symbol_via_imports): Renamed from cp_lookup_symbol_imports. All callers updated. commit a07e3e182d1a00af9ce7bfc6b437f72fa84a2d8b Author: Doug Evans Date: Tue Dec 16 22:13:57 2014 -0800 cp_find_type_baseclass_by_name: Renamed from find_type_baseclass_by_name. gdb/ChangeLog: * cp-namespace.c (cp_find_type_baseclass_by_name): Renamed from find_type_baseclass_by_name. All callers updated. commit d01060f023ce60fea127b737298a3d4e9bc9404b Author: Doug Evans Date: Tue Dec 16 22:00:13 2014 -0800 symtab.h (struct symbol_search) : Delete, unnecessary. gdb/ChangeLog: * symtab.h (struct symbol_search) : Delete. All uses updated. * symtab.c (compare_search_syms): Use SYMBOL_SYMTAB accessor. (print_symbol_info): Delete arg symtab. All callers updated. (symtab_symbol_info): Use SYMBOL_SYMTAB accessor. commit 64f0601bb42fae8cebf8f845a840bf21f14ad125 Author: GDB Administrator Date: Wed Dec 17 00:00:08 2014 +0000 Automatic date update in version.in commit e02a4046e0617f3e2c1b811a1888db3fa998dfa4 Author: Cary Coutant Date: Tue Dec 16 14:57:17 2014 -0800 Fix internal error in gold when -Map and --compress-debug-sections are used together. gold/ * mapfile.cc (Mapfile::print_input_section): Print uncompressed sizes. (Mapfile::print_output_data): Use current_data_size() to avoid assert for sections requiring postprocessing; if address is not valid, print 0. (Mapfile::print_output_section): Use current_data_size(); print note that addresses and sizes are before compression. commit 15969b63f98e669afd097a1878b191a01bf95d82 Author: Matthew Fortune Date: Tue Dec 16 13:37:20 2014 +0000 Fix octeon3 testsuite fallout gas/testsuite/ * gas/mips/attr-gnu-4-5.d: Ignore ASEs. * gas/mips/attr-gnu-4-6.d: Likewise. * gas/mips/attr-gnu-4-7.d: Likewise. * gas/mips/attr-none-o32-fp64-nooddspreg.d: Likewise. * gas/mips/attr-none-o32-fp64.d: Likewise. * gas/mips/attr-none-o32-fpxx.d: Likewise. commit b9121b573e2e2a9cc5a96bf84727c882cd21f2f9 Author: Matthew Fortune Date: Tue Dec 16 13:33:56 2014 +0000 Add in a JALRC alias and fix the NAL instruction. opcodes/ * mips-opc.c (mips_builtin_opcodes): Add JALRC alias for JIALC. Remove the operand from NAL. gas/testsuite/ * gas/mips/r6.s: Test JALRC and NAL * gas/mips/r6-n32.d: Add expected output for JALRC and NAL. * gas/mips/r6-n64.d: Likewise. * gas/mips/r6.d: Likewise. commit 25dda427ec9e074e0a258eb93c7cc811f0a85a9c Author: Andreas Arnez Date: Tue Dec 16 16:06:42 2014 +0100 Fix indentation of "maint print user-registers" This fixes a failure of the test case "complete 'info registers '" in completion.exp on architectures where the user registers have numbers above 99. In that case the output of "maint print user-registers" was no longer indented, and the regexp in the test case failed to add them to the list of expected completion results. The fix also swaps the columns "Name" and "Nr", such that the indentation is always the same, and to be consistent with the output of "maint print registers". gdb/ChangeLog: * user-regs.c (maintenance_print_user_registers): Swap "Nr" and "Name" columns. Assure that the output is always indented. gdb/testsuite/ChangeLog: * gdb.base/completion.exp: Adjust to format changes of "maint print user-registers". commit 033539e2685156ad6ad60e5925bc61cef5ced483 Author: Nick Clifton Date: Tue Dec 16 14:17:15 2014 +0000 Fix a memory access violation triggeed by a fuzzed binary. PR binutils/17512 * format.c (bfd_check_format_matches): Check for a matching vector before using match priorities. * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Fix off-by-one errors with previous delta. commit beed38b8273fa18be574a7e84d5d2ee1f563ed48 Author: Joel Brobecker Date: Tue Nov 11 10:07:21 2014 +0400 [Linux] Ask kernel to kill inferior when GDB terminates This patch enhances GDB on GNU/Linux systems in the situation where we are debugging an inferior that was created from GDB (as opposed to attached to), by asking the kernel to kill the inferior if GDB terminates without doing it itself. This would typically happen when GDB encounters a problem and crashes, or when it gets killed by an external process. This can be observed by starting a program under GDB, and then killing GDB with signal 9. After GDB is killed, the inferior still remains. This patch also fixes GDBserver similarly. This fix is conditional on the kernel supporting the PTRACE_O_EXITKILL feature. On older kernels, the behavior remains unchanged. gdb/ChangeLog: * nat/linux-ptrace.h (PTRACE_O_EXITKILL): Define if not already defined. (linux_enable_event_reporting): Add parameter "attached". * nat/linux-ptrace.c (linux_test_for_exitkill): New forward declaration. New function. (linux_check_ptrace_features): Add linux_test_for_exitkill call. (linux_enable_event_reporting): Add new parameter "attached". Do not call ptrace with the PTRACE_O_EXITKILL if ATTACHED is nonzero. * linux-nat.c (linux_init_ptrace): Add parameter "attached". Use it. Update function description. (linux_child_post_attach, linux_child_post_startup_inferior): Update call to linux_enable_event_reporting. gdb/gdbserver/ChangeLog: * linux-low.c (linux_low_filter_event): Update call to linux_enable_event_reporting following the addition of a new parameter to that function. Tested on x86_64-linux, native and native-gdbserver. I also verified by hand that the inferior gets killed when killing GDB in the "run" case, while the inferior remains in the "attach" case. Same for GDBserver. commit bf330350c212fb8880faab663f5b3565319d0a95 Author: Catalin Udma Date: Tue Dec 16 09:51:42 2014 +0200 aarch64/gdbserver: fix floating point registers display When using aarch64 gdb with gdbserver, floating point registers are not correctly displayed, as below: (gdb) info registers fpsr fpcr fpsr fpcr To fix these problems, the missing fpsr and fpcr registers are added when floating point registers are read/write Add test for aarch64 floating point PR server/17457 gdb/gdbserver/ PR server/17457 * linux-aarch64-low.c (AARCH64_FPSR_REGNO): New define. (AARCH64_FPCR_REGNO): Likewise. (AARCH64_NUM_REGS): Update to include fpsr/fpcr registers. (aarch64_fill_fpregset): Add missing fpsr/fpcr registers. (aarch64_store_fpregset): Likewise. gdb/testsuite/ PR server/17457 * gdb.arch/aarch64-fp.c: New file. * gdb.arch/aarch64-fp.exp: New file. Signed-off-by: Catalin Udma commit 8fda9068191372d8282648986055493be17feff0 Author: Yao Qi Date: Mon Dec 15 16:29:21 2014 +0800 Move NEWS entries to the right section gdb: 2014-12-16 Yao Qi * NEWS: Move some entries to "Changes since GDB 7.8" section. commit 2a54636794b71f8248dff12cd7608829ee068571 Author: Yao Qi Date: Mon Dec 15 21:40:29 2014 +0800 Replace ARG_MAX with ARG_LAST We define an enum ARG_MAX in linux_infcall_mmap, but it is conflict with macro ARG_MAX which is defined in /usr/include/linux/limits.h. This causes a build failure below, gdb/linux-tdep.c: In function 'linux_infcall_mmap': gdb/linux-tdep.c:1945:70: error: expected identifier before numeric constant the enum in the pre-processed source becomes: enum { ARG_ADDR, ARG_LENGTH, ARG_PROT, ARG_FLAGS, ARG_FD, ARG_OFFSET, 131072 }; This patch is to replace ARG_MAX with ARG_LAST. gdb: 2014-12-16 Yao Qi * linux-tdep.c (linux_infcall_mmap): Replace ARG_MAX with ARG_LAST. commit 395cf596db32c02f34fa211cf49c3e9231d7c277 Author: Sergio Durigan Junior Date: Mon Dec 15 19:34:24 2014 -0500 Merge dg-extract-results.{sh,py} from GCC upstream It has been a while since we don't sync this file with GCC upstream, and in the meantime some interesting things have happened. The most interesting is the inclusion of a new dg-extract-results.py which is apparently faster than its shell equivalent. This merge will probably fix the bug described in Though I am still proposing the patch for upstream GCC. Once it gets accepted, I will merge it too. OK to apply? gdb/testsuite/ChangeLog: 2014-12-15 Sergio Durigan Junior Merge dg-extract-results.{sh,py} from GCC upstream (r210243, r210637, r210913, r211666, r215400, r215817). 2014-05-08 Richard Sandiford * dg-extract-results.py: New file. * dg-extract-results.sh: Use it if the environment seems suitable. 2014-05-20 Richard Sandiford * dg-extract-results.py (parse_run): Handle warnings that are printed before a test harness is run. 2014-05-25 Richard Sandiford * dg-extract-results.py (Named): Remove __cmp__ method. (output_variation): Use a key to sort variation.harnesses. 2014-06-14 Richard Sandiford * dg-extract-results.py: For Python 3, force sys.stdout to handle surrogate escape sequences. (safe_open): New function. (output_segment, main): Use it. 2014-09-19 Segher Boessenkool * dg-extract-results.py (Prog.result_re): Include options in test name. 2014-10-02 Segher Boessenkool * dg-extract-results.py (output_variation): Always sort if do_sum. commit c2c0b2c2b08b086318f1e7e51573111f0d2c7702 Author: GDB Administrator Date: Tue Dec 16 00:00:09 2014 +0000 Automatic date update in version.in commit c9657e708a03cb06ad92ce81bf17c68d28e57689 Author: Simon Marchi Date: Mon Dec 15 12:00:55 2014 -0500 Introduce utility function find_inferior_ptid This patch introduces find_inferior_ptid to replace the common idiom find_inferior_pid (ptid_get_pid (...)); It replaces all the instances of that idiom that I found with the new function. No significant changes before/after the patch in the regression suite on amd64 linux. gdb/ChangeLog: * inferior.c (find_inferior_ptid): New function. * inferior.h (find_inferior_ptid): New declaration. * ada-tasks.c (ada_get_task_number): Use find_inferior_ptid. * corelow.c (core_pid_to_str): Same. * darwin-nat.c (darwin_resume): Same. * infrun.c (fetch_inferior_event): Same. (get_inferior_stop_soon): Same. (handle_inferior_event): Same. (handle_signal_stop): Same. * linux-nat.c (resume_lwp): Same. (stop_wait_callback): Same. * mi/mi-interp.c (mi_new_thread): Same. (mi_thread_exit): Same. * proc-service.c (ps_pglobal_lookup): Same. * record-btrace.c (record_btrace_step_thread): Same. * remote-sim.c (gdbsim_close_inferior): Same. (gdbsim_resume): Same. (gdbsim_stop): Same. * sol2-tdep.c (sol2_core_pid_to_str): Same. * target.c (memory_xfer_partial_1): Same. (default_thread_address_space): Same. * thread.c (thread_change_ptid): Same. (switch_to_thread): Same. (do_restore_current_thread_cleanup): Same. commit e882ef3cfc3d991433c3b9aed104961ad3ce5904 Author: Simon Marchi Date: Mon Dec 15 11:46:44 2014 -0500 testsuite: expect possible pagination when starting gdb When gdb starts, the lines that appear before the first prompt may get paginated if the terminal in which the tests are ran is too small (in terms of rows). These lines include the welcome/license message and possibly more, such as "Reading symbols from...". Pagination is disabled right after gdb is started (with "set height 0"), but this output happens before we are able to set height. If these lines get paginated, gdb waits for the user to press enter and the test harness waits for gdb to print its prompt, resulting in a deadlock. My first idea was to launch gdb with --quiet. However, some lines are still printed ("Reading symbols from...", some more stuff when attaching with --pid, etc). The proposed solution simply expects that pagination can occur after starting gdb. If this is the case, it sends a "\n" and loops. gdb/testsuite/Changelog: * lib/gdb.exp (default_gdb_start): After starting gdb, loop as long as we get pagination notifications. commit 38bcc89d48a20af944fe0d51eff3980f7dc8a88e Author: Simon Marchi Date: Mon Dec 15 11:38:03 2014 -0500 Fix build with Python 3.4 (PR python/16784) The type of the function pointer PyOS_ReadlineFunctionPointer (part of the Python C API), which we use, slightly changed starting with Python 3.4. The signature went from PyAPI_DATA(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, char *); to PyAPI_DATA(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *); The parameter that changed is the prompt text. This commits adjust gdb accordingly by making the prompt_arg parameter const, as well as the fallouts of that. I needed to rework how annotations are added to the prompt, since the it is now const. If annotations are enabled, it will make a copy of the prompt overwrite the prompt variable that is used throughout the function. Otherwise, no copy is done and the original prompt_arg value is passed. I changed the signature of deprecated_readline_hook. I would've changed any user of it, but it seems like nothing is using it, Built-tested with python 2.7.x, 3.3.y and 3.4.z. gdb/ChangeLog: * defs.h (gdb_readline): Constify argument. (gdb_readline_wrapper): Same. (command_line_input): Same. (deprecated_readline_hook): Same. * top.c (deprecated_readline_hook): Same. (gdb_readline): Same. (gdb_readline_wrapper): Same. (command_line_input): Constify argument. Pass prompt to called functions instead of local_prompt, overwriting prompt if using annotations. * event-top.h (display_gdb_prompt): Constify argument. * event-top.c (display_gdb_prompt): Same. * python/py-gdb-readline.c (gdbpy_readline_wrapper): Constify argument if building with Python 3.4 and up. Signed-off-by: Simon Marchi commit 89ed8ea187a460bc746a41f08fa8ee986716743b Author: Simon Marchi Date: Mon Dec 15 11:30:20 2014 -0500 python extended prompt: Use os.getcwd() instead of os.getcwdu() It seems like using os.getcwdu() here is wrong both for Python 2 and Python 3. For Python 2, this returns a 'unicode' object, which tries to get concatenated to a 'str' object in substitute_prompt. The implicit conversion works when the unicode string contains no accent. When it does contain an accent though, displaying the prompt results in the following error: (gdb) set extended-prompt \w ... File "/home/simark/build/binutils-gdb-python2/gdb/data-directory/python/gdb/prompt.py", line 138, in substitute_prompt result += str(cmd(arg)) UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 49: ordinal not in range(128) When using os.getcwd() instead, it works correctly. I suppose that Python does the necessary decoding internally. For Python 3, this method simply does not exist. It works fine with os.getcwd(). gdb/ChangeLog: * python/lib/gdb/prompt.py (_prompt_pwd): Use os.getcwd() instead of os.getcwdu(). commit 263ddf68020ee659a221af45319984b4e73e8efe Author: H.J. Lu Date: Mon Dec 15 08:27:57 2014 -0800 Check corrupt input PR ld/17713 * elflink.c (_bfd_elf_gc_mark_rsec): Check corrupt input. commit 4992aa2019c1b0467e60c6064b8aa958913f37e5 Author: Jason Merrill Date: Tue Dec 9 15:50:03 2014 -0500 * Makefile.in (check-gdb.%): Restore. * README: Mention it. commit 5227d625257f3ae52d45d87f2e16954fb5af9349 Author: Joel Brobecker Date: Tue Nov 25 11:12:10 2014 -0500 Use PTRACE_SINGLESTEP_ONE when single-stepping one thread. Currently, when we receive a request to single-step one single thread (Eg, when single-stepping out of a breakpoint), we use the PTRACE_SINGLESTEP pthread request, which does single-step the corresponding thread, but also resumes execution of all other threads in the inferior. This causes problems when debugging programs where another thread receives multiple debug events while trying to single-step a specific thread out of a breakpoint (with infrun traces turned on): (gdb) continue Continuing. infrun: clear_proceed_status_thread (Thread 126) [...] infrun: clear_proceed_status_thread (Thread 142) [...] infrun: clear_proceed_status_thread (Thread 146) infrun: clear_proceed_status_thread (Thread 125) infrun: proceed (addr=0xffffffff, signal=GDB_SIGNAL_DEFAULT, step=0) infrun: resume (step=1, signal=GDB_SIGNAL_0), trap_expected=1, current thread [Thread 142] at 0x10684838 infrun: wait_for_inferior () infrun: target_wait (-1, status) = infrun: 42000 [Thread 146], infrun: status->kind = stopped, signal = GDB_SIGNAL_REALTIME_34 infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10a187f4 infrun: context switch infrun: Switching context from Thread 142 to Thread 146 infrun: random signal (GDB_SIGNAL_REALTIME_34) infrun: switching back to stepped thread infrun: Switching context from Thread 146 to Thread 142 infrun: resume (step=1, signal=GDB_SIGNAL_0), trap_expected=1, current thread [Thread 142] at 0x10684838 infrun: prepare_to_wait [...handling of similar events for threads 145, 144 and 143 snipped...] infrun: prepare_to_wait infrun: target_wait (-1, status) = infrun: 42000 [Thread 146], infrun: status->kind = stopped, signal = GDB_SIGNAL_REALTIME_34 infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10a187f4 infrun: context switch infrun: Switching context from Thread 142 to Thread 146 ../../src/gdb/inline-frame.c:339: internal-error: skip_inline_frames: Assertion `find_inline_frame_state (ptid) == NULL' failed. What happens is that GDB keeps sending requests to resume one specific thread, and keeps receiving debugging events for other threads. Things break down when the one of the other threads receives a debug event for the second time (thread 146 in the example above). This patch fixes the problem by making sure that only one thread gets resumed, thus preventing the other threads from generating an unexpected event. gdb/gdbserver/ChangeLog: * lynx-low.c (lynx_resume): Use PTRACE_SINGLESTEP_ONE if N == 1. Remove FIXME comment about assumption about N. commit aacd3e8c4f5ac00f1ee41c082c2f10eb7457d04c Author: Catalin Udma Date: Mon Dec 15 16:41:29 2014 +0200 Fix info mem command for 32 bits host/64 bits target When running gdb on 32 bits host for 64 bits target, info mem command truncates the target address to 32 bits, like in the example below (gdb) set architecture powerpc:common64 (gdb) mem 0x100000000 0x200000000 rw (gdb) info mem 1 y 0x0000000000000000 0x0000000000000000 rw nocache gdb/ChangeLog: PR gdb/15684 * memattr.c (mem_info_command): Remove "unsigned long" casts. Signed-off-by: Catalin Udma commit 184d64776bc16fcba7b00e5784e27f52854cc8dd Author: GDB Administrator Date: Mon Dec 15 00:00:08 2014 +0000 Automatic date update in version.in commit 0d2b51ad6aec6f9e92a3cb0ed4d9f6c9c490c392 Author: H.J. Lu Date: Sun Dec 14 07:23:15 2014 -0800 Mention --compress-debug-sections default in NEWS * NEWS: Mention --compress-debug-sections is on by default for Linux/x86. commit add6016bac156e40e60bf21a2c2c8ed3015db049 Author: H.J. Lu Date: Sun Dec 14 06:59:20 2014 -0800 Cast current_group_size to unsigned long * aarch64.cc (AArch64_relocate_functions::maybe_apply_stub): Cast current_group_size to unsigned long when reporting error. commit 89e7505fcde4bd83948f559f429a0e1eb4262f05 Author: H.J. Lu Date: Sun Dec 14 06:41:03 2014 -0800 Compress debug sections for Linux/x86 by default * config/tc-i386.c (flag_compress_debug): Default to compress debug sections for Linux. commit bc696fd5af08fa199750abfca092894ab54206c7 Author: H.J. Lu Date: Sat Dec 13 23:37:22 2014 -0800 Handle weak alias for PIE with copy reloc When there is a weak symbol with a real definition, the processor independent code will have arranged for us to see the real definition first. We need to copy the needs_copy bit from the real definition and check it when allowing copy reloc in PIE. bfd/ PR ld/17689 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add needs_copy. Change has_bnd_reloc to bit field. (elf_x86_64_link_hash_newfunc): Initialize needs_copy and has_bnd_reloc to 0. (elf_x86_64_check_relocs): Set has_bnd_reloc to 1 instead of TRUE. (elf_x86_64_adjust_dynamic_symbol): Copy needs_copy from the real definition to a weak symbol. (elf_x86_64_allocate_dynrelocs): Also check needs_copy of a weak symbol for PIE when discarding space for relocs against symbols which turn out to need copy relocs. (elf_x86_64_relocate_section): Also check needs_copy of a weak symbol for PIE with copy reloc. ld/testsuite/ PR ld/17689 * ld-x86-64/pr17689.out: New file. * ld-x86-64/pr17689.rd: Likewise. * ld-x86-64/pr17689a.c: Likewise. * ld-x86-64/pr17689b.S: Likewise. * ld-x86-64/x86-64.exp: Run PR ld/17689 tests. commit 94ec908766bbe8c146798754261bcce83572b00f Author: GDB Administrator Date: Sun Dec 14 00:00:10 2014 +0000 Automatic date update in version.in commit dc4d68869c3c700b629bd9f12076bd7fbd35aa49 Author: Doug Evans Date: Sat Dec 13 14:04:05 2014 -0800 utils.c (make_hex_string): Fix off-by-one error. gdb/ChangeLog: * utils.c (make_hex_string): Fix off-by-one error. commit c1b5a1a6e732a65350af930c499b23018f8663cc Author: Joel Brobecker Date: Mon Dec 8 10:37:00 2014 -0500 Internal error trying to print uninitialized string. Trying to print the value of a string whose size is not known at compile-time before it gets assigned a value can lead to the following internal error: (gdb) p my_str $1 = /[...]/utils.c:1089: internal-error: virtual memory exhausted. What happens is that my_str is described as a reference to an array type whose bounds are dynamic. During the read of that variable's value (in default_read_var_value), we end up resolving dynamic types which, for reference types, makes us also resolve the target of that reference type. This means we resolve our variable to a reference to an array whose bounds are undefined, and unfortunately very far appart. So, when we pass that value to ada-valprint, and in particular to da_val_print_ref, we eventually try to allocate too large of a buffer corresponding to the (bogus) size of our array, hence the internal error. This patch fixes the problem by adding a size_check before trying to print the dereferenced value. To perform this check, a function that was previously specific to ada-lang.c (check_size) gets exported, and renamed to something less prone to name collisions (ada_ensure_varsize_limit). gdb/ChangeLog: * ada-lang.h (ada_ensure_varsize_limit): Declare. * ada-lang.c (check_size): Remove advance declaration. (ada_ensure_varsize_limit): Renames check_size. Replace calls to check_size by calls to ada_ensure_varsize_limit throughout. * ada-valprint.c (ada_val_print_ref): Add call to ada_ensure_varsize_limit. Add comment explaining why. gdb/testsuite/ChangeLog: * gdb.ada/str_uninit: New testcase. commit 3c46a02f5083c4a9c07b563d44b8b6ded6d85bb1 Author: Joel Brobecker Date: Sat Dec 13 10:19:03 2014 -0500 Avoid use of sprintf in gdb/utils.c:make_hex_string The use of sprintf is discouraged in GDB. Use xsnprintf instead. gdb/ChangeLog: * utils.c (make_hex_string): Replace use of sprintf by use of xsnprintf. Tested on x86_64-linux. commit 8e8347b895af2f492df694c621e70b101d8eb146 Author: Joel Brobecker Date: Sat Dec 13 10:02:26 2014 -0500 Fix ARI warnings in gdb/compile/compile-object-load.c. gdb/ChangeLog: * compile/compile-object-load.c (link_callbacks_multiple_definition) (link_callbacks_warning, link_callbacks_einfo): Remove trailing newline at end of warning message. Tested on x86_64-linux. commit e07829801094dedf61c76757a1f6b15515df310b Author: Joel Brobecker Date: Sat Dec 13 10:25:41 2014 -0500 Add missing ChangeLog entry for PR backtrace/16215. commit f93b65a0f4e4e481eee904df841b5f67ccfc7364 Author: Joel Brobecker Date: Sat Dec 13 10:24:14 2014 -0500 Add ChangeLog entries missing from the previous commit. commit 648d586d843834820c3a1a4eb4ed767aff6283cd Author: Joel Brobecker Date: Wed Dec 3 06:31:54 2014 -0500 configure gdb/gnulib with --disable-largefile if largefile support disabled. This patch mostly aims at fixing a GDB build failure on 32bit Solaris systems (Sparc and x86), due to a recent gnulib update adding the readlink module. But it might also fix related issues when configuring with --disable-largefile. A side-effect of the gnulib readlink module addition is that it caused largefile support to be added as well, and in particular gnulib/import/m4/largefile.m4 introduced the following new #define in gnulib's config.in: | +/* Number of bits in a file offset, on hosts where this is settable. */ | +#undef _FILE_OFFSET_BITS When defined to 64, it triggers an issue with procfs.h while trying to build sparc-sol2-nat.c: | #if !defined(_LP64) && _FILE_OFFSET_BITS == 64 | #error "Cannot use procfs in the large file compilation environment" | #endif As it turns out, this is a fairly familiar problem, and one of the reasons behind ACX_LARGEFILE having been created. In that macro, we have some code which disables largefile support on solaris hosts: | sparc-*-solaris*|i[3-7]86-*-solaris*) | changequote([,])dnl | # On native 32bit sparc and ia32 solaris, large-file and procfs support | # are mutually exclusive; and without procfs support, the bfd/ elf module | # cannot provide certain routines such as elfcore_write_prpsinfo | # or elfcore_write_prstatus. So unless the user explicitly requested | # large-file support through the --enable-largefile switch, disable | # large-file support in favor of procfs support. | test "${target}" = "${host}" -a "x$plugins" = xno \ | && : ${enable_largefile="no"} | ;; But gnulib ignores this fact, and so tries to determine how to enable large-file support irrespective of whether we want it or not. This patch fixes the issue by passing --disable-largefile to gnulib's configure when large-file support in GDB is disabled. This is done by first enhancing ACX_CONFIGURE_DIR to allow us to pass extra arguments to be passed to the configure command, and then by modifying GDB's configure to pass --disable-largefile if large-file support is disabled. gdb/ChangeLog: * acx_configure_dir.m4 (ACX_CONFIGURE_DIR): Add support for new "EXTRA-ARGS" parameter. * configure.ac: If large-file support is disabled in GDB, pass --disable-largefile to ACX_CONFIGURE_DIR call for "gnulib". * configure: Regenerate. gdb/gdbserver/ChangeLog: * configure.ac: If large-file support is disabled in GDBserver, pass --disable-largefile to ACX_CONFIGURE_DIR call for "gnulib". * configure: Regenerate. Tested by rebuilding on sparc-solaris and x86_64-linux (with gdbserver). This fixes the build failure on sparc-solaris. I also verified in gnulib's config.log file that we pass --disable-largefile in the solaris case, while we do not in the GNU/Linux case. commit 5537b577695dd5cd72395590d7ebd7aa92ee856a Author: Jan Kratochvil Date: Sat Dec 13 15:31:59 2014 +0100 Fix 7.8 regression: resolve_dynamic_struct: Assertion `TYPE_NFIELDS (type) > 0' (PR 17642) https://sourceware.org/bugzilla/show_bug.cgi?id=17642 Regression since: commit 012370f6818657a816df1463ee71ca4e4ee40b33 Author: Tom Tromey Date: Thu May 8 11:26:44 2014 -0600 handle VLA in a struct or union Bugreport: Regression with gdb scripts for Linux kernel https://sourceware.org/ml/gdb/2014-08/msg00127.html That big change after "else" is just reindentation. gdb/ChangeLog 2014-12-13 Jan Kratochvil PR symtab/17642 * gdbtypes.c (resolve_dynamic_type_internal): Apply check_typedef to TYPE if not TYPE_CODE_TYPEDEF. gdb/testsuite/ChangeLog 2014-12-13 Jan Kratochvil PR symtab/17642 * gdb.base/vla-stub-define.c: New file. * gdb.base/vla-stub.c: New file. * gdb.base/vla-stub.exp: New file. commit 14aba1ac0d583ebd77b7645f88308d75c0a69d0f Author: Joel Brobecker Date: Fri Nov 21 04:59:35 2014 +0100 Lift DWARF unwinder restriction in dwarf2-frame.c::dwarf2_frame_cfa GDB is currently broken on all SPARC targets when using GCC 4.9. When trying to print any local variable: (gdb) p x can't compute CFA for this frame This is related to the fact that the compiler now generates DWARF 4 debugging info by default, and in particular that it now emits DW_OP_call_frame_cfa, which triggers a limitation in dwarf2_frame_cfa: /* This restriction could be lifted if other unwinders are known to compute the frame base in a way compatible with the DWARF unwinder. */ if (!frame_unwinder_is (this_frame, &dwarf2_frame_unwind) && !frame_unwinder_is (this_frame, &dwarf2_tailcall_frame_unwind)) error (_("can't compute CFA for this frame")); We couldn't append the dwarf2 unwinder to all SPARC targets because it does not work properly with StackGhost: https://www.sourceware.org/ml/gdb-patches/2014-07/msg00012.html We also later discovered that using the DWARF2 unwinder means using it for computing the function's return address, which is buggy when it comes to functions returning a struct (where the return address is saved-pc+12 instead of saved-pc+8). This is because GCC is emitting the info about the return address as %o7/%i7 instead of the actual return address. For functions that have debugging info, we compensate by looking at the function's return type and add the extra +4, but for function without debug info, we're stuck. EricB and I twisted the issue in all the directions we could think of, and unfortunately couldn't find a way to make it work without introduction one regression or another. But, stepping back a little, just removing the restriction seems to work well for us on all both sparc-elf and {sparc,sparc64}-solaris. After reviewing the previous discussions about this test, I could not figure out whether some unwinders were already known to have incompatible CFAs or if the concern was purely theoretical: https://www.sourceware.org/ml/gdb-patches/2009-06/msg00191.html https://www.sourceware.org/ml/gdb-patches/2009-07/msg00570.html https://www.sourceware.org/ml/gdb-patches/2009-09/msg00027.html At the moment, we took the approach of trying it out, and see what happens... gdb/ChangeLog: PR backtrace/16215: * dwarf2-frame.c (dwarf2_frame_cfa): Remove the restriction the frame unwinder must either be the dwarf2_frame_unwind or the dwarf2_tailcall_frame_unwind. Verify that this_frame's stack_addr is valid before calling get_frame_base. Throw an error if not valid. Tested on sparc-solaris and sparc-elf with AdaCore's testsuite (the FSF testsuite crashes all of AdaCore's solaris machines). commit ae6a105d22fb603dbfb956bbcedf9ae469323d55 Author: Doug Evans Date: Fri Dec 12 23:25:46 2014 -0800 value_maybe_namespace_elt: Remove unnecessary test of result != NULL. Both allocate_value and value_of_variable are guaranteed to return non-NULL. gdb/ChangeLog: * valops.c (value_maybe_namespace_elt): Remove unnecessary test of result != NULL. commit 59da4d04cbce4d4209f7e88f8fc3532ef289a99e Author: Doug Evans Date: Fri Dec 12 22:33:26 2014 -0800 Rename cp_is_anonymous to cp_is_in_anonymous. gdb/ChangeLog: * cp-support.h (cp_is_in_anonymous): Renamed from cp_is_anonymous. All callers updated. Rename arg "namespace" to "symbol_name". commit 838275403d9c8ef648b889e348500cfc1b9fab40 Author: Doug Evans Date: Fri Dec 12 22:27:23 2014 -0800 Give quick_symbol_functions "methods" a consistent naming scheme. Add missing function comments. gdb/ChangeLog: * psymtab.c (psym_map_symtabs_matching_filename): Renamed from partial_map_symtabs_matching_filename. All uses updated. (psym_find_pc_sect_compunit_symtab): Renamed from find_pc_sect_compunit_symtab_from_partial. All uses updated. Add function comment. (psym_lookup_symbol): Renamed from lookup_symbol_aux_psymtabs. All uses updated. Add function comment. (psym_relocate): Renamed from relocate_psymtabs. All uses updated. Add function comment. (psym_find_last_source_symtab): Renamed from find_last_source_symtab_from_partial. All uses updated. Add function comment. (psym_forget_cached_source_info): Renamed from forget_cached_source_info_partial. All uses updated. Add function comment. (psym_print_stats): Renamed from print_psymtab_stats_for_objfile. All uses updated. Add function comment. (psym_dump): Renamed from dump_psymtabs_for_objfile. All uses updated. Add function comment. (psym_expand_symtabs_for_function): Renamed from read_symtabs_for_function. All uses updated. Update function comment. (psym_expand_all_symtabs): Renamed from expand_partial_symbol_tables. All uses updated. Add function comment. (psym_expand_symtabs_with_fullname): Renamed from read_psymtabs_with_fullname. All uses updated. Add function comment. (psym_map_symbol_filenames): Renamed from map_symbol_filenames_psymtab. All uses updated. Add function comment. (psym_map_matching_symbols): Renamed from map_matching_symbols_psymtab. All uses updated. (psym_expand_symtabs_matching): Renamed from expand_symtabs_matching_via_partial. All uses updated. Add function comment. (psym_has_symbols): Renamed from objfile_has_psyms. All uses updated. Add function comment. commit ac51d3ed8b689857d7066cd79f665f38fcf04950 Author: GDB Administrator Date: Sat Dec 13 00:00:11 2014 +0000 Automatic date update in version.in commit bb2ec1b34e7cc8d8602512235016e74b800dac3b Author: Tom Tromey Date: Wed May 14 14:35:45 2014 -0600 the "compile" command This final patch adds the new "compile" command and subcommands, and all the machinery needed to make it work. A shared library supplied by gcc is used for all communications with gcc. Types and most aspects of symbols are provided directly by gdb to the compiler using this library. gdb provides some information about the user's code using plain text. Macros are emitted this way, and DWARF location expressions (and bounds for VLA) are compiled to C code. This hybrid approach was taken because, on the one hand, it is better to provide global declarations and such on demand; but on the other hand, for local variables, translating DWARF location expressions to C was much simpler than exporting a full compiler API to gdb -- the same result, only easier to implement, understand, and debug. In the ordinary mode, the user's expression is wrapped in a dummy function. After compilation, gdb inserts the resulting object code into the inferior, then calls this function. Access to local variables is provided by noting which registers are used by location expressions, and passing a structure of register values into the function. Writes to registers are supported by copying out these values after the function returns. This approach was taken so that we could eventually implement other more interesting features based on this same infrastructure; for example, we're planning to investigate inferior-side breakpoint conditions. gdb/ChangeLog 2014-12-12 Phil Muldoon Jan Kratochvil Tom Tromey * NEWS: Update. * symtab.h (struct symbol_computed_ops) : New field. * p-lang.c (pascal_language_defn): Update. * opencl-lang.c (opencl_language_defn): Update. * objc-lang.c (objc_language_defn): Update. * m2-lang.c (m2_language_defn): Update. * language.h (struct language_defn) : New fields. * language.c (unknown_language_defn, auto_language_defn) (local_language_defn): Update. * jv-lang.c (java_language_defn): Update. * go-lang.c (go_language_defn): Update. * f-lang.c (f_language_defn): Update. * dwarf2loc.h (dwarf2_compile_property_to_c): Declare. * dwarf2loc.c (dwarf2_compile_property_to_c) (locexpr_generate_c_location, loclist_generate_c_location): New functions. (dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Update. * defs.h (enum compile_i_scope_types): New. (enum command_control_type) : New constant. (struct command_line) : New field. * d-lang.c (d_language_defn): Update. * compile/compile.c: New file. * compile/compile-c-support.c: New file. * compile/compile-c-symbols.c: New file. * compile/compile-c-types.c: New file. * compile/compile.h: New file. * compile/compile-internal.h: New file. * compile/compile-loc2c.c: New file. * compile/compile-object-load.c: New file. * compile/compile-object-load.h: New file. * compile/compile-object-run.c: New file. * compile/compile-object-run.h: New file. * cli/cli-script.c (multi_line_command_p, print_command_lines) (execute_control_command, process_next_line) (recurse_read_control_structure): Handle compile_control. * c-lang.h (c_get_compile_context, c_compute_program): Declare. * c-lang.c (c_language_defn, cplus_language_defn) (asm_language_defn, minimal_language_defn): Update. * ada-lang.c (ada_language_defn): Update. * Makefile.in (SUBDIR_GCC_COMPILE_OBS, SUBDIR_GCC_COMPILE_SRCS): New variables. (SFILES): Add SUBDIR_GCC_COMPILE_SRCS. (HFILES_NO_SRCDIR): Add compile.h. (COMMON_OBS): Add SUBDIR_GCC_COMPILE_OBS. (INIT_FILES): Add SUBDIR_GCC_COMPILE_SRCS. (compile.o, compile-c-types.o, compile-c-symbols.o) (compile-object-load.o, compile-object-run.o, compile-loc2c.o) (compile-c-support.o): New targets. gdb/doc/ChangeLog 2014-12-12 Phil Muldoon Jan Kratochvil * gdb.texinfo (Altering): Update. (Compiling and Injecting Code): New node. gdb/testsuite/ChangeLog 2014-12-12 Phil Muldoon Jan Kratochvil Tom Tromey * configure.ac: Add gdb.compile/. * configure: Regenerate. * gdb.compile/Makefile.in: New file. * gdb.compile/compile-ops.exp: New file. * gdb.compile/compile-ops.c: New file. * gdb.compile/compile-tls.c: New file. * gdb.compile/compile-tls.exp: New file. * gdb.compile/compile-constvar.S: New file. * gdb.compile/compile-constvar.c: New file. * gdb.compile/compile-mod.c: New file. * gdb.compile/compile-nodebug.c: New file. * gdb.compile/compile-setjmp-mod.c: New file. * gdb.compile/compile-setjmp.c: New file. * gdb.compile/compile-setjmp.exp: New file. * gdb.compile/compile-shlib.c: New file. * gdb.compile/compile.c: New file. * gdb.compile/compile.exp: New file. * lib/gdb.exp (skip_compile_feature_tests): New proc. commit a2658febe2016f875ffb70287904b01013bcca75 Author: Jan Kratochvil Date: Wed May 14 14:33:41 2014 -0600 add s390_gcc_target_options This adds s390_gcc_target_options, an implementation of the new "gcc_target_options" gdbarch method. This was needed because the default implementation of the method doesn't work properly for S390, as this architecture needs "-m31" rather than "-m32". gdb/ChangeLog 2014-12-12 Jan Kratochvil * s390-linux-tdep.c (s390_gcc_target_options): New function. (s390_gdbarch_init): Add it to gdbarch. commit 3bc3cebe8a597c4281cad70e806efe69b2031825 Author: Jan Kratochvil Date: Wed May 14 14:32:09 2014 -0600 add linux_infcall_mmap This implements the new gdbarch "infcall_mmap" method for Linux. gdb/ChangeLog 2014-12-12 Jan Kratochvil * linux-tdep.c: Include objfiles.h and infcall.h. (GDB_MMAP_MAP_PRIVATE, GDB_MMAP_MAP_ANONYMOUS, linux_infcall_mmap): New function. (linux_init_abi): Add linux_infcall_mmap to gdbarch. commit d064d1bef5c64c3525c01461ecd5be76c5fb0ca7 Author: Jan Kratochvil Date: Wed May 14 14:30:37 2014 -0600 export dwarf2_reg_to_regnum_or_error This exports a utility function, dwarf2_reg_to_regnum_or_error, that was previously private to dwarf2loc.c. gdb/ChangeLog 2014-12-12 Jan Kratochvil * dwarf2loc.h (dwarf2_reg_to_regnum_or_error): Declare. * dwarf2loc.c (dwarf2_reg_to_regnum_or_error): Rename from translate_register. Now public. (dwarf2_compile_expr_to_ax): Update. commit af945b753559079fe37d61917041f2217d181b86 Author: Tom Tromey Date: Wed May 14 14:28:58 2014 -0600 make dwarf_expr_frame_base_1 public This exports dwarf_expr_frame_base_1 so that other code can use it. gdb/ChangeLog 2014-12-12 Tom Tromey Jan Kratochvil * dwarf2loc.c (dwarf_expr_frame_base_1): Remove declaration. (dwarf_expr_frame_base): Update caller. (dwarf_expr_frame_base_1): Rename to ... (func_get_frame_base_dwarf_block): ... this and make it public. (dwarf2_compile_expr_to_ax, locexpr_describe_location_piece): Update callers. * dwarf2loc.h (func_get_frame_base_dwarf_block): New declaration. commit a8fd55897077beda3717e0672807c1b2940e330a Author: Tom Tromey Date: Wed May 14 14:25:01 2014 -0600 split dwarf2_fetch_cfa_info from dwarf2_compile_expr_to_ax This removes dwarf2_compile_expr_to_ax, replacing it with a utility function that fetches the CFA data and adding the code to actually compile to an agent expression directly into dwarf2_compile_expr_to_ax. This refactoring lets a later patch reuse the new dwarf2_fetch_cfa_info. gdb/ChangeLog 2014-12-12 Tom Tromey * dwarf2loc.c (dwarf2_compile_expr_to_ax) : Update. * dwarf2-frame.c (dwarf2_fetch_cfa_info): New function, based on dwarf2_compile_cfa_to_ax. (dwarf2_compile_cfa_to_ax): Remove. * dwarf2-frame.h (dwarf2_fetch_cfa_info): Declare. (dwarf2_compile_cfa_to_ax): Remove. commit ed12ef62ccad3b86e25ec3b042d8bf7f15c75909 Author: Jan Kratochvil Date: Wed May 14 14:16:22 2014 -0600 introduce call_function_by_hand_dummy This provides a variant of call_function_by_hand that allows the dummy frame destructor to be set. This is used by the compiler code to manage some resources when calling the gdb-generated inferior function. gdb/ChangeLog 2014-12-12 Jan Kratochvil * infcall.h (call_function_by_hand_dummy): Declare. * infcall.c (call_function_by_hand): Use call_function_by_hand_dummy. (call_function_by_hand_dummy): Rename from call_function_by_hand. Add arguments. Register a destructor. commit ac04f72bb4396a311ffc445710d4068c13fb0448 Author: Tom Tromey Date: Fri Jun 13 09:28:24 2014 -0600 add gnu_triplet_regexp gdbarch method gdb has to inform libcc1.so of the target being used, so that the correct compiler can be invoked. The compiler is invoked using the GNU configury triplet prefix, e.g., "x86_64-unknown-linux-gnu-gcc". In order for this to work we need to map the gdbarch to the GNU configury triplet arch. In most cases these are identical; however, the x86 family poses some problems, as the BFD arch names are quite different from the GNU triplet names. So, we introduce a new gdbarch method for this. A regular expression is used because there are various valid values for the arch prefix in the triplet. This patch also updates the osabi code to associate a regular expression with the OS ABI. I have only added a concrete value for Linux. Note that the "-gnu" part is optional, at least on Fedora it is omitted from the installed GCC executable's name. gdb/ChangeLog 2014-12-12 Tom Tromey Jan Kratochvil * osabi.h (osabi_triplet_regexp): Declare. * osabi.c (struct osabi_names): New. (gdb_osabi_names): Change type to struct osabi_names. Update values. (gdbarch_osabi_name): Update. (osabi_triplet_regexp): New function. (osabi_from_tdesc_string, _initialize_gdb_osabi): Update. * i386-tdep.c (i386_gnu_triplet_regexp): New method. (i386_elf_init_abi, i386_go32_init_abi, i386_gdbarch_init): Call set_gdbarch_gnu_triplet_regexp. * gdbarch.sh (gnu_triplet_regexp): New method. * gdbarch.c, gdbarch.h: Rebuild. * arch-utils.h (default_gnu_triplet_regexp): Declare. * arch-utils.c (default_gnu_triplet_regexp): New function. commit f208eee0f3a4f42a0bf20ab900eb36fbba8e4b9e Author: Jan Kratochvil Date: Wed May 14 14:08:57 2014 -0600 add infcall_mmap and gcc_target_options gdbarch methods The compiler needed two new gdbarch methods. The infcall_mmap method allocates memory in the inferior. This is used when inserting the object code. The gcc_target_options method computes some arch-specific gcc options to pass to the compiler. This is used to ensure that gcc generates object code for the correct architecture. gdb/ChangeLog 2014-12-12 Jan Kratochvil * arch-utils.c (default_infcall_mmap) (default_gcc_target_options): New functions. * arch-utils.h (GDB_MMAP_PROT_READ, GDB_MMAP_PROT_WRITE) (GDB_MMAP_PROT_EXEC): Define. (default_infcall_mmap, default_gcc_target_options): Declare. * gdbarch.h: Rebuild. * gdbarch.c: Rebuild. * gdbarch.sh (infcall_mmap, gcc_target_options): New methods. commit 233a8fb382c88d7faa6da1cd93a7e21b77e36df4 Author: Jan Kratochvil Date: Wed May 14 14:01:24 2014 -0600 add dummy frame destructor The compiler code needed a hook into dummy frame destruction, so that some state could be kept while the inferior call is made and then destroyed when the inferior call finishes. This patch adds an optional destructor to dummy frames and a new API to access it. gdb/ChangeLog 2014-12-12 Jan Kratochvil * dummy-frame.c (struct dummy_frame) : New fields. (pop_dummy_frame): Call the destructor if it exists. (register_dummy_frame_dtor, find_dummy_frame_dtor): New functions. * dummy-frame.h (dummy_frame_dtor_ftype): New typedef. (register_dummy_frame_dtor, find_dummy_frame_dtor): Declare. commit f1660027106d583c639c9f37096519944d5c20e9 Author: Tom Tromey Date: Wed May 14 13:52:04 2014 -0600 add make_unqualified_type There's seemingly no function to get the unqualified variant of a type, so this patch adds one. This new function will be used in the final patch. gdb/ChangeLog 2014-12-12 Tom Tromey * gdbtypes.h (make_unqualified_type): Declare. * gdbtypes.c (make_unqualified_type): New function. commit 4ff709eb44e13fee683f01184a490e4fcc5c2862 Author: Tom Tromey Date: Wed May 14 13:46:37 2014 -0600 add some missing ops to DWARF assembler This changes the DWARF assembler to allow comments in a location expression, and also adds support for a few new opcodes I needed. gdb/testsuite/ChangeLog 2014-12-12 Tom Tromey * lib/dwarf.exp (_location): Ignore blank lines. Allow comments. Handle DW_OP_pick, DW_OP_skip, DW_OP_bra. commit a92a2e3435f9f579365424fb95d5e07cbd4c4ffd Author: Tom Tromey Date: Wed May 14 13:42:57 2014 -0600 add gcc/gdb interface files The gcc plugin is split into two parts. One part is an ordinary gcc plugin. The other part is a shared library that is loaded by gdb. This patch adds some files that define the interface exported by this shared library to gdb. These files also define the internal API by which the gdb- and gcc-sides communicate. These files will be kept in sync between gcc and gdb like much of include/. The exported API has been intentionally kept very simple. In particular only a single function is exported from the gdb-side library; symbol visibility is used to hide everything else. This exported symbol is a function which is called to return a structure holding function pointers that gdb then uses. This structure is versioned so that changes can be made without necessarily requiring a simultaneous gdb upgrade. Note that the C compiler API is broken out separately. This lets us extend it to other GCC front ends as desired. We plan to investigate C++ in the future. include/ChangeLog 2014-12-12 Phil Muldoon Jan Kratochvil Tom Tromey * gcc-c-fe.def: New file. * gcc-c-interface.h: New file. * gcc-interface.h: New file. commit de571fc5fbd89d21436119ca2cd9dce1375bdcb3 Author: Tom Tromey Date: Fri Dec 12 22:12:12 2014 +0100 introduce ui_file_write_for_put This introduces a small helper function, ui_file_write_for_put. It is a wrapper for ui_write that is suitable for passing directly to ui_file_put. This patch also updates one existing spot to use this new function. gdb/ChangeLog 2014-12-12 Tom Tromey * ui-file.h (ui_file_write_for_put): Declare. * ui-file.c (ui_file_write_for_put): New function. * mi/mi-out.c (do_write): Remove. (mi_out_put): Use ui_file_write_for_put. commit 6dddd6a5747532ef6e9703432c51680011df4e8d Author: Doug Evans Date: Fri Dec 12 09:48:13 2014 -0800 New python function gdb.lookup_objfile. gdb/ChangeLog: * NEWS: Mention gdb.lookup_objfile. * python/python.c (GdbMethods): Add lookup_objfile. * python/python-internal.h (gdbpy_lookup_objfile): Declare. * python/py-objfile.c: #include "symtab.h". (objfpy_build_id_ok, objfpy_build_id_matches): New functions. (objfpy_lookup_objfile_by_name): New function. (objfpy_lookup_objfile_by_build_id): New function. (gdbpy_lookup_objfile): New function. gdb/doc/ChangeLog: * python.texi (Objfiles In Python): Document gdb.lookup_objfile. gdb/testsuite/ChangeLog: * lib/gdb-python.exp (get_python_valueof): New function. * gdb.python/py-objfile.exp: Add tests for gdb.lookup_objfile. commit f161c17134bdfa5f5e72d7afb7dfccf5599a67e1 Author: Maciej W. Rozycki Date: Fri Dec 12 16:36:10 2014 +0000 MIPS: Define aliases for MSYMBOL_TARGET_FLAG macros * mips-tdep.h (MSYMBOL_TARGET_FLAG_MIPS16): New macro. (MSYMBOL_TARGET_FLAG_MICROMIPS): Likewise. * mips-tdep.c (mips_elf_make_msymbol_special): Use the new macros. (msymbol_is_mips, msymbol_is_mips16, msymbol_is_micromips): Likewise. commit 71c247087cbff23fbbe10333a9e504f3e197c107 Author: Andreas Arnez Date: Fri Dec 12 17:11:22 2014 +0100 Provide completer for "info registers" Provide a new completion function for the argument of "info registers", "info all-registers", and the "lr" command in dbx mode. Without this patch the default symbol completer is used, which is more confusing than helpful. Also add a test for this new feature to "completion.exp": Determine the target's available set of registers/reggroups and compare this to the completion of "info registers ". For determining the available registers involve the new "maint print user-registers" command. gdb/ChangeLog: * completer.c: Include "target.h", "reggroups.h", and "user-regs.h". (reg_or_group_completer): New. * completer.h (reg_or_group_completer): Declare. * infcmd.c (_initialize_infcmd): Set reg_or_group_completer for the "info registers" and "info all-registers" commands and the dbx-mode "lr" command. gdb/testsuite/ChangeLog: * gdb.base/completion.exp: Add test for completion of "info registers ". commit f5b95c01fbe709f73ca3ba60136ff973dcb706a5 Author: Andreas Arnez Date: Fri Dec 12 17:11:22 2014 +0100 Add new GDB command "maint print user-registers" This adds a command for listing the "user" registers. So far GDB offered no means of determining the set of user registers and omitted them from all other register listings. gdb/ChangeLog: * user-regs.c: Include "arch-utils.h", "command.h", and "cli/cli-cmds.h". (maintenance_print_user_registers): New. (_initialize_user_regs): Register new "maint print user-registers" subcommand. * NEWS: Mention new GDB command "maint print user-registers". gdb/doc/ChangeLog: * gdb.texinfo: Document "maint print user-registers". commit 3e29f34a4eef29f5b159749ccb1efb8867b2e651 Author: Maciej W. Rozycki Date: Fri Dec 12 13:31:53 2014 +0000 MIPS: Keep the ISA bit in compressed code addresses 1. Background information The MIPS architecture, as originally designed and implemented in mid-1980s has a uniform instruction word size that is 4 bytes, naturally aligned. As such all MIPS instructions are located at addresses that have their bits #1 and #0 set to zeroes, and any attempt to execute an instruction from an address that has any of the two bits set to one causes an address error exception. This may for example happen when a jump-register instruction is executed whose register value used as the jump target has any of these bits set. Then in mid 1990s LSI sought a way to improve code density for their TinyRISC family of MIPS cores and invented an alternatively encoded instruction set in a joint effort with MIPS Technologies (then a subsidiary of SGI). The new instruction set has been named the MIPS16 ASE (Application-Specific Extension) and uses a variable instruction word size, which is 2 bytes (as the name of the ASE suggests) for most, but there are a couple of exceptions that take 4 bytes, and then most of the 2-byte instructions can be treated with a 2-byte extension prefix to expand the range of the immediate operands used. As a result instructions are no longer 4-byte aligned, instead they are aligned to a multiple of 2. That left the bit #0 still unused for code references, be it for the standard MIPS (i.e. as originally invented) or for the MIPS16 instruction set, and based on that observation a clever trick was invented that on one hand allowed the processor to be seamlessly switched between the two instruction sets at any time at the run time while on the other avoided the introduction of any special control register to do that. So it is the bit #0 of the instruction address that was chosen as the selector and named the ISA bit. Any instruction executed at an even address is interpreted as a standard MIPS instruction (the address still has to have its bit #1 clear), any instruction executed at an odd address is interpreted as a MIPS16 instruction. To switch between modes ordinary jump instructions are used, such as used for function calls and returns, specifically the bit #0 of the source register used in jump-register instructions selects the execution (ISA) mode for the following piece of code to be interpreted in. Additionally new jump-immediate instructions were added that flipped the ISA bit to select the opposite mode upon execution. They were considered necessary to avoid the need to make register jumps in all cases as the original jump-immediate instructions provided no way to change the bit #0 at all. This was all important for cases where standard MIPS and MIPS16 code had to be mixed, either for compatibility with the existing binary code base or to access resources not reachable from MIPS16 code (the MIPS16 instruction set only provides access to general-purpose registers, and not for example floating-point unit registers or privileged coprocessor 0 registers) -- pieces of code in the opposite mode can be executed as ordinary subroutine calls. A similar approach has been more recently adopted for the MIPS16 replacement instruction set defined as the so called microMIPS ASE. This is another instruction set encoding introduced to the MIPS architecture. Just like the MIPS16 ASE, the microMIPS instruction set uses a variable-length encoding, where each instruction takes a multiple of 2 bytes. The ISA bit has been reused and for microMIPS-capable processors selects between the standard MIPS and the microMIPS mode instead. 2. Statement of the problem To put it shortly, MIPS16 and microMIPS code pointers used by GDB are different to these observed at the run time. This results in the same expressions being evaluated producing different results in GDB and in the program being debugged. Obviously it's the results obtained at the run time that are correct (they define how the program behaves) and therefore by definition the results obtained in GDB are incorrect. A bit longer description will record that obviously at the run time the ISA bit has to be set correctly (refer to background information above if unsure why so) or the program will not run as expected. This is recorded in all the executable file structures used at the run time: the dynamic symbol table (but not always the static one!), the GOT, and obviously in all the addresses embedded in code or data of the program itself, calculated by applying the appropriate relocations at the static link time. While a program is being processed by GDB, the ISA bit is stripped off from any code addresses, presumably to make them the same as the respective raw memory byte address used by the processor to access the instruction in the instruction fetch access cycle. This stripping is actually performed outside GDB proper, in BFD, specifically _bfd_mips_elf_symbol_processing (elfxx-mips.c, see the piece of code at the very bottom of that function, starting with an: "If this is an odd-valued function symbol, assume it's a MIPS16 or microMIPS one." comment). This function is also responsible for symbol table dumps made by `objdump' too, so you'll never see the ISA bit reported there by that tool, you need to use `readelf'. This is however unlike what is ever done at the run time, the ISA bit once present is never stripped off, for example a cast like this: (short *) main will not strip the ISA bit off and if the resulting pointer is intended to be used to access instructions as data, for example for software instruction decoding (like for fault recovery or emulation in a signal handler) or for self-modifying code then the bit still has to be stripped off by an explicit AND operation. This is probably best illustrated with a simple real program example. Let's consider the following simple program: $ cat foobar.c int __attribute__ ((mips16)) foo (void) { return 1; } int __attribute__ ((mips16)) bar (void) { return 2; } int __attribute__ ((nomips16)) foo32 (void) { return 3; } int (*foo32p) (void) = foo32; int (*foop) (void) = foo; int fooi = (int) foo; int main (void) { return foop (); } $ This is plain C with no odd tricks, except from the instruction mode attributes. They are not necessary to trigger this problem, I just put them here so that the program can be contained in a single source file and to make it obvious which function is MIPS16 code and which is not. Let's try it with Linux, so that everyone can repeat this experiment: $ mips-linux-gnu-gcc -mips16 -g -O2 -o foobar foobar.c $ Let's have a look at some interesting symbols: $ mips-linux-gnu-readelf -s foobar | egrep 'table|foo|bar' Symbol table '.dynsym' contains 7 entries: Symbol table '.symtab' contains 95 entries: 55: 00000000 0 FILE LOCAL DEFAULT ABS foobar.c 66: 0040068c 4 FUNC GLOBAL DEFAULT [MIPS16] 12 bar 68: 00410848 4 OBJECT GLOBAL DEFAULT 21 foo32p 70: 00410844 4 OBJECT GLOBAL DEFAULT 21 foop 78: 00400684 8 FUNC GLOBAL DEFAULT 12 foo32 80: 00400680 4 FUNC GLOBAL DEFAULT [MIPS16] 12 foo 88: 00410840 4 OBJECT GLOBAL DEFAULT 21 fooi $ Hmm, no sight of the ISA bit, but notice how foo and bar (but not foo32!) have been marked as MIPS16 functions (ELF symbol structure's `st_other' field is used for that). So let's try to run and poke at this program with GDB. I'll be using a native system for simplicity (I'll be using ellipses here and there to remove unrelated clutter): $ ./foobar $ echo $? 1 $ So far, so good. $ gdb ./foobar [...] (gdb) break main Breakpoint 1 at 0x400490: file foobar.c, line 23. (gdb) run Starting program: .../foobar Breakpoint 1, main () at foobar.c:23 23 return foop (); (gdb) Yay, it worked! OK, so let's poke at it: (gdb) print main $1 = {int (void)} 0x400490
(gdb) print foo32 $2 = {int (void)} 0x400684 (gdb) print foo32p $3 = (int (*)(void)) 0x400684 (gdb) print bar $4 = {int (void)} 0x40068c (gdb) print foo $5 = {int (void)} 0x400680 (gdb) print foop $6 = (int (*)(void)) 0x400681 (gdb) A-ha! Here's the difference and finally the ISA bit! (gdb) print /x fooi $7 = 0x400681 (gdb) p/x $pc p/x $pc $8 = 0x400491 (gdb) And here as well... (gdb) advance foo foo () at foobar.c:4 4 } (gdb) disassemble Dump of assembler code for function foo: 0x00400680 <+0>: jr ra 0x00400682 <+2>: li v0,1 End of assembler dump. (gdb) finish Run till exit from #0 foo () at foobar.c:4 main () at foobar.c:24 24 } Value returned is $9 = 1 (gdb) continue Continuing. [Inferior 1 (process 14103) exited with code 01] (gdb) So let's be a bit inquisitive... (gdb) run Starting program: .../foobar Breakpoint 1, main () at foobar.c:23 23 return foop (); (gdb) Actually we do not like to run foo here at all. Let's run bar instead! (gdb) set foop = bar (gdb) print foop $10 = (int (*)(void)) 0x40068c (gdb) Hmm, no ISA bit. Is it going to work? (gdb) advance bar bar () at foobar.c:9 9 } (gdb) p/x $pc $11 = 0x40068c (gdb) disassemble Dump of assembler code for function bar: => 0x0040068c <+0>: jr ra 0x0040068e <+2>: li v0,2 End of assembler dump. (gdb) finish Run till exit from #0 bar () at foobar.c:9 Program received signal SIGILL, Illegal instruction. bar () at foobar.c:9 9 } (gdb) Oops! (gdb) p/x $pc $12 = 0x40068c (gdb) We're still there! (gdb) continue Continuing. Program terminated with signal SIGILL, Illegal instruction. The program no longer exists. (gdb) So let's try something else: (gdb) run Starting program: .../foobar Breakpoint 1, main () at foobar.c:23 23 return foop (); (gdb) set foop = foo (gdb) advance foo foo () at foobar.c:4 4 } (gdb) disassemble Dump of assembler code for function foo: => 0x00400680 <+0>: jr ra 0x00400682 <+2>: li v0,1 End of assembler dump. (gdb) finish Run till exit from #0 foo () at foobar.c:4 Program received signal SIGILL, Illegal instruction. foo () at foobar.c:4 4 } (gdb) continue Continuing. Program terminated with signal SIGILL, Illegal instruction. The program no longer exists. (gdb) The same problem! (gdb) run Starting program: /net/build2-lucid-cs/scratch/macro/mips-linux-fsf-gcc/isa-bit/foobar Breakpoint 1, main () at foobar.c:23 23 return foop (); (gdb) set foop = foo32 (gdb) advance foo32 foo32 () at foobar.c:14 14 } (gdb) disassemble Dump of assembler code for function foo32: => 0x00400684 <+0>: jr ra 0x00400688 <+4>: li v0,3 End of assembler dump. (gdb) finish Run till exit from #0 foo32 () at foobar.c:14 main () at foobar.c:24 24 } Value returned is $14 = 3 (gdb) continue Continuing. [Inferior 1 (process 14113) exited with code 03] (gdb) That did work though, so it's the ISA bit only! (gdb) quit Enough! That's the tip of the iceberg only though. So let's rebuild the executable with some dynamic symbols: $ mips-linux-gnu-gcc -mips16 -Wl,--export-dynamic -g -O2 -o foobar-dyn foobar.c $ mips-linux-gnu-readelf -s foobar-dyn | egrep 'table|foo|bar' Symbol table '.dynsym' contains 32 entries: 6: 004009cd 4 FUNC GLOBAL DEFAULT 12 bar 8: 00410b88 4 OBJECT GLOBAL DEFAULT 21 foo32p 9: 00410b84 4 OBJECT GLOBAL DEFAULT 21 foop 15: 004009c4 8 FUNC GLOBAL DEFAULT 12 foo32 17: 004009c1 4 FUNC GLOBAL DEFAULT 12 foo 25: 00410b80 4 OBJECT GLOBAL DEFAULT 21 fooi Symbol table '.symtab' contains 95 entries: 55: 00000000 0 FILE LOCAL DEFAULT ABS foobar.c 69: 004009cd 4 FUNC GLOBAL DEFAULT 12 bar 71: 00410b88 4 OBJECT GLOBAL DEFAULT 21 foo32p 72: 00410b84 4 OBJECT GLOBAL DEFAULT 21 foop 79: 004009c4 8 FUNC GLOBAL DEFAULT 12 foo32 81: 004009c1 4 FUNC GLOBAL DEFAULT 12 foo 89: 00410b80 4 OBJECT GLOBAL DEFAULT 21 fooi $ OK, now the ISA bit is there for a change, but the MIPS16 `st_other' attribute gone, hmm... What does `objdump' do then: $ mips-linux-gnu-objdump -Tt foobar-dyn | egrep 'SYMBOL|foo|bar' foobar-dyn: file format elf32-tradbigmips SYMBOL TABLE: 00000000 l df *ABS* 00000000 foobar.c 004009cc g F .text 00000004 0xf0 bar 00410b88 g O .data 00000004 foo32p 00410b84 g O .data 00000004 foop 004009c4 g F .text 00000008 foo32 004009c0 g F .text 00000004 0xf0 foo 00410b80 g O .data 00000004 fooi DYNAMIC SYMBOL TABLE: 004009cc g DF .text 00000004 Base 0xf0 bar 00410b88 g DO .data 00000004 Base foo32p 00410b84 g DO .data 00000004 Base foop 004009c4 g DF .text 00000008 Base foo32 004009c0 g DF .text 00000004 Base 0xf0 foo 00410b80 g DO .data 00000004 Base fooi $ Hmm, the attribute (0xf0, printed raw) is back, and the ISA bit gone again. Let's have a look at some DWARF-2 records GDB uses (I'll be stripping off a lot here for brevity) -- debug info: $ mips-linux-gnu-readelf -wi foobar Contents of the .debug_info section: [...] Compilation Unit @ offset 0x88: Length: 0xbb (32-bit) Version: 4 Abbrev Offset: 62 Pointer Size: 4 <0><93>: Abbrev Number: 1 (DW_TAG_compile_unit) <94> DW_AT_producer : (indirect string, offset: 0x19e): GNU C 4.8.0 20120513 (experimental) -meb -mips16 -march=mips32r2 -mhard-float -mllsc -mplt -mno-synci -mno-shared -mabi=32 -g -O2 <98> DW_AT_language : 1 (ANSI C) <99> DW_AT_name : (indirect string, offset: 0x190): foobar.c <9d> DW_AT_comp_dir : (indirect string, offset: 0x225): [...] DW_AT_ranges : 0x0 DW_AT_low_pc : 0x0 DW_AT_stmt_list : 0x27 <1>: Abbrev Number: 2 (DW_TAG_subprogram) DW_AT_external : 1 DW_AT_name : foo DW_AT_decl_file : 1 DW_AT_decl_line : 1 DW_AT_prototyped : 1 DW_AT_type : <0xc2> DW_AT_low_pc : 0x400680 DW_AT_high_pc : 0x400684 DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) DW_AT_GNU_all_call_sites: 1 <1>: Abbrev Number: 3 (DW_TAG_base_type) DW_AT_byte_size : 4 DW_AT_encoding : 5 (signed) DW_AT_name : int <1>: Abbrev Number: 4 (DW_TAG_subprogram) DW_AT_external : 1 DW_AT_name : (indirect string, offset: 0x18a): foo32 DW_AT_decl_file : 1 DW_AT_decl_line : 11 DW_AT_prototyped : 1 DW_AT_type : <0xc2> DW_AT_low_pc : 0x400684 DW_AT_high_pc : 0x40068c DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) DW_AT_GNU_all_call_sites: 1 <1>: Abbrev Number: 2 (DW_TAG_subprogram) DW_AT_external : 1 DW_AT_name : bar DW_AT_decl_file : 1 DW_AT_decl_line : 6 DW_AT_prototyped : 1 DW_AT_type : <0xc2> DW_AT_low_pc : 0x40068c DW_AT_high_pc : 0x400690 DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) DW_AT_GNU_all_call_sites: 1 <1>: Abbrev Number: 5 (DW_TAG_subprogram) DW_AT_external : 1 DW_AT_name : (indirect string, offset: 0x199): main DW_AT_decl_file : 1 DW_AT_decl_line : 21 DW_AT_prototyped : 1 DW_AT_type : <0xc2> DW_AT_low_pc : 0x400490 <102> DW_AT_high_pc : 0x4004a4 <106> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <108> DW_AT_GNU_all_tail_call_sites: 1 [...] $ -- no sign of the ISA bit anywhere -- frame info: $ mips-linux-gnu-readelf -wf foobar [...] Contents of the .debug_frame section: 00000000 0000000c ffffffff CIE Version: 1 Augmentation: "" Code alignment factor: 1 Data alignment factor: -4 Return address column: 31 DW_CFA_def_cfa_register: r29 DW_CFA_nop 00000010 0000000c 00000000 FDE cie=00000000 pc=00400680..00400684 00000020 0000000c 00000000 FDE cie=00000000 pc=00400684..0040068c 00000030 0000000c 00000000 FDE cie=00000000 pc=0040068c..00400690 00000040 00000018 00000000 FDE cie=00000000 pc=00400490..004004a4 DW_CFA_advance_loc: 6 to 00400496 DW_CFA_def_cfa_offset: 32 DW_CFA_offset: r31 at cfa-4 DW_CFA_advance_loc: 6 to 0040049c DW_CFA_restore: r31 DW_CFA_def_cfa_offset: 0 DW_CFA_nop DW_CFA_nop DW_CFA_nop [...] $ -- no sign of the ISA bit anywhere -- range info (GDB doesn't use arange): $ mips-linux-gnu-readelf -wR foobar Contents of the .debug_ranges section: Offset Begin End 00000000 00400680 00400690 00000000 00400490 004004a4 00000000 $ -- no sign of the ISA bit anywhere -- line info: $ mips-linux-gnu-readelf -wl foobar Raw dump of debug contents of section .debug_line: [...] Offset: 0x27 Length: 78 DWARF Version: 2 Prologue Length: 31 Minimum Instruction Length: 1 Initial value of 'is_stmt': 1 Line Base: -5 Line Range: 14 Opcode Base: 13 Opcodes: Opcode 1 has 0 args Opcode 2 has 1 args Opcode 3 has 1 args Opcode 4 has 1 args Opcode 5 has 1 args Opcode 6 has 0 args Opcode 7 has 0 args Opcode 8 has 0 args Opcode 9 has 1 args Opcode 10 has 0 args Opcode 11 has 0 args Opcode 12 has 1 args The Directory Table is empty. The File Name Table: Entry Dir Time Size Name 1 0 0 0 foobar.c Line Number Statements: Extended opcode 2: set Address to 0x400681 Special opcode 6: advance Address by 0 to 0x400681 and Line by 1 to 2 Special opcode 7: advance Address by 0 to 0x400681 and Line by 2 to 4 Special opcode 55: advance Address by 3 to 0x400684 and Line by 8 to 12 Special opcode 7: advance Address by 0 to 0x400684 and Line by 2 to 14 Advance Line by -7 to 7 Special opcode 131: advance Address by 9 to 0x40068d and Line by 0 to 7 Special opcode 7: advance Address by 0 to 0x40068d and Line by 2 to 9 Advance PC by 3 to 0x400690 Extended opcode 1: End of Sequence Extended opcode 2: set Address to 0x400491 Advance Line by 21 to 22 Copy Special opcode 6: advance Address by 0 to 0x400491 and Line by 1 to 23 Special opcode 60: advance Address by 4 to 0x400495 and Line by -1 to 22 Special opcode 34: advance Address by 2 to 0x400497 and Line by 1 to 23 Special opcode 62: advance Address by 4 to 0x40049b and Line by 1 to 24 Special opcode 32: advance Address by 2 to 0x40049d and Line by -1 to 23 Special opcode 6: advance Address by 0 to 0x40049d and Line by 1 to 24 Advance PC by 7 to 0x4004a4 Extended opcode 1: End of Sequence [...] -- a-ha, the ISA bit is there! However it's not always right for some reason, I don't have a small test case to show it, but here's an excerpt from MIPS16 libc, a prologue of a function: 00019630 <__libc_init_first>: 19630: e8a0 jrc ra 19632: 6500 nop 00019634 <_init>: 19634: f000 6a11 li v0,17 19638: f7d8 0b08 la v1,15e00 <_DYNAMIC+0x15c54> 1963c: f400 3240 sll v0,16 19640: e269 addu v0,v1 19642: 659a move gp,v0 19644: 64f6 save 48,ra,s0-s1 19646: 671c move s0,gp 19648: d204 sw v0,16(sp) 1964a: f352 984c lw v0,-27828(s0) 1964e: 6724 move s1,a0 and the corresponding DWARF-2 line info: Line Number Statements: Extended opcode 2: set Address to 0x19631 Advance Line by 44 to 45 Copy Special opcode 8: advance Address by 0 to 0x19631 and Line by 3 to 48 Special opcode 66: advance Address by 4 to 0x19635 and Line by 5 to 53 Advance PC by constant 17 to 0x19646 Special opcode 25: advance Address by 1 to 0x19647 and Line by 6 to 59 Advance Line by -6 to 53 Special opcode 33: advance Address by 2 to 0x19649 and Line by 0 to 53 Special opcode 39: advance Address by 2 to 0x1964b and Line by 6 to 59 Advance Line by -6 to 53 Special opcode 61: advance Address by 4 to 0x1964f and Line by 0 to 53 -- see that "Advance PC by constant 17" there? It clears the ISA bit, however code at 0x19646 is not standard MIPS code at all. For some reason the constant is always 17, I've never seen DW_LNS_const_add_pc used with any other value -- is that a binutils bug or what? 3. Solution: I think we should retain the value of the ISA bit in code references, that is effectively treat them as cookies as they indeed are (although trivially calculated) rather than raw memory byte addresses. In a perfect world both the static symbol table and the respective DWARF-2 records should be fixed to include the ISA bit in all the cases. I think however that this is infeasible. All the uses of `_bfd_mips_elf_symbol_processing' can not necessarily be tracked down. This function is used by `elf_slurp_symbol_table' that in turn is used by `bfd_canonicalize_symtab' and `bfd_canonicalize_dynamic_symtab', which are public interfaces. Similarly DWARF-2 records are used outside GDB, one notable if a bit questionable is the exception unwinder (libgcc/unwind-dw2.c) -- I have identified at least bits in `execute_cfa_program' and `uw_frame_state_for', both around the calls to `_Unwind_IsSignalFrame', that would need an update as they effectively flip the ISA bit freely; see also the comment about MASK_RETURN_ADDR in gcc/config/mips/mips.h. But there may be more places. Any change in how DWARF-2 records are produced would require an update there and would cause compatibility problems with libgcc.a binaries already distributed; given that this is a static library a complex change involving function renames would likely be required. I propose therefore to accept the existing inconsistencies and deal with them entirely within GDB. I have figured out that the ISA bit lost in various places can still be recovered as long as we have symbol information -- that'll have the `st_other' attribute correctly set to one of standard MIPS/MIPS16/microMIPS encoding. Here's the resulting change. It adds a couple of new `gdbarch' hooks, one to update symbol information with the ISA bit lost in `_bfd_mips_elf_symbol_processing', and two other ones to adjust DWARF-2 records as they're processed. The ISA bit is set in each address handled according to information retrieved from the symbol table for the symbol spanning the address if any; limits are adjusted based on the address they point to related to the respective base address. Additionally minimal symbol information has to be adjusted accordingly in its gdbarch hook. With these changes in place some complications with ISA bit juggling in the PC that never fully worked can be removed from the MIPS backend. Conversely, the generic dynamic linker event special breakpoint symbol handler has to be updated to call the minimal symbol gdbarch hook to record that the symbol is a MIPS16 or microMIPS address if applicable or the breakpoint will be set at the wrong address and either fail to work or cause SIGTRAPs (this is because the symbol is handled early on and bypasses regular symbol processing). 4. Results obtained The change fixes the example above -- to repeat only the crucial steps: (gdb) break main Breakpoint 1 at 0x400491: file foobar.c, line 23. (gdb) run Starting program: .../foobar Breakpoint 1, main () at foobar.c:23 23 return foop (); (gdb) print foo $1 = {int (void)} 0x400681 (gdb) set foop = bar (gdb) advance bar bar () at foobar.c:9 9 } (gdb) disassemble Dump of assembler code for function bar: => 0x0040068d <+0>: jr ra 0x0040068f <+2>: li v0,2 End of assembler dump. (gdb) finish Run till exit from #0 bar () at foobar.c:9 main () at foobar.c:24 24 } Value returned is $2 = 2 (gdb) continue Continuing. [Inferior 1 (process 14128) exited with code 02] (gdb) -- excellent! The change removes about 90 failures per MIPS16 multilib in mips-sde-elf testing too, results for MIPS16 are now similar to that for standard MIPS; microMIPS results are a bit worse because of host-I/O problems in QEMU used instead of MIPSsim for microMIPS testing only: === gdb Summary === # of expected passes 14299 # of unexpected failures 187 # of expected failures 56 # of known failures 58 # of unresolved testcases 11 # of untested testcases 52 # of unsupported tests 174 MIPS16: === gdb Summary === # of expected passes 14298 # of unexpected failures 187 # of unexpected successes 2 # of expected failures 54 # of known failures 58 # of unresolved testcases 12 # of untested testcases 52 # of unsupported tests 174 microMIPS: === gdb Summary === # of expected passes 14149 # of unexpected failures 201 # of unexpected successes 2 # of expected failures 54 # of known failures 58 # of unresolved testcases 7 # of untested testcases 53 # of unsupported tests 175 2014-12-12 Maciej W. Rozycki Maciej W. Rozycki Pedro Alves gdb/ * gdbarch.sh (elf_make_msymbol_special): Change type to `F', remove `predefault' and `invalid_p' initializers. (make_symbol_special): New architecture method. (adjust_dwarf2_addr, adjust_dwarf2_line): Likewise. (objfile, symbol): New declarations. * arch-utils.h (default_elf_make_msymbol_special): Remove prototype. (default_make_symbol_special): New prototype. (default_adjust_dwarf2_addr): Likewise. (default_adjust_dwarf2_line): Likewise. * mips-tdep.h (mips_unmake_compact_addr): New prototype. * arch-utils.c (default_elf_make_msymbol_special): Remove function. (default_make_symbol_special): New function. (default_adjust_dwarf2_addr): Likewise. (default_adjust_dwarf2_line): Likewise. * dwarf2-frame.c (decode_frame_entry_1): Call `gdbarch_adjust_dwarf2_addr'. * dwarf2loc.c (dwarf2_find_location_expression): Likewise. * dwarf2read.c (create_addrmap_from_index): Likewise. (process_psymtab_comp_unit_reader): Likewise. (add_partial_symbol): Likewise. (add_partial_subprogram): Likewise. (process_full_comp_unit): Likewise. (read_file_scope): Likewise. (read_func_scope): Likewise. Call `gdbarch_make_symbol_special'. (read_lexical_block_scope): Call `gdbarch_adjust_dwarf2_addr'. (read_call_site_scope): Likewise. (dwarf2_ranges_read): Likewise. (dwarf2_record_block_ranges): Likewise. (read_attribute_value): Likewise. (dwarf_decode_lines_1): Call `gdbarch_adjust_dwarf2_line'. (new_symbol_full): Call `gdbarch_adjust_dwarf2_addr'. * elfread.c (elf_symtab_read): Don't call `gdbarch_elf_make_msymbol_special' if unset. * mips-linux-tdep.c (micromips_linux_sigframe_validate): Strip the ISA bit from the PC. * mips-tdep.c (mips_unmake_compact_addr): New function. (mips_elf_make_msymbol_special): Set the ISA bit in the symbol's address appropriately. (mips_make_symbol_special): New function. (mips_pc_is_mips): Set the ISA bit before symbol lookup. (mips_pc_is_mips16): Likewise. (mips_pc_is_micromips): Likewise. (mips_pc_isa): Likewise. (mips_adjust_dwarf2_addr): New function. (mips_adjust_dwarf2_line): Likewise. (mips_read_pc, mips_unwind_pc): Keep the ISA bit. (mips_addr_bits_remove): Likewise. (mips_skip_trampoline_code): Likewise. (mips_write_pc): Don't set the ISA bit. (mips_eabi_push_dummy_call): Likewise. (mips_o64_push_dummy_call): Likewise. (mips_gdbarch_init): Install `mips_make_symbol_special', `mips_adjust_dwarf2_addr' and `mips_adjust_dwarf2_line' gdbarch handlers. * solib.c (gdb_bfd_lookup_symbol_from_symtab): Get target-specific symbol address adjustments. * gdbarch.h: Regenerate. * gdbarch.c: Regenerate. 2014-12-12 Maciej W. Rozycki gdb/testsuite/ * gdb.base/func-ptrs.c: New file. * gdb.base/func-ptrs.exp: New file. commit c784b1150407a85946f9d45553893349de45a577 Author: Anthony Green Date: Fri Dec 12 08:44:19 2014 -0500 Add zex instruction support for moxie port commit 26047f76c056cfe04e917a249beed66d046b7eb6 Author: Anthony Green Date: Fri Dec 12 08:43:49 2014 -0500 Add zex instructions for moxie port commit c322dea4027dd82a7727154b3eb33438db2859f7 Author: Alan Modra Date: Fri Dec 12 16:02:34 2014 +1030 PowerPC register numbers in DWARF This makes gas .cfi output to .debug_frame match register numbering emitted by gcc. md_reg_eh_frame_to_debug_frame follows the ABI, targets not using it, notably Linux, don't. * config/tc-ppc.h (md_reg_eh_frame_to_debug_frame): Match current gcc behaviour. * config/te-aix.h: New file. * configure.tgt: Use em=aix for powerpc-aix. commit de287215cef5f4271367f75c557c1af788892e69 Author: Alan Modra Date: Fri Dec 12 23:39:14 2014 +1030 Set bfd_error in _bfd_elf_adjust_dynamic_copy PR 15228 * elflink.c (_bfd_elf_adjust_dynamic_copy): Call bfd_set_error. commit e5a9158d093d53f2bb1057359ac381dcdf6d4305 Author: Andreas Arnez Date: Fri Dec 12 14:14:21 2014 +0100 S390: Fix gdbserver support for TDB This makes gdbserver actually provide values for the TDB registers when the inferior was stopped in a transaction. The change in linux-low.c is needed to suppress the warning for an unavailable TDB. The test case 's390-tdbregs.exp' passes with this patch and fails without. gdb/gdbserver/ChangeLog: * linux-low.c (regsets_fetch_inferior_registers): Suppress the warning upon ENODATA from ptrace. * linux-s390-low.c (s390_store_tdb): New. (s390_regsets): Add regset for NT_S390_TDB. commit feea5f36a9dd65a0ff279c71744423c419b77ada Author: Andreas Arnez Date: Fri Dec 12 14:14:21 2014 +0100 gdbserver: Support read-only regsets in linux-low.c For GNU/Linux targets using the regsets interface, this change supports regsets that can be read but not written. The S390 "last break" regset is an example. So far it had been defined with regset->set_request == PTRACE_GETREGSET, such that the respective ptrace call does not cause any harm. Now we just skip the whole read/modify/write sequence for regsets that do not define a fill_function. gdb/gdbserver/ChangeLog: * linux-low.c (regsets_store_inferior_registers): Skip regsets without a fill_function. * linux-s390-low.c (s390_fill_last_break): Remove. (s390_regsets): Set fill_function to NULL for NT_S390_LAST_BREAK. (s390_arch_setup): Use regset's size instead of fill_function for loop end condition. commit 098dbe61246fd65ea5e3825d77afb31d52c43153 Author: Andreas Arnez Date: Fri Dec 12 14:14:20 2014 +0100 gdbserver: Prevent stale/random values in register cache When fetch_inferior_registers does not update all registers, this patch assures that no stale register values remain in the register cache. On Linux platforms using the regsets interface, when one of the ptrace calls used for fetching the register values returns an error, this patch also avoids copying the random data returned from ptrace into the register cache. All unfetched registers are marked "unavailable" instead. gdb/gdbserver/ChangeLog: * linux-low.c (regsets_fetch_inferior_registers): Do not invoke the regset's store function when ptrace returned an error. * regcache.c (get_thread_regcache): Invalidate register cache before fetching inferior's registers. commit 28eef6727d3cd4461091a752c19c418d1bf3bcb7 Author: Andreas Arnez Date: Fri Dec 12 14:14:20 2014 +0100 gdbserver: Rephrase loops in regsets_fetch/store_inferior_registers Replace the while-loops in linux-low.c that iterate over regsets by for-loops. This makes it clearer what is iterated over. Also, since "continue" now moves on to the next iteration without having to increment the regset pointer first, the code is slightly reduced. In case of EIO the old code did not increment the regset pointer, but iterated over the same (now disabled) regset again. This extra iteration is now avoided. gdb/gdbserver/ChangeLog: * linux-low.c (regsets_fetch_inferior_registers): Rephrase while-loop as for-loop. (regsets_store_inferior_registers): Likewise. commit 6cabe1ea460c54c17ac877b2541eccf91d6b4b9c Author: Alan Modra Date: Fri Dec 12 22:53:46 2014 +1030 Copy relocations against protected symbols Copy relocs are used in a scheme to avoid dynamic text relocations in non-PIC executables that refer to variables defined in shared libraries. The idea is to have the linker define any such variable in the executable, with a copy reloc copying the initial value, then have both the executable and shared library refer to the executable copy. If the shared library defines the variable as protected then we have two copies of the variable being used. PR 15228 * elflink.c (_bfd_elf_adjust_dynamic_copy): Add "info" param. Error on copy relocs against protected symbols. (elf_merge_st_other): Set h->protected_def. * elf-bfd.h (struct elf_link_hash_entry): Add "protected_def". (_bfd_elf_adjust_dynamic_copy): Update prototype. * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Update _bfd_elf_adjust_dynamic_copy call. * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise. * elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise. * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise. * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise. * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise. * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise. * elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise. * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise. * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise. * elf32-metag.c (elf_metag_adjust_dynamic_symbol): Likewise. * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Likewise. * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise. * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise. * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise. * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise. * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise. * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise. * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise. * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Likewise. * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Likewise. * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise. * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise. commit 21daaaaffcbda47b724858dd99ee2082043ef2da Author: Yao Qi Date: Thu Nov 27 11:37:54 2014 +0800 Improve arm_skip_prologue by using arm_analyze_prologue Hi, I see many fails in dw2-dir-file-name.exp on arm target when test case is compiled with -marm, however, these fails are disappeared when test case is compiled with -mthumb. The difference of pass and fail shown below is that "0x000085d4 in" isn't printed out, but test case expects to see it. -Breakpoint 2, compdir_missing__ldir_missing__file_basename () at tmp-dw2-dir-file-name.c:999^M -(gdb) FAIL: gdb.dwarf2/dw2-dir-file-name.exp: compdir_missing__ldir_missing__file_basename: continue to breakpoint: compdir_missing__ldir_missing__file_basename +Breakpoint 2, 0x000085d4 in compdir_missing__ldir_missing__file_basename () at tmp-dw2-dir-file-name.c:999^M +(gdb) PASS: gdb.dwarf2/dw2-dir-file-name.exp: compdir_missing__ldir_missing__file_basename: continue to breakpoint: compdir_missing__ldir_missing__file_basename This difference is caused by setting breakpoint at the first instruction in the function (actually, the first instruction in prologue, at [1]), so that frame_show_address returns false, and print_frame doesn't print the address. 0x00008620 <+0>: push {r11} ; (str r11, [sp, #-4]!) <--[1] 0x00008624 <+4>: add r11, sp, #0 0x00008628 <+8>: ldr r3, [pc, #24] ; 0x8648 0x0000862c <+12>: ldr r3, [r3] 0x00008630 <+16>: add r3, r3, #1 0x00008634 <+20>: ldr r2, [pc, #12] ; 0x8648 Then, it must be the arm_skip_prologue's fault that unable to skip instructions in prologue. At the end of arm_skip_prologue, it matches several instructions, such as "str r(0123),[r11,#-nn]" and "str r(0123),[sp,#nn]", but "push {r11}" isn't handled. These instruction matching code in arm_skip_prologue, which can be regarded as leftover of development for many years, should be merged to arm_analyze_prologue and use arm_analyze_prologue in arm_skip_prologue. Here is the something like the history of arm_{skip,scan,analyze}_prologue. Around 2002, there are arm_skip_prologue and arm_scan_prologue, but code are duplicated to some extent. When match an instruction, both functions should be modified, for example in Michael Snyder's patch https://sourceware.org/ml/gdb-patches/2002-05/msg00205.html and Michael expressed the willingness to merge both into one. Daniel added code call thumb_analyze_prologue in arm_skip_prologue in 2006, but didn't handle its counterpart arm_analyze_prologue, which is added in 2010 however, the instructions matching at the bottom of arm_skip_prologue wasn't cleaned up. This patch is to merge them into arm_analyze_prologue. gdb: 2014-12-12 Yao Qi PR tdep/14261 * arm-tdep.c (arm_skip_prologue): Remove unused local variable 'skip_pc'. Remove code skipping prologue instructions, use arm_analyze_prologue instead. (arm_analyze_prologue): Stop the scanning for unrecognized instruction when skipping prologue. commit f303bc3e6ca29f0413376e38164dc5cdc0893d4b Author: Yao Qi Date: Fri Nov 28 15:19:12 2014 +0800 Don't scan prologue past epilogue This patch is to stop prologue analysis past epilogue in for arm mode, while we've already had done the same to thumb mode (see thumb_instruction_restores_sp). This is useful to parse functions with empty body (epilogue follows prologue). gdb: 2014-12-12 Yao Qi * arm-tdep.c (arm_instruction_restores_sp): New function. (arm_analyze_prologue): Call arm_instruction_restores_sp. (arm_in_function_epilogue_p): Move code to arm_instruction_restores_sp. commit 65840e31a7a7cd64c81ac47bcb17319536ce3ba2 Author: GDB Administrator Date: Fri Dec 12 00:00:13 2014 +0000 Automatic date update in version.in commit acff96643eb25bc425d108b0576d393ab398f1c5 Author: Nick Clifton Date: Thu Dec 11 20:25:05 2014 +0000 Fix a few moere memory access violations. PR binutils/17512 * dwarf.c (display_gdb_index): Add more range checks. commit 05a6c3c813d617d9900c5de056f40f958a6c71a5 Author: Doug Evans Date: Thu Dec 11 12:05:25 2014 -0800 cp-namespace.c (cp_lookup_nested_symbol): Fix comments. gdb/ChangeLog: * cp-namespace.c (cp_lookup_nested_symbol): Fix comments. commit fe2a438d598329ed45cd7552565085068883276e Author: Doug Evans Date: Thu Dec 11 09:55:29 2014 -0800 (lookup_global_symbol_from_objfile): Simplify. gdb/ChangeLog: * symtab.c (lookup_symbol_in_objfile_symtabs): Delete forward decl. (symbol *lookup_symbol_via_quick_fns): Ditto. (lookup_symbol_in_objfile): Add forward decl. (lookup_global_symbol_from_objfile): Simplify, call lookup_symbol_in_objfile. commit 8acbedd60e1045bf8d37b29ddd25c2c8b6a302a9 Author: Keith Seitz Date: Thu Dec 11 09:39:24 2014 -0800 This commit causes hundreds of core file regressions in gdb: commit f64e188b58f4aab4cbd03aa6e9fc1aa602546e26 Author: Nick Clifton Date: Tue Dec 9 12:42:18 2014 +0000 More fixes for memory access violations triggered by fuzzed binaries. [snip] * elf.c (elf_parse_notes): Check that the namedata is long enough for the string comparison that is about to be performed. (elf_read_notes): Zero-terminate the note buffer. This change to elf_parse_notes is the culprit: + for (i = ARRAY_SIZE (grokers); i--;) + if (in.namesz >= sizeof grokers[i].string - 1 + && strncmp (in.namedata, grokers[i].string, + sizeof (grokers[i].string) - 1) == 0) Note how this applies sizeof to grokers[i].string... bfd/ChangeLog * elf.c (elf_parse_notes): Define convenience macro GROKER_ELEMENT to add elements to 'grokers'. Use grokers.len instead of sizeof in string comparisons. commit 540feddfde2c93f242e6f54be5feb641f263c5f3 Author: Doug Evans Date: Thu Dec 11 09:27:42 2014 -0800 symtab.c (domain_name) : Add missing case. gdb/ChangeLog: * symtab.c (domain_name) : Add missing case. commit 4c219c2e69bb66a5535645e2c83fafda1362acea Author: Alan Modra Date: Thu Dec 11 16:02:35 2014 +1030 Use autoconf check for long long in binutils Also fix a place where %lld was wrongly used to print a dwarf_vma. * configure.ac: Check for long long and sizes of long long and long. * elfcomm.h (HOST_WIDEST_INT): Test HAVE_LONG_LONG in place of __STDC_VERSION__ and __GNUC__. * strings.c (print_strings): Likewise. * dwarf.c (DWARF_VMA_FMT, DWARF_VMA_FMT_LONG): Likewise. (read_debug_line_header): Use dwarf_vmatoa to print warning. * configure: Regenerate. * config.in: Regenerate. commit 1b43a4392f2c979e77a9fef16877ec99b9cf26a3 Author: GDB Administrator Date: Thu Dec 11 00:00:11 2014 +0000 Automatic date update in version.in commit 0bf32ea9e678df657d306fe28aecac7307debdce Author: Jing Yu Date: Wed Dec 10 15:36:56 2014 -0800 Give informative error message for stub-group-size This patch gives current stub-group-size in error message when stub is too far away. * aarch64.cc (Target_aarch64): Add new variable: stub_group_size_. (AArch64_relocate_functions::maybe_apply_stub): Add new parameter. Update error message. (Target_aarch64::do_relax): Use absolute value of option stub_group_size. Replace local variable with class member stub_group_size_. commit fc1269757f5614cd893c36120f61a5014a45fe37 Author: Simon Marchi Date: Wed Dec 10 16:10:05 2014 -0500 Only leave dprintf inserted if it is marked as persistent (PR breakpoints/17012) On Linux native, if dprintfs are inserted when detaching, they are left in the inferior which causes it to crash from a SIGTRAP. It also happens with dprintfs on remote targets, when set disconnected-dprintf is off. The rationale of the line modified by the patch was to leave dprintfs inserted in order to support disconnected dprintfs. However, not all dprintfs are persistent. Also, there's no reason other kinds of breakpoints can't be persistent either. So this replaces the bp_dprintf check with a check on whether the location is persistent. bl->target_info.persist will be 1 only if disconnected-dprintf is on and we are debugging a remote target. On native, it will always be 0, regardless of the value of disconnected-dprintf. This makes sense, since disconnected dprintfs are not supported by the native target. One issue about the test is that it does not pass when using --target_board=native-extended-gdbserver, partly due to bug 17302 [1]. One quick hack I tried for this was to add a useless "next" between the call to getpid() and detach, which avoids the bug. There is still one case where the test fails, and that is with: - breakpoint always-inserted on - dprintf-style agent - disconnected-dprintf on What happens is that my detach does not actually detach the process, because some persistent commands (the disconnected dprintf) is present. However since gdbserver is ran with --once, when gdb disconnects, gdbserver goes down and takes with it all the processes it spawned and that are still under its control (which includes my test process). When the test checks if the test process is still alive, it obvisouly fails. Investigating about that led me to ask a question on the ML [2] about the behavior of detach. Until the remote case is sorted out, the problematic test is marked as KFAIL. [1] https://sourceware.org/bugzilla/show_bug.cgi?id=17302 [2] https://sourceware.org/ml/gdb/2014-08/msg00115.html gdb/Changelog: PR breakpoints/17012 * breakpoint.c (remove_breakpoints_pid): Skip removing breakpoint if it is marked as persistent. gdb/testsuite/ChangeLog: PR breakpoints/17012 * gdb.base/dprintf-detach.c: New file. * gdb.base/dprintf-detach.exp: New file. commit 0a46d518c7565be02e544ab508f8b5a99b1b5192 Author: Simon Marchi Date: Wed Dec 10 15:12:17 2014 -0500 Introduce target_is_gdbserver This patch introduces a function in gdbserver-support.exp to find out whether the current target is GDBserver. The code was inspired from gdb.trace/qtro.exp, so it replaces the code there by a call to the new function. gdb/testsuite/ChangeLog: * gdb.trace/qtro.exp: Replace gdbserver detection code by... * lib/gdb.exp (target_is_gdbserver): New procedure. commit 56286edfdc0acaed8f412c6b414bb10c867bd2e8 Author: Doug Evans Date: Wed Dec 10 10:42:22 2014 -0800 cp_lookup_symbol_nonlocal: Move definition closer to its subroutines. gdb/ChangeLog: * cp-namespace.c (cp_lookup_symbol_nonlocal): Move definition, closer to its subroutines. commit 34ef845277802f3f440e8f889e8b151711aca55e Author: Doug Evans Date: Wed Dec 10 10:21:31 2014 -0800 cp-namespace.c (lookup_symbol_file): Move next to only caller. gdb/ChangeLog: * cp-namespace.c (lookup_symbol_file): Move next to only caller. commit 9a80057aa002674468fa90135f4f361dd34b9f2a Author: Doug Evans Date: Wed Dec 10 10:04:00 2014 -0800 cp_lookup_symbol_imports: Make static. gdb/ChangeLog: * cp-namespace.c (cp_lookup_symbol_imports): Make static. * cp-support.c (cp_lookup_symbol_imports): Delete. commit 1abf3a143773819e195fceaa485060dcac9e6089 Author: Simon Marchi Date: Wed Dec 10 13:03:47 2014 -0500 Restore terminal state in mi_thread_exit (PR gdb/17627) When a thread exits, the terminal is left in mode "terminal_is_ours" while the target executes. This patch fixes that. We need to manually restore the terminal setting in this particular observer. In the case of the other MI observers that call target_terminal_ours, gdb will end up resuming the inferior later in the execution and call target_terminal_inferior. In the case of the thread exit event, we still need to call target_terminal_ours to be able to print something, but there is nothing that gdb will need to resume after that. We therefore need to call target_terminal_inferior ourselves. gdb/ChangeLog: PR gdb/17627 * target.c (cleanup_restore_target_terminal): New function. (make_cleanup_restore_target_terminal): New function. * target.h (make_cleanup_restore_target_terminal): New declaration. * mi/mi-interp.c (mi_thread_exit): Use the new cleanup. Signed-off-by: Simon Marchi commit f4943d8253e8c9c539fd72d23e94a65f84c92d1a Author: Alan Modra Date: Wed Dec 10 21:44:34 2014 +1030 Don't always build coffgen.o Removes a bunch of unused functions from libbfd when building ELF or AOUT. Split off the bits we need externally when not building a COFF target into coff-bfd.c and coff-bfd.h. bfd/ * Makefile.am (BFD32_LIBS, BFD32_LIBS_CFILES): Remove dwarf2 and coffgen. Add coff-bfd. Sort. (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add coffgen and dwarf2. * bfd-in.h (bfd_coff_get_syment, bfd_coff_get_auxent): Delete. (struct coff_comdat_info, bfd_coff_get_comdat_section): Delete. * coffgen.c (coff_symbol_from): Move to coff-bfd.h as macro, without unused param. Update uses. (bfd_coff_get_comdat_section): Move to coff-bfd.h as macro. (bfd_coff_get_syment, bfd_coff_get_auxent): Move to coff-bfd.c. * libcoff-in.h: #include "coff-bfd.h". (struct coff_section_tdata, coff_section_data): Move to coff-bfd.h. (coff_symbol_from): Delete. * coff-bfd.c: New file. * coff-bfd.h: New file. * coff-i386.c: Update coff_symbol_from occurrences. * coff-i960.c: Likewise. * coff-m68k.c: Likewise. * coff-sh.c: Likewise. * coff-x86_64.c: Likewise. * coffcode.h: Likewise. * pe-mips.c: Likewise. * configure.ac (elf): Add dwarf2.lo. (coffgen, coff, ecoff, xcoff): Define. Use when mapping bfd target vectors to .o files. Add dwarf2 for mach-o targets. Fix the sh target FIXME. * po/SRC-POTFILES.in: Regenerate. * Makefile.in: Regenerate. * configure: Regenerate. * bfd-in2.h: Regenerate. * libcoff.h: Regenerate. binutils/ * objdump.c: #include "coff-bfd.h". ld/ * ldmisc.c: #include "coff-bfd.h" commit e00e81980c70659d0efe686b31a55db5faaa91f9 Author: Alan Modra Date: Wed Dec 10 09:51:56 2014 +1030 Don't return DW_AT_name for function name in C++ DW_AT_name for functions typically just contains the base function name, so lacks namespace, class and parameter information. It would be possible to extract all these from the DWARF, but at a considerable complication of the parser in dwarf2.c, and then you'd need to mangle it all together. Much simpler is to look up the actual symbol. This patch does that, avoiding the extra symbol lookup when the language doesn't do name mangling. PR 17541 * dwarf2.c (struct comp_unit): Add "lang". (non_mangled): New function. (struct funcinfo): Add "is_linkage". Reorder for better packing. Make "name" a const char*. (lookup_address_in_function_table): Delete functionname_ptr param. (find_abstract_instance_name): Add is_linkage param. Set if we have DW_AT_linkage_name or non_mangled DW_AT_name. (scan_unit_for_symbols): Similarly set func->is_linkage. (parse_comp_unit): Stash DW_AT_language. (comp_unit_find_nearest_line): Replace functionname_ptr param with function_ptr param. (_bfd_dwarf2_find_nearest_line): Adjust above calls. Set functionname_ptr from function->name. Call _bfd_elf_find_function to retrieve symbol for function if not linkage name. (_bfd_elf_find_function): Add bfd_target_elf_flavour test, moved from.. * elf.c (elf_find_function): ..here. (_bfd_elf_find_nearest_line): Adjust calls. * elf-bfd.h (_bfd_elf_find_function): Declare. commit fa15f18deaf6f48e0b415ad3e8864de0b1cf6a39 Author: Alan Modra Date: Wed Dec 10 14:06:42 2014 +1030 Don't access elf tdata in dwarf.c without first checking for an ELF bfd _bfd_dwarf2_find_nearest_line may be called on a COFF bfd. * dwarf2.c (read_address): Check bfd_target_elf_flavour before calling get_elf_backend_data. (_bfd_dwarf2_find_nearest_line): Fix parens. commit 4673aa7850ee7a8a806a9e61f531c8dd88f70325 Author: GDB Administrator Date: Wed Dec 10 00:00:10 2014 +0000 Automatic date update in version.in commit 28dbcedc7b1282b93c3f25c4e42ae71b44e8e2a8 Author: Alan Modra Date: Tue Dec 9 14:32:22 2014 +1030 Don't sort ld -r relocs for mips HI16/LO16 are deliberately put adjacent, which might mean relocs are then not sorted by r_offset. See tc-mips.c:mips_frob_file. Don't undo the HI16/LO16 sorting. PR 17666 * elf-bfd.h (struct elf_backend_data): Add sort_relocs_p. * elfxx-target.h (elf_backend_sort_relocs_p): Define. (elfNN_bed): Init new field. * elflink.c (elf_link_adjust_relocs): Conditionally sort. (bfd_elf_final_link): Control sorting of relocs. * elfxx-mips.c (_bfd_mips_elf_sort_relocs_p): New function. * elfxx-mips.h (_bfd_mips_elf_sort_relocs_p): Declare. * elf32-mips.c (elf_backend_sort_relocs_p): Define. * elf64-mips.c (elf_backend_sort_relocs_p): Define. commit 4e3272393ff1ab2c07d9fa209d2ae82954f7954c Author: Denis Chertykov Date: Tue Dec 9 20:00:18 2014 +0300 * od-elf32_avr.c (elf32_avr_dump_mem_usage): Fix device initialization. commit f64e188b58f4aab4cbd03aa6e9fc1aa602546e26 Author: Nick Clifton Date: Tue Dec 9 12:42:18 2014 +0000 More fixes for memory access violations triggered by fuzzed binaries. PR binutils/17512 * objdump.c (display_any_bfd): Avoid infinite loop closing and opening the same archive again and again. * archive64.c (bfd_elf64_archive_slurp_armap): Add range checks. * libbfd.c (safe_read_leb128): New function. * libbfd-in.h (safe_read_leb128): Add prototype. * libbfd.h: Regenerate. * elf-attrs.c (_bfd_elf_parse_attributes): Use safe_read_leb128. Check for an over-long subsection length. * elf.c (elf_parse_notes): Check that the namedata is long enough for the string comparison that is about to be performed. (elf_read_notes): Zero-terminate the note buffer. commit 137d1369ac054744d27f19e95aa8a739e6c0068d Author: Chen Gang Date: Tue Dec 9 17:30:40 2014 +1030 Fix windres memory leak * windres.c (open_file_search): Free path buffer on failure. commit 77ab336ea162fa8d7a9a9e005d7e2865a210b375 Author: Chen Gang Date: Tue Dec 9 17:02:54 2014 +1030 Ensure zero termination of tic4x insn buffer * config/tc-tic4x.c (md_assemble): Ensure insn->name is zero terminated. Simplify concatenation of parallel insn. commit 31d999a568b8dcd19d79308335f2508685943f1f Author: Alan Modra Date: Tue Dec 9 14:31:01 2014 +1030 ppc64_elf_edit_opd revamp, take 2 Now that ld -r relocs are sorted by the pr17666 fix, there isn't so much need to sort incoming relocs. * elf64-ppc.c (sort_r_offset): Delete. (ppc64_elf_edit_opd): Don't sort input relocs. commit d4d1e336f94fe40283d6c27b79723fd4bac3ed13 Author: Doug Evans Date: Mon Dec 8 18:27:41 2014 -0800 python/py-objfile.c (objfpy_get_owner): Increment refcount of result. gdb/ChangeLog: * python/py-objfile.c (objfpy_get_owner): Increment refcount of result. commit f505f9504cc1b9c48ddd9c65c4cd45d250fb4c0c Author: GDB Administrator Date: Tue Dec 9 00:00:09 2014 +0000 Automatic date update in version.in commit 53774b7e76dc5b3e8cc00d6f7a9d27e6c65830a9 Author: Nick Clifton Date: Mon Dec 8 17:51:46 2014 +0000 More fixes for invalid memory accesses triggered by fuzzed binaries. PR binutils/17531 * dwarf.c (display_debug_frames): Check for a negative augmentation data length. (display_gdb_index): Check for invalid offsets. * elfcomm.c (process_archive_index_and_symbols): Check for an index number that overflows when multiplied by the ar index size. * readelf.c (dump_ia64_unwind): Add range checks. (slurp_ia64_unwind_table): Change to a boolean function. Add range checks. (process_version_sections): Add range checks. (get_symbol_version_string): Add check for missing section headers. commit 2ebecbb12e1281fca50fb0361475a01243432825 Author: Denis Chertykov Date: Mon Dec 8 20:42:21 2014 +0300 * od-elf32_avr.c: Forgot to add a new file. commit 6d0cfb9c9d197410756fae48052837aea58767e4 Author: Denis Chertykov Date: Mon Dec 8 20:35:24 2014 +0300 * configure.ac: Add od-elf32_avr to build. * configure: Regenerate. * od-elf32_avr.c: New file. * objdump.h: Declare objdump_private_desc_elf32_avr. commit a0be3e44c7f510df608e4a480dd05c173ce280ce Author: Doug Evans Date: Mon Dec 8 08:50:48 2014 -0800 New "owner" attribute for gdb.Objfile. gdb/ChangeLog: * NEWS: Mention gdb.Objfile.owner. * python/py-objfile.c (objfpy_get_owner): New function. (objfile_getset): Add "owner". gdb/doc/ChangeLog: * python.texi (Objfiles In Python): Document Objfile.owner. gdb/testsuite/ChangeLog: * gdb.python/py-objfile.exp: Add tests for objfile.owner. commit 137d04f77229e4e61098c5595a1edf70c3bc4d28 Author: GDB Administrator Date: Mon Dec 8 00:00:09 2014 +0000 Automatic date update in version.in commit 14952177cde1390962bdc9e92f800776ec398cea Author: GDB Administrator Date: Sun Dec 7 00:00:09 2014 +0000 Automatic date update in version.in commit c18392d87d22191584d76f7b4a850eb9508a8f04 Author: Eric Botcazou Date: Sat Dec 6 16:45:22 2014 +0100 Add Visium support to ld ld/ * configure.tgt: Add Visium support. * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32visium.c. (eelf32visium.c): New rule. * Makefile.in: Regenerate. * emulparams/elf32visium.sh: New file. * scripttempl/visium.sc: Likewise. ld/testsuite/ * lib/ld-lib.exp (check_shared_lib_support): Return 0 for Visium. * ld-visium/: New directory. commit b6605dddac58805d735211f0d38805bf87b6db04 Author: Eric Botcazou Date: Sat Dec 6 16:42:26 2014 +0100 Add Visium support to gas gas/ * configure.tgt: Add Visium support. * Makefile.am (TARGET_CPU_CFILES): Move config/tc-vax.c around and add config/tc-visium.c. (TARGET_CPU_HFILES): Move config/tc-vax.h around and add config/tc-visium.h. * Makefile.in: Regenerate. * config/tc-visium.c: New file. * config/tc-visium.h: Likewise. * po/POTFILES.in: Regenerate. gas/testsuite/ * gas/elf/elf.exp: Skip ifunc-1 for Visium. * gas/visium/: New directory. commit 619ed720087c20a96b6b9a7892217c5193eb3b8f Author: Eric Botcazou Date: Sat Dec 6 16:39:24 2014 +0100 Add Visium support to binutils binutils/ * readelf.c: Include elf/visium.h. (guess_is_rela): Deal with EM_VISIUM. (dump_relocations): Likewise. (get_machine_name): Likewise. (get_machine_flags): Likewise. (get_osabi_name): Likewise. (is_32bit_abs_reloc): Likewise. (is_32bit_pcrel_reloc): Likewise. (is_16bit_abs_reloc): Likewise. binutils/testsuite: * binutils-all/objcopy.exp: Skip strip-10 for Visium. commit d924db559be94e668253a272f70870c85aecc60e Author: Eric Botcazou Date: Sat Dec 6 16:35:18 2014 +0100 Add Visium support to bfd bfd/ * config.bfd: Add Visium support. * configure.ac: Likewise. * configure: Regenerate. * Makefile.am (ALL_MACHINES): Add cpu-visium.lo. (ALL_MACHINES_CFILES): Add cpu-visium.c. (BFD32_BACKENDS): Add elf32-visium.lo. (BFD32_BACKENDS_CFILES): Add elf32-visium.c. * Makefile.in: Regenerate. * archures.c (DESCRIPTION): Add Visium support. (bfd_visium_arch): Declare. (bfd_archures_list): Add bfd_visium_arch. * reloc.c: Add Visium relocations. * targets.c (visium_elf32_vec): Declare. (_bfd_target_vector): Add visium_elf32_vec. * bfd-in2.h: Regenerate. * libbfd.h: Likewise. * cpu-visium.c: New file. * elf32-visium.c: Likewise. * po/SRC-POTFILES.in: Regenerate. include/elf/ * common.h (EM_VISIUM): Define. * visium.h: New file. commit 1945cfa59de0a6093011891e1974ac2b6d25658f Author: Eric Botcazou Date: Sat Dec 6 16:25:55 2014 +0100 Add Visium support to opcodes include/ * dis-asm.h (print_insn_visium): Declare. include/opcode/ * visium.h: New file. opcodes/ * configure.ac: Add Visium support. * configure: Regenerate. * Makefile.am (TARGET_LIBOPCODES_CFILES): Add visium-dis.c and visium-opc.c. * Makefile.in: Regenerate. * disassemble.c (ARCH_visium): Define if ARCH_all. (disassembler): Deal with bfd_arch_visium if ARCH_visium. * visium-dis.c: New file. * visium-opc.c: Likewise. * po/POTFILES.in: Regenerate. commit bb5f7690917fd192b98c2fcace1884252c5f6f02 Author: Eric Botcazou Date: Sat Dec 6 16:06:46 2014 +0100 Update from upstream config repo * config.sub: Update from upstream config repo. commit 8e309d07d26134de7de071fb2e4c92fa8d5e448a Author: GDB Administrator Date: Sat Dec 6 00:00:10 2014 +0000 Automatic date update in version.in commit 343433dfd71925aa05cc086ad13a3aa15e7a1854 Author: Andrew Burgess Date: Fri Dec 5 21:05:33 2014 +0000 Add string representation of ELF e_flags for AVR. binutils/ChangeLog: * readelf.c (decode_AVR_machine_flags): New function. (get_machine_flags): Add EM_AVR case. commit 238309aab1e49760b335262db8dbfb26ac88e69a Author: Steve Ellcey Date: Fri Dec 5 11:06:53 2014 -0800 2014-12-05 Steve Ellcey * ecoff.c (_bfd_ecoff_slurp_symbol_table): Add cast. commit 6c1c7be347154e17a8cf723395bb616d4f3258ed Author: Jan Kratochvil Date: Fri Dec 5 19:39:12 2014 +0100 Unify lookup_symbol_in_objfile_symtabs That's right, block_lookup_symbol_primary()'s additional requirement over block_lookup_symbol() is: Function is useful if one iterates all global/static blocks of an objfile. Which is satisfied both in lookup_symbol_in_objfile_symtabs() and in lookup_global_symbol_from_objfile() thanks to their's ALL_OBJFILE_COMPUNITS. In fact after reverting that ba715d7fe49c8a59660fbd571b935b29eb7cfbdb above the lines of code were exactly the same. So instead of accelerating both lookup_symbol_in_objfile_symtabs() and lookup_global_symbol_from_objfile() I just accelerated lookup_symbol_in_objfile_symtabs() and I am proposing to reuse lookup_symbol_in_objfile_symtabs() in lookup_global_symbol_from_objfile() instead. In fact such unification would already save some lines of code even before the checked-in acceleration patch above. gdb/ChangeLog 2014-12-05 Jan Kratochvil * symtab.c (lookup_symbol_in_objfile_symtabs): New declaration. (lookup_global_symbol_from_objfile): Call it. commit efad9b6a7ad68e3e85dd28a12b567f84d6860d17 Author: Jan Kratochvil Date: Fri Dec 5 19:11:53 2014 +0100 Remove const from many struct objfile * I am just not sure if we should go the route of struct objfile * -> const struct objfile * or the other way of: const struct objfile * -> struct objfile * Normally const adding is better but here I do not see much useful to have any struct objfile * const and then it just causes pointer compatibility problems. On Wed, 03 Dec 2014 18:18:44 +0100, Doug Evans wrote: struct objfile is one case where I've decided to just leave the const out and not worry about it. gdb/ChangeLog 2014-12-05 Jan Kratochvil Remove const from struct objfile *. * solib-darwin.c, solib-spu.c, solib-svr4.c, solib.c, solist.h, symtab.c, symtab.h: In these files. commit 069bb7eced120d5a81fc41f339390719a0063ce3 Author: Andreas From Date: Fri Dec 5 11:18:45 2014 -0500 Add myself as write after approval maintainer gdb/ChangeLog: * MAINTAINERS (Write After Approval): Add "Andreas From". commit b7365e5df5b41bc23a2a1464d93ed6435d87a056 Author: H.J. Lu Date: Fri Dec 5 04:52:47 2014 -0800 Define bfd_elf32_get_synthetic_symtab for x32 * elf64-x86-64.c (bfd_elf32_get_synthetic_symtab): New. commit a13c5393d524f93b87e14475357cef2d585201f7 Author: Yao Qi Date: Fri Dec 5 19:56:19 2014 +0800 Revert: Don't enable gdbtk in testsuite This patch is to revert my previous commit, because we shouldn't remove gdbtk bits from gdb/testsuite/configure.ac while keep gdbtk bits in gdb/configure.ac. gdb/testsuite: 2014-12-05 Yao Qi Revert: * configure.ac: Remove AC_ARG_ENABLE for gdbtk. Don't invoke AC_CONFIG_SUBDIRS(gdb.gdbtk). * configure: Re-generated. commit df1b803ada346835ca3372408555b28e1f9795f2 Author: Yao Qi Date: Sat Nov 29 16:58:34 2014 +0800 Fix parallel testing issues in gdb.guile tests Some gdb.guile tests such as scm-error.exp copies .scm file to ${subdir}/, how ${subdir} doesn't exist in parallel testing (outputs/${subdir} exists). $ make -j3 check TESTS='gdb.guile/scm-section-script.exp gdb.guile/scm-error.exp gdb.guile/scm-frame-args.exp' ERROR: remote_download to host of ../../../../git/gdb/testsuite/gdb.guile/scm-section-script.scm to gdb.guile/t-scm-section-script.scm: cp: cannot create regular file 'gdb.guile/t-scm-section-script.scm': No such file or directory ERROR: remote_download to host of ../../../../git/gdb/testsuite/gdb.guile/scm-frame-args.scm to gdb.guile/t-scm-frame-args.scm: cp: cannot create regular file 'gdb.guile/t-scm-frame-args.scm': No such file or directory ERROR: remote_download to host of ../../../../git/gdb/testsuite/gdb.guile/scm-error-1.scm to gdb.guile/t-scm-error-1.scm: cp: cannot create regular file 'gdb.guile/t-scm-error-1.scm': No such file or directory This patch is to remove the third argument of gdb_remote_download, so that gdb_remote_download can return the correct location. Further, these tests only copy .scm files to a different name. From what I can tell from the comments, looks we do this to avoid clobbering file in in-tree build. However, if source and dest of copy are the same, the operation is no-op. So it makes few sense to copy .scm files to a different names. I tried in-tree build/test with this patch, test result isn't changed. gdb/testsuite: 2014-12-05 Yao Qi * gdb.guile/scm-error.exp: Remove the third argument to gdb_remote_download. * gdb.guile/scm-frame-args.exp: Likewise. * gdb.guile/scm-section-script.exp: Likewise. commit 642a8d806780150b62e3a0381a8d995212bdf442 Author: Doug Evans Date: Fri Dec 5 00:53:56 2014 -0800 Revert: linespec.c (iterate_name_matcher): Fix arguments to symbol_name_cmp. This patch causes regressions in ada's operator_bp.exp test. That's because it uses wild_match which expects arguments in the original order. There is still a bug here. It's hard to see because either minsyms save the day, or the needed symtab gets expanded before linespecs need it because of the call to cp_canonicalize_string_no_typedefs in linespec.c:find_linespec_symbols. But if you disable both of those things, then the bug is visible. bash$ ./gdb -D ./data-directory testsuite/gdb.cp/anon-ns (gdb) b doit(void) Function "doit(void)" not defined. gdb/ChangeLog: Revert: PR symtab/17602 * linespec.c (iterate_name_matcher): Fix arguments to symbol_name_cmp. commit ddb9f679fa9f54633442c46574b8e5b0ca45a786 Author: Yao Qi Date: Sat Nov 29 17:24:07 2014 +0800 Use standard_testfile in i386-bp_permanent.exp This patch is to use standard_testfile in i386-bp_permanent.exp to replace existing setting to testfile, srcfile and binfile. So it fixes a problem in i386-bp_permanent.exp in parallel testing. $ make -j3 check TESTS='gdb.guile/scm-section-script.exp gdb.arch/i386-bp_permanent.exp' .... gdb compile failed, /usr/bin/ld: cannot open output file x86/gdb/testsuite/gdb.arch/i386-bp_permanent: No such file or directory collect2: error: ld returned 1 exit status gdb/testsuite: 2014-12-05 Yao Qi * gdb.arch/i386-bp_permanent.exp: Use standard_testfile. commit 3972882e52d7199000bb5dfc753a86aa296a567a Author: H.J. Lu Date: Thu Dec 4 14:19:41 2014 -0800 Add _bfd_elf_ifunc_get_synthetic_symtab In i386 and x86-64 binaries with ifunc, relocations against .got.plt section may not be in the same order as entries in PLT section. This patch adds _bfd_elf_ifunc_get_synthetic_symtab. It takes a function pointer which returns an array of PLT entry symbol values. It calls the function pointer to get the PLT entry symbol value array indexed by relocation index, instead of calling plt_sym_val on each relocation index. PR binutils/17677 * elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): New prototype. * elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): New function. * elf32-i386.c (elf_i386_plt_sym_val): Removed. (elf_backend_plt_sym_val): Likewise. (elf_i386_get_plt_sym_val): New. (elf_i386_get_synthetic_symtab): Likewise. (bfd_elf32_get_synthetic_symtab): Likewise. * elf64-x86-64.c (elf_x86_64_plt_sym_val): Removed. (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise. (elf_backend_plt_sym_val): Likewise. (elf_x86_64_get_plt_sym_val): New. (elf_x86_64_get_synthetic_symtab): Use _bfd_elf_ifunc_get_synthetic_symtab. (bfd_elf64_get_synthetic_symtab): Don't undefine for NaCl. commit 82cf9cb2653b39c426f330854c64028eab4cb65d Author: GDB Administrator Date: Fri Dec 5 00:00:08 2014 +0000 Automatic date update in version.in commit 86e4ed39595933e04a9dcbc7dec18c1056c9cbe1 Author: Doug Evans Date: Thu Dec 4 12:01:22 2014 -0800 New python method gdb.Objfile.add_separate_debug_file. gdb/ChangeLog: * NEWS: Mention gdb.Objfile.add_separate_debug_file. * python/py-objfile.c (objfpy_add_separate_debug_file): New function. (objfile_getset): Add "add_separate_debug_file". gdb/doc/ChangeLog: * python.texi (Objfiles In Python): Document Objfile.add_separate_debug_file. gdb/testsuite/ChangeLog: * gdb.python/py-objfile.exp: Add tests for objfile.add_separate_debug_file. commit 7c50a93137df660f7b2d9d68c0db748a9cb7868f Author: Doug Evans Date: Thu Dec 4 11:32:24 2014 -0800 New python attribute gdb.Objfile.build_id. gdb/ChangeLog: * NEWS: Mention gdb.Objfile.build_id. * build-id.c (build_id_bfd_get): Make non-static. * build-id.h (build_id_bfd_get): Add declaration. * python/py-objfile.c: #include "build-id.h", "elf-bfd.h". (OBJFPY_REQUIRE_VALID): New macro. (objfpy_get_build_id): New function. (objfile_getset): Add "build_id". * utils.c (make_hex_string): New function. * utils.h (make_hex_string): Add declaration. gdb/doc/ChangeLog: * python.texi (Objfiles In Python): Document Objfile.build_id. gdb/testsuite/ChangeLog: * lib/gdb.exp (get_build_id): New function. (build_id_debug_filename_get): Rewrite to use it. * gdb.python/py-objfile.exp: Add test for objfile.build_id. commit fbad6518c1397939ea2d832eea7e53f2147759a8 Author: Alan Modra Date: Thu Dec 4 22:20:14 2014 +1030 ChangeLog typo fix commit cbcb23fa01027a7fe1be938d58ef8e7a60b5fb7e Author: Alan Modra Date: Thu Dec 4 21:10:40 2014 +1030 PowerPC gold, fix 32-bit branch address arithmetic Mixing 64-bit and 32-bit types led to the wrong promotions. Keep calculation in same type. Also fix a case where PLTREL25 reloc addend should be ignored. * Powerpc.cc (Target_powerpc::Branch_info::make_stub): Ignore addend of PLTREL24 reloc when not generating a plt stub. Make max_branch_offset an "Address". (Stub_table::can_read_stub): Make max_branch_offset an "Address". (Target_powerpc::Relocate::relocate): Likewise. commit ba715d7fe49c8a59660fbd571b935b29eb7cfbdb Author: Jan Kratochvil Date: Thu Dec 4 08:26:26 2014 +0100 Accelerate lookup_symbol_aux_objfile 85x During debugging I get 10-30 seconds for a response to simple commands like: (gdb) print vectorvar.size() With this patch the performance gets to 1-2 seconds which is somehow acceptable. The problem is that dwarf2_gdb_index_functions.lookup_symbol (quick_symbol_functions::lookup_symbol) may return (and returns) NULL even for symbols which are present in .gdb_index but which can be found in already expanded symtab. But searching in the already expanded symtabs is just too slow when there are 400000+ expanded symtabs. There would be needed some single global hash table for each objfile so that one does not have to iterate all symtabs. Which .gdb_index could perfectly serve for, just its lookup_symbol() would need to return authoritative yes/no answers. Even after such fix these two simple patches are useful for example for non-.gdb_index files. One can reproduce the slugging interactive GDB performance with: #include using namespace std; string var; class C { public: void m() {} }; int main() { C c; c.m(); return 0; } g++ -o slow slow.C -Wall -g $(pkg-config --libs gtkmm-3.0) gdb ./slow -ex 'b C::m' -ex 'maintenance set per-command space' -ex 'maintenance set per-command symtab' -ex 'maintenance set per-command time' -ex r [...] (gdb) p Display all 183904 possibilities? (y or n) n (gdb) p/r var $1 = {static npos = , _M_dataplus = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_p = 0x3a4db073d8 ""}} Command execution time: 20.023000 (cpu), 20.118665 (wall) ^^^^^^^^^ Space used: 927997952 (+0 for this command) Without DWZ there are X global blocks for X primary symtabs for X CUs of objfile. With DWZ there are X+Y global blocks for X+Y primary symtabs for X+Y CUs where Y are 'DW_TAG_partial_unit's. For 'DW_TAG_partial_unit's (Ys) their blockvector is usually empty. But not always, I have found there typedef symbols, there can IMO be optimized-out static variables etc. Neither of the patches should cause any visible behavior change. gdb/ChangeLog 2014-12-04 Jan Kratochvil * block.c (block_lookup_symbol_primary): New function. * block.h (block_lookup_symbol_primary): New declaration. * symtab.c (lookup_symbol_in_objfile_symtabs): Assert BLOCK_INDEX. Call block_lookup_symbol_primary. commit 53df40a43c968f4d97754226d62775d1fe665459 Author: Alan Modra Date: Wed Dec 3 22:00:18 2014 +1030 Sort relocs output by ld -r bfd/ PR 17666 * elflink.c: Include bfd_stdint.h. (cmp_ext32l_r_offset, cmp_ext32b_r_offset, cmp_ext64l_r_offset, cmp_ext64b_r_offset): New functions. (elf_link_adjust_relocs): Sort relocs. Free reloc hashes after sorting invalidates. ld/testsuite/ * ld-powerpc/vxworks-relax.rd: Update for reloc sorting. * ld-powerpc/vxworks-relax-2.rd: Likewise. * ld-sh/sh64/reldl32.rd: Likewise. * ld-sh/sh64/reldl64.rd: Likewise. commit 621661e3faf809d4f28bb84e94e30c1c8a8cc933 Author: Maciej W. Rozycki Date: Thu Dec 4 00:06:10 2014 +0000 Correct invalid assumptions made by (mostly) DWARF-2 tests Address issues triggered by the MIPS ISA bit handling change, usually in tests that make artificial DWARF-2 records: * gdb.cp/expand-psymtabs-cxx.exp -- this test is debugging an object file and assuming addresses will be 0; with the ISA bit set code addresses are 1 instead: (gdb) PASS: gdb.cp/expand-psymtabs-cxx.exp: set language c++ p 'method(long)' $1 = {void (long)} 0x1 (gdb) FAIL: gdb.cp/expand-psymtabs-cxx.exp: before expand p method $2 = {void (long)} 0x1 (gdb) FAIL: gdb.cp/expand-psymtabs-cxx.exp: force expand p 'method(long)' $3 = {void (long)} 0x1 (gdb) FAIL: gdb.cp/expand-psymtabs-cxx.exp: after expand Fix by matching any hex number, there's no value AFAICT for the test in matching 0 exactly, and I suppose the method's offset within section can be non-zero for some other reasons on other targets too. * gdb.cp/nsalias.exp -- this assumes instructions can be aligned arbitrarily and places code labels at odd addreses, setting the ISA bit and wreaking havoc: (gdb) PASS: gdb.cp/nsalias.exp: print outer::inner::innermost::x list outer::inner::innermost::foo Function "outer::inner::innermost::foo" not defined. (gdb) FAIL: gdb.cp/nsalias.exp: list outer::inner::innermost::foo break *outer::inner::innermost::foo No symbol "foo" in namespace "outer::inner::innermost". (gdb) FAIL: gdb.cp/nsalias.exp: setting breakpoint at *outer::inner::innermost::foo delete $bpnum No breakpoint number 6. (gdb) FAIL: gdb.cp/nsalias.exp: (outer::inner::innermost): delete $bpnum -- etc., etc... Fix by aligning labels to 4; required by many processors. * gdb.dwarf2/dw2-canonicalize-type.exp, gdb.dwarf2/dw2-empty-pc-range.exp, gdb.dwarf2/pr11465.exp -- these assume an instruction and consequently a function can take as little as 1 byte, which makes it impossible to look up a code symbol by an address with the ISA bit set as the address is already beyond the end of the function: (gdb) ptype f No symbol "f" in current context. (gdb) FAIL: gdb.dwarf2/dw2-canonicalize-type.exp: ptype f (gdb) PASS: gdb.dwarf2/dw2-empty-pc-range.exp: empty range before CU load ptype realrange No symbol "realrange" in current context. (gdb) FAIL: gdb.dwarf2/dw2-empty-pc-range.exp: valid range after CU load (gdb) p N::c.C Cannot take address of method C. (gdb) FAIL: gdb.dwarf2/pr11465.exp: p N::c.C -- fix by increasing the size of the function to 4 (perhaps code in gdb/mips-tdep.c could look up code symbols up to twice, with and failing that without the ISA bit set, but it seems wrong to me to implement specific handling for invalid code just to satisfy test cases that assume too much about the target). * gdb.dwarf2/dw2-case-insensitive.exp -- an artificial code label is created, but does not work because data (a `.align' pseudo-op in this case) follows and as a result the label has no MIPS16 or microMIPS annotation in the symbol table: (gdb) PASS: gdb.dwarf2/dw2-case-insensitive.exp: set case-sensitive off info functions fUnC_lang All functions matching regular expression "fUnC_lang": File file1.txt: foo FUNC_lang(void); Non-debugging symbols: 0x004006e0 FUNC_lang_start (gdb) FAIL: gdb.dwarf2/dw2-case-insensitive.exp: regexp case-sensitive off -- fix by adding a `.insn' pseudo-op on MIPS targets; the pseudo-op marks data as instructions. * gdb.dwarf2/dw2-stack-boundary.exp -- the test case enables complaints and assumes none will be issued beyond ones explicitly arranged by the test case, however overlapping sections are noticed while minimal symbols are looked up by `mips_adjust_dwarf2_addr' in DWARF-2 record processing: (gdb) set complaints 100 (gdb) PASS: gdb.dwarf2/dw2-stack-boundary.exp: set complaints 100 file ./dw2-stack-boundary Reading symbols from ./dw2-stack-boundary...location description stack underflow...location description stack overflow...unexpected overlap between: (A) section `.reginfo' from `.../gdb.dwarf2/dw2-stack-boundary' [0x0, 0x18) (B) section `*COM*' from `.../gdb.dwarf2/dw2-stack-boundary' [0x0, 0x0). Will ignore section B...unexpected overlap between: (A) section `.reginfo' from `.../gdb.dwarf2/dw2-stack-boundary' [0x0, 0x18) (B) section `*UND*' from `.../gdb.dwarf2/dw2-stack-boundary' [0x0, 0x0). Will ignore section B...unexpected overlap between: (A) section `.reginfo' from `.../gdb.dwarf2/dw2-stack-boundary' [0x0, 0x18) (B) section `*ABS*' from `.../gdb.dwarf2/dw2-stack-boundary' [0x0, 0x0). Will ignore section B...done. (gdb) FAIL: gdb.dwarf2/dw2-stack-boundary.exp: check partial symtab errors -- fix by ignoring any extra noise as long as what we look for is found. * gdb.cp/expand-psymtabs-cxx.exp: Accept any address of `method(long)', not just 0x0. * gdb.cp/nsalias.exp: Align code labels to 4. * gdb.dwarf2/dw2-canonicalize-type.S (main): Expand to 4-bytes. * gdb.dwarf2/dw2-empty-pc-range.S (main): Likewise. * gdb.dwarf2/pr11465.S (_ZN1N1cE): Likewise. * gdb.dwarf2/dw2-case-insensitive.c (START_INSNS): New macro. (cu_text_start, FUNC_lang_start): Use `START_INSNS'. * gdb.dwarf2/dw2-stack-boundary.exp: Accept noise in complaints. commit e4429773bbd150781b6a45183339390f8a5913dc Author: GDB Administrator Date: Thu Dec 4 00:00:10 2014 +0000 Automatic date update in version.in commit 1611bc4afb0f08f0aff64ec355b8d68e9f4f0a73 Author: Alan Modra Date: Wed Dec 3 16:17:23 2014 +1030 powerpc gold, work around pr17670 pr17670 is about an assert triggering on a branch to an undefined weak symbol, the symbol being undefined due to dropping its comdat group section. (Well sort of. The symbol is actually defined in an .opd section which isn't part of the group, but the code section the opd entry points at is dropped.) So don't assert. Also, don't make long branch stubs to such symbols, and arrange to have target-reloc.h code warn when applying relocs that use the sym. PR 17670 * symtab.cc (Symbol::set_undefined): Remove assertion. * powerpc.cc (Target_powerpc::symval_for_branch): Don't assert on symbols defined in discarded sections, instead return false. Rearrange params, update all callers. (Target_powerpc::Branch_info::make_stub): Don't make stubs for branches to syms in discarded sections. (Global_symbol_visitor_opd::operator()): Set discarded opd syms undefined and flag as discarded. (Target_powerpc::Relocate::relocate): Localize variable. commit 858339f2b7aafe199c1cd07fc8d4a7c8130aa285 Author: Maciej W. Rozycki Date: Wed Dec 3 19:19:41 2014 +0000 MIPS: Add support for microMIPS Linux signal trampolines The necessity for this change has been revealed in the course of investigation related to proposed changes in the treatment of the ISA bit encoded in function symbols on the MIPS target. This change adds support for Linux signal trampolines encoded with the microMIPS instruction set. Such trampolines are used by the Linux kernel if compiled as a microMIPS binary (even if the binary run/debugged itself contains no microMIPS code at all). To see if we need to check whether the execution mode selected matches the given trampoline I have checked what the bit patterns of all the trampoline sequences decode to in the opposite instruction set. This produced useless or at least unusual code in most cases, for example: microMIPS/EB, o32 sigreturn, decoded as MIPS code: 30401017 andi zero,v0,0x1017 00008b7c dsll32 s1,zero,0xd MIPS/EL, o32 sigreturn, decoded as microMIPS code: 1017 2402 addi zero,s7,9218 000c 0000 sll zero,t0,0x0 However in some corner cases reasonable code can mimic a trampoline, for example: MIPS/EB, n32 rt_sigreturn, decoded as microMIPS code: 2402 sll s0,s0,1 1843 0000 sb v0,0(v1) 000c 0f3c jr t0 -- here the first instruction is a 16-bit one, making things nastier even as there are some other microMIPS instructions whose first 16-bit halfword is 0x000c and therefore matches this whole trampoline pattern. To overcome this problem I have decided the signal trampoline unwinder has to ask the platform backend whether it can apply a given trampoline pattern to the code location being concerned or not. Anticipating the acceptance of the ISA bit proposal I decided the handler not to merely be a predicate, but also to be able to provide an adjusted PC if required. I decided that returning zero will mean that the trampoline pattern is not applicable and any other value is the adjusted PC to use; a handler may return the value requested if the trampoline pattern and the PC requested as-is are both accepted. This changes the semantics of the trampoline unwinder a bit in that the zero PC now has a special value. I think this should be safe as a NULL pointer is generally supposed to be invalid. * tramp-frame.h (tramp_frame): Add `validate' member. * tramp-frame.c (tramp_frame_start): Validate trampoline before scanning. * mips-linux-tdep.c (MICROMIPS_INST_LI_V0): New macro. (MICROMIPS_INST_POOL32A, MICROMIPS_INST_SYSCALL): Likewise. (mips_linux_o32_sigframe): Initialize `validate' member. (mips_linux_o32_rt_sigframe): Likewise. (mips_linux_n32_rt_sigframe): Likewise. (mips_linux_n64_rt_sigframe): Likewise. (micromips_linux_o32_sigframe): New variable. (micromips_linux_o32_rt_sigframe): Likewise. (micromips_linux_n32_rt_sigframe): Likewise. (micromips_linux_n64_rt_sigframe): Likewise. (mips_linux_o32_sigframe_init): Handle microMIPS trampolines. (mips_linux_n32n64_sigframe_init): Likewise. (mips_linux_sigframe_validate): New function. (micromips_linux_sigframe_validate): Likewise. (mips_linux_init_abi): Install microMIPS trampoline unwinders. commit db6b071a97893d5c7bf34e7fb171a0b710ea736d Author: Nick Clifton Date: Wed Dec 3 19:50:48 2014 +0000 Fix memory access problems exposed by fuzzed binaries. PR binutils/17512 * objdump.c (free_debug_section): Reset the compress_status as well. * compress.c (bfd_get_full_section_contents): Fail if there are no section contents available when the compress_status is COMPRESS_SECTION_DONE. * libbfd.c (bfd_malloc): Refuse to allocate a negative size. (bfd_malloc2): Use bfd_malloc. (bfd_realloc): Refuse to reallocate a negative size. (bfd_realloc2): Use bfd_realloc. (bfd_realloc_or_free): Use bfd_realloc. (bfd_zmalloc): Use bfd_malloc. (bfd_zmalloc): Use bfd_malloc2. * opncls.c (bfd_alloc): Refuse to allocate a negative size. commit 4759c34e128035e57b06a7b3d7c58f135061c6da Author: H.J. Lu Date: Wed Dec 3 10:59:46 2014 -0800 Compile pie_copyrelocs_test.cc with -fno-exceptions -fno-asynchronous-unwind-tables PR gold/17675 * testsuite/Makefile.am (pie_copyrelocs_test_CXXFLAGS): New. * testsuite/Makefile.in: Regenerated. commit 01bbed2a55655bb46b5fe1493f0c1a15dcf3a844 Author: H.J. Lu Date: Wed Dec 3 08:40:19 2014 -0800 Replace copyreloc-main.c with copyreloc-main.S * ld-x86-64/copyreloc-main.c: Removed. * ld-x86-64/copyreloc-main.S: New. * ld-x86-64/x86-64.exp: Replace copyreloc-main.c with copyreloc-main.S. commit bee0ee850e846a8717b9aadb8d5da3adee3254ee Author: Nick Clifton Date: Wed Dec 3 16:33:33 2014 +0000 Replace calls to abort (in readelf) with informative error messages. PR binutils/17531 * readelf.c (get_machine_flags): Replace call to abort with a warning message and a return value. (get_elf_section_flags): Likewise. (get_symbol_visibility): Likewise. (get_ia64_symbol_other): Likewise. (get_ia64_symbol_other): Likewise. (is_32bit_abs_reloc): Likewise. (apply_relocations): Likewise. (display_arm_attribute): Likewise. commit 9d157cb9fe73ff3d911ccdf581ab09eae02e78aa Author: H.J. Lu Date: Wed Dec 3 08:10:04 2014 -0800 Reformat elf_x86_64_create_dynamic_sections * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Reformat. commit 1f98a0748c4dfae57a76c408501c938480c1173c Author: Alan Modra Date: Wed Dec 3 21:56:19 2014 +1030 powerpc gold, fix pr17566 Code stolen from arm.cc. PR 17566 * powerpc.cc (Target_powerpc::Scan::local): Use add_local_section when adding dynamic relocations against section symbols. commit ff1eb2b544c8500f48eff3418ac1e005acd5e3fe Author: Ulrich Weigand Date: Wed Dec 3 15:38:46 2014 +0100 Use core regset iterators on Sparc Solaris Remove native-only core file handling on Sparc Solaris. Instead, enable the sparc target generic core regset logic on Solaris by providing appropriate register offset maps. Thanks to Joel Brobecker for testing! gdb/ * config/sparc/sol2.mh (NATDEPFILES): Remove core-regset.o. * sparc-sol2-tdep.c: Include "regset.h". (sparc32_sol2_supply_core_gregset): New function. (sparc32_sol2_collect_core_gregset): Likewise. (sparc32_sol2_supply_core_fpregset): Likewise. (sparc32_sol2_collect_core_fpregset): Likewise. (sparc32_sol2_gregset, sparc32_sol2_fpregset): New variables. (sparc32_sol2_init_abi): Set tdep->gregset/sizeof_gregset and tdep->fpregset/sizeof_fpregset. * sparc64-sol2-tdep.c: Include "regset.h". (sparc64_sol2_supply_core_gregset): New function. (sparc64_sol2_collect_core_gregset): Likewise. (sparc64_sol2_supply_core_fpregset): Likewise. (sparc64_sol2_collect_core_fpregset): Likewise. (sparc64_sol2_gregset, sparc64_sol2_fpregset): New variables. (sparc64_sol2_init_abi): Set tdep->gregset/sizeof_gregset and tdep->fpregset/sizeof_fpregset. commit 75783939d7bd00c4e0086e5b7e536fb88f4e9d27 Author: Simon Marchi Date: Wed Dec 3 08:56:10 2014 -0500 Fix make_cleanup_dtor signature to match declaration The definition does not use the typedef for the dtor function pointer type that the declaration uses. It's a cosmetic-only change. ChangeLog: * common/cleanups.c (make_cleanup_dtor): Use typedef for dtor type. commit 2d7bb7580ac174127f8ae127ebc4156a91035fc0 Author: Joel Brobecker Date: Wed Dec 3 02:33:13 2014 -0500 callback.h:struct host_callback_struct compilation error on Windows hosts. On Windows, a recent gnulib update imported the lstat module, and this caused a remote-sim.c build failure in struct host_callback_struct: In file included from /[...]/gdb/remote-sim.c:34:0: /[...]/gdb/../include/gdb/callback.h:93:9: error: duplicate member '_stati64' int (*lstat) (host_callback *, const char *, struct stat *); ^ What happens it that gnulib's stat.h makes the following defines: /* Large File Support on native Windows. */ #if 1 # define stat _stati64 #endif and then: #if 1 # if ! 0 /* mingw does not support symlinks, therefore it does not have lstat. But without links, stat does just fine. */ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define lstat stat # endif So, the following fields in struct host_callback_struct... int (*stat) (host_callback *, const char *, struct stat *); int (*fstat) (host_callback *, int, struct stat *); int (*lstat) (host_callback *, const char *, struct stat *); ... get translated to... int (*_stati64) (host_callback *, const char *, struct _stati64 *); int (*_fstati64) (host_callback *, int, struct _stati64 *); int (*_stati64) (host_callback *, const char *, struct _stati64 *); ... which causes two fields to have the same name. This patch fixes the issue by renaming the stat-related fields by adding a "to_" prefix, similar to what is done in GDB's target_ops vector. include/gdb/ChangeLog: * callback.h (struct host_callback_struct) : Renamed from "stat". : Renamed from "fstat". : Renamed from "lstat". sim/common/ChangeLog: * sim-io.c (sim_io_stat, sim_io_fstat): Adjust calls to "stat" and "fstat" callbacks by calls to "to_stat" and "to_fstat" (resp) callbacks following renaming in callback.h. * syscall.c (cb_syscall): Likewise. Adjust calls to "lstat" callback by call to "to_lstat" callback sim/cris/ChangeLog: * traps.c (cris_break_13_handler): Adjust call to "fstat" callback by call to "to_fstat" following renaming in callback.h. sim/h8300/ChangeLog: * compile.c (sim_resume): Adjust calls to "stat" and "fstat" callbacks by calls to "to_stat" and "to_fstat" (resp) callbacks following renaming in callback.h. commit fd9edc908915788839e7605e2fe4c00f4b3eb3db Author: H.J. Lu Date: Tue Dec 2 16:57:45 2014 -0800 Check info->executable for symbols which need copy relocs * elf64-x86-64.c (elf_x86_64_relocate_section): Check info->executable for symbols which need copy relocs. commit 7c5fdd25ebe3262695084d93027f313e1015518a Author: Doug Evans Date: Tue Dec 2 16:54:16 2014 -0800 Remove cplus_specific from general_symbol_info. This patch reverts the addition of cplus_specific added here: 2010-07-16 Sami Wagiaalla * symtab.h (symbol_set_demangled_name): Now takes an optional objfile* argument. (cplus_specific): New struct. * symtab.c (symbol_set_demangled_name): Updated. Use cplus_specific for cplus symbols. (symbol_get_demangled_name): Retrive the name from the cplus_specific struct for cplus symbols. (symbol_init_language_specific): Set cplus_specific for cplus symbols. (symbol_set_names): Pass objfile to symbol_set_demangled_name. * symtab.c (symbol_init_cplus_specific): New function. It was added in anticipation of improved template support: https://sourceware.org/ml/gdb-patches/2010-05/msg00594.html https://sourceware.org/ml/gdb-patches/2010-07/msg00284.html However, minsyms pay the price for this space too. For my standard benchmark this patch gets back 44MB of memory when gdb starts. [There's still ~440MB of memory used by the demangled ELF symbols of this benchmark, but that's another topic.] When the improved templated support is added, I wonder if this can be moved to struct symbol. Hmmm, we already have a special version of struct symbol for templates (struct template_symbol). gdb/ChangeLog: * symtab.c (symbol_init_cplus_specific): Delete. (symbol_set_demangled_name): Remove special c++ support. (symbol_get_demangled_name, symbol_set_language): Ditto. * symtab.h (struct cplus_specific): Delete. (struct general_symbol_info) : Remove cplus_specific. commit 31c0ebfe8bfd9af65aee24cbff17fffe039c0b28 Author: H.J. Lu Date: Tue Dec 2 16:50:14 2014 -0800 Discard space for relocs against symbols with copy relocs This patch reverts the change in elf_x86_64_check_relocs and the partial change in elf_x86_64_adjust_dynamic_symbol. Instead, we discard space in PIE for relocs against symbols which turn out to need copy relocs. * elf64-x86-64.c (elf_x86_64_check_relocs): Revert the last change. (elf_x86_64_adjust_dynamic_symbol): Don't check !info->shared with ELIMINATE_COPY_RELOCS. (elf_x86_64_allocate_dynrelocs): For PIE, discard space for relocs against symbols which turn out to need copy relocs. commit 29f0c3b7b2b4fb46dd5ad29c72ae41a565f5ac60 Author: Doug Evans Date: Tue Dec 2 16:40:38 2014 -0800 PR symtab/17602 gdb/ChangeLog: PR symtab/17602 * linespec.c (iterate_name_matcher): Fix arguments to symbol_name_cmp. gdb/testsuite/ChangeLog: PR symtab/17602 * gdb.cp/anon-ns.cc: Move guts of this file to ... * gdb.cp/anon-ns-2.cc: ... here. New file. * gdb.cp/anon-ns.exp: Update. commit 72998fb37a6a4bc684ba86228e81f27c7a7609ca Author: Doug Evans Date: Tue Dec 2 16:24:37 2014 -0800 PR symtab/17591 gdb/ChangeLog: PR symtab/17591 * dwarf2read.c (find_slot_in_mapped_hash): Use cp_remove_params to strip parameters. commit 422b9917ceadf6247ac4d52aa198c291e5de4c10 Author: Doug Evans Date: Tue Dec 2 16:22:18 2014 -0800 dwarf2read.c (peek_die_abbrev): Improve error message text. gdb/ChangeLog: * dwarf2read.c (peek_die_abbrev): Improve error message text. commit 47c6ee49907b49cbb804495b60abcba336f6b11d Author: Doug Evans Date: Tue Dec 2 16:15:53 2014 -0800 Remove remnant of Chill support. gdb/ChangeLog: * valops.c (do_search_struct_field): Remove remnant of Chill support. Ref: commit 4c2260aa5c261f7bfb26dcf3aa7c67876720b17e commit 01828971bc571106e275b19a1a8f99ba71a99cb6 Author: GDB Administrator Date: Wed Dec 3 00:00:10 2014 +0000 Automatic date update in version.in commit 9a926d55ab4b6667f6c35b518d59b902fe490d9d Author: H.J. Lu Date: Tue Dec 2 15:14:28 2014 -0800 X86-64: Allow copy relocs for building PIE This patch allows copy relocs for non-GOT pc-relative relocation in PIE. bfd/ * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Always allow copy relocs for building executables. (elf_x86_64_check_relocs): Allow copy relocs for non-GOT pc-relative relocation in shared object. (elf_x86_64_adjust_dynamic_symbol): Allocate copy relocs for PIE. (elf_x86_64_relocate_section): Don't copy a pc-relative relocation into the output file if the symbol needs copy reloc. ld/testsuite/ * ld-x86-64/copyreloc-lib.c: New file. * ld-x86-64/copyreloc-main.c: Likewise. * ld-x86-64/copyreloc-main.out: Likewise. * ld-x86-64/copyreloc-main1.rd: Likewise. * ld-x86-64/copyreloc-main2.rd: Likewise. * ld-x86-64/x86-64.exp: Run copyreloc tests. commit 5da3ffc99d0ec7d0770b4fcf8830ffe05d39b1b8 Author: Simon Marchi Date: Tue Dec 2 17:19:11 2014 -0500 Fix comment typo ChangeLog: * common/cleanups.c (make_cleanup_dtor): Fix comment typo. commit 162078c893bb9614d4bf5e0d60ad567fcaf8e2bd Author: Nick Bull Date: Tue Dec 2 11:15:29 2014 -0800 New python events: inferior call, register/memory changed. gdb/ChangeLog: * NEWS: Mention new Python events. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-infevents.o. (SUBDIR_PYTHON_SRCS): Add py-infevents.c. (py-infevents.o): New rule. * doc/observer.texi (inferior_call_pre, inferior_call_post) (memory_changed, register_changed): New observers. * infcall.c (call_function_by_hand): Notify observer before and after inferior call. * python/py-event.h (inferior_call_kind): New enum. (emit_inferior_call_event): New prototype. (emit_register_changed_event): New prototype. (emit_memory_changed_event): New prototype. * python/py-events.h (events_object): New registries inferior_call, memory_changed and register_changed. * python/py-evts.c (gdbpy_initialize_py_events): Add the inferior_call, memory_changed and register_changed registries. * python/py-infevents.c: New. * python/py-inferior.c (python_on_inferior_call_pre) (python_on_inferior_call_post, python_on_register_change) (python_on_memory_change): New functions. (gdbpy_initialize_inferior): Attach python handler to new observers. * python/py-infthread.c(gdbpy_create_ptid_object): New. (thpy_get_ptid) Use gdbpy_create_ptid_object. * python/python-internal.h: (gdbpy_create_ptid_object) (gdbpy_initialize_inferior_call_pre_event) (gdbpy_initialize_inferior_call_post_event) (gdbpy_initialize_register_changed_event) (gdbpy_initialize_memory_changed_event): New prototypes. * python/python.c (_initialize_python): Initialize new events. * valops.c (value_assign): Notify register_changed observer. gdb/doc/ChangeLog: * python.texi (Events In Python): Document new events InferiorCallPreEvent, InferiorCallPostEvent, MemoryChangedEvent and RegisterChangedEvent. gdb/testsuite/ChangeLog: * gdb.python/py-events.py (inferior_call_handler): New. (register_changed_handler, memory_changed_handler): New. (test_events.invoke): Register new handlers. * gdb.python/py-events.exp: Add tests for inferior call, memory_changed and register_changed events. commit 71dd4b30a741cf8a23e8a49f6a4294759f76be33 Author: Doug Evans Date: Tue Dec 2 11:12:49 2014 -0800 revert previous patch so that I can re-commit with correct author commit dc6c87175b672f00e72997c0ff9dcf984e305285 Author: Doug Evans Date: Tue Dec 2 10:59:08 2014 -0800 New python events: infcall, register/memory changed. gdb/ChangeLog: * NEWS: Mention new Python events. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-infevents.o. (SUBDIR_PYTHON_SRCS): Add py-infevents.c. (py-infevents.o): New rule. * doc/observer.texi (inferior_call_pre, inferior_call_post) (memory_changed, register_changed): New observers. * infcall.c (call_function_by_hand): Notify observer before and after inferior call. * python/py-event.h (inferior_call_kind): New enum. (emit_inferior_call_event): New prototype. (emit_register_changed_event): New prototype. (emit_memory_changed_event): New prototype. * python/py-events.h (events_object): New registries inferior_call, memory_changed and register_changed. * python/py-evts.c (gdbpy_initialize_py_events): Add the inferior_call, memory_changed and register_changed registries. * python/py-infevents.c: New. * python/py-inferior.c (python_on_inferior_call_pre) (python_on_inferior_call_post, python_on_register_change) (python_on_memory_change): New functions. (gdbpy_initialize_inferior): Attach python handler to new observers. * python/py-infthread.c(gdbpy_create_ptid_object): New. (thpy_get_ptid) Use gdbpy_create_ptid_object. * python/python-internal.h: (gdbpy_create_ptid_object) (gdbpy_initialize_inferior_call_pre_event) (gdbpy_initialize_inferior_call_post_event) (gdbpy_initialize_register_changed_event) (gdbpy_initialize_memory_changed_event): New prototypes. * python/python.c (_initialize_python): Initialize new events. * valops.c (value_assign): Notify register_changed observer. gdb/doc/ChangeLog: * python.texi (Events In Python): Document new events InferiorCallPreEvent, InferiorCallPostEvent, MemoryChangedEvent and RegisterChangedEvent. gdb/testsuite/ChangeLog: * gdb.python/py-events.py (inferior_call_handler): New. (register_changed_handler, memory_changed_handler): New. (test_events.invoke): Register new handlers. * gdb.python/py-events.exp: Add tests for inferior call, memory_changed and register_changed events. commit 007baf27e405bec58bd6c3452168a02efeb30050 Author: Doug Evans Date: Tue Dec 2 10:01:07 2014 -0800 python/py-infthread.c: Whitespace fixes. gdb/ChangeLog: * python/py-infthread.c: Whitespace fixes. commit e8b338d053b1dbfe2cbad0834632e814ec11a5a5 Author: Denis Chertykov Date: Tue Dec 2 19:45:59 2014 +0300 * MAINTAINERS: Fix my email address. commit fdb09caf2386b09272df3cac6ec65be724ace3b9 Author: Andreas Arnez Date: Tue Dec 2 16:35:47 2014 +0100 execl-update-breakpoints.exp: Move whole segment instead of .text section The test case builds two copies of the program, one with the compile option "ldflags=-Wl,-Ttext=0x1000000" and the other with the address changed to 0x2000000. However, when linking with ld.bfd, the resulting executables crash early in ld.so on S390 and i386. Analysis of the crash: The default linker script establishes a certain order of loadable sections, and the option "-Ttext" effectively splits these into an "unaffected" lot (everything before .text) and an "affected" lot. The affected lot is placed at the given address, whereas the unaffected lot stays at its default address. The unaffected lot starts at an aligned address plus Elf header sizes, which is good if it is the first LOAD segment (like on AMD64). But if the affected lot comes first instead (like on S390 and i386), the PHDR doesn't fit there and is placed *outside* any LOAD segments. Then the PHDR is not mapped when the loader gets control, and the loader runs into a segmentation fault while trying to access it. Since we are lucky about the order of segments on AMD64, the test succeeds there, but the resulting binaries are unusually large -- 2.1M each, with lots of padding within. When replacing '-Ttext' by '-Ttext-segment', the linker moves all segments consistently, the binaries have normal sizes, and the test case succeeds on all mentioned platforms. Since old versions of the gold linker don't support '-Ttext-segment', the patch also adds logic for falling back to '-Ttext'. gdb/testsuite/ChangeLog: * gdb.base/execl-update-breakpoints.exp: Specify the link address with '-Ttext-segment' instead of '-Ttext'. Fall back to '-Ttext' if the linker doesn't understand this. commit 538baf8b7e6d17a490f126f8565638469da70204 Author: Andrew Bennett Date: Thu Nov 20 15:40:16 2014 +0000 [MIPS] When calculating a relocation using an undefined weak symbol don't check for overflow. In MIPS the relocation calculation only ignores the overflow checks for undefined weak symbols on relocations associated with j/jal. This patch extends this to the relocations used by the: b* instructions; pc/gp relative symbol offsets; and the lwpc/ldpc MIPS r6 instructions. bfd/ * elfxx-mips.c (mips_elf_calculate_relocation): Only check for overflow on non-weak undefined symbols. ld/testsuite/ * ld-mips-elf/mips-elf.exp: Add in undefined weak overflow tests for o32, n32 and n64. * ld-mips-elf/undefweak-overflow.s: New test. * ld-mips-elf/undefweak-overflow.d: New test. * ld-mips-elf/undefweak-overflow-n32.d: New test. * ld-mips-elf/undefweak-overflow-n64.d: New test. commit 51aecdc5320d1707e1f034f05a378e60aae71d18 Author: Alan Modra Date: Tue Dec 2 15:09:16 2014 +1030 ppc64_elf_edit_opd revamp This patch sorts .opd relocs (see pr17666) and allows .opd sections with a mix of 16 and 24 byte entries to be edited. * elf64-ppc.c (OPD_NDX): Define. Use throughout for sizing/indexing _opd_sec_data array, halving required memory. (sort_r_offset): New function. (ppc64_elf_edit_opd): Sort incoming relocs. Accept .opd sections with a mix of 16 and 24 byte OPD entries. Don't attempt to honour --non-overlapping-opd for .opd sections with unexpected relocs. Simplify opd entry size calculations by first finding the reloc for the next entry. Make edit loop handle one opd entry per iteration, with an inner loop handling relocs per entry. commit d5552aabd6c68147421819577108b51ff25ea064 Author: Andreas Arnez Date: Tue Dec 2 10:47:30 2014 +0100 S390: Fix 'expedite' for s390-te-linux64 Fix a typo in the expedited registers for s390-te-linux64. gdb/ChangeLog: * features/Makefile (s390-te-linux64-expedite): Replace non-existant r14 and r15 by r14l and r15l, respectively. * regformats/s390-te-linux64.dat: Regenerate. commit 870c90bb8af2464b2f8505766d5a7c5831673cba Author: GDB Administrator Date: Tue Dec 2 00:00:10 2014 +0000 Automatic date update in version.in commit fb2578353335091488c8a5a02e8275a7c139f51a Author: Dmitriy Ivanov Date: Mon Dec 1 13:37:21 2014 -0800 Add support for -z global. gold/ * layout.cc (Layout::finish_dynamic_section): When '-z global' is specified set DF_1_GLOBAL in DT_FLAGS_1 flags. * options.h (General_options): New -z option (global). commit d8e603148f3cc4a953409f4a5afff9e4ea898830 Author: Cary Coutant Date: Mon Dec 1 13:21:49 2014 -0800 Fix extraneous warning about executable stack. PR gold/17578 notes that gold will print a warning about an executable stack when the -z execstack option is given, even when there is no --warn_execstack option. The warning is completely useless and unexpected, since the user explicitly requested an executable stack, and did not even ask for warnings. This patch fixes that, and adds an extra warning when --warn_execstack and -z noexecstack are both given and an input file requires an executable stack. gold/ PR gold/17578 * layout.cc (Layout::layout_gnu_stack): Don't warn when -z execstack is given. (Layout::create_executable_stack_info): Warn when -z noexecstack is given but some inputs require executable stack. commit ef77750ef779ac887423f84bcc11a8de4dd0fe79 Author: H.J. Lu Date: Mon Dec 1 09:11:57 2014 -0800 Properly check for an out of range row index * dwarf.c (process_cu_tu_index): Properly check for an out of range row index. commit 06614111d1be94b43ea8dd83805184d4e177bcea Author: Nick Clifton Date: Mon Dec 1 16:43:46 2014 +0000 More fixes for memory access violations exposed by fuzzed binaries. PR binutils/17512 * dwarf.h (struct dwarf_section): Add user_data field. * dwarf.c (frame_need_space): Check for an over large register number. (display_debug_frames): Check the return value from frame_need_space. Check for a CFA expression that is so long the start address wraps around. (debug_displays): Initialise the user_data field. * objdump.c (load_specific_debug_section): Save the BFD section pointer in the user_data field of the dwarf_section structure. (free_debug_section): Update BFD section data when freeing section contents. * readelf.c (load_specific_debug_section): Initialise the user_data field. * archive.c (do_slurp_coff_armap): Add range checks to prevent running off the end of the string table. * compress.c (bfd_get_full_section_contents): Return a NULL pointer for zero sized sections. Do not attempt to copy a buffer onto itself. * elf-attrs.c (_bfd_elf_parse_attributes): Check for an empty header. Add range checks to avoid running off the end of the section. * elf.c (bfd_elf_get_str_section): Seek before allocating so that if the seek fails, no memory is allocated. (bfd_elf_string_from_elf_section): Do not allocate a string from a non string section. It only leads to trouble later on. (_bfd_elf_print_private_bfd_data): Check for there being too little external dynamic data. (bfd_section_from_shdr): Replace assertion with a failure mode. (bfd_section_from_shdr): When walking a loaded group section use the internal structure size, not the external size. Check for the group section being empty. * elf32-i386.c (elf_i386_rtype_to_howto): Replace assertion with a failure mode. * elfcode.h (elf_slurp_reloc_table): Likewise. * reloc.c (bfd_perform_relocation): Avoid seg-fault if the howto parameter is NULL. commit 30b5e341f3bcb219718ad32cd0065670fd37e637 Author: Simon Marchi Date: Mon Dec 1 09:12:59 2014 -0500 Remove duplicate comment gdb/ChangeLog: * objfiles.c (allocate_objfile): Remove duplicate comment. commit fb389763e0ee42be2f221da60e1c126314857d11 Author: H.J. Lu Date: Mon Dec 1 06:06:21 2014 -0800 Add tests for PR ld/16452 and PR ld/16457 PR ld/16452 PR ld/16457 * ld-elf/pr16452.map: New file. * ld-elf/pr16452.od: Likewise. * ld-elf/pr16452a.c: Likewise. * ld-elf/pr16452b.c: Likewise. * ld-elf/pr16457.od: Likewise. * ld-elf/shared.exp (build_tests): Add tests for PR ld/16452 and PR ld/16457. commit 55cfb2c4c8accd5031fd7c8167988fc4624e847c Author: Simon Marchi Date: Mon Dec 1 08:08:06 2014 -0500 Fix Python help() test for Python 3 The message displayed when using help() changed a bit with time, so this adjusts the test accordingly. gdb/testsuite/ChangeLog: * gdb.python/python.exp: Change expected reply to help(). commit ac3d87c0d256547c036067de7bceee320b9bab8f Author: Ulrich Weigand Date: Mon Dec 1 13:42:41 2014 +0100 Use core regset iterators on GNU Hurd Remove native-only core file handling on GNU Hurd. Instead, enable the x86 target generic core regset logic on the Hurd by providing an appropriate register offset map. Thanks to Samuel Thibault for testing! gdb/ * config/i386/i386gnu.mh (NATDEPFILES): Remove core-regset.o. * i386gnu-nat.c: Do not include or "gregset.h". (CREG_OFFSET, creg_offset, CREG_ADDR): Remove. (supply_gregset, supply_fpregset): Remove. * i386gnu-tdep.c (i386gnu_gregset_reg_offset): New variable. (i386gnu_init_abi): Set tdep->gregset_reg_offset, gregset_num_regs, and sizeof_gregset. commit 591f7597d447d8d038d6d8e24a706d1d5e32eba1 Author: Nick Clifton Date: Mon Dec 1 11:19:39 2014 +0000 Add checks for memory access violations exposed by fuzzed archives. PR binutils/17531 * dwarf.c (process_cu_tu_index): Check for an out of range row index. * elfcomm.c (adjust_relative_path): Change name_len parameter to an unsigned long. Check for path length overflow. (process_archive_index_and_symbols): Check for invalid header size. (setup_archive): Add checks for invalid archives. (get_archive_member_name): Add range checks. * elfcomm.h (adjust_relative_path): Update prototyoe. * readelf.c (process_archive): Add range checks. commit 9e8cd6df3ca295986b2c295b6cfa5ceadd410bb4 Author: Yao Qi Date: Tue Nov 25 16:07:45 2014 +0800 Don't enable gdbtk in testsuite When I skim configure.ac and Makefile.in in gdb/testsuite, I happen to see that directory gdb.gdbtk is added to subdirs, however it doesn't exist. gdb/testsuite/gdb.gdbtk was removed by the patch below, [rfa] git repo fixup: delete gdb/testsuite/gdb.gdbtk http://thread.gmane.org/gmane.comp.gdb.patches/61489 and we should cleanup configure.ac accordingly. gdb/testsuite: 2014-12-01 Yao Qi * configure.ac: Remove AC_ARG_ENABLE for gdbtk. Don't invoke AC_CONFIG_SUBDIRS(gdb.gdbtk). * configure: Re-generated. commit 3fcd9bb03b8e7d2046442d3990b3fc2fdf960a3e Author: GDB Administrator Date: Mon Dec 1 00:00:09 2014 +0000 Automatic date update in version.in commit f10c5b19e0d3f34cf36272bd9f038c19e6873275 Author: Jan Kratochvil Date: Sun Nov 30 20:25:48 2014 +0100 Add add-auto-load-scripts-directory. There is already "add-auto-load-safe-path" which works like "set auto-load safe-path" but in append mode. There was missing an append equivalent for "set auto-load scripts-directory". ABRT has directory /var/cache/abrt-di/ as an alternative one to /usr/lib/debug/ . Therefore ABRT needs to use -iex parameters to add this /var/cache/abrt-di/ directory as a first-class debuginfo directory. Using absolute "set auto-load scripts-directory" would hard-code the path possibly overriding local system directory additions; besides it would not be nice anyway. gdb/ChangeLog 2014-11-30 Jan Kratochvil Add add-auto-load-scripts-directory. * NEWS (Changes since GDB 7.8): Add add-auto-load-scripts-directory. * auto-load.c (add_auto_load_dir): New function. (_initialize_auto_load): Install it. gdb/doc/ChangeLog 2014-11-30 Jan Kratochvil Add add-auto-load-scripts-directory. * gdb.texinfo (Auto-loading): Add add-auto-load-scripts-directory link. (objfile-gdbdotext file): Add add-auto-load-scripts-directory. commit 413b59aecb4ab6b8a552d3b93a9dd7e981ab3c10 Author: Jan Kratochvil Date: Sun Nov 30 20:22:24 2014 +0100 Fix add-auto-load-safe-path typo. gdb/doc/ChangeLog 2014-11-30 Jan Kratochvil * gdb.texinfo (Auto-loading safe path): Fix add-auto-load-safe-path description typo. commit f0d4ba1fc4c702890bf090d1d6d2413fc6c34dd0 Author: Martin Galvan Date: Sun Nov 30 19:34:15 2014 +0400 frame.c: Fix the check for FID_STACK_INVALID in frame_id_eq() I noticed in frame_id_eq() we were checking for the "l" frame_id being invalid twice instead of checking both "l" and "r", so this patch corrects it. gdb/ChangeLog: * frame.c (frame_id_eq): Fix the check for FID_STACK_INVALID. commit db76a70026ab100148eb274322fac01f1a1dd466 Author: Alan Modra Date: Sat Nov 29 19:13:17 2014 +1030 Power4 should treat mftb as extended mfspr mnemonic On further reading of ISA manual it appears gas should have been treating mftb and mftbu as extended mnemonics for mfspr, for ISA 2.03 and later. opcodes/ * ppc-opc.c (powerpc_opcodes): Make mftb* generate mfspr for power4 and later. gas/testsuite/ * gas/ppc/a2.d: Update for mftb change. * gas/ppc/476.d: Likewise. commit 7b20f09964ba4275768350a24fca109527a19425 Author: Alan Modra Date: Thu Nov 27 15:16:49 2014 +1030 Don't output symbol version definitions for non-DT_NEEDED libs PR 16452, 16457 * elflink.c (_bfd_elf_link_find_version_dependencies): Exclude symbols from libraries that won't be listed in DT_NEEDED. (elf_link_output_extsym): Don't output verdefs for such symbols. commit b6a8f012d1813271c74cbc49545a27a2e8781fc0 Author: GDB Administrator Date: Sun Nov 30 00:00:11 2014 +0000 Automatic date update in version.in commit 18ac6ffc9b119c8d55a1cd0339d47998076faf2b Author: Siva Chandra Date: Sat Nov 29 09:38:33 2014 -0800 Check that thread stack temps are not already enabled before enabling them. This fixes a regression introduced by 6c659fc2c7cd2da6d2b9a3d7c38597ad3821832a. gdb/ChangeLog: * eval.c (evaluate_subexp): Check that thread stack temporaries are not already enabled before enabling them. commit 4072f9208f12fdd60e68c73807fed4624607d290 Author: Yao Qi Date: Fri Nov 28 16:17:37 2014 +0800 [arm] compute framereg and framesize when needed I find local variables framereg and framesize is only used when cache isn't NULL. This patch to move the code into "if (cache)" block. gdb: 2014-11-29 Yao Qi * arm-tdep.c (arm_analyze_prologue): Move local variables 'framereg' and 'framesize' to inner block. Move code to inner block too. commit 6c659fc2c7cd2da6d2b9a3d7c38597ad3821832a Author: Siva Chandra Date: Tue Nov 11 05:43:03 2014 -0800 Enable chained function calls in C++ expressions. gdb/ChangeLog: * eval.c: Include gdbthread.h. (evaluate_subexp): Enable thread stack temporaries before evaluating a complete expression and clean them up after the evaluation is complete. * gdbthread.h: Include common/vec.h. (value_ptr): New typedef. (VEC (value_ptr)): New vector type. (value_vec): New typedef. (struct thread_info): Add new fields stack_temporaries_enabled and stack_temporaries. (enable_thread_stack_temporaries) (thread_stack_temporaries_enabled_p, push_thread_stack_temporary) (get_last_thread_stack_temporary) (value_in_thread_stack_temporaries): Declare. * gdbtypes.c (class_or_union_p): New function. * gdbtypes.h (class_or_union_p): Declare. * infcall.c (call_function_by_hand): Store return values of class type as temporaries on stack. * thread.c (enable_thread_stack_temporaries): New function. (thread_stack_temporaries_enabled_p, push_thread_stack_temporary) (get_last_thread_stack_temporary): Likewise. (value_in_thread_stack_temporaries): Likewise. * value.c (value_force_lval): New function. * value.h (value_force_lval): Declare. gdb/testsuite/ChangeLog: * gdb.cp/chained-calls.cc: New file. * gdb.cp/chained-calls.exp: New file. * gdb.cp/smartp.exp: Remove KFAIL for "p c2->inta". commit f4f855e84b45eb41987641b4a26037c7444dda33 Author: GDB Administrator Date: Sat Nov 29 00:00:09 2014 +0000 Automatic date update in version.in commit d306ce58b4c7d544721ba328c447240cb2228fe5 Author: Sandra Loosemore Date: Fri Nov 28 14:41:32 2014 -0800 Remove broken nios2 assembler dwim support. 2014-11-28 Sandra Loosemore include/opcode/ * nios2.h (NIOS2_INSN_ADDI, NIOS2_INSN_ANDI): Delete. (NIOS2_INSN_ORI, NIOS2_INSN_XORI): Delete. (NIOS2_INSN_OPTARG): Renumber. opcodes/ * nios2-opc.c (nios2_r1_opcodes): Remove deleted attributes from descriptors. gas/ * config/tc-nios2.c (can_evaluate_expr, get_expr_value): Delete. (output_addi, output_andi, output_ori, output_xori): Delete. (md_assemble): Remove calls to deleted functions. gas/testsuite/ * gas/nios2/nios2.exp: Make "movi" a list test. * gas/nios2/movi.s: Adjust comments, add another case. * gas/nios2/movi.l: New. * gas/nios2/movi.d: Delete. commit d7fc3181f73ab3d5549b396198645558127e0584 Author: Simon Marchi Date: Fri Nov 28 11:18:48 2014 -0500 Fix prints in tests for Python 3 Python 3's print requires to use parentheses, so this patch adds them where they were missing. gdb/testsuite/ChangeLog: * gdb.ada/py_range.exp: Add parentheses to calls to print. * gdb.dwarf2/symtab-producer.exp: Same. * gdb.gdb/python-interrupts.exp: Same. * gdb.gdb/python-selftest.exp: Same. * gdb.python/py-linetable.exp: Same. * gdb.python/py-type.exp: Same. * gdb.python/py-value-cc.exp: Same. * gdb.python/py-value.exp: Same. commit 57df9adf2d437e3c7f17a77c3e0f3c0d8e56aa40 Author: Oleg Endo Date: Fri Nov 28 19:39:39 2014 +0400 Correct fabs and fneg insns in simulator It seems that the implementation of the SH fabs and fneg insns in the simulator is not correct. They use the FP_UNARY macro which checks the FPSCR.PR setting and raises an exception if PR = 1 (double precision) and the register number is not even (i.e. a valid DF reg number). For normal unary FP insns this is fine. However, fneg and fabs perform the same (integer) operations regardless of the FPSCR.PR setting. This issue initially popped up here https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63260 I've checked some of the failing tests mentioned in GCC PR 63260 above with the patch applied and the failures go away. sim/sh/ChangeLog (tiny patch): * gencode.c (fabs, fneg): Implement as integer operation instead of using the FP_UNARY macro. commit f7ca3fcfccd144c234370aa939e4f5f15f3b2a88 Author: Pierre Muller Date: Fri Nov 28 19:21:58 2014 +0400 Fix amd64 dwarf register number mapping (MMX register and higher) Dwarf register numbers are defined in "System V Application Binary Interface AMD64 Architecture Processor Supplement Draft Version 0.99.6" The amd64_dwarf_regmap array is missing the 8 MMX registers in Figure 3.36: DWARF Register Number Mapping page 57. This leads to a wrong value for the registers past this point. gdb/ChangeLog: Pushed by Joel Brobecker . * amd64-tdep.c (amd64_dwarf_regmap array): Add missing MMX registers. Tested on x86_64-linux. commit b2859a9a54fcc824c3ed7948767d095c02570a19 Author: Ulrich Weigand Date: Fri Nov 28 15:53:05 2014 +0100 Remove (dead-code) native core file sniffers on Linux targets Since Andreas Arnez' recent patch series, all Linux targets install gdbarch_iterate_over_regset_sections routines. This means that on Linux native targets, old-style core sniffers are never used. Most Linux targets haven't been using such sniffers for a long time anyway, but a couple remain: ia64 and sparc use core-regset.o, and m68k installs its own core_fns. All this is now dead code, which this commit removes. gdb/ 2014-11-28 Ulrich Weigand  * config/ia64/linux.mh (NATDEPFILES): Remove core-regset.o. * config/sparc/linux.mh (NATDEPFILES): Likewise. * config/sparc/linux64.mh (NATDEPFILES): Likewise. * m68klinux-nat.c (fetch_core_registers): Remove. (linux_elf_core_fns): Remove. (_initialize_m68k_linux_nat): Do not call deprecated_add_core_fns. commit 0fa9473ff006c0cc9e62036349ab05664b25b4c7 Author: Joel Brobecker Date: Fri Nov 28 18:37:08 2014 +0400 gdb_realpath: Rework comment about handling on Windows. Rework the comment to explain why we're still relying on GetFullPathName even though gnulib ensures that canonicalize_file_name is now available on all platforms, including Windows. gdb/ChangeLog: * utils.c (gdb_realpath): Rework comment about handling on Windows. commit 6a29c58ef8067e7c5869aa6dda9ffdd123bc94a8 Author: Yao Qi Date: Sun Nov 23 22:19:49 2014 +0800 Import rename module This patch is to import rename module. gdb: 2014-11-28 Yao Qi * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add rename. * gnulib/aclocal.m4: Re-generated. * gnulib/config.in: Re-generated. * gnulib/configure: Re-generated. * gnulib/import/Makefile.am: Re-generated. * gnulib/import/Makefile.in: Re-generated. * gnulib/import/m4/gnulib-cache.m4: Re-generated. * gnulib/import/m4/gnulib-comp.m4: Re-generated. * import/basename-lgpl.c: New file. * import/dirname-lgpl.c: New file. * import/dirname.h: New file. * import/m4/dirname.m4: New file. * import/m4/malloc.m4: New file. * import/m4/rename.m4: New file. * import/m4/rmdir.m4: New file. * import/m4/stdio_h.m4: New file. * import/malloc.c: New file. * import/rename.c: New file. * import/rmdir.c: New file. * import/same-inode.h: New file. * import/stdio.c: New file. * import/stdio.in.h: New file. * import/stripslash.c: New file. commit abbffc8924ff61b64d86ee89775c466e59a32c63 Author: Yao Qi Date: Mon Nov 24 14:09:43 2014 +0800 Use canonicalize_file_name unconditionally gdb: 2014-11-28 Yao Qi * configure.ac (AC_CHECK_FUNCS): Remove canonicalize_file_name and realpath. * config.in: Re-generated. * configure: Re-generated. * utils.c (gdb_realpath): Remove code calling realpath, canonicalize_file_name and pathconf. [!_WIN32]: Call canonicalize_file_name. commit 98399780958f38d70550174b8204f5085f3b23d5 Author: Yao Qi Date: Sun Nov 23 22:02:50 2014 +0800 Import canonicalize-lgpl This patch is to import canonicalize-lgpl module, which provides readlpath and canonicalize_file_name. gdb: 2014-11-28 Yao Qi * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add canonicalize-lgpl. * aclocal.m4: Re-generated. * config.in: Re-generated. * configure: Re-generated. * import/Makefile.am: Re-generated. * import/Makefile.in: Re-generated. * import/m4/gnulib-cache.m4: Re-generated. * import/m4/gnulib-comp.m4: Re-generated. * import/canonicalize-lgpl.c: New file. * import/extra/snippet/_Noreturn.h: New file. * import/m4/canonicalize.m4: New file. * import/m4/double-slash-root.m4: New file. * import/m4/eealloc.m4: New file. * import/m4/malloca.m4: New file. * import/m4/nocrash.m4: New file. * import/m4/stdlib_h.m4: New file. * import/malloca.c: New file. * import/malloca.h: New file. * import/malloca.valgrind: New file. commit 3332aaf2896b3218a131eab5976a500bb46d6ac3 Author: Yao Qi Date: Thu Nov 6 20:34:28 2014 +0800 Use lstat unconditionally Since lstat gnulib module is imported, we can use it unconditionally. lstat usage was introduced by this patch https://sourceware.org/ml/gdb-patches/2012-01/msg00390.html during the review, it was suggested to import gnulib lstat module, but we didn't do that. gdb: 2014-11-28 Yao Qi * configure.ac (AC_CHECK_FUNCS): Remove lstat. * config.in, configure: Regenerate. * symfile.c (find_separate_debug_file_by_debuglink): Remove code checking HAVE_LSTAT is defined. commit f45c62c4d5afa794d061199b6b4e585d509d1040 Author: Yao Qi Date: Sun Nov 23 21:54:45 2014 +0800 Import lstat This patch is to import lstat gnulib module. gdb: 2014-11-28 Yao Qi * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add lstat. * gnulib/aclocal.m4: Re-generated. * gnulib/config.in: Re-generated. * gnulib/configure: Re-generated. * gnulib/import/Makefile.am: Re-generated. * gnulib/import/Makefile.in: Re-generated. * gnulib/import/m4/gnulib-cache.m4: Re-generated. * gnulib/import/m4/gnulib-comp.m4: Re-generated. * gnulib/import/lstat.c: New file. * gnulib/import/m4/lstat.m4: New file. commit bdca27a2f57f5152ec83766d7a8b25b2d33b8905 Author: Yao Qi Date: Tue Nov 4 22:17:02 2014 +0800 Use readlink unconditionally Since readlink module is imported, we can use it unconditionally. This patch is to remove configure checks and HAVE_READLINK checks in code. It was mentioned in the patch below [RFA/commit] gdbserver: return ENOSYS if readlink not supported. https://sourceware.org/ml/gdb-patches/2012-02/msg00148.html to use readlink in gdbserver, but we chose something simple at that moment. gdb: 2014-11-28 Yao Qi * configure.ac (AC_CHECK_FUNCS): Remove readlink. * config.in, configure: Re-generate. * inf-child.c (inf_child_fileio_readlink): Don't check HAVE_READLINK is defined. gdb/gdbserver: 2014-11-28 Yao Qi * configure.ac(AC_CHECK_FUNCS): Remove readlink. * config.in, configure: Re-generate. * hostio.c (handle_unlink): Remove code checking HAVE_READLINK is defined. commit 2196f55f0140f3e278ed4002040f32acc5a6aaf1 Author: Yao Qi Date: Sun Nov 23 21:49:20 2014 +0800 Import readlink This patch is to import readlink gnulib module. stat module is imported too, but it isn't used by gdb. gdb: 2014-11-28 Yao Qi * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add readlink. * gnulib/aclocal.m4: Re-generated. * gnulib/config.in: Likewise. * gnulib/configure: Likewise. * gnulib/import/Makefile.am: Likewise. * gnulib/import/Makefile.in: Likewise. * gnulib/import/m4/gnulib-cache.m4: Likewise. * gnulib/import/m4/gnulib-comp.m4: Likewise. * gnulib/import/dosname.h: New file * gnulib/import/m4/largefile.m4: New file. * gnulib/import/m4/readlink.m4: New file. * gnulib/import/m4/stat.m4: New file. * gnulib/import/readlink.c: New file. * gnulib/import/stat.c: New file. commit 7014e923da3a3b95a99c3fb5f17e109864bd1113 Author: Yao Qi Date: Fri Nov 28 17:23:26 2014 +0800 Fix date in changelog commit 25ff461f19250e7315ff2de84d6b42319e4b2faa Author: Alan Modra Date: Fri Nov 28 10:10:44 2014 +1030 Sanity checks on version section * elf.c (_bfd_elf_slurp_version_tables): Exit loops when vn_next/ vna_next/vd_next/vda_next is zero. Correct counts. commit 8514e4db84ccafaf3be07e842be2fa2001ba876e Author: Alan Modra Date: Fri Nov 28 13:21:52 2014 +1030 Don't deprecate powerpc mftb insn mftb is marked phased out in the architecture manual, but we can keep it as an extended mnemonic for mftbl. * ppc-opc.c (powerpc_opcodes ): Don't deprecate for power7. (TB): Delete. (insert_tbr, extract_tbr): Validate tbr number. commit 8066deb11b8e23de5c75e3e2526524bdef0f5a41 Author: Alan Modra Date: Fri Nov 28 14:29:23 2014 +1030 Fix build breakage on 32-bit targets with 64-bit bfd * readelf.c (get_32bit_elf_symbols): Cast bfd_size_type values to unsigned long for %lx. (get_64bit_elf_symbols, process_section_groups): Likewise. commit 10e79639cc08c050b8fa97c0a5af102683a11e3c Author: Yao Qi Date: Fri Nov 28 11:21:48 2014 +0800 Match library name prefixed with sysroot We enable systemtap probe in glibc recently, and see the following gdb fail, (gdb) set solib-absolute-prefix /. ... Stopped due to shared library event:^M Inferior loaded /./foo/bar/gdb.base/break-probes-solib.so ... (gdb) FAIL: gdb.base/break-probes.exp: run til our library loads (the program exited) $binfile_lib is /foo/bar/gdb.base/break-probes-solib.so, but the sysroot is prefixed in solib.c:solib_find, as comments described: Global variable GDB_SYSROOT is used as a prefix directory to search for shared libraries if they have an absolute path. so the output becomes "/./foo/bar/gdb.base/break-probes-solib.so", which is still correct. However, the test repeatedly continue the program and tries to match $binfile_lib, finally, the program exits and the test fails. This patch is to adjust the pattern to match $sysroot$binfile_lib instead of $binfile_lib. gdb/testsuite: 2014-11-28 Yao Qi * gdb.base/break-probes.exp: Match library name prefixed with sysroot. commit e87e47787eb22622ddd9e07b561486e1c0e8cbf8 Author: GDB Administrator Date: Fri Nov 28 00:00:09 2014 +0000 Automatic date update in version.in commit c9c1d674406c5fff9d2f2ea771e4288cb6bf4e5a Author: Espen Grindhaug Date: Thu Nov 27 15:49:23 2014 +0000 Fixes an infinite loop in readelf parsing a corrupt binary, and other minor corrections. PR binutils/17531 * readelf.c (get_data): Move excessive length check to earlier on in the function and allow for wraparound in the arithmetic. (get_32bit_elf_symbols): Terminate early if the section size is zero. Check for an invalid sh_entsize. Check for an index section with an invalid size. (get_64bit_elf_symbols): Likewise. (process_section_groups): Check for an invalid sh_entsize. commit 3a1cfc456f3b3f422b7c6c0d63891b015ea234b9 Author: H.J. Lu Date: Thu Nov 27 06:41:58 2014 -0800 Update mips tests with symbol version string * ld-mips-elf/got-vers-1.rd: Add symbol version string to versioned symbol names in dynamic relocation. * ld-mips-elf/reloc-estimate-1.d: Likewise. * ld-mips-elf/tlsdyn-o32-1.got: Likewise. * ld-mips-elf/tlsdyn-o32-2.got: Likewise. * ld-mips-elf/tlsdyn-o32-3.got: Likewise. * ld-mips-elf/tlslib-o32-ver.got: Likewise. commit f28a0564dded48d14df749f11f8ce7638d96db12 Author: Simon Marchi Date: Wed Nov 26 13:03:57 2014 -0500 Fix test always passing in python/py-linetable.exp The following test is found in python/py-linetable.exp: gdb_test "python print sorted(fset)" \ "\[20L, 21L, 22L, 24L, 25L, 28L, 29L, 30L, 32L, 33L, 37L, 39L, 40L, 42L, 44L, 45L, 46L\].*" \ "Test frozen set contains line numbers" I noticed that it passed when using Python 3, even though it should fail because of the missing parentheses for the call print. There needs to be more escaping of the square brackets. Currently, it is interpreted as "any one character from this big list of characters, followed by .*". When adding the required amount of backslashes, the test starts failing as it should. Moreover, both in Python 2.7 and Python 3.3 the numbers don't have the L suffix, so now the test fails because of that. Anybody knows why they were there in the first place? I just tested with Python 2.4 and there are no Ls. gdb/testsuite/ChangeLog: * gdb.python/py-linetable.exp: Escape properly sorted(fset) test expected output. Add parentheses for the call to print. Remove L suffix from integers. Signed-off-by: Simon Marchi commit 1036838a771b96ad9428e8fc7ecc45d3d8e056ce Author: Nick Clifton Date: Thu Nov 27 12:19:10 2014 +0000 Fixes a few more memory access violations exposed by fuzzed binaries. PR binutils/17512 * ecoff.c (_bfd_ecoff_slurp_symbol_table): Warn about and correct a discrepancy between the isymMax and ifdMax values in the symbolic header. * elf.c (_bfd_elf_print_private_bfd_data): Fix the range check scanning the external dynamic entries. commit 608ce2f3c8b1fb309f50b6426389282ec6031323 Author: GDB Administrator Date: Thu Nov 27 00:00:13 2014 +0000 Automatic date update in version.in commit 8bc106204c1aedd8c5ffb52453632a632d5484b8 Author: Mark Wielaard Date: Mon Nov 24 21:24:25 2014 +0100 dwarf.c handle new DWARFv5 C11, C++11 and C++14 DW_LANG constants. binutils/ChangeLog * dwarf.c (read_and_display_attr_value): Handle DW_LANG_C11, DW_LANG_C_plus_plus_11 and DW_LANG_C_plus_plus_14. commit 3fe1ce1d5b225417a8e3234aaa0d7a0a597067f1 Author: Doug Evans Date: Wed Nov 26 14:44:46 2014 -0800 gdb.dwarf2/dw2-op-out-param.S: Fix comment. gdb/ChangeLog: * gdb.dwarf2/dw2-op-out-param.S: Fix comment. commit 982bbd97c56073d9524b71526dc5911ec32124ca Author: Cary Coutant Date: Wed Nov 26 14:41:46 2014 -0800 Update list of debug sections for --strip-debug-xxx options. Add .debug_gdb_scripts, .debug_gnu_pubnames, .debug_gnu_pubtypes, and .debug_str_offsets to lists of sections to strip or keep when stripping debug info. gold/ * layout.cc (gdb_sections): Keep .debug_gdb_scripts and .debug_str_offsets; strip .debug_gnu_pubnames and .debug_gnu_pubtypes. (lines_only_debug_sections): Strip all four new sections. commit bb779192aecf89975aef7a16e1ea67789b5f38dd Author: Han Shen Date: Wed Nov 26 10:34:46 2014 -0800 Fix for gold linking tlsdesc into an executable with -pie. (Also included in this patch is a minor typo fix in gold/ChangeLog.) When linking the following tlsdesc access sequence into an executable with -pie, adrp x0, :tlsdesc:tls_gd ldr x1, [x0, #:tlsdesc_lo12:tls_gd] add x0, x0, :tlsdesc_lo12:tls_gd .tlsdesccall tls_gd blr x1 mrs x1, tpidr_el0 add x0, x1, x0 ldr w0, [x0] current gold-aarch64 backend does tls-desc-gd-to-ie relaxation, into adrp x0, 1000 <__FRAME_END__+0x720> ldr x1, [x0,#4064] ;; <=== the target register should be x0 nop nop mrs x1, tpidr_el0 add x0, x1, x0 ldr w0, [x0] This code is wrong. The fix changes ldr target register into x0. commit a11652892c18324bf3abb8b25c01475e5a18632a Author: Nick Clifton Date: Wed Nov 26 14:11:23 2014 +0000 More fixes for memory access errors triggered by attemps to examine corrupted binaries. PR binutils/17512 * dwarf.c (display_block): Do nothing if the block starts after the end of the buffer. (read_and_display_attr_value): Add range checks. (struct Frame_Chunk): Make the ncols and ra fields unsigned. (frame_need_space): Test for an ncols of zero. (read_cie): Fail if the augmentation data extends off the end of the buffer. (display_debug_frames): Add checks for read_cie failing. Add range checks. * coff-h8300.c (rtype2howto): Replace abort with returning a NULL value. * coff-h8500.c (rtype2howto): Likewise. * coff-tic30.c (rtype2howto): Likewise. * coff-z80.c (rtype2howto): Likewise. * coff-z8k.c (rtype2howto): Likewise. * coff-ia64.c (RTYPE2HOWTO): Always return a valid howto. * coff-m68k.c (m68k_rtype2howto): Return a NULL howto if none could be found. * coff-mcore.c (RTYPE2HOWTO): Add range checking. * coff-w65.c (rtype2howto): Likewise. * coff-we32k.c (RTYPE2HOWTO): Likewise. * pe-mips.c (RTYPE2HOWTO): Likewise. * coff-x86_64.c (coff_amd64_reloc): Likewise. Replace abort with an error return. * coffcode.h (coff_slurp_reloc_table): Allow the rel parameter to be unused. * coffgen.c (make_a_section_from_file): Check the length of a section name before testing to see if it is a debug section name. (coff_object_p): Zero out any uninitialised bytes in the opt header. * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Test for the raw source being empty when there are values to be processed. (_bfd_ecoff_slurp_symbol_table): Add range check. * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Likewise. (bfd_mach_o_mangle_sections): Move test for too many sections to before the allocation of the section table. (bfd_mach_o_read_symtab_strtab): If the read fails, free the memory and nullify the symbol pointer. * reloc.c (bfd_generic_get_relocated_section_contents): Add handling of a bfd_reloc_notsupported return value. * versados.c (EDATA): Add range checking. (get_record): Likewise. (process_otr): Check for contents being available before updating them. (versados_canonicalize_reloc): Add range check. commit 0cfd832fc7d4f1b5633248754dcc75fa90b5475b Author: Mark Wielaard Date: Mon Nov 24 20:51:06 2014 +0100 Recognize new DWARFv5 C11, C++11 and C++14 DW_LANG constants. gdb/ChangeLog * dwarf2read.c (set_cu_language): Recognize DW_LANG_C11, DW_LANG_C_plus_plus_11, DW_LANG_C_plus_plus_14. include/ChangeLog * dwarf2.h: Add DW_LANG_C_plus_plus_11, DW_LANG_C11 and DW_LANG_C_plus_plus_14. commit 601a03ba3d521989584a1f8abd5678040e0218cf Author: Alan Modra Date: Wed Nov 19 19:10:49 2014 +1030 _bfd_elf_slurp_version_tables tidy The internal verref buffer is allocated with bfd_zalloc, based on a count given in headers. If the headers are broken/fuzzed and contain an enormous count the alloc can result in OOM. If we first read the external verrefs (into a buffer that isn't zeroed on allocation) then the read provides a sanity check on the headers. Also prints an error for version info that fails other sanity checks. * elf.c (_bfd_elf_slurp_version_tables): Delay allocation of internal verref buffer. Error for zero sh_info. Print errors. Check for zero vd_ndx. Use bfd_zalloc for vd_auxptr buffer. commit a3e60ddb0b43a3aed32f2982d472ab305c7e8f67 Author: Alan Modra Date: Wed Nov 26 11:10:29 2014 +1030 Retry powerpc gold stub grouping when groups prove too large An unusually large number of stubs can result in the default section group size being too large; sections plus stubs exceed the range of a branch. Restarting the relaxation pass with a smaller group size can sometimes help. * powerpc.cc (struct Stub_table_owner): New. (Powerpc_relobj): Rename stub_table_ to stub_table_index_, an unsigned int vector. Update all references. (powerpc_relobj::set_stub_table): Take an unsigned int param rather than a Stub_table. Update callers. (Powerpc_relobj::clear_stub_table): New function. (Target_powerpc): Add relax_failed_, relax_fail_count_ and stub_group_size_ vars. (Target_powerpc::new_stub_table): Delete. (max_branch_delta): New function, extracted from.. (Target_powerpc::Relocate::relocate): ..here.. (Target_powerpc::Branch_info::make_stub): ..and here. Return status on whether stub created successfully. (Stub_control::Stub_control): Add "no_size_errors" param. Move default sizing to.. (Target_powerpc::do_relax): ..here. Init stub_group_size_ and reduce on relax failure. (Target_powerpc::group_sections): Add "no_size_errors" param. Use stub_group_size_. Set up group info in a temp vector, before building Stub_table vector. Account for input sections possibly already converted to relaxed sections. (Stub_table::init): Delete. Merge into.. (Stub_table::Stub_table): ..here. (Stub_table::can_reach_stub): New function. (Stub_table::add_plt_call_entry): Add "from" parameter and return true iff stub could be reached. (Stub_table::add_long_branch_entry): Similarly. Add "r_type" param too. (Stub_table::clear_stubs): Add "all" param. commit aa4893954a75660d2aa66245cb9d020049cb9546 Author: Sandra Loosemore Date: Tue Nov 25 18:40:28 2014 -0800 Fix Nios II prologue analyzer to handle multiple stack adjustments. 2014-11-25 Sandra Loosemore gdb/ * nios2-tdep.c (nios2_analyze_prologue): Replace restriction that there can be only one stack adjustment in the prologue with tests to detect specific disallowed stack adjustments. commit 7f1659b5875387986901ee9bccd5247bf6899afc Author: Sandra Loosemore Date: Tue Nov 25 18:37:41 2014 -0800 Fix Nios II GDB epilogue detection to handle multiple stack adjustments. 2014-11-25 Sandra Loosemore gdb/ * nios2-tdep.c (nios2_in_epilogue_p): Handle multiple stack adjustments. commit d53c26c753a39b80a338fb85bd41f75a49374842 Author: Sandra Loosemore Date: Tue Nov 25 18:34:51 2014 -0800 Refactor Nios II GDB support to use helper functions for disassembly and instruction matching. 2014-11-25 Sandra Loosemore gdb/ * nios2-tdep.c (nios2_fetch_insn): Move up in file. Disassemble the instruction as well as reading it from memory. (nios2_match_add): New. (nios2_match_sub): New. (nios2_match_addi): New. (nios2_match_orhi): New. (nios2_match_stw): New. (nios2_match_ldw): New. (nios2_match_rdctl): New. (enum branch_condition): New. (nios2_match_branch): New. (nios2_match_jmpi): New. (nios2_match_calli): New. (nios2_match_jmpr): New. (nios2_match_callr): New. (nios2_match_break): New. (nios2_match_trap): New. (nios2_in_epilogue_p): Rewrite to use new functions. (nios2_analyze_prologue): Likewise. (nios2_skip_prologue): Delete unused local limit_pc. (nios2_breakpoint_from_pc): Make R1-specific encodings explicit. (nios2_get_next_pc): Rewrite to use new functions. commit a20605cf85452f051434296ddfd8ed109577bb6b Author: Alan Modra Date: Wed Nov 26 10:06:07 2014 +1030 [GOLD] PowerPC relaxation corner case It's possible for the section grouping code to decide that the last section looked at (the first section by address) doesn't fit into a group. In one case that section is already a group owner and that is handled correctly. In other cases the section should be put into its own group. Like this: * powerpc.cc (Stub_control::set_output_and_owner): New function. (Target_powerpc::group_sections): Use it. commit 38bd618497d57d118160976867397e8bb22732d8 Author: GDB Administrator Date: Wed Nov 26 00:00:13 2014 +0000 Automatic date update in version.in commit 43b64debe3577c6923ca9f16ec91451bb47f5f65 Author: Cary Coutant Date: Tue Nov 25 14:33:51 2014 -0800 Add file size to ELF symbol labelling start of a binary file. gold/ * binary.cc (Binary_to_elf::sized_convert): Add size to _start symbol. (Binary_to_elf::write_symbol): Add st_size parameter. * binary.h (Binary_to_elf::write_symbol): Add st_size parameter. commit c924eb67e143722e4098d84c1cb91123a51c988f Author: Cary Coutant Date: Tue Nov 25 13:55:42 2014 -0800 Fix corrupted .eh_frame section with LTO and --gc-sections. When --gc-sections is turned on during an LTO link, the .eh_frame sections from deferred files are processed before those from the replacement files. As a result, the section end-cap from crtendS.o is placed ahead of the .eh_frame data from the replacement files. This patch fixes the bug by skipping the layout of the deferred sections during GC pass 2. gold/ PR gold/17639 * object.cc (Sized_relobj_file): Initialize is_deferred_layout_. (Sized_relobj_file::do_layout): Handle deferred sections properly during GC pass 1. Don't add reloc sections to deferred list twice. * object.h (Sized_relobj_file::is_deferred_layout): New function. (Sized_relobj_file::is_deferred_layout_): New data member. commit 61e6682207163bfc02b2fc0c54c084cf8f2c5f10 Author: H.J. Lu Date: Tue Nov 25 13:40:19 2014 -0800 Update ld-alpha tests for secureplt * ld-alpha/tlsbin.dd: Updated for secureplt. * ld-alpha/tlsbin.rd: Likewise. * ld-alpha/tlsbin.sd: Likewise. * ld-alpha/tlsbinr.dd: Likewise. * ld-alpha/tlsbinr.rd: Likewise. * ld-alpha/tlspic.dd: Likewise. * ld-alpha/tlspic.rd: Likewise. * ld-alpha/tlspic.sd: Likewise. commit d92b6eece424f0ad35d96fdd85bf207295e8c4c3 Author: Max Filippov Date: Tue Nov 25 21:33:21 2014 +0300 Fix trampolines search code for conditional branches For conditional branches that need more than one trampoline to reach its target assembler couldn't always find suitable trampoline because post-loop condition check was placed inside the loop, resulting in premature loop termination. Move check outside the loop. This fixes the following build errors seen when assembling huge files produced by gcc: Error: jump target out of range; no usable trampoline found Error: operand 1 of 'j' has out of range value '307307' 2014-11-25 Max Filippov gas/ * config/tc-xtensa.c (search_trampolines): Move post-loop condition check outside the search loop. gas/testsuite/ * gas/xtensa/trampoline.d: Add expected output for branches. * gas/xtensa/trampoline.s: Add test case for branches. commit 60bb06bc89858ee50ad02907a833565dcc317182 Author: H.J. Lu Date: Tue Nov 25 09:28:32 2014 -0800 Use get_symbol_version_string in BFD_JUMP_TABLE_SYMBOLS This patch adds get_symbol_version_string to BFD_JUMP_TABLE_SYMBOLS so that we can use bfd_get_symbol_version_string in objdump for non-ELF targets. bfd/ * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use NAME##_get_symbol_version_string. (bfd_get_symbol_version_string): New. * aout-adobe.c (aout_32_get_symbol_version_string): Define using _bfd_nosymbols define. * aout-target.h (MY_get_symbol_version_string): Likewise. * aout-tic30.c (MY_get_symbol_version_string): Likewise. * binary.c (binary_get_symbol_version_string): Likewise. * bout.c (aout_32_get_symbol_version_string): Likewise. * coff-rs6000.c (_bfd_xcoff_get_symbol_version_string): Likewise. * i386msdos.c (msdos_get_symbol_version_string): Likewise. * i386os9k.c (aout_32_get_symbol_version_string): Likewise. * ieee.c (ieee_get_symbol_version_string): Likewise. * ihex.c (ihex_get_symbol_version_string): Likewise. * libecoff.h (_bfd_ecoff_get_symbol_version_string): Likewise. * mach-o-target.c (bfd_mach_o_get_symbol_version_string): Likewise. * mmo.c (mmo_get_symbol_version_string): Likewise. * nlm-target.h (nlm_get_symbol_version_string): Likewise. * oasys.c (oasys_get_symbol_version_string): Likewise. * pef.c (bfd_pef_get_symbol_version_string): Likewise. * plugin.c (bfd_plugin_get_symbol_version_string): Likewise. * ppcboot.c (ppcboot_get_symbol_version_string): Likewise. * som.c (som_get_symbol_version_string): Likewise. * srec.c (srec_get_symbol_version_string): Likewise. * tekhex.c (tekhex_get_symbol_version_string): Likewise. * versados.c (versados_get_symbol_version_string): Likewise. * vms-alpha.c (alpha_vms_get_symbol_version_string): Likewise. * xsym.c (bfd_sym_get_symbol_version_string): Likewise. * coff64-rs6000.c (rs6000_xcoff64_vec): Use coff_get_symbol_version_string. (rs6000_xcoff64_aix_vec): Likewise. * elf-bfd.h (bfd_elf_get_symbol_version_string): Renamed to ... (_bfd_elf_get_symbol_version_string): This. * elf.c: Likewise. (bfd_elf_print_symbol): Updated. * elfxx-target.h (bfd_elfNN_get_symbol_version_string): Define. * libbfd-in.h (_bfd_nosymbols_get_symbol_version_string): Define. * libcoff-in.h (coff_get_symbol_version_string): Likewise. * bfd-in2.h: Regenerated. * libbfd.h: Likewise. * libcoff.h: Likewise. binutils/ * objdump.c (objdump_print_symname): Replace bfd_elf_get_symbol_version_string with bfd_get_symbol_version_string. commit bb4d2ac2cc637c61232624d9d359b8d3f031e3e9 Author: H.J. Lu Date: Tue Nov 25 06:47:44 2014 -0800 Display symbol version when dumping dynrelocs Both readelf/objdump know how to get symbol version string for dynamic symbols. This patch extracts this functionality into a separate function and uses it to add symbol version string to versioned symbol names when dumping dynamic relocations. bfd/ PR binutils/16496 * elf-bfd.h (bfd_elf_get_symbol_version_string): New. * elf.c (bfd_elf_get_symbol_version_string): New. Extracted from bfd_elf_print_symbol. (bfd_elf_print_symbol): Use it. binutils/ PR binutils/16496 * objdump.c (objdump_print_symname): Call bfd_elf_get_symbol_version_string to get ELF symbol version string. Append version string if needed. * readelf.c (versioned_symbol_info): New enum. (get_symbol_version_string): New. Extracted from process_symbol_table. (dump_relocations): Add a new argument to indicate if dynamic symbol table is used. Use get_symbol_version_string to get symbol version string for dynamic symbol. Append version string if needed. (process_relocs): Updated dump_relocations call. (process_symbol_table): Use get_symbol_version_string. ld/testsuite/ PR binutils/16496 * ld-cris/weakref3.d: Add symbol version string to versioned symbol names in dynamic relocation. * ld-cris/weakref4.d: Likewise. * ld-elfvers/vers24.rd: Likewise. * ld-elf/pr16496a.c: New file. * ld-elf/pr16496a.map: Likewise. * ld-elf/pr16496b.c: Likewise. * ld-elf/pr16496b.od: Likewise. * ld-elf/shared.exp (build_tests): Add libpr16496a.so and libpr16496b.so tests. commit dd7e64d45b317128f5fe813a8da0b13b4ad046ae Author: H.J. Lu Date: Tue Nov 25 05:05:39 2014 -0800 Optimize out i386/x86-64 JUMP_SLOT relocation When there are both PLT and GOT references to the same function symbol, linker will create a GOTPLT slot for PLT entry and a GOT slot for GOT reference. A run-time JUMP_SLOT relocation is created to update the GOTPLT slot and a run-time GLOB_DAT relocation is created to update the GOT slot. Both JUMP_SLOT and GLOB_DAT relocations will apply the same symbol value to GOTPLT and GOT slots, respectively, at run-time. This optimization combines GOTPLT and GOT slots into a single GOT slot and removes the run-time JUMP_SLOT relocation. It replaces the regular PLT entry: indirect jump [GOTPLT slot] push relocation index jump PLT0 with an GOT PLT entry with an indirect jump via the GOT slot: indirect jump [GOT slot] nop and resolves PLT reference to the GOT PLT entry. We must avoid this optimization if pointer equality is needed since we don't clear symbol value in this case and the dynamic linker won't update the GOT slot. Otherwise, the resulting binary will get into an infinite loop at run-time. bfd/ * elf32-i386.c (elf_i386_got_plt_entry): New. (elf_i386_pic_got_plt_entry): Likewise. (elf_i386_link_hash_entry): Add plt_got. (elf_i386_link_hash_table): Likewise. (elf_i386_link_hash_newfunc): Initialize plt_got.offset to -1. (elf_i386_get_local_sym_hash): Likewise. (elf_i386_check_relocs): Create the GOT PLT if there are both PLT and GOT references when the regular PLT is used. (elf_i386_allocate_dynrelocs): Use the GOT PLT if there are both PLT and GOT references unless pointer equality is needed. (elf_i386_relocate_section): Also check the GOT PLT when resolving R_386_PLT32. (elf_i386_finish_dynamic_symbol): Use the GOT PLT if it is available. * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add plt_got. (elf_x86_64_link_hash_table): Likewise. (elf_x86_64_link_hash_newfunc): Initialize plt_got.offset to -1. (elf_x86_64_get_local_sym_hash): Likewise. (elf_x86_64_check_relocs): Create the GOT PLT if there are both PLT and GOT references when the regular PLT is used. (elf_x86_64_allocate_dynrelocs): Use the GOT PLT if there are both PLT and GOT references unless pointer equality is needed. (elf_x86_64_relocate_section): Also check the GOT PLT when resolving R_X86_64_PLT32. (elf_x86_64_finish_dynamic_symbol): Use the GOT PLT if it is available. ld/ * emulparams/elf_i386.sh (TINY_READONLY_SECTION): New. * emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): Add .plt.got. ld/testsuite/ * ld-i386/i386.exp: Add run-time relocation tests for plt-main. * ld-i386/plt-main.rd: New file. * ld-x86-64/plt-main-bnd.dd: Likewise. * ld-x86-64/plt-main.rd: Likewise. * ld-x86-64/x86-64.exp: Add run-time relocation tests for plt-main. commit 07e94edf043090a6771eb3b8e7e03339cab8e607 Author: GDB Administrator Date: Tue Nov 25 00:00:12 2014 +0000 Automatic date update in version.in commit 6e733ccea9ed0c822817a06b53ccdbe73f8f5c04 Author: H.J. Lu Date: Mon Nov 24 09:14:09 2014 -0800 Update libtool.m4 from GCC trunk * libtool.m4: Updated from GCC trunk. bfd/ * configure: Regenerated. binutils/ * configure: Regenerated. gas/ * configure: Regenerated. gprof/ * configure: Regenerated. ld/ * configure: Regenerated. opcodes/ * configure: Regenerated. commit cac9b138f75c94c1256d054cbafdf208b8963ce1 Author: Jan Kratochvil Date: Mon Nov 24 18:05:04 2014 +0100 Reindent code (resolve_dynamic_type_internal). gdb/ChangeLog 2014-11-24 Jan Kratochvil * gdbtypes.c (resolve_dynamic_type_internal): Reindent the code. commit 520c7b56ac91e91120c59d7a85466ec9394277cf Author: Jiong Wang Date: Mon Nov 24 13:43:39 2014 +0000 [AArch64] Cortex-A53 Erratum 835769 -- sort maps 2014-11-24 Tejas Belagod bfd/ * elfnn-aarch64.c (elf_aarch64_compare_mapping): New. (erratum_835769_scan): Sort map list. commit a441dfbc4e339198cf9d27d21579fd04ff8c6e2c Author: Samuel Thibault Date: Sun Nov 23 16:19:46 2014 +0100 [Hurd] Fix deallocation after proc_getprocinfo call 2014-11-24 Samuel Thibault * gdb/gnu-nat.c (inf_validate_procinfo): Multiply the number of elements pi_len by the size of the elements before calling vm_deallocate. (inf_validate_task_sc): Likewise, and properly deallocate the noise array. commit 4c9e848275b2073db55ebc1b7c18a52ab32954eb Author: Doug Evans Date: Sun Nov 23 20:30:34 2014 -0800 Fix dumping of function arguments. gdb/ChangeLog: * gdbtypes.c (print_args): Renamed from print_arg_types. Print arg number and name if present. All callers updated. (dump_fn_fieldlists): Fix indentation of args. commit e05fa0bad203f7236cfe374181e1bd72ccbcaa35 Author: Alan Modra Date: Mon Nov 24 12:41:33 2014 +1030 PowerPC64 --plt-align Alignment of plt stubs was broken, firstly because the option was being dropped due to the alignment value not being set in the "params" struct used in elf64-ppc.c, and secondly due to not calculating the number of alignment boundary crossings correctly. bfd/ * elf64-ppc.c (plt_stub_pad): Correct. ld/ * ld.texinfo: Correct --plt-align documentation. * emultempl/ppc64elf.em (plt_stub_align): Delete. Use and set params.plt_stub_align instead. commit 1ae92035c29475c97a0795e3f93f068f8e612f25 Author: GDB Administrator Date: Mon Nov 24 00:00:14 2014 +0000 Automatic date update in version.in commit 15ee0bbdde66989674d6cf904dd9dedfb372e9ba Author: Patrick Palka Date: Sun Nov 23 11:14:13 2014 -0500 Add myself as write-after-approval GDB maintainer gdb/ChangeLog: * MAINTAINERS (Write After Approval): Add myself. commit 6db50b4cfe55834ee5fc8dc95c80529f8a0f2a1f Author: H.J. Lu Date: Sun Nov 23 05:54:02 2014 -0800 Assert size of elf_x86_64_{bnd|legacy}_plt2_entry Assert size of elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry only in elf_x86_64_check_relocs. * elf64-x86-64.c (elf_x86_64_check_relocs): Assert size of elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry. (elf_x86_64_allocate_dynrelocs): Don't assert size of elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry. commit e8af5d7a5cd4c58136a4733e87612f49061bf28b Author: Joel Brobecker Date: Thu Nov 20 20:41:25 2014 +0400 Always consider infcall breakpoints as non-permanent. A recent change... commit 1a853c5224e2b8fedfac6d029365522b83080b40 Date: Wed Nov 12 10:10:49 2014 +0000 Subject: make "permanent breakpoints" per location and disableable ... broke function calls on sparc-elf when running over QEMU. Any function call should demonstrate the problem. For instance, seen from the debugger: (gdb) call pn(1234) [Inferior 1 (Remote target) exited normally] The program being debugged exited while in a function called from GDB. Evaluation of the expression containing the function And seen from QEMU: qemu: fatal: Trap 0x02 while interrupts disabled, Error state [register dump removed] What happens in this case is that GDB sets the inferior function call by not only creating the dummy frame, but also writing a breakpoint instruction at the return address for our function call. See infcall.c: /* Write a legitimate instruction at the point where the infcall breakpoint is going to be inserted. While this instruction is never going to be executed, a user investigating the memory from GDB would see this instruction instead of random uninitialized bytes. We chose the breakpoint instruction as it may look as the most logical one to the user and also valgrind 3.7.0 needs it for proper vgdb inferior calls. If software breakpoints are unsupported for this target we leave the user visible memory content uninitialized. */ bp_addr_as_address = bp_addr; bp_bytes = gdbarch_breakpoint_from_pc (gdbarch, &bp_addr_as_address, &bp_size); if (bp_bytes != NULL) write_memory (bp_addr_as_address, bp_bytes, bp_size); This instruction triggers a change introduced by the commit above, where we consider bp locations as being permanent breakpoints if there is already a breakpoint instruction at that address: + if (bp_loc_is_permanent (loc)) + { + loc->inserted = 1; + loc->permanent = 1; + } As a result, when resuming the program's execution for the inferior function call, GDB decides that it does not need to insert a breakpoint at this address, expecting the target to just report a SIGTRAP when trying to execute that instruction. But unfortunately for us, at least some versions of QEMU for SPARC just terminate the execution entirely instead of reporting a breakpoint, thus producing the behavior reported here. Although it appears like QEMU might be misbehaving and should therefore be fixed (to be verified) from the user's point of view, the recent change does introduce a regression. So this patch tries to mitigate a bit the damage by handling such infcall breakpoints as special and making sure that they are never considered permanent, thus restoring the previous behavior specifically for those breakpoints. The option of not writing the breakpoint instructions in the first place was considered, and would probably work also. But the comment associated to it seems to indicate that there is still reason to keep it. gdb/ChangeLog: * breakpoint.c (bp_loc_is_permanent): Return 0 if LOC corresponds to a bp_call_dummy breakpoint type. Tested on x86_64-linux. Also testing on sparc-elf/QEMU using AdaCore's testsuite. commit a344fc094daa257557786eb2ce871debf38456ba Author: Patrick Palka Date: Sat Aug 30 15:33:08 2014 -0400 Specify SA_RESTART when registering the SIGWINCH signal handler SA_RESTART allows system calls to be restarted across a signal handler. By specifying this flag we fix the issue where if the user is being prompted to answer yes or no, and the terminal gets resized in the meantime, the prompt will think that the user sent an EOF and so it will take the default action for that prompt (in the case of the quit prompt, it will quit GDB). gdb/ChangeLog: * tui/tui-win.c (tui_initialize_win): Specify SA_RESTART when registering the signal handler. commit d64e57faa89ba4de0ebacdc30fbee5d19310950c Author: Patrick Palka Date: Sun Nov 23 14:03:39 2014 +0400 Fix the processing of Meta-key commands in TUI This patch fixes the annoying bug where key sequences such as Alt_F or Alt_B (go forward or backwards by a word) do not behave promptly in TUI. You have to press a third key in order for the key sequence to register. This is mostly ncurses' fault. Calling wgetch() normally causes ncurses to read only a single key from stdin. However if the key read is the start-sequence key (^[ a.k.a. ESC) then wgetch() reads TWO keys from stdin, storing the 2nd key into an internal FIFO buffer and returning the start-sequence key. The extraneous read of the 2nd key makes us miss its corresponding stdin event, so the event loop blocks until a third key is pressed. This explains why such key sequences do not behave promptly in TUI. To fix this issue, we must somehow compensate for the missed stdin event corresponding to the 2nd byte of a key sequence. This patch achieves this by hacking up the stdin event handler to conditionally execute the readline callback multiple times in a row. This is done via a new global variable, call_stdin_event_handler_again_p, which is set from tui_getc() when we receive a start-sequence key and notice extra pending input in the ncurses buffer. Tested on x86_64-unknown-linux-gnu. gdb/ChangeLog: * event-top.h (call_stdin_event_handler_again_p): Declare. * event-top.c (call_stdin_event_handler_again_p): Define. (stdin_event_handler): Use it. * tui/tui-io.c (tui_getc): Prepare to call the stdin event handler again if there is pending input following a start sequence. commit 6f9d33d89858fce0278af93658fcaef8d76f33cb Author: Patrick Palka Date: Fri Nov 14 14:04:50 2014 -0500 checkpoint: print index of new checkpoint in response message This way the user can know the index of the latest checkpoint without having to run "info checkpoints" afterwards. gdb/ChangeLog: * linux-fork.c (checkpoint_command): Print index of new checkpoint in response message. commit 88db67effd5c083011397a00e40fe03ea70629d8 Author: Yao Qi Date: Sun Nov 23 13:57:00 2014 +0800 Refine read_string In read_string, we have this line chunksize = (len == -1 ? min (8, fetchlimit) : fetchlimit); but chunksize is only used in the block that lne == -1, so IWBN to move chunksize to the block in which it is used, and simplify the condition setting chunksize. This patch also moves 'found_nul' to inner block. This patch also splits a paragraph of comment into two, and move them to different condition blocks (len > 0 and len == -1) respectively. gdb: 2014-11-23 Yao Qi * valprint.c (read_string): Move local variables 'found_nul', 'chunksize' and 'limit' to inner scope. Update comments. commit 576054f170b1d1a2ab8c9473798193fcd5687c3a Author: Joel Sherrill Date: Sun Nov 23 07:11:39 2014 +0400 sim/ppc/*: Change immediatly to immediately sim/ppc/ChangeLog: * ChangeLog, ChangeLog.00, hw_com.c, ld-cache.h, ppc-instructions: Change immediatly to immediately. commit 8eec6289f850433e42349c1bffc8c1b7479717ae Author: Joel Sherrill Date: Sun Nov 23 07:09:16 2014 +0400 sim/igen/: Change immediatly to immediately sim/igen/ChangeLog: * igen/ld-cache.h, igen/table.h: Change immediatly to immediately. commit fcb381293d999944e48f904d7a813f98e03ebfe2 Author: Joel Sherrill Date: Sun Nov 23 06:59:54 2014 +0400 s/immediatly/immediately/ in sim/sh/ChangeLog entry. commit 8b627517756c1f54652f089870cb0072268fb20e Author: GDB Administrator Date: Sun Nov 23 00:00:09 2014 +0000 Automatic date update in version.in commit 01465b569ea01cff11889ca72fe5505ef1c4c85d Author: Doug Evans Date: Sat Nov 22 11:29:08 2014 -0800 symtab.c: Comment and whitespace improvements. gdb/ChangeLog: * symtab.c (lookup_symbol_in_objfile_from_linkage_name): Improve function comment. (search_symbols): Fix comments and whitespace. commit 07a1c2c3c7be5942a20ccc45ccf695ce3cb08112 Author: Doug Evans Date: Sat Nov 22 10:46:52 2014 -0800 cp-namespace.c (cp_lookup_symbol_nonlocal): Fix comment. gdb/ChangeLog: * cp-namespace.c (cp_lookup_symbol_nonlocal): Fix comment. commit 35a14c6b54b63adc6b6ef28a4e4403bb271b9bdd Author: H.J. Lu Date: Sat Nov 22 08:58:07 2014 -0800 Check branch displacement overflow in x86-64 PLT entry Displacement of branch to PLT0 in x86-64 PLT entry is signed 32-bit. This patch adds a sanity check. We will only see the failure when PLT size is > 2GB. * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check branch displacement overflow in PLT entry. commit 84429e27c826c74b99791b8f1efe8dce03cfa6ca Author: Yao Qi Date: Sat Nov 22 21:28:31 2014 +0800 Use MACRO_AT_func in entry-values.exp MACRO_AT_func can be used in gdb.trace/entry-values.exp to correctly get function's address in generated debug info. As a result, the test is more friendly to clang. Currently, there are some fails in entry-values.exp when the test is compiled by clang. With this patch applied, all fails go away. gdb/testsuite: 2014-11-22 Yao Qi * gdb.trace/entry-values.c: Remove asms. (foo): Add foo_label. (bar): Add bar_label. * gdb.trace/entry-values.exp: Remove code computing foo's length and bar's length. (Dwarf::assemble): Invoke function_range for bar and use MACRO_AT_func for foo. commit 267418593cfb3986a924024a28e3283626399301 Author: Yao Qi Date: Sat Nov 22 21:22:01 2014 +0800 [arm] Fix fails in dw2-compdir-oldgcc.exp This patch fixes two fails in dw2-compdir-oldgcc.exp I've seen on arm target thumb mode. FAIL: gdb.dwarf2/dw2-compdir-oldgcc.exp: info source gcc42 FAIL: gdb.dwarf2/dw2-compdir-oldgcc.exp: info source gcc43 When fill in DW_AT_low_pc, the label should be used rather than the function, otherwise, the LSB bit of the address in DW_AT_low_pc is set and the debug info is wrong. This patch is to add two labels for functions gcc42 and gcc43 respectively, and use them. These two fails are fixed. gdb/testsuite: 2014-11-22 Yao Qi * gdb.dwarf2/dw2-compdir-oldgcc.S: Define label .Lgcc42_procstart and .Lgcc43_procstart. Use .Lgcc42_procstart instead of gcc42. Use .Lgcc43_procstart instead of gcc43. commit 7af4e273070de20d0a46239569ab8a518b713310 Author: GDB Administrator Date: Sat Nov 22 00:00:13 2014 +0000 Automatic date update in version.in commit b8b64fa5e4486e681a1a8efb5aa286ff8cb61162 Author: Andrew Burgess Date: Tue Nov 18 23:41:15 2014 +0000 Merge include/* files from GCC commit 69a2f316d3. include/ChangeLog: * dwarf2.def (DW_AT_APPLE_optimized, DW_AT_APPLE_flags) (DW_AT_APPLE_isa, DW_AT_APPLE_block) (DW_AT_APPLE_major_runtime_vers, DW_AT_APPLE_runtime_class) (DW_AT_APPLE_omit_frame_ptr, DW_AT_APPLE_property_name) (DW_AT_APPLE_property_getter, DW_AT_APPLE_property_setter) (DW_AT_APPLE_property_attribute, DW_AT_APPLE_objc_complete_type) (DW_AT_APPLE_property): New macros. commit e235c3a213b73bf2da20d3c45a60a241139714f0 Author: Andrew Burgess Date: Tue Nov 18 23:37:52 2014 +0000 Merge include/* files from GCC commit 77cab4753. include/ChangeLog: PR debug/63239 * dwarf2.def (DW_AT_GNU_deleted): New attribute. commit 0a9d414aa114b7b7e609cbcbc285f79031bbe608 Author: Nick Clifton Date: Fri Nov 21 21:44:04 2014 +0000 Fixes for memory access violations exposed by fuzzinf various binaries. PR binutils/17512 * dwarf.c (get_encoded_value): Check for an encoded size of 0. (display_debug_lines_raw): Check for an invalid line range value. (display_debug_frames): Check for corrupt augmentation data. * coffgen.c (coff_get_normalized_symtab): Check for an excessive number of auxillary entries. * ieee.c (next_byte): Convert to a function. Return FALSE if the next byte is beyond the end of the buffer. (parse_int): Test the return value of next_byte. (parse_expression): Convert to boolean. Return FALSE if the parsing failed. Test the return value of next_byte. (ieee_seek): Convert to a function. Return FALSE if the seek goes beyond the end of the buffer. (ieee_slurp_external_symbols): Test the return value of ieee_seek and next_byte. (ieee_slurp_sections): Convert to boolean. Return FALSE if the operation failed. Test the return value of ieee_seek and next_byte. (ieee_archive_p): Test the return value of ieee_seek and next_byte. (do_one): Likewise. (ieee_slurp_section_data): Likewise. (ieee_object_p): Likewise. Store the size of the buffer in the total_amt field in the header. * libieee.h (common_header_type): Add amt field. * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Check that the reloc's value is within range. (bfd_mach_o_read_symtab_symbols): Nullify the symbols field if the operation fails. * pei-x86_64.c (pex64_xdata_print_uwd_codes): Replace abort with an error message. (pex64_dump_xdata): Check for buffer overflows. * versados.c (process_otr): Check that the section exists before taking its size. (versados_object_p): Make sure that enough data was read for the header to be checked. * vms-alpha.c (vms_get_remaining_object_record): Change read_so_far parameter to an unsigned int. Check that the amount read is in range. commit 5974eba65b82912621ac68f2c0ff844efbd02b25 Author: H.J. Lu Date: Fri Nov 21 12:12:30 2014 -0800 Optimize PC-relative offset overflow check * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Optimize PC-relative offset overflow check. commit 9d585188889de38c7191976051d9acdd8d57cbbf Author: H.J. Lu Date: Tue Nov 18 11:34:11 2014 -0800 Check PC-relative offset overflow in PLT entry PR gold/17619 * x86_64.cc (Output_data_plt_x86_64_standard::do_fill_plt_entry): Check PC-relative offset overflow in PLT entry. commit b2a919a82b1d131c20f9e9c21b8c4871e5622d75 Author: Doug Evans Date: Fri Nov 21 09:50:56 2014 -0800 psymtab.c (psymtab_search_name): Fix whitespace. gdb/ChangeLog: * psymtab.c (psymtab_search_name): Fix whitespace. commit 4a7a79238819b06f8995ee9d916c8e06f680c631 Author: H.J. Lu Date: Fri Nov 21 08:45:02 2014 -0800 Add function and function pointer tests for i386 This patch adds tests for function and function pointer for i386. * ld-i386/plt-lib.c: New file. * ld-i386/plt-main.out: Likewise. * ld-i386/plt-main1.c: Likewise. * ld-i386/plt-main1.rd: Likewise. * ld-i386/plt-main2.c: Likewise. * ld-i386/plt-main2.rd: Likewise. * ld-i386/plt-main3.c: Likewise. * ld-i386/plt-main3.rd: Likewise. * ld-i386/plt-main4.c: Likewise. * ld-i386/plt-main4.rd: Likewise. * ld-i386/plt-main5.c: Likewise. * ld-i386/i386.exp: Run plt-main tests. commit ce641d0b6b9fc9d873cf204c5ecd25a451fef3d2 Author: H.J. Lu Date: Fri Nov 21 07:57:38 2014 -0800 Run plt-main test with -pie * ld-x86-64/x86-64.exp: Run plt-main test with -pie. commit 278289d5d70324b580cb5faf663a8398e4710816 Author: Yao Qi Date: Fri Nov 21 22:05:42 2014 +0800 Import errno explicitly errno.h is included in common/common-defs.h, and gnulib errno module was imported to gdb. This patch is to import it explicitly. gdb: * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add errno. * gnulib/import/Makefile.am: Re-generated. * gnulib/import/Makefile.in: Likewise. * gnulib/import/m4/gnulib-cache.m4: Likewise. commit e01e2baa693e8d623e04dd66a55a75a2102bb7cb Author: Yao Qi Date: Fri Nov 21 22:05:41 2014 +0800 Include wchar.h and wctype.h unconditionally As gnulib modules wchar and wctype is imported, we can include wchar.h and wctype.h unconditionally. This patch is also to remove HAVE_WCHAR_H check. gdb: 2014-11-21 Yao Qi * gdb_wchar.h: Include wchar.h and wctype.h. [HAVE_ICONV && HAVE_BTOWC]: Don't check HAVE_WCHAR_T and don't include wchar.h and wctype.h. Don't check HAVE_WCHAR_H. commit f0c00af8b494001e2a49a2f9ee2df7f340f80f0d Author: Yao Qi Date: Fri Nov 21 22:05:41 2014 +0800 Import wchar and wctype-h explicitly gnulib module wchar and wctype-h was imported as a dependency, but they are used by gdb_wchar.h too. This patch is to import them explicitly. gdb: * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add wchar and wctype-h. * gnulib/import/Makefile.am: Re-generated. * gnulib/import/Makefile.in: Likewise. * gnulib/import/m4/gnulib-cache.m4: Likewise. commit 0cae13bb02b69af6713fc0133eb705ca0ea8b084 Author: Yao Qi Date: Fri Nov 21 22:05:41 2014 +0800 Import memchr explicitly memchr has been used in gdb source and gnulib memchr module was imported as a dependency. This patch is to import it explicitly. gdb: * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add memchr. * gnulib/import/Makefile.am: Re-generated. * gnulib/import/Makefile.in: Likewise. * gnulib/import/m4/gnulib-cache.m4: Likewise. commit 9c232dda88ade649e92be7a6c9917e0a80ea54c8 Author: Yao Qi Date: Fri Nov 21 22:05:41 2014 +0800 Include alloca.h unconditionally Since gnulib alloca module was imported, we can include alloca.h in both gdb and gdbserver unconditionally, so this patch adds inclusion of alloca.h in common-defs.h. This patch also removes AC_FUNC_ALLOCA in configure.ac because we don't need to check alloca any more. This patch below is removed in fact. [RFA/commit] include alloca.h if available. https://www.sourceware.org/ml/gdb-patches/2010-08/msg00566.html Since alloca.h is from gnulib now, we don't have to check malloc.h in configure and include malloc.h in code. This patch also remove them too. gdb: 2014-11-21 Yao Qi * common/common-defs.h: Include alloca.h * configure.ac: Don't invoke AC_FUNC_ALLOCA. * configure: Re-generated. * defs.h: Remove code handling alloca. * utils.c (gdb_realpath): Don't check HAVE_ALLOCA is defined or not. gdb/gdbserver: 2014-11-21 Yao Qi * configure.ac: Don't invoke AC_FUNC_ALLOCA. (AC_CHECK_HEADERS): Remove malloc.h. * configure: Re-generated. * config.in: Re-generated. * server.h: Don't include alloca.h and malloc.h. * gdbreplay.c: Don't check HAVE_ALLOCA_H is defined. Don't include malloc.h. commit 00d7f58fd4e59c9ffe375f3a6edbe918fd7b5645 Author: Yao Qi Date: Fri Nov 21 22:05:41 2014 +0800 Import alloca explicitly gnulib's alloca module was imported to gdb, and alloca is used. This patch is to explicitly import it. gdb: * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULE): Add alloca. * gnulib/import/Makefile.am: Re-generated. * gnulib/import/Makefile.in: Likewise.. * gnulib/import/m4/gnulib-cache.m4: Likewise. commit 6068ad5d49cb80f5f2934bc100fffdc856e7e9be Author: Yao Qi Date: Fri Nov 21 22:05:41 2014 +0800 Make IMPORTED_GNULIB_MODULES in alphabetical order Since we'll add more modules in this list, better to keep them in alphabetical order. gdb: * gnulib/update-gnulib.sh: Make IMPORTED_GNULIB_MODULES in alphabetical order. commit 5d921cbd81554867007e903b634acc6bc8281f9f Author: Nick Clifton Date: Fri Nov 21 13:37:39 2014 +0000 Resolve more problems with readelf uncovered by fuzzing binary files. PR binutils/17531 * readelf.c (process_version_sections): Prevent an infinite loop processing corrupt version need data. (process_corefile_note_segment): Handle corrupt notes. commit cd11f78f810cf12b04046ac954ceb6528b00956c Author: Alexander Cherepanov Date: Fri Nov 21 11:19:49 2014 +0000 Fix a snafu setting up the string table read in from a COFF file. PR binutils/17512 * coffgen.c (_bfd_coff_read_string_table): Test allocation of string table before clearing the first few bytes. commit 3cfdb7812cda6ca610be8bf65ffaf5138dc0d379 Author: Terry Guo Date: Fri Nov 21 11:54:39 2014 +0800 Calculate ARM arch attribute after relaxation gas/ 2014-11-21 Terry Guo * config/tc-arm.c (md_assemble): Do not consider relaxation. (md_convert_frag): Test and set target arch attribute accordingly. (aeabi_set_attribute_string): Turn it into a global function. * config/tc-arm.h (md_post_relax_hook): Enable it for ARM target. (aeabi_set_public_attributes): Declare it. gas/testsuite/ 2014-11-21 Terry Guo * gas/arm/attr-arch-assumption.d: New file. * gas/arm/attr-arch-assumption.s: Likewise. ld/testsuite/ 2014-11-21 Terry Guo * ld-arm/tls-longplt-lib.s: Require ARMv6T2. * ld-arm/tls-longplt.s: Likewise. * ld-arm/tls-longplt-lib.d: Updated. * ld-arm/tls-longplt.d: Likewise. commit a715796ba188e7ca9eac6e613439b63fe50a677d Author: Terry Guo Date: Fri Nov 21 11:31:37 2014 +0800 Support ARM Cortex-M7 include/ChangeLog: 2014-11-21 Terry Guo * opcode/arm.h (FPU_VFP_EXT_ARMV8xD): New macro. (FPU_VFP_V5D16): Likewise. (FPU_VFP_V5_SP_D16): Likewise. (FPU_ARCH_VFP_V5D16): Likewise. (FPU_ARCH_VFP_V5_SP_D16): Likewise. bfd/ChangeLog: 2014-11-21 Terry Guo * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support FPv5. binutils/ChangeLog: 2014-11-21 Terry Guo * readelf.c (arm_attr_tag_FP_arch): Extended to support FPv5. gas/ChangeLog: 2014-11-21 Terry Guo * config/tc-arm.c (fpu_vfp_ext_armv8xd): New. (arm_cpus): Support cortex-m7. (arm_fpus): Support fpv5-sp-d16 and fpv5-d16. (do_vfp_nsyn_cvt_fpv8): Generate error when use D register for S register only target like FPv5-SP-D16. (do_neon_cvttb_1): Likewise. (do_vfp_nsyn_fpv8): Likewise. (do_vrint_1): Likewise. (aeabi_set_public_attributes): Set proper FP arch for FPv5. * doc/c-arm.texi: Document new cpu and fpu names for cortex-m7. gas/testsuite/ChangeLog: 2014-11-21 Terry Guo * gas/arm/armv7e-m+fpv5-d16.s: New. * gas/arm/armv7e-m+fpv5-d16.d: Likewise. * gas/arm/armv7e-m+fpv5-sp-d16.s: Likewise. * gas/arm/armv7e-m+fpv5-sp-d16.d: Likewise. ld/testsuite/ChangeLog: 2014-11-21 Terry Guo * ld-arm/attr-merge-vfp-4-sp.s: New test source file. * ld-arm/attr-merge-vfp-5-sp.s: Likewise. * ld-arm/attr-merge-vfp-5.s: Likewise. * ld-arm/attr-merge-vfp-8.d: New test. * ld-arm/attr-merge-vfp-8r.d: Likewise. * ld-arm/attr-merge-vfp-9.d: Likewise. * ld-arm/attr-merge-vfp-9r.d: Likewise. * ld-arm/attr-merge-vfp-10.d: Likewise. * ld-arm/attr-merge-vfp-10r.d: Likewise. * ld-arm/attr-merge-vfp-11.d: Likewise. * ld-arm/attr-merge-vfp-11r.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/arm-elf.exp: Run the new tests. commit 45e44d277a1b558bb77ea0a1962172a06be26594 Author: Joel Brobecker Date: Thu Oct 2 15:17:49 2014 -0700 Handling of empty Ada ranges with a negative upper bound. Consider the following variable declaration: type Array_Type is array (Integer range <>) of Integer; Var: Array_Type (0 .. -1); "ptype var" prints the wrong upper bound for that array: (gdb) ptype var type = array (0 .. 4294967295) of integer The debugging info for the type of variable "Var" is as follow: <2>: Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_name : foo__var___PAD <3>: Abbrev Number: 14 (DW_TAG_member) DW_AT_name : F DW_AT_type : <0xa5> This is just an artifact from code generation, which is just a wrapper that we should ignore. The real type is the type of field "F" in that PAD type, which is described as: <2>: Abbrev Number: 10 (DW_TAG_array_type) DW_AT_name : foo__TvarS <3>: Abbrev Number: 11 (DW_TAG_subrange_type) DW_AT_type : <0xc1> DW_AT_lower_bound : 0 DW_AT_upper_bound : 0xffffffff Trouble occurs because DW_AT_upper_bound is encoded using a DW_FORM_data4, which is ambiguous regarding signedness. In that case, dwarf2read.c::dwarf2_get_attr_constant_value reads the value as unsigned, which is not what we want in this case. As it happens, we already have code dealing with this situation in dwarf2read.c::read_subrange_type which checks whether the subrange's type is signed or not, and if it is, fixes the bound's value by sign-extending it: if (high.kind == PROP_CONST && !TYPE_UNSIGNED (base_type) && (high.data.const_val & negative_mask)) high.data.const_val |= negative_mask; Unfortunately, what happens in our case is that the base type of the array's subrange type is marked as being unsigned, and so we never get to apply the sign extension. Following the DWARF trail, the range's base type is described as another subrange type... <2>: Abbrev Number: 12 (DW_TAG_subrange_type) DW_AT_name : foo__TTvarSP1___XDLU_0__1m DW_AT_type : <0x2d> ... whose base type is, (finally), a basic type (signed): <1><2d>: Abbrev Number: 2 (DW_TAG_base_type) <2e> DW_AT_byte_size : 4 <2f> DW_AT_encoding : 5 (signed) <30> DW_AT_name : integer The reason why GDB thinks that foo__TTvarSP1___XDLU_0__1m (the base type of the array's range type) is an unsigned type is found in gdbtypes.c::create_range_type. We consider that a range type is unsigned iff its lower bound is >= 0: if (low_bound->kind == PROP_CONST && low_bound->data.const_val >= 0) TYPE_UNSIGNED (result_type) = 1; That is normally sufficient, as one would expect the upper bound to always be greater or equal to the lower bound. But Ada actually allows the declaration of empty range types where the upper bound is less than the lower bound. In this case, the upper bound is negative, so we should not be marking the type as unsigned. This patch fixes the issue by simply checking the upper bound as well as the lower bound, and clears the range type's unsigned flag when it is found to be constant and negative. gdb/ChangeLog: * gdbtypes.c (create_range_type): Unset RESULT_TYPE's flag_unsigned if HIGH_BOUND is constant and negative. gdb/testsuite/ChangeLog: * gdb.ada/n_arr_bound: New testcase. Tested on x86_64-linux. commit 82dac402d2a0fa22abd9b355a7bd8383dce9527c Author: GDB Administrator Date: Fri Nov 21 00:00:10 2014 +0000 Automatic date update in version.in commit 3ffaac206b7169712e1d556a881ea6730ea110a7 Author: Alan Modra Date: Fri Nov 21 08:15:04 2014 +1030 PPC gold doesn't check for overflow properly * powerpc.cc (Target_powerpc::Relocate::relocate): Correct test for undefined weaks. commit 344d1e9ca89655827ee4b1d613bd248829978def Author: H.J. Lu Date: Thu Nov 20 13:35:29 2014 -0800 Don't run pr17618 test on x32 * ld-x86-64/pr17618.d: Don't run on x32. commit 4cd4358388c02ca25f626b3e66a02df79a8ce968 Author: H.J. Lu Date: Thu Nov 20 13:29:41 2014 -0800 Update plt-main tests for x32 * ld-x86-64/plt-main1.rd: Updated for x32. * ld-x86-64/plt-main2.rd: Likewise. * ld-x86-64/plt-main3.rd: Likewise. * ld-x86-64/plt-main4.rd: Likewise. commit 76e7af5ffa07e570c7cedb8b8141a822905d78f0 Author: H.J. Lu Date: Thu Nov 20 12:41:11 2014 -0800 Add function and function pointer tests This patch adds tests for function and function pointer. * ld-x86-64/plt-lib.c: New file. * ld-x86-64/plt-main.out: Likewise. * ld-x86-64/plt-main1.c: Likewise. * ld-x86-64/plt-main1.rd: Likewise. * ld-x86-64/plt-main2.c: Likewise. * ld-x86-64/plt-main2.rd: Likewise. * ld-x86-64/plt-main3.c: Likewise. * ld-x86-64/plt-main3.rd: Likewise. * ld-x86-64/plt-main4.c: Likewise. * ld-x86-64/plt-main4.rd: Likewise. * ld-x86-64/plt-main5.c: Likewise. * ld-x86-64/x86-64.exp: Run plt-main tests. commit 731885c1add5b5012654fe1a70572f033c8d21f8 Author: H.J. Lu Date: Thu Nov 20 11:29:45 2014 -0800 Always load function pointer into a stack variable This patch makes sure that compiler won't optimize out loading function into a stack variable. * ld-ifunc/ifunc-main.c (get_bar): New function. (main): Use it. commit 5f7cbeec7d698c4881ffbb55d9c3288536098d32 Author: H.J. Lu Date: Thu Nov 20 10:48:47 2014 -0800 Add ifunc-main IFUNC tests * ld-ifunc/ifunc.exp: Run ifunc-main. * ld-ifunc/ifunc-lib.c: New file. * ld-ifunc/ifunc-main.c: Likewise. * ld-ifunc/ifunc-main.out: Likewise. commit 7e7cbeb3a21dd677d35321c5eafae75e3dc0dc1a Author: Sergio Durigan Junior Date: Thu Nov 20 13:33:28 2014 -0500 Fix build breakage from previous commit In the previous commit, I forgot to adjust the prototypes of the functions inside gdb/xml-syscall.c for the case when GDB is compiled without XML support. gdb/ 2014-11-20 Sergio Durigan Junior PR breakpoints/10737 * xml-syscall.c (set_xml_syscall_file_name): Remove "const" modifier from "struct gdbarch" when compiling without Expat (XML) support. (get_syscall_by_number): Likewise. (get_syscall_by_name): Likewise. (get_syscall_names): Likewise. commit 458c8db89f7e9913da6fa67c3df73404375c436b Author: Sergio Durigan Junior Date: Thu Nov 20 12:28:18 2014 -0500 Partial fix for PR breakpoints/10737: Make syscall info be per-arch instead of global This patch intends to partially fix PR breakpoints/10737, which is about making the syscall information (for the "catch syscall" command) be per-arch, instead of global. This is not a full fix because of the other issues pointed by Pedro here: However, I consider it a good step towards the real fix. It will also help me fix . What this patch does, basically, is move the "syscalls_info" struct to gdbarch. Currently, the syscall information is stored in a global variable inside gdb/xml-syscall.c, which means that there is no easy way to correlate this info with the current target or architecture being used, for example. This causes strange behaviors, because the syscall info is not re-read when the arch changes. For example, if you put a syscall catchpoint in syscall 5 on i386 (syscall open), and then load a x86_64 program on GDB and put the same syscall 5 there (fstat on x86_64), you will still see that GDB tells you that it is catching "open", even though it is not. With this patch, GDB correctly says that it will be catching fstat syscalls. (gdb) set architecture i386 The target architecture is assumed to be i386 (gdb) catch syscall 5 Catchpoint 1 (syscall 'open' [5]) (gdb) set architecture i386:x86-64 The target architecture is assumed to be i386:x86-64 (gdb) catch syscall 5 Catchpoint 2 (syscall 'open' [5]) But with the patch: (gdb) set architecture i386 The target architecture is assumed to be i386 (gdb) catch syscall 5 Catchpoint 1 (syscall 'open' [5]) (gdb) set architecture i386:x86-64 The target architecture is assumed to be i386:x86-64 (gdb) catch syscall 5 Catchpoint 2 (syscall 'fstat' [5]) As I said, there are still some problems on the "catch syscall" mechanism, because (for example) the user should be able to "catch syscall open" on i386, and then expect "open" to be caught also on x86_64. Currently, it doesn't work. I intend to work on this later. gdb/ 2014-11-20 Sergio Durigan Junior PR breakpoints/10737 * amd64-linux-tdep.c (amd64_linux_init_abi_common): Adjust call to set_xml_syscall_file_name to provide gdbarch. * arm-linux-tdep.c (arm_linux_init_abi): Likewise. * bfin-linux-tdep.c (bfin_linux_init_abi): Likewise. * breakpoint.c (print_it_catch_syscall): Adjust call to get_syscall_by_number to provide gdbarch. (print_one_catch_syscall): Likewise. (print_mention_catch_syscall): Likewise. (print_recreate_catch_syscall): Likewise. (catch_syscall_split_args): Adjust calls to get_syscall_by_number and get_syscall_by_name to provide gdbarch. (catch_syscall_completer): Adjust call to get_syscall_names to provide gdbarch. * gdbarch.c: Regenerate. * gdbarch.h: Likewise. * gdbarch.sh: Forward declare "struct syscalls_info". (xml_syscall_file): New variable. (syscalls_info): Likewise. * i386-linux-tdep.c (i386_linux_init_abi): Adjust call to set_xml_syscall_file_name to provide gdbarch. * mips-linux-tdep.c (mips_linux_init_abi): Likewise. * ppc-linux-tdep.c (ppc_linux_init_abi): Likewise. * s390-linux-tdep.c (s390_gdbarch_init): Likewise. * sparc-linux-tdep.c (sparc32_linux_init_abi): Likewise. * sparc64-linux-tdep.c (sparc64_linux_init_abi): Likewise. * xml-syscall.c: Include gdbarch.h. (set_xml_syscall_file_name): Accept gdbarch parameter. (get_syscall_by_number): Likewise. (get_syscall_by_name): Likewise. (get_syscall_names): Likewise. (my_gdb_datadir): Delete global variable. (struct syscalls_info) : New variable. (struct syscalls_info) : Rename variable to "syscalls_info". (sysinfo): Delete global variable. (have_initialized_sysinfo): Likewise. (xml_syscall_file): Likewise. (sysinfo_free_syscalls_desc): Rename to... (syscalls_info_free_syscalls_desc): ... this. (free_syscalls_info): Rename "sysinfo" to "syscalls_info". Adjust code to the new layout of "struct syscalls_info". (make_cleanup_free_syscalls_info): Rename parameter "sysinfo" to "syscalls_info". (syscall_create_syscall_desc): Likewise. (syscall_start_syscall): Likewise. (syscall_parse_xml): Likewise. (xml_init_syscalls_info): Likewise. Drop "const" from return value. (init_sysinfo): Rename to... (init_syscalls_info): ...this. Add gdbarch as a parameter. Adjust function to deal with gdbarch. (xml_get_syscall_number): Delete parameter sysinfo. Accept gdbarch as a parameter. Adjust code. (xml_get_syscall_name): Likewise. (xml_list_of_syscalls): Likewise. (set_xml_syscall_file_name): Accept gdbarch as parameter. (get_syscall_by_number): Likewise. (get_syscall_by_name): Likewise. (get_syscall_names): Likewise. * xml-syscall.h (set_xml_syscall_file_name): Likewise. (get_syscall_by_number): Likewise. (get_syscall_by_name): Likewise. (get_syscall_names): Likewise. gdb/testsuite/ 2014-11-20 Sergio Durigan Junior PR breakpoints/10737 * gdb.base/catch-syscall.exp (do_syscall_tests): Call test_catch_syscall_multi_arch. (test_catch_syscall_multi_arch): New function. commit d840c081f8082e8b9e63fead5306643975a97bb3 Author: Richard Earnshaw Date: Thu Nov 20 17:02:47 2014 +0000 * config/tc-arm.c (rotate_left): Avoid undefined behaviour when N = 0. commit c22ee0ad9de7efff74942263c71b1878003e3eda Author: H.J. Lu Date: Thu Nov 20 08:59:42 2014 -0800 Run IFUNC run-time tests only if IFUNC is supported * lib/ld-lib.exp (check_ifunc_available): New. * ld-ifunc/ifunc.exp: Run IFUNC run-time tests only if IFUNC is supported. commit 43f3e411c415ac74130808a76473e05ff41a1d94 Author: Doug Evans Date: Thu Nov 20 07:42:48 2014 -0800 Split struct symtab into two: struct symtab and compunit_symtab. Currently "symtabs" in gdb are stored as a single linked list of struct symtab that contains both symbol symtabs (the blockvectors) and file symtabs (the linetables). This has led to confusion, bugs, and performance issues. This patch is conceptually very simple: split struct symtab into two pieces: one part containing things common across the entire compilation unit, and one part containing things specific to each source file. Example. For the case of a program built out of these files: foo.c foo1.h foo2.h bar.c foo1.h bar.h Today we have a single list of struct symtabs: objfile -> foo.c -> foo1.h -> foo2.h -> bar.c -> foo1.h -> bar.h -> NULL where "->" means the "next" pointer in struct symtab. With this patch, that turns into: objfile -> foo.c(cu) -> bar.c(cu) -> NULL | | v v foo.c bar.c | | v v foo1.h foo1.h | | v v foo2.h bar.h | | v v NULL NULL where "foo.c(cu)" and "bar.c(cu)" are struct compunit_symtab objects, and the files foo.c, etc. are struct symtab objects. So now, for example, when we want to iterate over all blockvectors we can now just iterate over the compunit_symtab list. Plus a lot of the data that was either unused or replicated for each symtab in a compilation unit now lives in struct compunit_symtab. E.g., the objfile pointer, the producer string, etc. I thought of moving "language" out of struct symtab but there is logic to try to compute the language based on previously seen files, and I think that's best left as is for now. With my standard monster benchmark with -readnow (which I can't actually do, but based on my calculations), whereas today the list requires 77MB to store all the struct symtabs, it now only requires 37MB. A modest space savings given the gigabytes needed for all the debug info, etc. Still, it's nice. Plus, whereas today we create a copy of dirname for each source file symtab in a compilation unit, we now only create one for the compunit. So this patch is basically just a data structure reorg, I don't expect significant performance improvements from it. Notes: 1) A followup patch can do a similar split for struct partial_symtab. I have left that until after I get the changes I want in to better utilize .gdb_index (it may affect how we do partial syms). 2) Another followup patch *could* rename struct symtab. The term "symtab" is ambiguous and has been a source of confusion. In this patch I'm leaving it alone, calling it the "historical" name of "filetabs", which is what they are now: just the file-name + line-table. gdb/ChangeLog: Split struct symtab into two: struct symtab and compunit_symtab. * amd64-tdep.c (amd64_skip_xmm_prologue): Fetch producer from compunit. * block.c (blockvector_for_pc_sect): Change "struct symtab *" argument to "struct compunit_symtab *". All callers updated. (set_block_compunit_symtab): Renamed from set_block_symtab. Change "struct symtab *" argument to "struct compunit_symtab *". All callers updated. (get_block_compunit_symtab): Renamed from get_block_symtab. Change result to "struct compunit_symtab *". All callers updated. (find_iterator_compunit_symtab): Renamed from find_iterator_symtab. Change result to "struct compunit_symtab *". All callers updated. * block.h (struct global_block) : Renamed from symtab. hange type to "struct compunit_symtab *". All uses updated. (struct block_iterator) : Renamed from "d.symtab". Change type to "struct compunit_symtab *". All uses updated. * buildsym.c (struct buildsym_compunit): New struct. (subfiles, buildsym_compdir, buildsym_objfile, main_subfile): Delete. (buildsym_compunit): New static global. (finish_block_internal): Update to fetch objfile from buildsym_compunit. (make_blockvector): Delete objfile argument. (start_subfile): Rewrite to use buildsym_compunit. Don't initialize debugformat, producer. (start_buildsym_compunit): New function. (free_buildsym_compunit): Renamed from free_subfiles_list. All callers updated. (patch_subfile_names): Rewrite to use buildsym_compunit. (get_compunit_symtab): New function. (get_macro_table): Delete argument comp_dir. All callers updated. (start_symtab): Change result to "struct compunit_symtab *". All callers updated. Create the subfile of the main source file. (watch_main_source_file_lossage): Rewrite to use buildsym_compunit. (reset_symtab_globals): Update. (end_symtab_get_static_block): Update to use buildsym_compunit. (end_symtab_without_blockvector): Rewrite. (end_symtab_with_blockvector): Change result to "struct compunit_symtab *". All callers updated. Update to use buildsym_compunit. Don't set symtab->dirname, instead set it in the compunit. Explicitly make sure main symtab is first in its list. Set debugformat, producer, blockvector, block_line_section, and macrotable in the compunit. (end_symtab_from_static_block): Change result to "struct compunit_symtab *". All callers updated. (end_symtab, end_expandable_symtab): Ditto. (set_missing_symtab): Change symtab argument to "struct compunit_symtab *". All callers updated. (augment_type_symtab): Ditto. (record_debugformat): Update to use buildsym_compunit. (record_producer): Update to use buildsym_compunit. * buildsym.h (struct subfile) : Delete. : Delete. : New member. (get_compunit_symtab): Declare. * dwarf2read.c (struct type_unit_group) : Renamed from primary_symtab. Change type to "struct compunit_symtab *". All uses updated. (dwarf2_start_symtab): Change result to "struct compunit_symtab *". All callers updated. (dwarf_decode_macros): Delete comp_dir argument. All callers updated. (struct dwarf2_per_cu_quick_data) : Renamed from symtab. Change type to "struct compunit_symtab *". All uses updated. (dw2_instantiate_symtab): Change result to "struct compunit_symtab *". All callers updated. (dw2_find_last_source_symtab): Ditto. (dw2_lookup_symbol): Ditto. (recursively_find_pc_sect_compunit_symtab): Renamed from recursively_find_pc_sect_symtab. Change result to "struct compunit_symtab *". All callers updated. (dw2_find_pc_sect_compunit_symtab): Renamed from dw2_find_pc_sect_symtab. Change result to "struct compunit_symtab *". All callers updated. (get_compunit_symtab): Renamed from get_symtab. Change result to "struct compunit_symtab *". All callers updated. (recursively_compute_inclusions): Change type of immediate_parent argument to "struct compunit_symtab *". All callers updated. (compute_compunit_symtab_includes): Renamed from compute_symtab_includes. All callers updated. Rewrite to compute includes of compunit_symtabs and not symtabs. (process_full_comp_unit): Update to work with struct compunit_symtab. (process_full_type_unit): Ditto. (dwarf_decode_lines_1): Delete argument comp_dir. All callers updated. (dwarf_decode_lines): Remove special case handling of main subfile. (macro_start_file): Delete argument comp_dir. All callers updated. (dwarf_decode_macro_bytes): Ditto. * guile/scm-block.c (bkscm_print_block_syms_progress_smob): Update to use struct compunit_symtab. * i386-tdep.c (i386_skip_prologue): Fetch producer from compunit. * jit.c (finalize_symtab): Build compunit_symtab. * jv-lang.c (get_java_class_symtab): Change result to "struct compunit_symtab *". All callers updated. * macroscope.c (sal_macro_scope): Fetch macro table from compunit. * macrotab.c (struct macro_table) : Renamed from comp_dir. Change type to "struct compunit_symtab *". All uses updated. (new_macro_table): Change comp_dir argument to cust, "struct compunit_symtab *". All callers updated. * maint.c (struct cmd_stats) : Renamed from nr_primary_symtabs. All uses updated. (count_symtabs_and_blocks): Update to handle compunits. (report_command_stats): Update output, "primary symtabs" renamed to "compunits". * mdebugread.c (new_symtab): Change result to "struct compunit_symtab *". All callers updated. (parse_procedure): Change type of search_symtab argument to "struct compunit_symtab *". All callers updated. * objfiles.c (objfile_relocate1): Loop over blockvectors in a separate loop. * objfiles.h (struct objfile) : Renamed from symtabs. Change type to "struct compunit_symtab *". All uses updated. (ALL_OBJFILE_FILETABS): Renamed from ALL_OBJFILE_SYMTABS. All uses updated. (ALL_OBJFILE_COMPUNITS): Renamed from ALL_OBJFILE_PRIMARY_SYMTABS. All uses updated. (ALL_FILETABS): Renamed from ALL_SYMTABS. All uses updated. (ALL_COMPUNITS): Renamed from ALL_PRIMARY_SYMTABS. All uses updated. * psympriv.h (struct partial_symtab) : Renamed from symtab. Change type to "struct compunit_symtab *". All uses updated. * psymtab.c (psymtab_to_symtab): Change result type to "struct compunit_symtab *". All callers updated. (find_pc_sect_compunit_symtab_from_partial): Renamed from find_pc_sect_symtab_from_partial. Change result type to "struct compunit_symtab *". All callers updated. (lookup_symbol_aux_psymtabs): Change result type to "struct compunit_symtab *". All callers updated. (find_last_source_symtab_from_partial): Ditto. * python/py-symtab.c (stpy_get_producer): Fetch producer from compunit. * source.c (forget_cached_source_info_for_objfile): Fetch debugformat and macro_table from compunit. * symfile-debug.c (debug_qf_find_last_source_symtab): Change result type to "struct compunit_symtab *". All callers updated. (debug_qf_lookup_symbol): Ditto. (debug_qf_find_pc_sect_compunit_symtab): Renamed from debug_qf_find_pc_sect_symtab, change result type to "struct compunit_symtab *". All callers updated. * symfile.c (allocate_symtab): Delete objfile argument. New argument cust. (allocate_compunit_symtab): New function. (add_compunit_symtab_to_objfile): New function. * symfile.h (struct quick_symbol_functions) : Change result type to "struct compunit_symtab *". All uses updated. : Renamed from find_pc_sect_symtab. Change result type to "struct compunit_symtab *". All uses updated. * symmisc.c (print_objfile_statistics): Compute blockvector count in separate loop. (dump_symtab_1): Update test for primary source symtab. (maintenance_info_symtabs): Update to handle compunit symtabs. (maintenance_check_symtabs): Ditto. * symtab.c (set_primary_symtab): Delete. (compunit_primary_filetab): New function. (compunit_language): New function. (iterate_over_some_symtabs): Change type of arguments "first", "after_last" to "struct compunit_symtab *". All callers updated. Update to loop over symtabs in each compunit. (error_in_psymtab_expansion): Rename symtab argument to cust, and change type to "struct compunit_symtab *". All callers updated. (find_pc_sect_compunit_symtab): Renamed from find_pc_sect_symtab. Change result type to "struct compunit_symtab *". All callers updated. (find_pc_compunit_symtab): Renamed from find_pc_symtab. Change result type to "struct compunit_symtab *". All callers updated. (find_pc_sect_line): Only loop over symtabs within selected compunit instead of all symtabs in the objfile. * symtab.h (struct symtab) : Moved to compunit_symtab. New member. : Moved to compunit_symtab. : Ditto. : Ditto. : Ditto. : Ditto. : Ditto. : Ditto. : Ditto. : Ditto. : Ditto. : Ditto. : Delete (SYMTAB_COMPUNIT): New macro. (SYMTAB_BLOCKVECTOR): Update definition. (SYMTAB_OBJFILE): Update definition. (SYMTAB_DIRNAME): Update definition. (struct compunit_symtab): New type. Common members among all source symtabs within a compilation unit moved here. All uses updated. (COMPUNIT_OBJFILE): New macro. (COMPUNIT_FILETABS): New macro. (COMPUNIT_DEBUGFORMAT): New macro. (COMPUNIT_PRODUCER): New macro. (COMPUNIT_DIRNAME): New macro. (COMPUNIT_BLOCKVECTOR): New macro. (COMPUNIT_BLOCK_LINE_SECTION): New macro. (COMPUNIT_LOCATIONS_VALID): New macro. (COMPUNIT_EPILOGUE_UNWIND_VALID): New macro. (COMPUNIT_CALL_SITE_HTAB): New macro. (COMPUNIT_MACRO_TABLE): New macro. (ALL_COMPUNIT_FILETABS): New macro. (compunit_symtab_ptr): New typedef. (DEF_VEC_P (compunit_symtab_ptr)): New vector type. gdb/testsuite/ChangeLog: * gdb.base/maint.exp: Update expected output. commit 5c47e525893b06db772d8b1c043233a173101c8c Author: Richard Earnshaw Date: Thu Nov 20 15:28:52 2014 +0000 [AArch64] Fix mis-detection of unpredictable load/store operations with FP regs. * config/tc-aarch64.c (warn_unpredictable_ldst): Check that transfer registers are in the GP register set. Adjust warnings. Use correct field member for address register. * testsuite/gas/aarch64/diagnostic.l: Update. commit 0cfb07174869f3542a96619fb36a85398af35da2 Author: Alan Modra Date: Thu Nov 20 19:01:23 2014 +1030 PPC gold doesn't check for overflow properly Corrects overflow test for rel14, addr14, rel24, addr24 branch relocs, and prints an information message to give a hint as to how a branch that can't reach a stub might be cured. bfd/ * elf64-ppc.c (group_sections): Init stub14_group_size from --stub-group-size parameter divided by 1024. gold/ * powerpc.cc (Stub_control::Stub_control): Init stub14_group_size_ from --stub-group-size parameter divided by 1024. (Powerpc_relocate_functions::rela, rela_ua): Add fieldsize template parameter. Update all uses. (Target_powerpc::Relocate::relocate): Rename has_plt_value to has_stub_value. Set for long branches. Don't report overflow for branch to undefined weak symbols. Print info message on overflowing branch to stub. commit 1e269e9b8fb2acf403bfa09486cdc5d496bbf27b Author: Alan Modra Date: Thu Nov 20 21:07:58 2014 +1030 ppc476 workaround sizing * elf32-ppc.c (ppc_elf_relax_section): Correct ppc476 workaround alignment calculation. commit 005e2509a167c05719df3a3edd966865110a5052 Author: Joel Brobecker Date: Thu Nov 20 12:10:41 2014 +0400 [Ada] XA type is not redundant if the ranges' subtypes do not match Jan noticed that gdb.ada/arrayidx.exp regressed after I applied the following patch: commit 8908fca5772fcff9f7766158ba2aa59f5a2b1f68 Author: Joel Brobecker Date: Sat Sep 27 09:09:34 2014 -0700 Subject: [Ada] Ignore __XA types when redundant. What happens is that we're trying to print the value of r_two_three, which is defined as follow: type Index is (One, Two, Three); type RTable is array (Index range Two .. Three) of Integer; R_Two_Three : RTable := (2, 3); The expected output is: (gdb) p r_two_three $1 = (two => 2, 3) But after the patch above was applied, with the program program compiled using gcc-gnat-4.9.2-1.fc21.x86_64 (x86_64-linux), the output becomes: (gdb) p r_two_three $1 = (2, 3) (the name of the first bound is missing). The problem comes from the fact that the compiler described the array's index type as a plain base type, instead of as a subrange of the enumerated type. More particularly, this is what gcc-gnat-4.9.2-1.fc21.x86_64 generated: <3><7ce>: Abbrev Number: 9 (DW_TAG_array_type) <7cf> DW_AT_name : (indirect string, offset: 0xc13): p__rtable [...] <7d7> DW_AT_GNAT_descriptive_type: <0x98a> [...] <4><7df>: Abbrev Number: 8 (DW_TAG_subrange_type) <7e0> DW_AT_type : <0xa79> where DIE 0xa79 is: <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) DW_AT_name : (indirect string, offset: 0xfc): sizetype The actual array subrange type can be found in the array's parallel XA type (the DW_AT_GNAT_descriptive_type). The recent commit correctly found that that bounds taken from the descriptive type are the same as bounds of our array's index type. But it failed to notice that ignoring this descriptive type would make us lose the actual array index type, making us think that we're printing an array indexed by integers. I hadn't seen that problem, because the compiler I used produced debugging info where the array's index type is correctly described: <3><79f>: Abbrev Number: 10 (DW_TAG_array_type) <7a0> DW_AT_name : (indirect string, offset: 0xb3d): p__rtable [...] <4><7b0>: Abbrev Number: 8 (DW_TAG_subrange_type) <7b1> DW_AT_type : <0x9b2> <7b5> DW_AT_upper_bound : 2 ... where DIE 0x9b2 leads us to ... <3><9b2>: Abbrev Number: 9 (DW_TAG_subrange_type) [...] <9b8> DW_AT_type : <0x962> <2><962>: Abbrev Number: 22 (DW_TAG_enumeration_type) <963> DW_AT_name : (indirect string, offset: 0xb34): p__index [...] This patch fixes the issue by also making sure that the subtype of the original range type does match the subtype found in the descriptive type. gdb/ChangeLog: * ada-lang.c (ada_is_redundant_range_encoding): Return 0 if the TYPE_CODE of range_type's base type does not match the TYPE_CODE of encoding_type's base type. commit 9274e9de160a98d737bb2bd068c22d37ec66d98d Author: Terry Guo Date: Thu Nov 20 13:54:27 2014 +0800 Enable to link ARM object file that hasn't attribute section. bfd/ChangeLog 2014-11-20 Terry Guo * elf32-arm.c (elf32_arm_merge_eabi_attributes): Skip if input bfd hasn't attribute section. ld/testsuite/ChangeLog: 2014-11-20 Terry Guo * ld-arm/attr-merge-nosection-1.d: New file. * ld-arm/attr-merge-nosection-1a.s: Likewise. * ld-arm/attr-merge-nosection-1b.s: Likewise. * ld-arm/arm-elf.exp: Include the new test. commit 430ce64f28318ef6f8e24b38af6c79741560b4f5 Author: GDB Administrator Date: Thu Nov 20 00:00:09 2014 +0000 Automatic date update in version.in commit f9dffbf0863b9010a5eece87bd6b36e38c09ffb0 Author: Alan Modra Date: Thu Nov 20 08:52:46 2014 +1030 Default powerpc64 to --plt-thread-safe for Go Go is multi-threaded, so use thread-safe plt stubs. __go_go doesn't actually start threads, but is a convenient libgo function with a reasonably unique name that is called by all Go executables. (Threads are started by a static function of libgo, runtime_newosproc, called by a whole lot of global functions, including runtime_starttheworld and runtime_main.) bfd/ * elf64-ppc.c (ppc64_elf_size_stubs): Add __go_go to thread_starters. gold/ * powerpc.cc (Target_powerpc::do_relax): Add __go_go to thread_starters. commit 3f9034c204cf1845d2f2d94f906a8573183831ba Author: Jan-Benedict Glaw Date: Wed Nov 19 14:18:17 2014 +0100 Fix date in ChangeLog entry commit e44c58ce2fdf07b5c0acb7eab7155dca48d0e6da Author: Jan-Benedict Glaw Date: Wed Nov 19 14:13:30 2014 +0100 Fix signedness warning This is the updated version using uintptr_t as Alan Modra suggested. 2014-11-18 Jan-Benedict Glaw * dwarf.c (process_extended_line_op): Fix signedness warning. commit 54a28c4ce5b18cccee584d7a5e26df750edfafe1 Author: Jiong Wang Date: Wed Nov 19 09:35:23 2014 +0000 [AArch64] Warn on load pair to same register 2014-11-19 Ryan Mansfield * config/tc-aarch64.c (md_assemble): Call warn_unpredictable_ldst. (warn_unpredictable_ldst): New. 2014-11-19 Ryan Mansfield * gas/aarch64/diagnostic.s: Add new warnings test patterns. * gas/aarch64/diagnostic.l: Update expected diagnostic output. commit 0d7b2549024f66cb98dd173b6f339673df1b0ea1 Author: Andreas Arnez Date: Mon Nov 17 15:22:48 2014 +0000 Use 2-byte instead of 4-byte NOP on S390 in 'bp-permanent' test case The bp-permanent test case assumes that a NOP is exactly as long as a software breakpoint. This is not the case for the S390 "nop" instruction, which is 4 bytes long, while a software breakpoint is just 2 bytes long. The "nopr" instruction has the right size and can be used instead. Without this patch the test case fails on S390 when trying to continue after SIGTRAP on the permanent breakpoint: ... Continuing. Program received signal SIGILL, Illegal instruction. test () at /home/arnez/src/binutils-gdb/gdb/testsuite/gdb.base/bp-permanent.c:40 40 NOP; /* after permanent bp */ (gdb) FAIL: gdb.base/bp-permanent.exp: always_inserted=off, sw_watchpoint=0: basics: stop at permanent breakpoint With this patch the test case succeeds without any FAILs. gdb/testsuite/ChangeLog: * gdb.base/bp-permanent.c (NOP): Define as 2-byte instead of 4-byte instruction on S390. commit 2b0f535a446c682c3dc7c1276e2cbc747bfae163 Author: Joel Brobecker Date: Tue Oct 7 02:22:21 2014 +0200 [Ada] gdb.ada/complete.exp failure on x86_64-windows Using the example in gdb.ada/complete.exp, the following command on x86_64-windows returns one unwanted completion choice : (gdb) complete p pck p > [all following completions entries snipped, all expected] I tracked down this suprising entry to a minimal symbol whose name is ".refptr.pck_E". The problem occurs while trying to see if this symbol matches "pck" when doing wild-matching as we are doing here: /* Second: Try wild matching... */ if (!match && wild_match_p) { /* Since we are doing wild matching, this means that TEXT may represent an unqualified symbol name. We therefore must also compare TEXT against the unqualified name of the symbol. */ sym_name = ada_unqualified_name (ada_decode (sym_name)); if (strncmp (sym_name, text, text_len) == 0) match = 1; } What happens is that ada_decode correctly identifies the fact that SYM_NAME (".refptr.pck_E") is not following any GNAT encoding, and therefore returns that same name, but bracketed: "<.refptr.pck_E>". This is the convention we use for telling GDB that the decoded name is not a real Ada name - and therefore should not be encoded for operations such as name matching, symbol lookups, etc. So far, so good. Next is the call to ada_unqualified_name, which unfortunately does not notice that the decoded name it is being given isn't a natural symbol, and just blindly strips everything up to the last do, returning "pck_E>". And of course, "pck_E>" matches "pck" now, and so we end up accepting this symbol as a match. This patch fixes the problem by making ada_unqualified_name a little smarter by making sure that the given decoded symbol name does not start with '<'. gdb/ChangeLog: * ada-lang.c (ada_unqualified_name): Return DECODED_NAME if it starts with '<'. Tested on x86_64-windows using AdaCore's testsuite as well as on x86_64-linux. commit 8908fca5772fcff9f7766158ba2aa59f5a2b1f68 Author: Joel Brobecker Date: Sat Sep 27 09:09:34 2014 -0700 [Ada] Ignore __XA types when redundant. Consider the following code which declares a variable A2 which is an array of arrays of integers. type Array2_First is array (24 .. 26) of Integer; type Array2_Second is array (1 .. 2) of Array2_First; A1 : Array1_Second := ((10, 11, 12), (13, 14, 15)); Trying to print the type of that variable currently yields: (gdb) ptype A2 type = array (1 .. 2, 24 .. 26) of integer This is not correct, as this is the description of a two-dimension array, which is different from an array of arrays. The expected output is: (gdb) ptype a2 type = array (1 .. 2) of foo_n926_029.array2_first GDB's struct type currently handles multi-dimension arrays the same way arrays of arrays, where each dimension is stored as a sub-array. The ada-valprint module considers that consecutive array layers are in fact multi-dimension arrays. For array of arrays, a typedef layer is introduced between the two arrays, creating a break between each array type. In our situation, A2 is a described as a typedef of an array type... .uleb128 0x8 # (DIE (0x125) DW_TAG_variable) .ascii "a2\0" # DW_AT_name .long 0xfc # DW_AT_type .uleb128 0x4 # (DIE (0xfc) DW_TAG_typedef) .long .LASF5 # DW_AT_name: "foo__array2_second" .long 0x107 # DW_AT_type .uleb128 0x5 # (DIE (0x107) DW_TAG_array_type) .long .LASF5 # DW_AT_name: "foo__array2_second" .long 0xb4 # DW_AT_type .uleb128 0x6 # (DIE (0x114) DW_TAG_subrange_type) .long 0x11b # DW_AT_type .byte 0x2 # DW_AT_upper_bound .byte 0 # end of children of DIE 0x107 ... whose element type is, as expected, a typedef to the sub-array type: .uleb128 0x4 # (DIE (0xb4) DW_TAG_typedef) .long .LASF4 # DW_AT_name: "foo__array2_first" .long 0xbf # DW_AT_type .uleb128 0x9 # (DIE (0xbf) DW_TAG_array_type) .long .LASF4 # DW_AT_name: "foo__array2_first" .long 0xd8 # DW_AT_GNAT_descriptive_type .long 0x1c5 # DW_AT_type .uleb128 0xa # (DIE (0xd0) DW_TAG_subrange_type) .long 0xf0 # DW_AT_type .byte 0x18 # DW_AT_lower_bound .byte 0x1a # DW_AT_upper_bound .byte 0 # end of children of DIE 0xbf The reason why things fails is that, during expression evaluation, GDB tries to "fix" A1's type. Because the sub-array has a parallel (descriptive) type (DIE 0xd8), GDB thinks that our array's index type must be dynamic and therefore needs to be fixed. This in turn causes the sub-array to be "fixed", which itself results in the typedef layer to be stripped. However, looking closer at the parallel type, we see... .uleb128 0xb # (DIE (0xd8) DW_TAG_structure_type) .long .LASF8 # DW_AT_name: "foo__array2_first___XA" [...] .uleb128 0xc # (DIE (0xe4) DW_TAG_member) .long .LASF10 # DW_AT_name: "foo__Tarray2_firstD1___XDLU_24__26" ... that all it tells us is that the array bounds are 24 and 26, which is already correctly provided by the array's DW_TAG_subrange_type bounds, meaning that this parallel type is just redundant. Parallel types in general are slowly being removed in favor of standard DWARF constructs. But in the meantime, this patch kills two birds with one stone: 1. It recognizes this situation where the XA type is useless, and saves an unnecessary range-type fixing; 2. It fixes the issue at hand because ignoring the XA type results in no type fixing being required, which allows the typedef layer to be preserved. gdb/ChangeLog: * ada-lang.c (ada_is_redundant_range_encoding): New function. (ada_is_redundant_index_type_desc): New function. (to_fixed_array_type): Ignore parallel XA type if redundant. gdb/testsuite/ChangeLog: * gdb.ada/arr_arr: New testcase. Tested on x86_64-linux. commit 4a46959e7b897a74c0ee4a0b6ecbaacc1a9f243e Author: Joel Brobecker Date: Thu Sep 11 18:38:04 2014 -0700 varsize-limit error printing element of packed array... ... when that packed array is part of a discriminated record and one of the bounds is a discriminant. Consider the following code: type FUNNY_CHAR_T is (NUL, ' ', '"', '#', [etc]); type FUNNY_STR_T is array (POSITIVE range <>) of FUNNY_CHAR_T; pragma PACK (FUNNY_STR_T); type FUNNY_STRING_T (SIZE : NATURAL := 1) is record STR : FUNNY_STR_T (1 .. SIZE) := (others => '0'); LENGTH : NATURAL := 4; end record; TEST: FUNNY_STRING_T(100); GDB is able to print the value of variable "test" and "test.str". But not "test.str(1)": (gdb) p test $1 = (size => 100, str => (33 'A', nul ), length => 1) (gdb) p test.str $2 = (33 'A', nul ) (gdb) p test.str(1) object size is larger than varsize-limit The problem occurs during the phase where we are trying to resolve the expression subscript operation. On the one hand of the subscript operator, we have the result of the evaluation of "test.str", which is our packed array. We have the following code to handle packed arrays in particular: if (ada_is_constrained_packed_array_type (desc_base_type (value_type (argvec[0])))) argvec[0] = ada_coerce_to_simple_array (argvec[0]); This eventually leads to a call to constrained_packed_array_type to return the "simple array". This function relies on a parallel ___XA type, when available, to determine the bounds. In our case, we find type... failure__funny_string_t__T4b___XA" ... which has one field describing the bounds of our array as: failure__funny_string_t__T3b___XDLU_1__size The part that interests us is after the ___XD suffix or, in other words: "LU_1__size". What this means in GNAT encoding parlance is that the lower bound is 1, and that the upper bound is the value of "size". "size" is our discriminant in this case. Normally, we would access the record's discriminant in order to get the upper bound's value, but we do not have that information, here. We are in a mode where we are just trying to "fix" the type without an actual value. This is what the call to to_fixed_range_type is doing, and because the fix'ing fails, it ends up returning the ___XDLU type unmodified as our index type. This shouldn't be a problem, except that the later part of constrained_packed_array_type then uses that index_type to determine the array size, via a call to get_discrete_bounds. The problem is that the upper bound of the ___XDLU type is dynamic (in the DWARF sense) while get_discrete_bounds implicitly assumes that the bounds are static, and therefore accesses them using macros that assume the bounds values are constants: case TYPE_CODE_RANGE: *lowp = TYPE_LOW_BOUND (type); *highp = TYPE_HIGH_BOUND (type); This therefore returns a bogus value for the upper bound, leading to an unexpectedly large size for our array, which later triggers the varsize-limit guard we've seen above. This patch avoids the problem by adding special handling of dynamic range types. It also extends the documentation of the constrained_packed_array_type function to document what happens in this situation. gdb/ChangeLog: * ada-lang.c (constrained_packed_array_type): Set the length of the return array as if both bounds where zero if that returned array's index type is dynamic. gdb/testsuite/ChangeLog: * gdb.ada/pkd_arr_elem: New Testcase. Tested on x86_64-linux. commit 2acf986b741bd27cc441d2972b248dd506f0415a Author: Yao Qi Date: Sat Nov 15 16:03:40 2014 +0800 Don't set CC in config/i386/go32.mh I cross-compile gdb for msdosdjgpp (both target and host is i586-pc-msdosdjgpp), so the CC should be i586-pc-msdosdjgpp-gcc. However, CC is set incorrectly to gcc after config/i386/go32.mh is inlined into the Makefile. This patch is to remove the CC setting in config/i386/go32.mh. gdb: 2014-11-19 Yao Qi * config/i386/go32.mh (CC): Remove. commit b10779500e8a7c0734beaefe782c495ab1ecc930 Author: GDB Administrator Date: Wed Nov 19 00:00:08 2014 +0000 Automatic date update in version.in commit ab7fede88eddf004994f8769e3c7ac145628f5b4 Author: H.J. Lu Date: Tue Nov 18 11:03:09 2014 -0800 Check PC-relative offset overflow in PLT entry This patch checks PC-relative offset overflow in pushq instruction in x86-64 PLT entry. bfd/ PR ld/17618 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check PC-relative offset overflow in PLT entry. ld/testsuite/ PR ld/17618 * ld-x86-64/x86-64.exp: Run pr17618 for Linux target. * ld-x86-64/pr17618.d: New file. * ld-x86-64/pr17618.s: Likewise. commit 439247b656ce3bcfaa00fec7dbce70e65ca17cf5 Author: Doug Evans Date: Tue Nov 18 09:41:45 2014 -0800 symtab.h (SYMTAB_BLOCKVECTOR): Renamed from BLOCKVECTOR. All uses updated. gdb/ChangeLog: * symtab.h (SYMTAB_BLOCKVECTOR): Renamed from BLOCKVECTOR. All uses updated. commit 4d663531f209bcbd7209ef2f1a02e0b0d4e7385a Author: Doug Evans Date: Tue Nov 18 09:36:15 2014 -0800 buildsym API cleanup gdb/ChangeLog: * buildsym.c (buildsym_objfile): New static global. (buildsym_comp_dir): New static global. (finish_block_internal): Delete arg objfile. All callers updated. (finish_block): Delete arg objfile. All callers updated. (start_subfile): Delete arg dirname. All callers updated. (patch_subfile_names): Update buildsym_comp_dir. (get_macro_table): Delete arg objfile. All callers updated. (start_symtab): New arg objfile. All callers updated. Rename arg dirname to comp_dir. (reset_symtab_globals): Initialize buildsym_objfile, buildsym_comp_dir. (end_symtab_get_static_block): Delete arg objfile. All callers updated. (end_symtab_without_blockvector): Ditto. (end_symtab_with_blockvector): Ditto. (end_symtab_from_static_block): Ditto. (end_symtab): Ditto. (end_expandable_symtab): Ditto. (augment_type_symtab): Ditto. * coffread.c (coff_start_symtab): New arg objfile. All callers updated. commit 0593bd3ace3cb64775f4d9e8039da919c26803cd Author: Nick Clifton Date: Tue Nov 18 17:35:39 2014 +0000 Fixes a seg-fault when displaying the time data for a corrupt archive. PR binutuls/17605 * bucomm.c (print_arelt_descr): Check for ctime returning NULL. commit 8435453b810d8ab0574e509446003d10d04abfd4 Author: Doug Evans Date: Tue Nov 18 09:32:10 2014 -0800 symtab.h (SYMTAB_LINETABLE): Renamed from LINETABLE. All uses updated. gdb/ChangeLog: * symtab.h (SYMTAB_LINETABLE): Renamed from LINETABLE. All uses updated. commit ee6f8984bbdbf340816a7f2aebe736f100601b22 Author: Doug Evans Date: Tue Nov 18 09:28:32 2014 -0800 SYMTAB_DIRNAME: New macro. gdb/ChangeLog: * symtab.h (SYMTAB_DIRNAME): New macro. All uses of member symtab.dirname updated to use it. commit eb822aa6d0f2cdc1a3125da084b96c5bbe32cb86 Author: Doug Evans Date: Tue Nov 18 09:19:11 2014 -0800 SYMTAB_OBJFILE: New macro. gdb/ChangeLog: * symtab.h (SYMTAB_OBJFILE): New macro. All uses of member symtab.objfile updated to use it. commit 98387a2917d136b1acbaa9229d5b6a787d9efd54 Author: Doug Evans Date: Tue Nov 18 09:00:15 2014 -0800 Fix memory leak in watch_main_source_file_lossage. gdb/ChangeLog: * buildsym.c (watch_main_source_file_lossage): Fix memory leak. commit aff0895837de06af4e16b809d1f2eb17930297ad Author: Doug Evans Date: Tue Nov 18 08:54:06 2014 -0800 Use SYMBOL_OBJFILE more. gdb/ChangeLog: * cp-namespace.c (cp_lookup_symbol_imports_or_template): Use SYMBOL_OBJFILE. * findvar.c (default_read_var_value): Ditto. * jv-lang.c (add_class_symtab_symbol): Ditto. * parse.c (operator_check_standard): Ditto. * printcmd.c (address_info): Ditto. * symtab.c (fixup_symbol_section): Ditto. (skip_prologue_sal): Ditto. * tracepoint.c (scope_info): Ditto. * valops.c (find_function_in_inferior): Ditto. * guile/scm-symbol.c (syscm_eq_symbol_smob): Ditto. * python/py-symbol.c (set_symbol): Ditto. commit 7bab9b58fd9c05c20cbd56d778ffa05d9fe3af3e Author: Doug Evans Date: Tue Nov 18 08:28:04 2014 -0800 Split up end_symtab_from_static_block into two. This patch is conceptually quite simple. If you look at end_symtab_from_static_block you'll see that the static_block == NULL case is completely different than the non-NULL case. There's a lot of complexity to handle the NULL case but it seems entirely unnecessary. For example, whether blockvector is NULL is decided at the start, before this for loop: for (subfile = subfiles; subfile; subfile = nextsub) Secondly, after the for loop, we test symtab for non-NULL here: /* Set this for the main source file. */ if (symtab) but symtab will only ever be non-NULL if blockvector was non-NULL. And if blockvector was non_NULL so will symtab. The other case to consider is these lines of code executed before the for loop: /* Read the line table if it has to be read separately. This is only used by xcoffread.c. */ if (objfile->sf->sym_read_linetable != NULL) objfile->sf->sym_read_linetable (objfile); /* Handle the case where the debug info specifies a different path for the main source file. It can cause us to lose track of its line number information. */ watch_main_source_file_lossage (); From my reading of the code, neither of these is useful in the static_block == NULL case. Thus we can make the code more readable by splitting these two cases up, which is what this patch does. gdb/ChangeLog: * buildsym.c (main_subfile): New static global. (free_subfiles_list): New function. (start_symtab): Set main_subfile. (restart_symtab): Replace init of subfiles, current_subfile with call to free_subfiles_list. (watch_main_source_file_lossage): Use main_subfile. (reset_symtab_globals): Replace init of current_subfile with call to free_subfiles_list. (end_symtab_without_blockvector, end_symtab_with_blockvector): New functions, split out from ... (end_symtab_from_static_block): ... here. Rewrite to call them. commit f194fefb5e345e8c3b55de1d957bc6d7b95667ad Author: Doug Evans Date: Tue Nov 18 08:08:00 2014 -0800 The result of symtab expansion is always a primary symtab. gdb/ChangeLog: * dwarf2read.c (dw2_instantiate_symtab): Add assert. (dw2_lookup_symbol): Remove unnecessary test for primary symbol table. * psymtab.c (lookup_symbol_aux_psymtabs): Ditto. (psymtab_to_symtab): Add comment and assert. (map_matching_symbols_psymtab): Remove unnecessary test for non-primary symtab. commit 6937bb54a9c3ddc7ba330bc18af76f8dbe856ac3 Author: Nick Clifton Date: Tue Nov 18 14:40:05 2014 +0000 More fixes for illegal memory accesses exposed by fuzzed binaries. PR binutils/17512 * peXXIgen.c (pe_print_pdata): Fail if the section's virtual size is larger than its real size. (rsrc_print_section): Fix off-by-one error checking for overflow. * pei-x86_64.c (pex64_bfd_print_pdata): Handle empty unwind sections. * dwarf.c (get_encoded_value): Warn and return if the encoded value is more than 64-bits long. (SAFE_BYTE_GET): Do not attempt to read more than 64-bits. (process_extended_line_op): Add more range checks. (decode_location_expression): Use the return value from display_block. Add more range checks. (read_debug_line_header): Add range check. (display_debug_lines_raw): Add range checks. (display_debug_frames): Silently skip multiple zero terminators. Add range checks. (process_cu_tu_index): Check for non-existant or empty sections. Use SAFE_BYTE_GET instead of byte_get. commit de84aee38c50fd306876cdbf92007afaacbfab4d Author: H.J. Lu Date: Tue Nov 18 05:55:32 2014 -0800 Always run mpx3 and mpx4 tests in 64-bit * ld-x86-64/mpx.exp: Always run mpx3 and mpx4 tests in 64-bit. commit d258b828287a863376af60a1ef7ceafbccc83d93 Author: Igor Zamyatin Date: Tue Nov 18 10:52:36 2014 +0300 Add -z bndplt to generate BND prefix in PLT entries This patch adds "-z bndplt" option Linux/x86-64 linker to generate BND prefix in PLT entries. It also updated Linux/x86-64 assembler not to generate R_X86_64_PLT32_BND nor R_X86_64_PC32_BND relocations. bfd/ 2014-11-18 Igor Zamyatin * elf64-x86-64.c (elf_x86_64_check_relocs): Enable MPX PLT only for -z bndplt. gas/ 2014-11-18 Igor Zamyatin * config/tc-i386-intel.c (i386_operator): Remove last argument from lex_got call. * config/tc-i386.c (reloc): Remove bnd_prefix from parameters' list. Return always BFD_RELOC_32_PCREL. * (output_branch): Remove condition for BFD_RELOC_X86_64_PC32_BND. * (output_jump): Update call to reloc accordingly. * (output_interseg_jump): Likewise. * (output_disp): Likewise. * (output_imm): Likewise. * (x86_cons_fix_new): Likewise. * (lex_got): Remove bnd_prefix from parameters' list in macro and declarations. Don't use BFD_RELOC_X86_64_PLT32_BND. * (x86_cons): Update call to lex_got accordingly. * (i386_immediate): Likewise. * (i386_displacement): Likewise. * (md_apply_fix): Don't use BFD_RELOC_X86_64_PLT32_BND nor BFD_RELOC_X86_64_PC32_BND. * (tc_gen_reloc): Likewise. include/ 2014-11-18 Igor Zamyatin * bfdlink.h (struct bfd_link_info): Add bndplt. ld/ 2014-11-18 Igor Zamyatin * emulparams/elf_x86_64.sh (BNDPLT): Set to yes for x86_64. * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle "-z bndplt" if BNDPLT is yes. (gld${EMULATION_NAME}_list_options): Add "-z bndplt" entry. * ld.texinfo: Add description for bndplt. ld/testsuite/ 2014-11-18 Igor Zamyatin * testsuite/ld-x86-64/bnd-ifunc-1.d: Add bndplt option. * testsuite/ld-x86-64/bnd-ifunc-2.d: Likewise. * testsuite/ld-x86-64/bnd-plt-1.d: Likewise. Update dissassembly sections. * testsuite/ld-x86-64/mpx.exp: Handle mpx3 and mpx4 tests. * testsuite/ld-x86-64/mpx1a.rd: Remove _BND from relocation name. * testsuite/ld-x86-64/mpx1c.rd: Likewise. * testsuite/ld-x86-64/mpx2a.rd: Likewise. * testsuite/ld-x86-64/mpx2c.rd: Likewise. * testsuite/ld-x86-64/mpx3.dd: New file. * testsuite/ld-x86-64/mpx3a.s: Likewise. * testsuite/ld-x86-64/mpx3b.s: Likewise. * testsuite/ld-x86-64/mpx4.dd: Likewise. * testsuite/ld-x86-64/mpx4a.s: Likewise. * testsuite/ld-x86-64/mpx4b.s: Likewise. commit 470e2f4e300e5f84b1c35070df43d69b501e0b91 Author: Luis Machado Date: Tue Nov 18 11:16:37 2014 -0200 I caught a few mingw32-specific failures for some of the gdb.reverse tests. FAIL: gdb.reverse/consecutive-precsave.exp: reload precord save file FAIL: gdb.reverse/finish-precsave.exp: reload precord save file FAIL: gdb.reverse/until-precsave.exp: reload core file FAIL: gdb.reverse/watch-precsave.exp: reload core file FAIL: gdb.reverse/step-precsave.exp: reload core file FAIL: gdb.reverse/break-precsave.exp: reload precord save file FAIL: gdb.reverse/sigall-precsave.exp: reload precord save file They happen for two reasons. - mingw32 does not define SIGTRAP, so upon recording a core file, the signal information will be missing, which in turn causes GDB to not display the stopping signal when it loads the same core file. An earlier message warns about this: "warning: Signal SIGTRAP does not exist on this system." - The testcase is crafted in a way that expects a pattern of the stopping signal message instead of a successful core file read message. The following patch fixes this by changing the old pattern to a more reasonable one, while still ignoring the fact that mingw32-based GDB does not record a SIGTRAP in a core file because it does not define it. gdb/testsuite/ 2014-11-18 Luis Machado * gdb.reverse/break-precsave: Expect completion message for core file reads. * gdb.reverse/consecutive-precsave.exp: Likewise. * gdb.reverse/finish-precsave.exp: Likewise. * gdb.reverse/i386-precsave.exp: Likewise. * gdb.reverse/machinestate-precsave.exp: Likewise. * gdb.reverse/sigall-precsave.exp: Likewise. * gdb.reverse/solib-precsave.exp: Likewise. * gdb.reverse/step-precsave.exp: Likewise. * gdb.reverse/until-precsave.exp: Likewise. * gdb.reverse/watch-precsave.exp: Likewise. commit ae527cd876fe35de72d876d3484e194ccc66232f Author: Jan Beulich Date: Tue Nov 18 14:08:28 2014 +0100 aarch64: allow adding/removing just feature flags via .arch_extension Rather than requiring to always also set/change the base architecture, allow just en-/disabling of architecture extensions, matching what ARM has. commit 0a9ce86dafbd889ab3dfc8f61db364a2426be99b Author: Philipp Tomsich Date: Tue Nov 18 11:24:14 2014 +0000 [AArch64] Add xgene2. commit 070cb95614a9c50be0d1191d9b9daee178dd4c38 Author: Philipp Tomsich Date: Tue Nov 18 11:19:05 2014 +0000 [AArch64] Add xgene1. The name xgene1 superceeds xgene-1. We retain support for the original xgene-1 for compatibility but drop it from documentation. commit 0eff716535f3e8f501d6b438f7f796b70a0b9f98 Author: Nick Clifton Date: Tue Nov 18 10:07:11 2014 +0000 Fix memort access problems exposed by fuzzed binaries. PR binutils/17531 * readelf.c (get_unwind_section_word): Skip reloc processing if there are no relocs associated with the section. (decode_tic6x_unwind_bytecode): Warn and return if the stack pointer adjustment falls off the end of the buffer. commit 25a0334e39963239f03555efe7e933558cc897e0 Author: Alan Modra Date: Tue Nov 18 10:30:47 2014 +1030 daily update commit 14f195c9a0960335c0ff548e86e051072036cb5f Author: Ilya Tocar Date: Mon Nov 17 15:41:32 2014 +0300 Add AVX512VBMI instructions gas/ * config/tc-i386.c (cpu_arch): Add .avx512vbmi. * doc/c-i386.texi: Document it. opcodes/ * i386-dis-evex.c (evex_table): Add vpermi2b, vpermt2b, vpermb, vpmultishiftqb. * i386-dis.c (PREFIX enum): Add PREFIX_EVEX_0F3883, EVEX_W_0F3883_P_2. * i386-gen.c (cpu_flag_init): Add CPU_AVX512VBMI_FLAGS. (cpu_flags): Add CpuAVX512VBMI. * i386-opc.h (enum): Add CpuAVX512VBMI. (i386_cpu_flags): Add cpuavx512vbmi. * i386-opc.tbl: Add vpmadd52luq, vpmultishiftqb, vpermb, vpermi2b, vpermt2b. * i386-init.h: Regenerated. * i386-tbl.h: Likewise. /gas/testsuite/ * gas/i386/i386.exp: Run new tests. * gas/i386/avx512vbmi-intel.d: New file. * gas/i386/avx512vbmi.d: Likewise. * gas/i386/avx512vbmi.s: Likewise. * gas/i386/avx512vbmi_vl-intel.d: Likewise. * gas/i386/avx512vbmi_vl.d: Likewise. * gas/i386/avx512vbmi_vl.s: Likewise. * gas/i386/x86-64-avx512vbmi-intel.d: Likewise. * gas/i386/x86-64-avx512vbmi.d: Likewise. * gas/i386/x86-64-avx512vbmi.s: Likewise. * gas/i386/x86-64-avx512vbmi_vl-intel.d: Likewise. * gas/i386/x86-64-avx512vbmi_vl.d: Likewise. * gas/i386/x86-64-avx512vbmi_vl.s: Likewise. commit 2cc1b5aad8defa9b5e6d9b4920c4d2ab6cf1f02e Author: Ilya Tocar Date: Mon Nov 17 14:57:33 2014 +0300 Add AVX512IFMA instructions gas/ * config/tc-i386.c (cpu_arch): Add .avx512ifma. * doc/c-i386.texi: Document it. opcodes/ * i386-dis-evex.c (evex_table): Add vpmadd52luq, vpmadd52huq. * i386-dis.c (PREFIX enum): Add PREFIX_EVEX_0F38B4, PREFIX_EVEX_0F38B5. * i386-gen.c (cpu_flag_init): Add CPU_AVX512IFMA_FLAGS. (cpu_flags): Add CpuAVX512IFMA. * i386-opc.h (enum): Add CpuAVX512IFMA. (i386_cpu_flags): Add cpuavx512ifma. * i386-opc.tbl: Add vpmadd52huq, vpmadd52luq. * i386-init.h: Regenerated. * i386-tbl.h: Likewise. /gas/testsuite/ * gas/i386/i386.exp: Run new tests. * gas/i386/avx512ifma-intel.d: New file. * gas/i386/avx512ifma.d: Likewise. * gas/i386/avx512ifma.s: Likewise. * gas/i386/avx512ifma_vl-intel.d: Likewise. * gas/i386/avx512ifma_vl.d: Likewise. * gas/i386/avx512ifma_vl.s: Likewise. * gas/i386/x86-64-avx512ifma-intel.d: Likewise. * gas/i386/x86-64-avx512ifma.d: Likewise. * gas/i386/x86-64-avx512ifma.s: Likewise. * gas/i386/x86-64-avx512ifma_vl-intel.d: Likewise. * gas/i386/x86-64-avx512ifma_vl.d: Likewise. * gas/i386/x86-64-avx512ifma_vl.s: Likewise. commit 9d8596f0792ad0f9d21d6af23ff0db68beb56ccd Author: Ilya Tocar Date: Mon Nov 17 14:49:47 2014 +0300 Add pcommit instruction gas/ * config/tc-i386.c (cpu_arch): Add .pcommit. * doc/c-i386.texi: Document it. /opcodes * i386-dis.c (PREFIX enum): Add PREFIX_RM_0_0FAE_REG_7. (prefix_table): Add pcommit. * i386-gen.c (cpu_flag_init): Add CPU_PCOMMIT_FLAGS. (cpu_flags): Add CpuPCOMMIT. * i386-opc.h (enum): Add CpuPCOMMIT. (i386_cpu_flags): Add cpupcommit. * i386-opc.tbl: Add pcommit. * i386-init.h: Regenerated. * i386-tbl.h: Likewise. /gas/testsuite/ * gas/i386/i386.exp: Run new tests. * gas/i386/pcommit-intel.d: New file. * gas/i386/pcommit.d: Likewise. * gas/i386/pcommit.s: Likewise. * gas/i386/x86-64-pcommit-intel.d: Likewise. * gas/i386/x86-64-pcommit.d: Likewise. * gas/i386/x86-64-pcommit.s: Likewise. commit c5e7287a1a245a2043352e0db9c731fb7e31a90f Author: Ilya Tocar Date: Mon Nov 17 14:19:41 2014 +0300 Add clwb instruction gas/ * config/tc-i386.c (cpu_arch): Add .clwb. * doc/c-i386.texi: Document it. opcodes/ * i386-dis.c (PREFIX enum): Add PREFIX_0FAE_REG_6. (prefix_table): Add clwb. * i386-gen.c (cpu_flag_init): Add CPU_CLWB_FLAGS. (cpu_flags): Add CpuCLWB. * i386-opc.h (enum): Add CpuCLWB. (i386_cpu_flags): Add cpuclwb. * i386-opc.tbl: Add clwb. * i386-init.h: Regenerated. * i386-tbl.h: Likewise. gas/testsuite/ * gas/i386/i386.exp: Run new tests. * gas/i386/clwb-intel.d: New file. * gas/i386/clwb.d: Likewise. * gas/i386/clwb.s: Likewise. * gas/i386/x86-64-clwb-intel.d: Likewise. * gas/i386/x86-64-clwb.d: Likewise. * gas/i386/x86-64-clwb.s: Likewise. commit a267f3ad3f8c3f76f46ed006ac11a88426414339 Author: Andreas Arnez Date: Fri Nov 14 18:36:30 2014 +0000 GDB testsuite: More fixes for warnings with -std=gnu11 Fix some more C compiler warnings for missing function return types and implicit function declarations in the GDB testsuite. gdb/testsuite/ChangeLog: * gdb.base/bp-permanent.c: Include unistd.h. * gdb.python/py-framefilter-mi.c (main): Add return type. * gdb.python/py-framefilter.c (main): Likewise. * gdb.trace/actions-changed.c (main): Likewise. commit 12084a9ae15f6844e987ff6d3b2a64bb5963da8a Author: Andreas Arnez Date: Fri Nov 14 18:21:21 2014 +0000 Eliminate literal line numbers in mi-until.exp Remove literal line numbers from the regexps in mi-until.exp. Add appropriate eye-catchers to until.c and refer to those instead. This change fixes the test case after having disturbed the line numbering with the previous fix for compiler warnings with -std=gnu11. gdb/testsuite/ChangeLog: * gdb.mi/until.c: Add eye-catchers. * gdb.mi/mi-until.exp: Refer to eye-catchers instead of literal line numbers. commit dc7e1a77a4d3fb8c636628af674327ba20c736b6 Author: Andreas Arnez Date: Fri Nov 14 16:45:41 2014 +0000 Drop remaining references to removed source lines in break1.c and ur1.c In some .exp files it was missed to remove the references to eye-catchers like "set breakpoint 9 here" when the non-prototype function header variants they belonged to were deleted. This patch cleans this up. gdb/testsuite/ChangeLog: * gdb.base/condbreak.exp: Drop references to removed non-prototype function header variants in break1.c. * gdb.base/ena-dis-br.exp: Likewise. * gdb.base/hbreak2.exp: Likewise. * gdb.reverse/until-precsave.exp: Drop references to removed non-prototype function header variants in ur1.c. * gdb.reverse/until-reverse.exp: Likewise. commit 43968415b0025fa8e1fa5c813e53e87ae392e977 Author: Joel Brobecker Date: Fri Sep 19 18:00:07 2014 -0400 [gdbserver/lynx] spurious failure to write in inferior memory We noticed the following error on ppc-lynx178, using just about any program: (gdb) tar remote mytarget:4444 Remote debugging using mytarget:4444 0x000100c8 in _start () (gdb) b try Breakpoint 1 at 0x10844: file try.adb, line 11. (gdb) cont Continuing. !!!-> Cannot remove breakpoints because program is no longer writable. !!!-> Further execution is probably impossible. Breakpoint 1, try () at try.adb:11 11 Local : Integer := 18; And, of course, trying to continue yielded the expected outcome: (gdb) c Continuing. warning: Error removing breakpoint 1 Cannot remove breakpoints because program is no longer writable. Further execution is probably impossible. It turns out that the problem is caused by an intentional test against a variable with an undefined value. After GDB receives notification of the inferior stopping, it tries to remove the breakpoint by sending a memory-write packet ("X10844,4:9 "). This leads us to lynx_write_memory, where it tries to split the memory-write into chunks of 4 bytes. And, in order to handle writes which are not aligned on word boundaries, we have the following code: if (skip > 0 || truncate > 0) /* We need to read the memory at this address in order to preserve the data that we are not overwriting. */ lynx_read_memory (addr, (unsigned char *) &buf, xfer_size); if (errno) return errno; (the comment explains what the code is about). Unfortunately, the not-so-glaring error that we've made here is that we're checking ERRNO regardless of whether we've called lynx_read_memory. In our case, because we are writing 4 bytes aligned on a word boundary, we do not call lynx_read_memory and therefore test an ERRNO with an undefined value. gdb/gdbserver/ChangeLog: * lynx-low.c (lynx_write_memory): Put lynx_read_memory and corresponding ERRNO check in same block. commit abdef8eb901ce829fdc9fbe7eb89c8327c262f07 Author: Jan-Benedict Glaw Date: Mon Nov 17 03:30:13 2014 +0100 Sync libiberty from GCC commit 41c7760520c02124d2d3d0b8ad12e2186ba48f46 Author: Petr Machata Date: Mon Nov 17 08:31:47 2014 +0800 dwarf.exp: In 64-bit units, emit also abbrev offset as a 64-bit field Dwarf::tu and Dwarf::cu allow selection of units with 64-bit offsets through an option. When selected, unit size is encoded properly, but offset to abbreviation unit is still encoded in a 4-byte field. This patch fixes the problem. Reproducer: Dwarf::assemble "blah.s" { tu {is_64 1 version 4 addr_size 8} 0x1122334455667788 the_type { type_unit {} { the_type: } } cu {is_64 1 version 4 addr_size 8} { compile_unit {{language @DW_LANG_C}} {} } } gdb/testsuite: * lib/dwarf.exp (Dwarf::cu, Dwarf::tu): Emit ${_cu_offset_size} bytes abbrev offset. commit 209fed2decc3cbda86fdf0c2c7bf24ee14cd9fc8 Author: Alan Modra Date: Mon Nov 17 10:31:00 2014 +1030 daily update commit 8969c424dc03ef605841c7cf60cda7ed60161730 Author: Jan-Benedict Glaw Date: Sun Nov 16 20:15:00 2014 +0100 Update config.{guess,sub} from upstream config repo 2014-11-16 Jan-Benedict Glaw * config.guess: Update from upstream config repo. * config.sub: Ditto. commit 37e77caf21a38d4bce74d89ff3ab9aca6191b719 Author: Jan-Benedict Glaw Date: Sun Nov 16 17:04:02 2014 +0100 Update `move-if-change' from gnulib 2014-11-16 Jan-Benedict Glaw * move-if-change: Update from upstream gnulib. commit e30465112ed4c6320dd19107302057a5f7712cf2 Author: Jan-Benedict Glaw Date: Sun Nov 16 13:43:48 2014 +0100 Update from upstream Automake 2014-11-16 Jan-Benedict Glaw * compile: Sync with upstream Automake. * depcomp: Ditto. * install-sh: Ditto. * missing: Ditto. * mkinstalldirs: Ditto. * ylwrap: Ditto. commit a3f89f9768198adc31f6c6554d467044eb1d0025 Author: Doug Evans Date: Sat Nov 15 10:20:21 2014 -0800 Add copyright headers. commit 34248c3af73049fe1f8b7a4b9eb7ae09f42eed95 Author: Doug Evans Date: Sat Nov 15 10:08:34 2014 -0800 PR symtab/17559 Basically the problem is that "symtab" is ambiguous. Is it the primary symtab (where we canonically think of blockvectors as being stored) or is it for a specific file (where each file's line table is stored) ? gdb_disassembly wants the symtab that contains the line table but is instead getting the primary symtab. gdb/ChangeLog: PR symtab/17559 * symtab.c (find_pc_line_symtab): New function. * symtab.h (find_pc_line_symtab): Declare. * disasm.c (gdb_disassembly): Call find_pc_line_symtab instead of find_pc_symtab. * tui/tui-disasm.c (tui_set_disassem_content): Ditto. * tui/tui-hooks.c (tui_selected_frame_level_changed_hook): Ditto. * tui/tui-source.c (tui_vertical_source_scroll): Ditto. * tui/tui-win.c (make_visible_with_new_height): Ditto. * tui/tui-winsource.c (tui_horizontal_source_scroll): Ditto. (tui_display_main): Call find_pc_line_symtab instead of find_pc_line. gdb/testsuite/ChangeLog: PR symtab/17559 * gdb.base/line-symtabs.exp: New file. * gdb.base/line-symtabs.c: New file. * gdb.base/line-symtabs.h: New file. commit 2097ae2584c1018a7a58d93d9edd7f6d1d9654c8 Author: Doug Evans Date: Sat Nov 15 08:05:22 2014 -0800 expand_symtab_containing_pc: Renamed from find_pc_sect_symtab_via_partial. This patch just renames one function. Its only caller is in stack.c where we're printing a backtrace with non-zero info_verbose and we want to make sure all the needed symtabs are expanded before printing the backtrace so that debug symbol reading messages don't pollute the backtrace. I think the new name of the function makes clearer to the reader what is going on. gdb/ChangeLog: * symtab.c (expand_symtab_containing_pc): Renamed from find_pc_sect_symtab_via_partial. All callers updated. commit 1ada499f30b82fe7ab3636154ce0d39ebc06ec55 Author: Yao Qi Date: Sat Nov 15 15:52:04 2014 +0800 Add missing parenthesis One parenthesis is missing, and it causes a compilation error. This patch is to fix it. gdb: 2014-11-15 Yao Qi * go32-nat.c (go32_create_inferior): Add missing parenthesis. commit e88ba8d56975c6d5d7c6ba83fc146ab6e89510d5 Author: H.J. Lu Date: Thu Nov 13 11:36:57 2014 -0800 Don't make PLT entry for R_X86_64_GOTPLT64 * x86_64.cc (Target_x86_64::Scan::global): Don't make PLT entry for R_X86_64_GOTPLT64. (Target_x86_64::Relocate::relocate): Update comments for R_X86_64_GOTPLT64. commit 355e210214ba52d477f25b33de00dbbcfb566c70 Author: Joel Brobecker Date: Mon Oct 6 14:50:46 2014 -0400 common-defs.h: include before When trying to build gdbserver on ppc-lynx178, the compiler reports while trying to compile gdbserver/ax.c that vsprintf is not declared. Looking at my C99 reference manual (a draft), I see the following synopsis: #include #include int vsprintf(char * restrict s, [etc]); Looking at stdio.h on LynxOS-178, if found where vsprintf gets declared: #if defined(__varargs_h) || defined(__stdarg_h) \ || defined(_VARARGS_H) || defined(_STDARG_H) extern int vsprintf _AP((char *, const char *, va_list)); #endif Digging further, I noticed that common-defs.h, which is included via server.h, includes stdarg.h after including stdio, explaining why vsprintf does not get declared in this case. This patch fixes the problem by including stdarg.h before stdio.h. gdb/ChangeLog: * common/common-defs.h: Move #include ahead of #include. Tested on x86_64-linux. commit 1dfc6506b7482baf86dbb3c91de5bd2ae3f5acda Author: H.J. Lu Date: Fri Nov 14 08:31:37 2014 -0800 Correct x86 assembler manual * config/tc-i386.c (cpu_arch): Re-arrange avx512* and xsave* items. * doc/c-i386.texi: Re-arrange avx512* and xsave*. Add clflushopt and se1. Remove duplicated entries. commit 830301108dc6f1a14f7e21897a4aeb4f3ed2e441 Author: Pedro Alves Date: Fri Nov 14 15:58:09 2014 +0000 handle 'iconv's that define EILSEQ to ENOENT We're currently pulling gnulib's errno module as a dependency of some other module. That provides an errno.h that defines EILSEQ to a distinct value if the system's errno.h doesn't define it already. However, GNU iconv does this: /* Get errno declaration and values. */ #include /* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS, have EILSEQ in a different header. On these systems, define EILSEQ ourselves. */ #ifndef EILSEQ #define EILSEQ @EILSEQ@ #endif That's in: http://git.savannah.gnu.org/cgit/libiconv.git/tree/include/iconv.h.in The "different header" mentioned is wchar.h. This is handled in: http://git.savannah.gnu.org/cgit/libiconv.git/tree/m4/eilseq.m4 which defines @EILSEQ@ to ENOENT if EILSEQ isn't found in either errno.h or wchar.h. So if iconv sets errno to EILSEQ on such system's, it's really setting it to ENOENT. And when we check for EILSEQ, we're checking for gnulib's value. The result is we won't detect the error correctly. As we dropped support for both SunOS 4 or old BSD/OS, maybe we don't need to care about the wchar.h issue anymore. Still, AFAICS, gnulib's m4/errno_h.m4 doesn't know that EILSEQ may be defined in wchar.h, and so on such systems, ISTM gnulib ends up defining an incompatible EILSEQ itself, but I think that should be fixed on the gnulib side, by making it extract the EILSEQ value out of the system's wchar.h, like GNU iconv does. So that leaves handling the case of gnulib making up a EILSEQ value, which we take as meaning the system really doesn't really define it, which will be the same systems GNU iconv sets errno to ENOENT instead of EILSEQ. Looking at glibc's iconv it seems that ENOENT is never used there. It seems it's safe to always treat ENOENT the same as EILSEQ. The current EILSEQ definition under PHONY_ICONV is obviously stale as gnulib garantees there's always a EILSEQ defined. Tested on x86_64 Fedora 20. gdb/ 2014-11-14 Pedro Alves * charset.c [PHONY_ICONV && !EILSEQ] (EILSEQ): Don't define. [!PHONY_ICONV] (gdb_iconv): New function. [!PHONY_ICONV] (iconv): Redefine to gdb_iconv. commit 470c009be81f3ac0205d4efb1d16fc4216093b69 Author: Nick Clifton Date: Fri Nov 14 13:39:29 2014 +0000 Fix a null pointer dereference when reading the debug link info from a corrupt file. PR binutils/17597 * opncls.c (bfd_get_debug_link_info): Avoid reading off the end of the section. (bfd_get_alt_debug_link_info): Likewise. commit 02c1355124de323e32b8b47fa0b19c114549756a Author: Marcus Shawcroft Date: Fri Nov 14 12:52:17 2014 +0000 [AArch64] Enable CRC feature in GAS for cortex-a53 and cortex-a57. commit 041830e03cca866f12be18198898139e558ad31e Author: Nick Clifton Date: Fri Nov 14 12:30:00 2014 +0000 More fixes for invalid memory accesses triggered by corrupt binaries. PR binutils/17512 * dwarf.c (get_encoded_value): Add an 'end' parameter. Change the 'data' parameter to a double pointer and return the updated value. (decode_location_expression): Update call to get_encoded_value. (frame_need_space): Handle the case where one or both of the mallocs fails. (read_cie): Initialise the cie pointer, even if the read fails. (display_debug_frames): Warn if the calculated block_end is before the start of the block. Break the loop if the CIE could not be read. Update call to get_encoded_value. Warn if the read CFA expressions are too big. * ieee.c (ieee_archive_p) Skip processing if no bytes are read at all. (ieee_object_p): Likewise. commit 646da0594c91719ef591d8736865a1d58fbbfc34 Author: Yao Qi Date: Fri Nov 14 08:53:09 2014 +0800 Fix dw2-ifort-parameter.exp fail with clang The patch fixed dw2-ifort-parameter.exp on powerpc64 by adding some labels to get the start and end address of function func. This should also fix the fail on thumb mode, however, this style is quite specific to gcc, and other compiler, such as clang, may not guarantee the order of global asms and functions. The test fails with clang: $ make check RUNTESTFLAGS='dw2-ifort-parameter.exp CC_FOR_TARGET=clang' (gdb) p/x param^M No symbol "param" in current context.^M (gdb) FAIL: gdb.dwarf2/dw2-ifort-parameter.exp: p/x param With this patch applied, dw2-ifort-parameter.exp still passes for gcc on arm thumb mode and popwerpc64, and it also passes for clang on x86_linux. gdb/testsuite: 2014-11-14 Yao Qi * gdb.dwarf2/dw2-ifort-parameter.c: Remove inline asm. (func): Add label func_label. * gdb.dwarf2/dw2-ifort-parameter.exp (Dwarf::assemble): Replace low_pc and high_pc with MACRO_AT_range. Replace name, low_pc and high_pc with MACRO_AT_func. commit 9301ebe667e05c378d7f09ac991a925eb2a95617 Author: Yao Qi Date: Fri Nov 14 08:53:08 2014 +0800 Fix implptr-optimized-out.exp fail Hi, I see the fail in gdb.dwarf2/implptr-optimized-out.exp in thumb mode (gdb) p p->f^M No symbol "p" in current context.^M (gdb) FAIL: gdb.dwarf2/implptr-optimized-out.exp: p p->f and the crash on powerpc64 (gdb) continue^M Continuing.^M ^M Program received signal SIGSEGV, Segmentation fault.^M 0x7d82100810000828 in ?? () The cause of both is that we incorrectly set attribute low_pc, since main isn't resolved to function start address on these targets. In this patch, we replace attributes name, low_pc and high_pc with MACRO_AT_func. The fail on thumb mode is fixed, and crash on powerpc64 is fixed too. gdb/testsuite: 2014-11-14 Yao Qi * gdb.dwarf2/implptr-optimized-out.exp (Dwarf::assemble): Replace name, low_pc and high_pc with MACRO_AT_func. commit f166b542723928ab8ecd5cd1788e6c1161bf3315 Author: Yao Qi Date: Fri Nov 14 08:53:08 2014 +0800 Use Dwarf::assemble in implptr-optimized-out.exp This patch is to use dwarf::assemble to generate debug information, and remove implptr-optimized-out.S as a result. gdb/testsuite: 2014-11-14 Yao Qi * gdb.dwarf2/implptr-optimized-out.exp: Use Dwarf::assemble to produce debug information. * gdb.dwarf2/implptr-optimized-out.S: Removed. commit 0f6e71e32ffee942879c37cbab162f9dcee7e683 Author: Yao Qi Date: Fri Nov 14 08:53:08 2014 +0800 Get start and end address of main in dwz.exp On arm-none-eabi target thumb mode, I see the following fail, p the_int^M $2 = 99^M (gdb) FAIL: gdb.dwarf2/dwz.exp: p the_int and on powerpc64 target, we even can't get function main from object file, disassemble main^M No function contains specified address.^M (gdb) FAIL: gdb.dwarf2/dwz.exp: disassemble main This patch is to use MACRO_AT_func attribute to get the main's start address and end address correctly, and also remove some code dwz.exp getting main's length. This patch fixes fails on both thumb mode and powerpc64 target. PASS: gdb.dwarf2/dwz.exp: p other_int PASS: gdb.dwarf2/dwz.exp: p the_int gdb/testsuite: 2014-11-14 Yao Qi * gdb.dwarf2/dwz.exp: Remove the code to compile main.c to object and get function length. (Dwarf::assemble): Replace name, low_pc and high_pc attributes with MACRO_AT_func. (top-level): Replace gdb_compile and clean_restart with prepare_for_testing. * gdb.dwarf2/main.c (main): Add label main_label. commit 876c4df94765ce9409e867ff035ab2203c9f4a3b Author: Yao Qi Date: Fri Nov 14 08:53:08 2014 +0800 DW attribute macro MACRO_AT_func and MACRO_AT_range This patch addes DW macro attributes MACRO_AT_func and MACRO_AT_range in dwarf assembler, which emits "DW_AT_low_pc func_start addr" and "DW_AT_high_pc func_end addr". func_start and func_end are computed automatically by proc function_range. These two attributes are pseudo attribute or macro attribute, which means they are not standard dwarf attribute in dwarf spec. Then can be substituted or expanded to standard attributes or macro attributes. See details in the comments to them. Dwarf assembler is extended to handle them. Now the attributes name/low_pc/high_pc can be replaced with MACRO_AT_func like this: subprogram { {name main} {low_pc main_start addr} {high_pc main_end addr} } becomes: subprogram { {MACRO_AT_func { main ${srcdir}/${subdir}/${srcfile} }} } users don't have to worry about the start and end of function main, and they only need to add a label main_label in main. gdb/testsuite: 2014-11-14 Yao Qi * lib/dwarf.exp (function_range): New procedure. (Dwarf::_handle_macro_at_func): New procedure. (Dwarf::_handle_macro_at_range): New procedure. (Dwarf): Handle MACRO_AT_func and MACRO_AT_range. commit 02ad9cf101803a29d15ea81bb1fdab8a2e82f34f Author: Yao Qi Date: Fri Nov 14 08:53:08 2014 +0800 New proc _handle_attribute This patch is to move some code to a new procedure _handle_attribute, which will be used in my following patches. gdb/testsuite: 2014-11-14 Yao Qi * lib/dwarf.exp (_handle_DW_TAG): Move some code to ... (_handle_attribute): New procedure. commit a8719064e81f8330d3b3e5e504653e19c4131864 Author: Doug Evans Date: Thu Nov 13 16:50:51 2014 -0800 PR symtab/17591 gdb/ChangeLog: PR symtab/17591 * dwarf2read.c (find_slot_in_mapped_hash): Handle "(anonymous namespace)". commit 60f7655a4abc5baa3b8861ff896090dec2c3dcd7 Author: Doug Evans Date: Thu Nov 13 15:43:12 2014 -0800 dwarf2read.c (update_enumeration_type_from_children): Avoid infinite loop. gdb/ChangeLog: * dwarf2read.c (update_enumeration_type_from_children): Avoid infinite loop. commit 57494d81b631343380888b8a6ca55bf8a6110436 Author: H.J. Lu Date: Thu Nov 13 12:56:18 2014 -0800 Add cast to unsigned int * coffcode.h (coff_slurp_line_table): Add cast to unsigned int. commit f8521a03584f2451e52cbc90bff5c1050a588c0f Author: H.J. Lu Date: Thu Nov 13 12:15:46 2014 -0800 Rename symbbol to symbol * coffcode.h (coff_pointerize_aux_hook): Fix a typo. commit 0be36304922ded1a6ffdec8ecce204adce597c4b Author: H.J. Lu Date: Thu Nov 13 11:26:47 2014 -0800 Mark R_X86_64_GOTPLT64 obsolete * x86-64.h (R_X86_64_GOTPLT64): Mark it obsolete. commit 553d1284b7820ebc88a2e9500d813441c642bdc9 Author: H.J. Lu Date: Thu Nov 13 11:07:31 2014 -0800 Add assembler support for @gotplt Obsolete R_X86_64_GOTPLT64 and treat it the same as R_X86_64_GOT64. bfd/ PR gas/17598 * elf64-x86-64.c (elf_x86_64_check_relocs): Treat R_X86_64_GOTPLT64 the same as R_X86_64_GOT64. (elf_x86_64_relocate_section): Likewise. gas/ PR gas/17598 * config/tc-i386.c (reloc): Support BFD_RELOC_X86_64_GOTPLT64. gas/testsuite/ PR gas/17598 * gas/i386/reloc64.s: Add @gotplt check. * gas/i386/reloc64.d: Updated. * gas/i386/reloc64.l: Likewise. ld/testsuite/ PR gas/17598 * ld-x86-64/x86-64.exp: Run gotplt1. * ld-x86-64/gotplt1.d: New file. * ld-x86-64/gotplt1.s: Likewise. commit 5784b3caf8e2d55339994067e7f05dd047109b87 Author: Jan Kratochvil Date: Thu Nov 13 18:56:48 2014 +0100 NEWS: Fix typo. gdb/ChangeLog 2014-11-13 Jan Kratochvil * NEWS (maint set target-async): Fix typo. commit a5c71af8d3c7c535f27614947f72883233658706 Author: Nick Clifton Date: Thu Nov 13 17:46:11 2014 +0000 More fixes for memory access violations whilst scanning corrupt binaries. PR binutils/17512 * config/obj-coff.c (coff_obj_symbol_new_hook): Set the is_sym field. * coffcode.h (coff_ptr_struct): Add is_sym field. (coff_new_section_hook): Set the is_sym field. (coff_pointerize_aux_hook): Check the is_sym field. (coff_print_aux): Likewise. (coff_compute_section_file_positions): Likewise. (coff_write_object_contents): Likewise. (coff_slurp_line_table): Likewise. (coff_slurp_symbol_table): Likewise. (CALC_ADDEND): Likewise. * coffgen.c (coff_renumber_symbols): Likewise. (coff_mangle_symbols): Likewise. (coff_fix_symbol_name): Likewise. (coff_write_symbol): Likewise. (coff_write_alien_symbol): Likewise. (coff_write_native_symbol): Likewise. (coff_write_symbols): Likewise. (coff_write_linenumbers): Likewise. (coff_pointerize_aux): Likewise. (coff_get_normalized_symtab): Likewise. (coff_get_symbol_info): Likewise. (bfd_coff_get_syment): Likewise. (bfd_coff_get_auxent): Likewise. (coff_print_symbol): Likewise. (coff_find_nearest_line_with_names): Likewise. (bfd_coff_set_symbol_class): Likewise. (coff_make_empty_symbol): Set the is_sym field. (coff_bfd_make_debug_symbol): Likewise. * peicode.h (pe_ILF_make_a_symbol): Likewise. * libcoff.h: Regenerate. * libcoff-in.h: Regenerate. commit 09bc6c722493047fb50e8a7e70e028023eff8f32 Author: Marcus Shawcroft Date: Thu Nov 13 16:42:23 2014 +0000 [AArch64] Remove example processors from GAS. commit 3102e897eeda28961a32826095befef5c4a74097 Author: Nick Clifton Date: Thu Nov 13 10:45:50 2014 +0000 More fixes for readelf problems reading corrupt files. PR binutils/17531 * readelf.c (process_version_sections): If the read of the version def information fails, make sure that the external verdef data is not used. (get_dynamic_data): Do not attempt to allocate memory for more dynamic data than there is in the file. If the read fails, free the allocated buffer. (process_symbol_table): Do not print dynamic information if we were unable to read the dynamic symbol table. (print_gnu_note): Do not print the note if the descsz is too small. commit a59add0c2ed21c03efc8b39e333564d7713a7ccc Author: Andreas Arnez Date: Tue Oct 28 12:39:22 2014 +0000 GDB testsuite: Fix warnings with -std=gnu11 Since upstream GCC has changed the default C language dialect to 'gnu11', it yields multiple warnings in the GDB testsuite for missing function return types and implicit function declarations. This patch attempts to fix these. gdb/testsuite/ChangeLog: * gdb.ada/cond_lang/foo.c (callme): Add return type. * gdb.base/call-sc.c (zed): Likewise. * gdb.base/checkpoint.c (main): Likewise. * gdb.base/dump.c (main): Likewise. * gdb.base/gcore.c (main): Likewise. * gdb.base/huge.c (main): Likewise. * gdb.base/multi-forks.c (main): Likewise. * gdb.base/pr10179-a.c (main): Likewise. * gdb.base/savedregs.c (main): Likewise. * gdb.base/sigaltstack.c (main): Likewise. * gdb.base/siginfo.c (main): Likewise. * gdb.base/structs.c (zed): Likewise. * gdb.mi/mi-stack.c (callee3, callee2, callee1, main): Likewise. * gdb.mi/mi-syn-frame.c (main): Likewise. * gdb.mi/until.c (foo, main): Likewise. * gdb.base/global-var-nested-by-dso.c (b_main, c_main): Declare. * gdb.base/solib-weak.c (foo): Declare. * gdb.base/attach-twice.c: Include stdio.h. * gdb.base/weaklib1.c: Likewise. * gdb.base/weaklib2.c: Likewise. * gdb.base/catch-signal-fork.c: Include stdio.h and sys/wait.h. * gdb.mi/mi-condbreak-call-thr-state-mt.c: Include stdio.h and unistd.h. * gdb.base/attach-pie-misread.c: Include stdlib.h. * gdb.mi/mi-exit-code.c: Likewise. * gdb.base/break-interp-lib.c: Include string.h. * gdb.base/coremaker.c: Likewise. * gdb.base/testenv.c: Likewise. * gdb.python/py-finish-breakpoint.c: Likewise. * gdb.base/inferior-died.c: Include sys/wait.h. * gdb.base/fileio.c: Include time.h. * gdb.base/async-shell.c: Include unistd.h. * gdb.base/dprintf-non-stop.c: Likewise. * gdb.base/info-os.c: Likewise. * gdb.mi/mi-console.c: Likewise. * gdb.mi/watch-nonstop.c: Likewise. * gdb.python/py-events.c: Likewise. * gdb.base/async.c (baz): Move up before its invocation. * gdb.base/code_elim2.c (my_global_func): Likewise. * gdb.base/skip-solib-lib.c (multiply): Likewise. * gdb.base/advance.c (func2): Likewise. commit 3b5d59973315a2f2e77e9febd35034b4d51c716f Author: Andreas Arnez Date: Fri Oct 24 12:07:53 2014 +0000 GDB testsuite: drop non-prototype C function header variants Remove many old-style function header variants in C source files of the GDB test suite, using the 'unifdef' tool with '-DPROTOTYPES=1'. gdb/testsuite/ChangeLog: * gdb.base/annota1.c: Remove #ifdef PROTOTYPES, keep prototyped variant. * gdb.base/annota3.c: Likewise. * gdb.base/async.c: Likewise. * gdb.base/average.c: Likewise. * gdb.base/call-ar-st.c: Likewise. * gdb.base/call-rt-st.c: Likewise. * gdb.base/call-sc.c: Likewise. * gdb.base/call-strs.c: Likewise. * gdb.base/ending-run.c: Likewise. * gdb.base/execd-prog.c: Likewise. * gdb.base/exprs.c: Likewise. * gdb.base/foll-exec.c: Likewise. * gdb.base/foll-fork.c: Likewise. * gdb.base/foll-vfork.c: Likewise. * gdb.base/funcargs.c: Likewise. * gdb.base/gcore.c: Likewise. * gdb.base/jump.c: Likewise. * gdb.base/langs0.c: Likewise. * gdb.base/langs1.c: Likewise. * gdb.base/langs2.c: Likewise. * gdb.base/mips_pro.c: Likewise. * gdb.base/nodebug.c: Likewise. * gdb.base/opaque0.c: Likewise. * gdb.base/opaque1.c: Likewise. * gdb.base/recurse.c: Likewise. * gdb.base/run.c: Likewise. * gdb.base/scope0.c: Likewise. * gdb.base/scope1.c: Likewise. * gdb.base/setshow.c: Likewise. * gdb.base/setvar.c: Likewise. * gdb.base/shmain.c: Likewise. * gdb.base/shr1.c: Likewise. * gdb.base/shr2.c: Likewise. * gdb.base/sigall.c: Likewise. * gdb.base/signals.c: Likewise. * gdb.base/so-indr-cl.c: Likewise. * gdb.base/solib2.c: Likewise. * gdb.base/structs.c: Likewise. * gdb.base/sum.c: Likewise. * gdb.base/vforked-prog.c: Likewise. * gdb.base/watchpoint.c: Likewise. * gdb.reverse/shr2.c: Likewise. * gdb.reverse/until-reverse.c: Likewise. * gdb.reverse/ur1.c: Likewise. * gdb.reverse/watch-reverse.c: Likewise. commit 066a77c58038e1ecf0a18d51b28d7bab303e8234 Author: Andreas Arnez Date: Thu Oct 23 11:02:31 2014 +0000 Drop non-prototype C function header variants: 'sepdebug' test case Remove old-style function header variants from sepdebug.c. Eliminate references to the removed locations "breakpoint 9" and "breakpoint 13" from sepdebug.exp. gdb/testsuite/ChangeLog: * gdb.base/sepdebug.c: Remove #ifdef PROTOTYPES, keep prototyped variant. * gdb.base/sepdebug.exp: Drop references to removed code. commit 4f204ea54e2b80354d03dea210047137a09ceae2 Author: Andreas Arnez Date: Wed Oct 22 17:13:34 2014 +0000 Drop non-prototype C function header variants: 'list' test case Remove old-style function header variants from list0.h and list1.c. Fill the removed lines with comments or empty lines, such that the line numbering is undisturbed. Changes to the line numbering would require heavy adjustments to list.exp, where many line numbers are hard-coded, as well as a fair amount of knowledge about the source code in and around certain lines. Thus the dependency on the line numbering can not be eliminated so easily, and it may not even be a useful goal for a "list" test case. Another option might be to adjust the literal line numbers in list.exp, but even that is not as straightforward as it may seem, since the test case expects certain source lines to be exactly n lines apart. gdb/testsuite/ChangeLog: * gdb.base/list0.h: Remove #ifdef PROTOTYPES, keep prototyped variant. Preserve original line numbering. * gdb.base/list1.c: Likewise. commit 3b377a3aa772bf1214efba8a98cec59e2d7ad734 Author: Andreas Arnez Date: Wed Oct 22 09:24:25 2014 +0000 Drop non-prototype C function header variants: 'break' test case Remove old-style function headers from break.c and break1.c. Adjust break.exp accordingly; in particular eliminate references to the removed locations "breakpoint 9, 13, and 16" from break.exp. gdb/testsuite/ChangeLog: * gdb.base/break.c: Remove #ifdef PROTOTYPES, keep prototyped variant. * gdb.base/break1.c: Likewise. * gdb.base/break.exp: Drop references to removed code. commit e444df73e954bf24d9dc6a4eaeb5153b3faee973 Author: Andreas Arnez Date: Thu Oct 23 14:27:57 2014 +0000 Drop non-prototype C function header variants: solib1.c Clean up solib1.c by removing the #ifdef PROTOTYPES conditional. gdb/testsuite/ChangeLog: * gdb.base/solib1.c: Remove #ifdef PROTOTYPES, keep prototyped variant. commit 8008f2a759c11cbb37e3cef9b9a4ac3b77e0e4d6 Author: Andreas Arnez Date: Tue Nov 4 13:50:42 2014 +0000 callfuncs.exp: Indent perform_all_tests() The previous patch did not indent perform_all_tests() correctly after moving the main logic into it, to avoid obscuring the functional changes. This patch fixes the indentation. gdb/testsuite/ChangeLog: * gdb.base/callfuncs.exp (perform_all_tests): Re-indent. commit a5a0688714a7a7c224aa591b3c393cab24cc364b Author: Andreas Arnez Date: Tue Nov 4 12:55:30 2014 +0000 Perform all tests in callfuncs.exp with and without C function prototypes In callfuncs.exp, compile callfuncs.c with and without C function header prototypes and execute all tests after each compilation. gdb/testsuite/ChangeLog: * gdb.base/callfuncs.exp: Remove 'prototypes' variable. Move main logic into perform_all_tests() and invoke it with and without function header prototypes. (do_function_calls): Remove conditional XFAIL for PR 5318. (rerun_and_prepare): Remove duplicate code. (perform_all_tests): New. Main logic moved here. commit 44dba9b9cddaf92d520defc74d38f7d576c9426b Author: Andreas Arnez Date: Wed Oct 22 17:46:29 2014 +0000 'callfuncs' test case: Fixes in conditionally compiled code The C source file for the 'callfuncs' test case did not compile with -DNO_PROTOTYPES or -DPROTOTYPES. This patch fixes various syntax errors under #ifdef NO_PROTOTYPES and a small typo under #ifdef PROTOTYPES. gdb/testsuite/ChangeLog: * gdb.base/callfuncs.c (t_float_many_args): Fix syntax error in code guarded by #ifdef NO_PROTOTYPES. (t_double_many_args): Likewise. (DEF_FUNC_MANY_ARGS_1): Likewise. (DEF_FUNC_VALUES_1): Likewise. (t_structs_ldc): Renamed from t_structs_fc in conditional code guarded by #ifdef PROTOTYPES. commit d1fbcd564ab192434686588b9ff0853e158afbfc Author: Andreas Arnez Date: Tue Oct 28 15:19:08 2014 +0000 Eliminate literal line numbers in mi-console.exp Remove the literal line number from a regexp in mi-console.exp. Add an appropriate eye-catcher to mi-console.c and refer to that instead. gdb/testsuite/ChangeLog: * gdb.mi/mi-console.c: Add eye-catcher. * gdb.mi/mi-console.exp (semihosted_string): Refer to eye-catcher instead of literal line number. commit b0e59b8f1c5fecb1354de5664f50149ac964d98e Author: Andreas Arnez Date: Fri Oct 24 12:05:10 2014 +0000 Eliminate literal line numbers in shlib-call.exp Remove the literal line number from a regexp in shlib-call.exp. Add an appropriate eye-catcher to shr2.c and refer to that instead. gdb/testsuite/ChangeLog: * gdb.base/shr2.c: Add eye-catcher. * gdb.base/shlib-call.exp: Refer to eye-catcher instead of literal line number. commit 78f98cca318cbf5f38d85a09f11e17cc3684ac51 Author: Andreas Arnez Date: Fri Oct 24 11:57:22 2014 +0000 Eliminate literal line numbers in jump.exp Remove literal line numbers from the regexps in jump.exp. Add appropriate eye-catchers to jump.c and refer to those instead. gdb/testsuite/ChangeLog: * gdb.base/jump.c: Add eye-catchers. * gdb.base/jump.exp: Refer to eye-catchers instead of literal line numbers. commit 58fa2af0b3d87dbc2aaf640ef31af301e5f3c9b6 Author: Andreas Arnez Date: Fri Oct 24 11:04:56 2014 +0000 Eliminate literal line numbers in foll-exec.exp Remove literal line numbers from the regexps in foll-exec.exp. Add appropriate eye-catchers to foll-exec.c and execd-proc.c and refer to those instead. gdb/testsuite/ChangeLog: * gdb.base/execd-prog.c: Add eye-catchers. * gdb.base/foll-exec.c: Likewise. * gdb.base/foll-exec.exp: Refer to eye-catchers instead of literal line numbers. commit 04e5059ba62bf70b1b73f525d306e05fad66131a Author: Andreas Arnez Date: Fri Oct 24 09:24:01 2014 +0000 Eliminate literal line numbers in ending-run.exp Remove literal line numbers from the regexps in ending-run.exp. Add appropriate eye-catchers to ending-run.c and refer to those instead. gdb/testsuite/ChangeLog: * gdb.base/ending-run.c: Add eye-catchers. * gdb.base/ending-run.exp: Refer to eye-catchers instead of literal line numbers. commit dbfdb174e3984a6f6965d594b712c212e09afcaf Author: Andreas Arnez Date: Fri Oct 24 09:15:10 2014 +0000 Eliminate literal line numbers in call-rt-st.exp Remove literal line numbers from the regexps in call-rt-st.exp. Add appropriate eye-catchers to call-rt-st.c and refer to those instead. gdb/testsuite/ChangeLog: * gdb.base/call-rt-st.c: Add eye-catchers. * gdb.base/call-rt-st.exp: Refer to eye-catchers instead of literal line numbers. commit 888a2adec7736f2f507295fd2fd5feac732f4a7a Author: Andreas Arnez Date: Thu Oct 23 16:00:21 2014 +0000 Eliminate literal line numbers in call-ar-st.exp Remove literal line numbers from the regexps in call-ar-st.exp. Add appropriate eye-catchers to call-ar-st.c and refer to those instead. gdb/testsuite/ChangeLog: * gdb.base/call-ar-st.c: Add eye-catchers. * gdb.base/call-ar-st.exp: Refer to eye-catchers instead of literal line numbers. commit 6acc2ddee2a596e3785bb17a8c753e2c30ff2683 Author: Andreas Arnez Date: Wed Oct 29 18:16:20 2014 +0000 Eliminate literal line numbers in dbx.exp Remove literal line numbers from the commands and regexps in dbx.exp. Add appropriate eye-catchers to average.c and sum.c and refer to those instead. gdb/testsuite/ChangeLog: * gdb.base/average.c: Add eye-catchers. * gdb.base/sum.c: Likewise. * gdb.base/dbx.exp: Use eye-catchers to determine line numbers for regexps dynamically. commit 9ecfcd1d02e8e92457e7a81d060b8d0d46bb68bd Author: Andreas Arnez Date: Thu Oct 23 13:56:52 2014 +0000 Eliminate literal line numbers in so-impl-ld.exp Remove literal line numbers from the regexps in so-impl-ld.exp. Add appropriate eye-catchers to solib1.c and refer to those instead. gdb/testsuite/ChangeLog: * gdb.base/solib1.c: Add eye-catchers. * gdb.base/so-impl-ld.exp: Match against eye-catchers instead of literal line numbers. commit f41e4712a7b7ac60f181e7dfc984ca35c222f0d7 Author: Nick Clifton Date: Wed Nov 12 22:39:58 2014 +0000 Fix more memory faults uncovered by fuzzing various executables. PR binutils/17512 * dwarf.c (read_and_display_attr_value): Check that we do not read past end. (display_debug_pubnames_worker): Add range checks. (process_debug_info): Check for invalid pointer sizes. (display_loc_list): Likewise. (display_loc_list_dwo): Likewise. (display_debug_ranges): Likewise. (display_debug_aranges): Check for invalid address size. (read_cie): Add range checks. Replace call strchr with while loop. * objdump.c (dump_dwarf): Replace abort with a warning message. (print_section_stabs): Improve range checks. * rdcoff.c (coff_get_slot): Use long for indx parameter type. Add check for an excesively large index. * rddbg.c (read_section_stabs_debugging_info): Zero terminate the string table. Avoid walking off the end of the stabs data. * stabs.c (parse_stab_string): Add check for a NULL name. PR binutils/17512 * coffcode.h (coff_slurp_line_table): Set the line number of corrupt entries to -1. (coff_slurp_symbol_table): Alway initialise the value of the symbol. * coffgen.c (coff_print_symbol): Check that the combined pointer is valid. (coff_print_symbol): Do not print negative line numbers. * peXXigen.c (pe_print_idata): Add range checking displaying member names. commit 40e91bc71f7993f2064cec4ffd007f2c814a1b29 Author: Pedro Alves Date: Wed Nov 12 11:17:40 2014 +0000 GDBserver: clean up 'cont_thread' handling As no place in the backends check cont_thread anymore, we can stop setting and clearing it in places that resume the target and wait for events. Instead simply clear it whenever a new GDB connects. gdb/gdbserver/ 2014-11-12 Pedro Alves * server.c (cont_thread): Update comment. (start_inferior, attach_inferior): No longer clear cont_thread. (handle_v_cont): No longer set cont_thread. (captured_main): Clear cont_thread each time a GDB connects. commit c2c118cfe13264f5638f9e3924c7fd05a293ad40 Author: Pedro Alves Date: Wed Nov 12 11:17:39 2014 +0000 GDBserver: don't resume all threads if the Hc thread disapears There's code in linux_wait_1 that resumes all threads if the Hc thread disappears. It's the wrong thing to do, as GDB has told GDBserver to resume only one thread, because e.g., the user has scheduler-locking enabled, or because GDB was stepping the program over a breakpoint. Resuming all threads behind GDB's back can't be good in either case. The right thing to do is to detect that that the (only) resumed thread is gone, and let GDB know about it. The Linux backend is already doing that nowadays, since: commit fa96cb382c12b099675c5cc238aaa7352a3fd3d7 Author: Pedro Alves AuthorDate: Thu Feb 27 14:30:08 2014 +0000 Teach GDBserver's Linux backend about no unwaited-for children (TARGET_WAITKIND_NO_RESUMED). The backend detects that all resumed threads have disappeared, and returns TARGET_WAITKIND_NO_RESUMED to the core of GDBserver, which then reports an error to GDB. There's no need to frob the passed in ptid to wait for the continue thread either -- linux_wait_for_event only returns events for resumed threads. The badness (of resuming threads) can actually be observed in the testsuite, if we force-disable vCont support in GDBserver -- before the patch, gdb.threads/no-unwaited-for-left.exp hangs if we disable vCont: (gdb) continue Continuing. FAIL: gdb.threads/no-unwaited-for-left.exp: continue to breakpoint: break-here (timeout) ... more cascading timeouts .... After the patch, gdb.threads/no-unwaited-for-left.exp behaves the same with or without vCont support: (gdb) continue Continuing. [New Thread 32226] [Switching to Thread 32226] Breakpoint 2, thread_a (arg=0x0) at /home/pedro/gdb/mygit/build/../src/gdb/testsuite/gdb.threads/no-unwaited-for-left.c:28 28 return 0; /* break-here */ (gdb) PASS: gdb.threads/no-unwaited-for-left.exp: continue to breakpoint: break-here ... continue Continuing. warning: Remote failure reply: E.No unwaited-for children left. [Thread 32222] #1 stopped. (gdb) FAIL: gdb.threads/no-unwaited-for-left.exp: continue stops when the main thread exits Overall, this is also good for getting rid of a RSP detail from the backend. gdb/gdbserver/ 2014-11-12 Pedro Alves * linux-low.c (linux_wait_1): Don't force a wait for the Hc thread, and don't resume all threads if the Hc thread has exited. commit 78708b7c8ccc2138880217de9bd60eceff683f10 Author: Pedro Alves Date: Wed Nov 12 11:17:39 2014 +0000 GDBserver: ctrl-c after leader has exited The target->request_interrupt callback implements the handling for ctrl-c. User types ctrl-c in GDB, GDB sends a \003 to the remote target, and the remote targets stops the program with a SIGINT, just like if the user typed ctrl-c in GDBserver's terminal. The trouble is that using kill_lwp(signal_pid, SIGINT) sends the SIGINT directly to the program's main thread. If that thread has exited already, then that kill won't do anything. Instead, send the SIGINT to the process group, just like GDB does (see inf-ptrace.c:inf_ptrace_stop). gdb.threads/leader-exit.exp is extended to cover the scenario. It fails against GDBserver before the patch. Tested on x86_64 Fedora 20, native and GDBserver. gdb/gdbserver/ 2014-11-12 Pedro Alves * linux-low.c (linux_request_interrupt): Always send a SIGINT to the process group instead of to a specific LWP. gdb/testsuite/ 2014-11-12 Pedro Alves * gdb.threads/leader-exit.exp: Test sending ctrl-c works after the leader has exited. commit 6218dc4bdb198bc4982516ba0b8a6714c9123a8f Author: Pedro Alves Date: Wed Nov 12 11:02:11 2014 +0000 Garbage collect the infwait_state global No longer used since the non-continuable watchpoints handling rework. gdb/ 2014-11-12 Pedro Alves * infrun.c (enum infwait_states, infwait_state): Delete. commit af48d08f97fa678571a42be35a8a77b61e36d7d7 Author: Pedro Alves Date: Wed Nov 12 10:10:49 2014 +0000 fix skipping permanent breakpoints The gdb.arch/i386-bp_permanent.exp test is currently failing an assertion recently added: (gdb) stepi ../../src/gdb/infrun.c:2237: internal-error: resume: Assertion `sig != GDB_SIGNAL_0' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) FAIL: gdb.arch/i386-bp_permanent.exp: Single stepping past permanent breakpoint. (GDB internal error) The assertion expects that the only reason we currently need to step a breakpoint instruction is when we have a signal to deliver. But when stepping a permanent breakpoint (with or without a signal) we also reach this code. The assertion is correct and the permanent breakpoints skipping code is wrong. Consider the case of the user doing "step/stepi" when stopped at a permanent breakpoint. GDB's `resume' calls the gdbarch_skip_permanent_breakpoint hook and then happily continues stepping: /* Normally, by the time we reach `resume', the breakpoints are either removed or inserted, as appropriate. The exception is if we're sitting at a permanent breakpoint; we need to step over it, but permanent breakpoints can't be removed. So we have to test for it here. */ if (breakpoint_here_p (aspace, pc) == permanent_breakpoint_here) { gdbarch_skip_permanent_breakpoint (gdbarch, regcache); } But since gdbarch_skip_permanent_breakpoint already advanced the PC manually, this ends up executing the instruction that is _after_ the breakpoint instruction. The user-visible result is that a single-step steps two instructions. The gdb.arch/i386-bp_permanent.exp test is actually ensuring that that's indeed how things work. It runs to an int3 instruction, does "stepi", and checks that "leave" was executed with that "stepi". Like this: (gdb) b *0x0804848c Breakpoint 2 at 0x804848c (gdb) c Continuing. Breakpoint 2, 0x0804848c in standard () (gdb) disassemble Dump of assembler code for function standard: 0x08048488 <+0>: push %ebp 0x08048489 <+1>: mov %esp,%ebp 0x0804848b <+3>: push %edi => 0x0804848c <+4>: int3 0x0804848d <+5>: leave 0x0804848e <+6>: ret 0x0804848f <+7>: nop (gdb) si 0x0804848e in standard () (gdb) disassemble Dump of assembler code for function standard: 0x08048488 <+0>: push %ebp 0x08048489 <+1>: mov %esp,%ebp 0x0804848b <+3>: push %edi 0x0804848c <+4>: int3 0x0804848d <+5>: leave => 0x0804848e <+6>: ret 0x0804848f <+7>: nop End of assembler dump. (gdb) One would instead expect that a stepi at 0x0804848c stops at 0x0804848d, _before_ the "leave" is executed. This commit changes GDB this way. Care is taken to make stepping into a signal handler when the step starts at a permanent breakpoint instruction work correctly. The patch adjusts gdb.arch/i386-bp_permanent.exp in this direction, and also makes it work on x86_64 (currently it only works on i*86). The patch also adds a new gdb.base/bp-permanent.exp test that exercises many different code paths related to stepping permanent breakpoints, including the stepping with signals cases. The test uses "hack/trick" to make it work on all (or most) platforms -- it doesn't really hard code a breakpoint instruction. Tested on x86_64 Fedora 20, native and gdbserver. gdb/ 2014-11-12 Pedro Alves * infrun.c (resume): Clear the thread's 'stepped_breakpoint' flag. Rewrite stepping over a permanent breakpoint. (thread_still_needs_step_over, proceed): Don't set stepping_over_breakpoint for permanent breakpoints. (handle_signal_stop): Don't clear stepped_breakpoint. Also pull single-step breakpoints out of the target on hardware step targets. (process_event_stop_test): If stepping a permanent breakpoint doesn't hit the step-resume breakpoint, delete the step-resume breakpoint. (switch_back_to_stepped_thread): Also check if the stepped thread has advanced already on hardware step targets. (currently_stepping): Return true if the thread stepped a breakpoint. gdb/testsuite/ 2014-11-12 Pedro Alves * gdb.arch/i386-bp_permanent.c: New file. * gdb.arch/i386-bp_permanent.exp: Don't skip on x86_64. (srcfile): Set to i386-bp_permanent.c. (top level): Adjust to work in both 32-bit and 64-bit modes. Test that stepi does not execute the 'leave' instruction, instead of testing it does execute. * gdb.base/bp-permanent.c: New file. * gdb.base/bp-permanent.exp: New file. commit 1a853c5224e2b8fedfac6d029365522b83080b40 Author: Pedro Alves Date: Wed Nov 12 10:10:49 2014 +0000 make "permanent breakpoints" per location and disableable "permanent"-ness is currently a property of the breakpoint. But, it should actually be an implementation detail of a _location_. Consider this bit in infrun.c: /* Normally, by the time we reach `resume', the breakpoints are either removed or inserted, as appropriate. The exception is if we're sitting at a permanent breakpoint; we need to step over it, but permanent breakpoints can't be removed. So we have to test for it here. */ if (breakpoint_here_p (aspace, pc) == permanent_breakpoint_here) { if (gdbarch_skip_permanent_breakpoint_p (gdbarch)) gdbarch_skip_permanent_breakpoint (gdbarch, regcache); else error (_("\ The program is stopped at a permanent breakpoint, but GDB does not know\n\ how to step past a permanent breakpoint on this architecture. Try using\n\ a command like `return' or `jump' to continue execution.")); } This will wrongly skip a non-breakpoint instruction if we have a multiple location breakpoint where the whole breakpoint was set to "permanent" because one of the locations happened to be permanent, even if the one GDB is resuming from is not. Related, because the permanent breakpoints are only marked as such in init_breakpoint_sal, we currently miss marking momentary breakpoints as permanent. A test added by a following patch trips on that. Making permanent-ness be per-location, and marking locations as such in add_location_to_breakpoint, the natural place to do this, fixes this issue... ... and then exposes a latent issue with mark_breakpoints_out. It's clearing the inserted flag of permanent breakpoints. This results in assertions failing like this: Breakpoint 1, main () at testsuite/gdb.base/callexit.c:32 32 return 0; (gdb) call callexit() [Inferior 1 (process 15849) exited normally] gdb/breakpoint.c:12854: internal-error: allegedly permanent breakpoint is not actually inserted A problem internal to GDB has been detected, further debugging may prove unreliable. The call dummy breakpoint, which is a momentary breakpoint, is set on top of a manually inserted breakpoint instruction, and so is now rightfully marked as a permanent breakpoint. See "Write a legitimate instruction at the point where the infcall breakpoint is going to be inserted." comment in infcall.c. Re. make_breakpoint_permanent. That's only called by solib-pa64.c. Permanent breakpoints were actually originally invented for HP-UX [1]. I believe that that call (the only one in the tree) is unnecessary nowadays, given that nowadays the core breakpoints code analyzes the instruction under the breakpoint to automatically detect whether it's setting a breakpoint on top of a breakpoint instruction in the program. I know close to nothing about HP-PA/HP-UX, though. [1] https://sourceware.org/ml/gdb-patches/1999-q3/msg00245.html, and https://sourceware.org/ml/gdb-patches/1999-q3/msg00242.html In addition to the per-location issue, "permanent breakpoints" are currently always displayed as enabled=='n': (gdb) b main Breakpoint 3 at 0x40053c: file ../../../src/gdb/testsuite/gdb.arch/i386-permbkpt.S, line 29. (gdb) info breakpoints Num Type Disp Enb Address What 3 breakpoint keep n 0x000000000040053c ../../../src/gdb/testsuite/gdb.arch/i386-permbkpt.S:29 But OTOH they're always enabled; there's no way to disable them... In turn, this means that if one adds commands to such a breakpoint, they're _always_ run: (gdb) start Starting program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.arch/i386-permbkpt ... Temporary breakpoint 1, main () at ../../../src/gdb/testsuite/gdb.arch/i386-permbkpt.S:29 29 int3 (gdb) b main Breakpoint 2 at 0x40053c: file ../../../src/gdb/testsuite/gdb.arch/i386-permbkpt.S, line 29. (gdb) info breakpoints Num Type Disp Enb Address What 2 breakpoint keep n 0x000000000040053c ../../../src/gdb/testsuite/gdb.arch/i386-permbkpt.S:29 (gdb) commands Type commands for breakpoint(s) 2, one per line. End with a line saying just "end". >echo "hello!" >end (gdb) disable 2 (gdb) start The program being debugged has been started already. Start it from the beginning? (y or n) y Temporary breakpoint 3 at 0x40053c: file ../../../src/gdb/testsuite/gdb.arch/i386-permbkpt.S, line 29. Starting program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.arch/i386-permbkpt Breakpoint 2, main () at ../../../src/gdb/testsuite/gdb.arch/i386-permbkpt.S:29 29 int3 "hello!"(gdb) IMO, one should be able to disable such a breakpoint, and GDB should then behave just like if the user hadn't created the breakpoint in the first place (that is, report a SIGTRAP). By making permanent-ness a property of the location, and eliminating the bp_permanent enum enable_state state ends up fixing that as well. No tests are added for these changes yet; they'll be added in a follow up patch, as skipping permanent breakpoints is currently broken and trips on an assertion in infrun. Tested on x86_64 Fedora 20, native and gdbserver. gdb/ChangeLog: 2014-11-12 Pedro Alves Mark locations as permanent, not the whole breakpoint. * breakpoint.c (remove_breakpoint_1, remove_breakpoint): Adjust. (mark_breakpoints_out): Don't mark permanent breakpoints as uninserted. (breakpoint_init_inferior): Use mark_breakpoints_out. (breakpoint_here_p): Adjust. (bpstat_stop_status, describe_other_breakpoints): Remove handling of permanent breakpoints. (make_breakpoint_permanent): Mark each location as permanent, instead of marking the breakpoint. (add_location_to_breakpoint): If the location is permanent, mark it as such, and as inserted. (init_breakpoint_sal): Don't make the breakpoint permanent here. (bp_location_compare, update_global_location_list): Adjust. (update_breakpoint_locations): Don't make the breakpoint permanent here. (disable_breakpoint, enable_breakpoint_disp): Don't skip permanent breakpoints. * breakpoint.h (enum enable_state) : Delete field. (struct bp_location) : New field. * guile/scm-breakpoint.c (bpscm_enable_state_to_string): Remove reference to bp_permanent. commit ae9bb220caeb7d51fce6f54a182477247d8e3ac3 Author: Pedro Alves Date: Wed Nov 12 10:10:48 2014 +0000 add a default method for gdbarch_skip_permanent_breakpoint breakpoint.c uses gdbarch_breakpoint_from_pc to determine whether a breakpoint location points at a permanent breakpoint: static int bp_loc_is_permanent (struct bp_location *loc) { ... addr = loc->address; bpoint = gdbarch_breakpoint_from_pc (loc->gdbarch, &addr, &len); ... if (target_read_memory (loc->address, target_mem, len) == 0 && memcmp (target_mem, bpoint, len) == 0) retval = 1; ... So I think we should default the gdbarch_skip_permanent_breakpoint hook to advancing the PC by the length of the breakpoint instruction, as determined by gdbarch_breakpoint_from_pc. I believe that simple implementation does the right thing for most architectures. If there's an oddball architecture where that doesn't work, then it should override the hook, just like it should be overriding the hook if there was no default anyway. The only two implementation of skip_permanent_breakpoint are i386_skip_permanent_breakpoint, for x86, and hppa_skip_permanent_breakpoint, for PA-RISC/HP-UX The x86 implementation is trivial, and can clearly be replaced by the new default. I don't know about the HP-UX one though, I know almost nothing about PA. It may well be advancing the PC ends up being equivalent. Otherwise, it must be that "jump $pc_after_bp" doesn't work either... Tested on x86_64 Fedora 20 native and gdbserver. gdb/ 2014-11-12 Pedro Alves * arch-utils.c (default_skip_permanent_breakpoint): New function. * arch-utils.h (default_skip_permanent_breakpoint): New declaration. * gdbarch.sh (skip_permanent_breakpoint): Now an 'f' function. Install default_skip_permanent_breakpoint as default method. * i386-tdep.c (i386_skip_permanent_breakpoint): Delete function. (i386_gdbarch_init): Don't install it. * infrun.c (resume): Assume there's always a gdbarch_skip_permanent_breakpoint implementation. * gdbarch.h, gdbarch.c: Regenerate. commit 6bb3e67958b0ee59f1b69619761e6d5ad1f7544b Author: Alan Modra Date: Wed Nov 12 14:51:38 2014 +1030 Throw away dodgy coff line number info earlier PR 17521 * coffcode.h (coff_slurp_line_table): Drop line number info not preceded by a valid function entry. Revert last change. commit abd58633c1985c879a84249650172da639773730 Author: Alan Modra Date: Wed Nov 12 15:00:01 2014 +1030 Fix z80-coff build breakage * config/tc-z80.c (parse_exp_not_indexed, parse_exp): Warning fixes. commit 6d19a37a8f3be44fb006c7854a12f9edcb74080d Author: Alan Modra Date: Wed Nov 12 14:54:23 2014 +1030 Fix x86 non-ELF build breakage PR ld/17482 * config/tc-i386.c (output_insn): Don't test x86_elf_abi when not ELF. commit d50abe23863b5bbb40fab2b785f0df8917b1b7dd Author: Alan Modra Date: Wed Nov 12 09:30:56 2014 +1030 daily update commit 8b73c35699b4b1da558be29ac3c90aee0e0e1e49 Author: Nick Clifton Date: Tue Nov 11 20:50:03 2014 +0000 Fix invalid memory accesses for more corrupt binary files. PR binutils/17531 * binutils/readelf.c (dynamic_nent): Change type to size_t. (slurp_rela_relocs): Use size_t type for nrelas. (slurp_rel_relocs): Likewise. (get_program_headers): Improve out of memory error message. (get_32bit_section_headers): Likewise. (get_32bit_section_headers): Likewise. (get_64bit_section_headers): Likewise. (get_32bit_elf_symbols): Likewise. (get_64bit_elf_symbols): Likewise. (process_section_groups): Likewise. (get_32bit_dynamic_section): Likewise. (get_64bit_dynamic_section): Likewise. (process_dynamic_section): Likewise. (process_version_sections): Likewise. (get_symbol_index_type): Likewise. (process_mips_specific): Likewise. (process_corefile_note_segment): Likewise. (process_version_sections): Use size_t type for total. (get_dynamic_data): Change type of number parameter to size_t. Improve out of memory error messages. (process_symbol_table): Change type of nbuckets and nchains to size_t. Skip processing of sections headers if there are none. Improve out of memory error messages. commit 51b26797b4a05304e4d00e2fd77810e38147bb7f Author: Denis Chertykov Date: Tue Nov 11 20:44:03 2014 +0300 * avrtiny.sc: Apply avr.sc fixes. commit 0f35c779a9aa18739d3a0acc47b39ed819c8a860 Author: Nick Clifton Date: Tue Nov 11 16:57:28 2014 +0000 oops - missed the French translation. commit 60984d529119f8fcafe5e7dea192453eb8c78d59 Author: Nick Clifton Date: Tue Nov 11 16:54:22 2014 +0000 Updated French and Ukranian translations supplied by the Translation Project. * po/uk.po: Updated Ukranian translation. * po/fr.po: Updated French translation. commit 603c43995f4ee594b48ab52f1ea8d254b3a46f55 Author: Jiong Wang Date: Tue Nov 11 16:41:37 2014 +0000 [PATCH] treate -specs as both cflags & ldflags ld/testsuite/ * lib/ld-lib.exp (run_ld_link_exec_tests): Append board_cflags if gcc driver used as link tool. (run_cc_link_exec_tests): Likewise. commit 541a3cbda9de8ae8888906cfe14887c394a3f772 Author: Nick Clifton Date: Tue Nov 11 16:15:47 2014 +0000 Prevent a buffer overrun whilst displaying corrupt ARM tags. PR binutils/17531 * readelf.c (display_arm_attribute): Avoid reading off the end of the buffer when processing a Tag_nodefaults. commit 201159ecec7e17600df4153e5d4e7a145f0c7cfe Author: Nick Clifton Date: Tue Nov 11 15:34:27 2014 +0000 More fixes for invalid memory accesses, uncovered by valgrind and binary fuzzers. PR binutils/17512 * coffcode.h (coff_slurp_line_table): Initialise the parts of the line number cache that would not be initialised by the copy from the new line number table. (coff_classify_symbol): Allow for _bfd_coff_internal_syment_name returning NULL. * coffgen.c (coff_get_normalized_symbols): Get the external symbols before allocating space for the internal symbols, in case the get fails. * elf.c (_bfd_elf_slurp_version_tables): Only allocate a verref array if one is needed. Likewise with the verdef array. * peXXigen.c (_bfd_XXi_swap_sym_in): Replace abort()'s with error messages. (_bfd_XXi_swap_aux_in): Make sure that all fields of the aux structure are initialised. (pe_print_edata): Avoid reading off the end of the data buffer. commit 015de6884f6fdebaffd4b7d4c7f14fb4d5fc0bb1 Author: Daniel Colascione Date: Tue Nov 11 14:18:23 2014 +0000 Warn users about mismatched PID namespaces Linux supports multiple "PID namespaces". Processes in different PID namespaces have different views of the system process list. Sometimes, a single process can appear in more than one PID namespace, but with a different PID in each. When GDB and its target are in different PID namespaces, various features can break due to the mismatch between what the target believes its PID to be and what GDB believes its PID to be. The most visible broken functionality is thread enumeration silently failing. This patch explicitly warns users against trying to debug across PID namespaces. The patch introduced no new failures in my test suite run on an x86_64 installation of Ubuntu 14.10. It doesn't include a test: writing an automated test that exercises this code would be very involved because CLONE_NEWNS requires CAP_SYS_ADMIN; the easier way to reproduce the problem is to start a new lxc container. gdb/ 2014-11-11 Daniel Colascione Warn about cross-PID-namespace debugging. * nat/linux-procfs.h (linux_proc_pid_get_ns): New prototype. * nat/linux-procfs.c (linux_proc_pid_get_ns): New function. * linux-thread-db.c (check_pid_namespace_match): New function. (thread_db_inferior_created): Call it. commit 0ac2337434968896a6393fdd8c0624bd2945bbea Author: Alan Modra Date: Tue Nov 11 22:42:03 2014 +1030 coff coff I missed this use of the loop induction variable outside the loop. PR binutils/17512 * coffcode.h (coff_slurp_line_table): Use updated lineno_count when building func_table. commit fcfa62408aec326a54765a6fd8895349fb41eb7c Author: Alan Modra Date: Tue Nov 11 21:36:37 2014 +1030 Avoid coff OOM bfd_zalloc/bfd_zmalloc to fix uninitialized memory reads is too big a hammer, when the size allocated depends on user input. A typical bfd_alloc, bfd_seek, bfd_bread sequence will give an error or warning at the point the file read fails when some enormous item as described by headers is not actually present in the file. Nice operating system allow memory overcommit. But not if you write to the memory. So bfd_zalloc can cause an OOM, thrashing, or system hangs. The patch also fixes a recently introduced endless loop on bad input. PR binutils/17512 * coffcode.h (coff_slurp_line_table): Don't bfd_zalloc, just memset the particular bits we need. Update src after hitting loop "continue". Don't count lineno omitted due to invalid symbols in nbr_func, and update lineno_count. Init entire terminating lineno. Don't both allocating terminator in n_lineno_cache. Redirect sym->lineno pointer to where n_lineno_cache will be copied, and free n_lineno_cache. * pe-mips.c (NUM_HOWTOS): Typo fix. commit 4de1599bcf044a5396ec588f90b8f475be657d4f Author: Alan Modra Date: Tue Nov 11 20:13:03 2014 +1030 ld -r abort in _bfd_elf_write_section_eh_frame Turning on .eh_frame processing for ld -r resulted in systemtap tickling a ld bug. Triggered by the zero terminator not being added to .eh_frame in a separate file as it usually is (crtend.o), but instead being present in the last .eh_frame section along with CIEs and FDEs. The 4-byte terminator makes the section size check fail on 64-bit targets. * elf-eh-frame (_bfd_elf_write_section_eh_frame): Adjust section size check to account for possible zero terminator. commit 26a84859720cc202e98265d9e4a2e0ddde207f86 Author: Doug Evans Date: Mon Nov 10 17:19:57 2014 -0800 symmisc.c: Remove trailing whitespace. gdb/ChangeLog: * symmisc.c (print_objfile_statistics): Remove trailing whitespace. (maintenance_info_symtabs, maintenance_check_symtabs): Ditto. commit 712a2e6d225f2139be6954c948d8db2787071051 Author: Doug Evans Date: Mon Nov 10 16:49:44 2014 -0800 source.c (select_source_symtab): Rewrite to use ALL_SYMTABS. gdb/ChangeLog: * source.c (select_source_symtab): Rewrite to use ALL_SYMTABS. commit af3768e945b188caa141e3285dc3eb84f440a673 Author: Doug Evans Date: Mon Nov 10 15:48:49 2014 -0800 PR 17564: Fix objfile search order for static symbols. When searching static symbols, gdb would search over all expanded symtabs of all objfiles, and if that fails only then would it search all partial/gdb_index tables of all objfiles. This means that the user could get a random instance of the symbol depending on what symtabs have been previously expanded. Now the search is consistent, searching each objfile completely before proceeding to the next one. gdb/ChangeLog: PR symtab/17564 * symtab.c (lookup_symbol_in_all_objfiles): Delete. (lookup_static_symbol): Move definition to new location and rewrite. (lookup_symbol_in_objfile): New function. (lookup_symbol_global_iterator_cb): Call it. gdb/testsuite/ChangeLog: PR symtab/17564 * gdb.base/symtab-search-order.exp: New file. * gdb.base/symtab-search-order.c: New file. * gdb.base/symtab-search-order-1.c: New file. * gdb.base/symtab-search-order-shlib-1.c: New file. commit c4bfc839ee132ad8f925800410f4b5bb7ff0fb0d Author: Alan Modra Date: Tue Nov 11 09:30:33 2014 +1030 daily update commit fd6f9d1747cd2ad2840ea099a1f3aaf1dd090d0e Author: Richard Sandiford Date: Mon Nov 10 20:49:49 2014 +0000 bfd/ 2014-11-10 James Cowgill * elfxx-mips.c (_bfd_mips_elf_section_processing): don't force small data sections to be PROGBITS commit 4082ef846466438ea2cd5b3606f304f6fded152b Author: Nick Clifton Date: Mon Nov 10 16:32:32 2014 +0000 More fixes for assertion failures and out-of-bounds reads by readelf. PR binutils/17531 * (ia64_process_unwind): Replace assertion with an error message. Add range checking for group section indicies. (hppa_process_unwind): Replace assertion with an error message. (process_syminfo): Likewise. (decode_arm_unwind_bytecode): Add range checking. (dump_section_as_strings): Add more string range checking. (display_tag_value): Likewise. (display_arm_attribute): Likewise. (display_gnu_attribute): Likewise. (display_tic6x_attribute): Likewise. (display_msp430x_attribute): Likewise. commit 5e186ece2feebb46e63ff6bb2d2490aad0d5a724 Author: Nick Clifton Date: Mon Nov 10 14:28:43 2014 +0000 Fix objcopy and strip so that they remove their temporary files even if an error occurs. PR binutils/17552 * (copy_archive): Clean up temporary files even if an error occurs. commit 36e9d67b868c85232ab630514260f0d9c9c6b27b Author: Nick Clifton Date: Mon Nov 10 14:18:45 2014 +0000 More fixes for problems exposed by valgrind and the address sanitizer when displaying the contents of corrupt files. PR binutils/17521 * coff-i386.c (NUM_HOWTOS): New define. (RTYPE2HOWTO): Use it. (coff_i386_rtype_to_howto): Likewise. (coff_i386_reloc_name_lookup): Likewise. (CALC_ADDEND): Check that reloc r_type field is valid. * coff-x86_64.c (NUM_HOWTOS): New define. (RTYPE2HOWTO): Use it. (coff_amd64_rtype_to_howto): Likewise. (coff_amd64_reloc_name_lookup): Likewise. (CALC_ADDEND): Check that reloc r_type field is valid. * coffcode.h (coff_slurp_line_table): Check for symbol table indexing underflow. (coff_slurp_symbol_table): Use zalloc to ensure that all table entries are initialised. * coffgen.c (_bfd_coff_read_string_table): Initialise unused bits in the string table. Also ensure that the table is 0 terminated. (coff_get_normalized_symtab): Check for symbol table indexing underflow. * opncls.c (bfd_alloc): Catch the case where a small negative size can result in only 1 byte being allocated. (bfd_alloc2): Use bfd_alloc. * pe-mips.c (NUM_HOWTOS): New define. (coff_mips_reloc_name_lookup): Use it. (CALC_ADDEND): Check that reloc r_type field is valid. * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Initialise unused entries in the DataDirectory. (pe_print_idata): Avoid reading beyond the end of the data block wen printing strings. (pe_print_edata): Likewise. Check for table indexing underflow. * peicode.h (pe_mkobject): Initialise the pe_opthdr field. (pe_bfd_object_p): Allocate and initialize enough space to hold a PEAOUTHDR, even if the opt_hdr field specified less. commit b1f28d992c916eab861df3fa62d436755f874b62 Author: Ulrich Weigand Date: Mon Nov 10 15:11:44 2014 +0100 Work around GCC bug 63748 A recent change to eval.c triggered a GCC bug that causes a false positive "may be used uninitialized" warning in evaluate_subexp_standard. This seems to be triggered by a specific CFG constructed via setjmp and gotos. While the GCC bug is in the process of being fixed, there are released compiler versions (in particular GCC 4.9) in the field that show this problem. In order to allow compiling GDB with one of those compilers, this commit slightly reworks the CFG (in an equivalent way) of the affected function, so that the GCC bug is no longer triggered. gdb/ChangeLog: * eval.c (evaluate_subexp_standard): Work around GCC bug 63748. commit aceb5ff54262c4b03a11b95656e9080cfd23a9ef Author: Alan Modra Date: Mon Nov 10 09:30:31 2014 +1030 daily update commit 5316048023bf46a0ca8b81f584bfd918d676987b Author: Alan Modra Date: Sun Nov 9 09:30:33 2014 +1030 daily update commit d1f5d98a185f0a6f026d265d5bf463f1f91c1256 Author: Alan Modra Date: Sat Nov 8 12:12:08 2014 +1030 Correct buffer overrun test * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead. commit bda749187388ff9f7f500142c772b676a5f10acb Author: H.J. Lu Date: Fri Nov 7 17:47:54 2014 -0800 Fix a typo in gas/ChangeLog commit d37ffe2537a2ec5a22abfaad316a640a40cccda1 Author: Evgeniy Dushistov Date: Fri Nov 7 16:12:58 2014 -0800 Fix race condition when using --threads with linker plugins. 2014-11-06 Evgeniy Dushistov gold/ * plugin.cc: use lock to searialize calls of Plugin_manager::claim_file * plugin.h: add lock definition commit 8ee35f2ab5f91c7a558009ff9ba341dc7133ef4c Author: Alan Modra Date: Sat Nov 8 09:31:06 2014 +1030 daily update commit 5a2cbcf4ce0f56e5f66aad3cd674f8c8edf428bf Author: H.J. Lu Date: Fri Nov 7 13:41:02 2014 -0800 Cast time value to unsigned long to print * readelf.c (process_dynamic_section): Cast time value to unsigned long to print. commit 0115826241fc07d78fbd9709567b1c35fece4179 Author: H.J. Lu Date: Fri Nov 7 13:39:15 2014 -0800 Cast to unsigned long in range checks * peXXigen.c (pe_print_idata): Cast to unsigned long in range checks. commit cf61b7473a8ee3b43c4f8f2776075ec8d81d7495 Author: H.J. Lu Date: Fri Nov 7 12:22:53 2014 -0800 X32: Add REX prefix to encode R_X86_64_GOTTPOFF Structions with R_X86_64_GOTTPOFF relocation must be encoded with REX prefix even if it isn't required by destination register. Otherwise linker can't safely perform IE -> LE optimization. bfd/ PR ld/17482 * elf64-x86-64.c (elf_x86_64_relocate_section): Update comments for IE->LE transition. gas/ PR ld/17482 * config/tc-i386.c (output_insn): Add a dummy REX_OPCODE prefix for structions with R_X86_64_GOTTPOFF relocation for x32 if needed. gas/testsuite/ PR ld/17482 * gas/i386/ilp32/x32-tls.d: New file. * gas/i386/ilp32/x32-tls.s: Likewise. ld/testsuite/ PR ld/17482 * ld-x86-64/tlsie4.dd: Updated. commit 9de00a4aa026297eae42bafd8ab413cfc1a53e3a Author: Pedro Alves Date: Fri Nov 7 15:20:47 2014 +0000 gdb.base/sigstep.exp: xfail gdb/17511 on i?86 Linux Running gdb.base/sigstep.exp with --target=i686-pc-linux-gnu on a 64-bit kernel naturally trips on PR gdb/17511 as well, given this is a kernel bug. I haven't really tested a real 32-bit kernel/machine, but given the code in question in the kernel is shared between 32-bit and 64-bit, I'm quite sure the bug triggers in those cases as well. So, simply xfail i?86-*-linux* too. gdb/testsuite/ 2014-11-07 Pedro Alves PR gdb/17511 * gdb.base/sigstep.exp (in_handler_map) : xfail i?86-*-linux*. commit b7a084bebe979a4743540349025561ce82208843 Author: Pedro Alves Date: Fri Nov 7 13:53:01 2014 +0000 Revert old nexti prologue check and eliminate in_prologue The in_prologue check in the nexti code is obsolete; this commit removes that, and then removes the in_prologue function as nothing else uses it. Looking at the code in GDB that makes use in_prologue, all we find is this one caller: if ((ecs->event_thread->control.step_over_calls == STEP_OVER_NONE) || ((ecs->event_thread->control.step_range_end == 1) && in_prologue (gdbarch, ecs->event_thread->prev_pc, ecs->stop_func_start))) { /* I presume that step_over_calls is only 0 when we're supposed to be stepping at the assembly language level ("stepi"). Just stop. */ /* Also, maybe we just did a "nexti" inside a prolog, so we thought it was a subroutine call but it was not. Stop as well. FENN */ /* And this works the same backward as frontward. MVS */ end_stepping_range (ecs); return; } This was added by: commit 100a02e1deec2f037a15cdf232f026dc79763bf8 ... From Fernando Nasser: * infrun.c (handle_inferior_event): Handle "nexti" inside function prologues. The mailing list thread is here: https://sourceware.org/ml/gdb-patches/2001-01/msg00047.html Not much discussion there, and no test, but looking at the code around what was patched in that revision, we see that the checks that detect whether the program has just stepped into a subroutine didn't rely on the unwinders at all back then. From 'git show 100a02e1:gdb/infrun.c': if (stop_pc == ecs->stop_func_start /* Quick test */ || (in_prologue (stop_pc, ecs->stop_func_start) && ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ !IN_SOLIB_RETURN_TRAMPOLINE (stop_pc, ecs->stop_func_name)) || IN_SOLIB_CALL_TRAMPOLINE (stop_pc, ecs->stop_func_name) || ecs->stop_func_name == 0) { /* It's a subroutine call. */ if ((step_over_calls == STEP_OVER_NONE) || ((step_range_end == 1) && in_prologue (prev_pc, ecs->stop_func_start))) { /* I presume that step_over_calls is only 0 when we're supposed to be stepping at the assembly language level ("stepi"). Just stop. */ /* Also, maybe we just did a "nexti" inside a prolog, so we thought it was a subroutine call but it was not. Stop as well. FENN */ stop_step = 1; print_stop_reason (END_STEPPING_RANGE, 0); stop_stepping (ecs); return; } Stripping the IN_SOLIB_RETURN_TRAMPOLINE checks for simplicity, we had: if (stop_pc == ecs->stop_func_start /* Quick test */ || in_prologue (stop_pc, ecs->stop_func_start) || ecs->stop_func_name == 0) { /* It's a subroutine call. */ That is, detecting a subroutine call was based on prologue detection back then. So the in_prologue check in the current tree only made sense back then as it was undoing a bad decision the in_prologue check that used to exist above did. Today, the check for a subroutine call relies on frame ids instead, which are stable throughout the function. So we can just remove the in_prologue check for nexti, and the whole in_prologue function along with it. Tested on x86_64 Fedora 20, and also by nexti-ing manually a prologue. gdb/ 2014-11-07 Pedro Alves * infrun.c (process_event_stop_test) : Don't check if we did a "nexti" inside a prologue. * symtab.c (in_prologue): Delete function. * symtab.h (in_prologue): Delete declaration. commit 071436c6e94be13904438b6eb70ee79c73354a61 Author: Nick Clifton Date: Fri Nov 7 13:39:45 2014 +0000 Add more fixes for inavlid memory accesses triggered by corrupt files. PR binutils/17531 * readelf.c (get_data): Avoid allocating memory when we know that the read will fail. (find_section_by_type): New function. (get_unwind_section_word): Check for invalid symbol indicies. Check for invalid reloc types. (get_32bit_dynamic_section): Add range checks. (get_64bit_dynamic_section): Add range checks. (process_dynamic_section): Check for a corrupt time value. (process_symbol_table): Add range checks. (dump_section_as_strings): Add string length range checks. (display_tag_value): Likewise. (display_arm_attribute): Likewise. (display_gnu_attribute): Likewise. (display_tic6x_attribute): Likewise. (display_msp430x_attribute): Likewise. (process_mips_specific): Add range check. commit 56aedec7ab6a1da818ed900827e3a2eb1f5cc5d2 Author: Alan Modra Date: Fri Nov 7 21:22:02 2014 +1030 tekhex architecure is a don't care. * tekhex.c (tekhex_set_arch_mach): Ignore unknown arch errors. commit e5242d4bede9761e9847ca85f8477b4e275a6e22 Author: Alan Modra Date: Fri Nov 7 20:29:43 2014 +1030 tekhex buffer management and symbol types Dramatically reduces memory consumption and processing time for large all-zero data segments. Allows multiple symbol types attached to a given segment to survive objcopy. * tekhex.c (CHUNK_SPAN): Define. (struct data_struct ): Use one byte per span, update all code accessing this field. (find_chunk): Add create param, don't create new entry unless set. (insert_byte): Don't save zeros. (first_phase): Set section SEC_CODE or SEC_DATA flag depending on symbol type. Create an alternate section if both types of symbol are given. Attach type '2' and '6' symbols to absolute section. (move_section_contents): Fix caching of chunk. Don't create chunk when reading, or for writing zeros. (tekhex_set_section_contents): Don't create initial chunks. (tekhex_write_object_contents): Use CHUNK_SPAN. commit 7c53fd1ca357a5f6d0dcb3fcc6d06a38de48cd09 Author: Alan Modra Date: Fri Nov 7 20:18:25 2014 +1030 aoutx.h tidy Save a multiplication, and any concern that the buffer allocation might be smaller than the amount read (as it could be if the header size isn't a multiple of EXTERNAL_NLIST_SIZE). * aoutx.h (aout_get_external_symbols): Tidy allocation of symbol buffer. commit 67be31e5aae5075a99068e752b138a0934bde83c Author: Doug Evans Date: Thu Nov 6 23:51:21 2014 -0800 symtab.h (lookup_global_symbol): Improve function comment. gdb/ChangeLog: * symtab.h (lookup_global_symbol): Improve function comment. commit 08724ab7cab54446283db200db58a3313463a1a2 Author: Doug Evans Date: Thu Nov 6 23:48:18 2014 -0800 Rename lookup_symbol_global to lookup_global_symbol. gdb/ChangeLog: * symtab.c (lookup_global_symbol): Renamed from lookup_symbol_global. All callers updated. * symtab.h (lookup_global_symbol): Update decl. (lookup_static_symbol): Move decl to better location. commit d9060ba60d1523c87e44eaeb7706d168089936a3 Author: Doug Evans Date: Thu Nov 6 23:34:28 2014 -0800 symtab.c (basic_lookup_symbol_nonlocal): Add comment. gdb/ChangeLog: * symtab.c (basic_lookup_symbol_nonlocal): Add comment. commit 74016e1224f211df4652f8974376ba23e58f507e Author: Doug Evans Date: Thu Nov 6 23:29:49 2014 -0800 Rename some "aux" functions. "aux" doesn't contribute anything to the name, and it makes the reader wonder what it's supposed to mean. gdb/ChangeLog: * symtab.c (lookup_local_symbol): Renamed from lookup_symbol_aux_local. All callers updated. (lookup_symbol_in_all_objfiles): Renamed from lookup_symbol_aux_symtabs. All callers updated. (lookup_symbol_via_quick_fns): Renamed from lookup_symbol_aux_quick. All callers updated. (lookup_symbol_in_objfile_symtabs): Renamed from lookup_symbol_aux_objfile. All callers updated. commit d1a2d36d58bf73daab55f95597218bab5dda471c Author: Doug Evans Date: Thu Nov 6 23:04:15 2014 -0800 lookup_symbol_in_block: Renamed from lookup_symbol_aux_block. gdb/ChangeLog: * symtab.c (lookup_symbol_in_block): Renamed from lookup_symbol_aux_block. All callers updated. commit 24d864bb955adc2ecd2103dd7a0dbf9cdfd37010 Author: Doug Evans Date: Thu Nov 6 22:56:46 2014 -0800 Rename lookup_symbol_static to lookup_symbol_in_static_block, and lookup_static_symbol_aux to lookup_static_symbol. gdb/ChangeLog: * symtab.c (lookup_static_symbol): Renamed from lookup_static_symbol_aux. All callers updated. (lookup_symbol_in_static_block): Renamed from lookup_symbol_static. All callers updated. commit 358d6ab39c95691e721820fd54e9780208faf252 Author: Doug Evans Date: Thu Nov 6 22:50:12 2014 -0800 New macro ALL_BLOCK_SYMBOLS_WITH_NAME. gdb/ChangeLog: * block.h (ALL_BLOCK_SYMBOLS_WITH_NAME): New macro. * block.c (block_lookup_symbol): Use it. * cp-support.c (make_symbol_overload_list_block): Use it. * symtab.c (iterate_over_symbols): Use it. commit 16b2eaa164b48aa0529304eec38102f1c60578be Author: Doug Evans Date: Thu Nov 6 22:32:25 2014 -0800 Move lookup_block_symbol to block.c, rename to block_lookup_symbol. There is another function, lookup_symbol_aux_block, and the names lookup_block_symbol and lookup_symbol_aux_block don't convey any real difference between them. The difference is that lookup_block_symbol lives in the lower level block API, and lookup_symbol_aux_block lives in the higher level symtab API. This patch makes this distinction clear. gdb/ChangeLog: * symtab.c (lookup_block_symbol): Moved to ... * block.c (block_lookup_symbol): ... here and renamed. All callers updated. * block.h (block_lookup_symbol): Declare. * symtab.h (lookup_block_symbol): Delete. commit 405724050266e30fcc8cbcee416cde41862e8e8f Author: Alan Modra Date: Fri Nov 7 09:37:39 2014 +1030 Revert bfd_get_size checks * archive.c (_bfd_slurp_extended_name_table): Revert bfd_get_size check. * coffcode.h (coff_set_alignment_hook): Likewise. (coff_slurp_line_table): Likewise. * coffgen.c (coff_get_normalized_symtab): Likewise. (_bfd_coff_get_external_symbols): Likewise. * elf.c (bfd_elf_get_str_section): Likewise. * tekhex.c (first_phase): Likewise. commit 2dd2cd1c92d09ad96b643d2574d0dc6cd7e4841a Author: Doug Evans Date: Thu Nov 6 17:27:55 2014 -0800 Use ALL_PRIMARY_SYMTABS instead of ALL_SYMTABS in some places. Non-primary symtabs share the block vector with their primary symtabs. In these cases there's no need to use ALL_SYMTABS. gdb/ChangeLog: * ada-lang.c (ada_make_symbol_completion_list): Use ALL_PRIMARY_SYMTABS instead of ALL_SYMTABS. * symtab.c (lookup_objfile_from_block): Ditto. commit d4c589159dbfe23b7f5de393359da8a9dab854ed Author: Doug Evans Date: Thu Nov 6 17:24:12 2014 -0800 Forgotten ChangeLog entry for previous commit. gdb/ChangeLog: * gdbtypes.h (TYPE_CODE_CLASS): Delete. All uses changed to use TYPE_CODE_STRUCT. commit 4753d33b404f07e749f648c57ae61e3984d40029 Author: Doug Evans Date: Thu Nov 6 17:19:06 2014 -0800 Delete TYPE_CODE_CLASS, it's just an alias of TYPE_CODE_STRUCT. gdb/ChangeLog: * gdbtypes.h (TYPE_CODE_CLASS): Delete. All uses changed to use TYPE_CODE_STRUCT. commit 9c1877ead06db18e19614a598d1e280acb97e971 Author: Doug Evans Date: Thu Nov 6 17:10:51 2014 -0800 solib_global_lookup: Fetch arch from objfile, not target_gdbarch. gdb/ChangeLog: * objfiles.c (get_objfile_arch): Constify. * objfiles.h (get_objfile_arch): Update prototype. * solib.c (solib_global_lookup): Fetch arch from objfile, not target_gdbarch. commit 7ba3b1171f703e21555d78fbfb34be01adc89d5a Author: Alan Modra Date: Fri Nov 7 09:31:04 2014 +1030 daily update commit b4714c7c30c151ccb892bda7d6f79a5ac8767a5b Author: Sandra Loosemore Date: Thu Nov 6 13:12:21 2014 -0800 Add mach parameter to nios2_find_opcode_hash. 2014-11-06 Sandra Loosemore include/opcode/ * nios2.h (nios2_find_opcode_hash): Add mach parameter to declaration. Fix obsolete comment. opcodes/ * nios2-dis.c (nios2_find_opcode_hash): Add mach parameter. (nios2_disassemble): Adjust call to nios2_find_opcode_hash. gas/ * config/tc-nios2.c (nios2_diagnose_overflow): Adjust call to nios2_find_opcode_hash. commit 426a40796aa976355999b2ae401820b9c4a72be9 Author: Sandra Loosemore Date: Thu Nov 6 12:56:27 2014 -0800 Update Nios II prologue analysis to remove detection of long-obsolete code sequences. 2014-11-06 Sandra Loosemore gdb/ * nios2-tdep.c (wild_insn): Delete. (profiler_insn, irqentry_insn): Delete. (nios2_match_sequence): Delete. (nios2_analyze_prologue): Update comments. Remove matching of obsolete profiler_insn and irqentry_insn sequences. commit dd9b91de2149ee81d47f708e7b0bbf57da10ad42 Author: Nick Clifton Date: Thu Nov 6 14:49:10 2014 +0000 Prevent archive memebers with illegal pathnames from being extracted from an archive. PR binutils/17552, binutils/17533 * bucomm.c (is_valid_archive_path): New function. Returns false for absolute pathnames and pathnames that include /../. * bucomm.h (is_valid_archive_path): Add prototype. * ar.c (extract_file): Use new function to check for valid pathnames when extracting files from an archive. * objcopy.c (copy_archive): Likewise. * doc/binutils.texi: Update documentation to mention the limitation on pathname of archive members. commit 834107255bbefceb445fa733ebc1ea5d9f41ec7f Author: Nick Clifton Date: Thu Nov 6 14:39:58 2014 +0000 Revert changes in previous deltas that introduced new failures into the linker testsuite. * aoutx.h (slurp_symbol_table): Revert previous delta. (slurp_reloc_table): Likewise. * compress.c (bfd_get_full_section_contents): Remove file size test. * coffgen.c (coff_get_normalized_symtab): Allow zero-sized symtabs and do not complain about linker generated files. commit 1fe9dc4519a86b856da7de0837366bbece82f2de Author: Will Newton Date: Wed Nov 5 15:24:30 2014 +0000 bfd/elf-attrs.c: Fix possible infinite loop parsing attributes Handle the case of a zero length section or sub-section in _bfd_elf_parse_attributes and in doing so prevent an infinite loop in the parser. bfd/ChangeLog: 2014-11-06 Will Newton * elf-attrs.c (_bfd_elf_parse_attributes): Handle zero length sections and sub-sections. commit f321b0377203a27f3ee54bf8e0d613e8404e9c6b Author: Alan Modra Date: Thu Nov 6 09:30:53 2014 +1030 daily update commit a6f921c87700c2349cf6fa35fbc8ec9d3e3fb88e Author: Nick Clifton Date: Wed Nov 5 17:57:54 2014 +0000 More fixes for memory problems uncovered by file fuzzers. PR binutils/17512 * coffcode.h (handle_COMDAT): Replace abort with BFD_ASSERT. Replace another abort with an error message. (coff_slurp_line_table): Add more range checking. * peXXigen.c (pe_print_debugdata): Add range checking. commit 74e1a04b9787c02ba0fa9b93e3dae691bb44ed96 Author: Nick Clifton Date: Wed Nov 5 16:19:03 2014 +0000 More fixes for reading corrupt ELF files. PR binutils/15731 * readelf.c (printable_section_name): New function. (printable_section_name_from_index): New function. (dump_relocations): Use new function. (process_program_headers, get_32bit_elf_symbols, (get_64bit_elf_symbols, process_section_headers, (process_section_groups, process_relocs, ia64_process_unwind, (hppa_process_unwind, get_unwind_section_word, decode_arm_unwind, (arm_process_unwind, process_version_sections, (process_symbol_table, apply_relocations, get_section_contents, (dump_section_as_strings, dump_section_as_bytes, (display_debug_section, process_attributes, process_mips_specific, (process_mips_specific process_gnu_liblist): Likewise. (get_unwind_section_word): Check for a missing symbol table. Replace aborts with error messages. (arm_process_unwind): Check for a missing string table. (process_attributes): Check for an attribute length that is too small. (process_mips_specific): Check for a corrupt GOT symbol offset. commit d3d7100a0d225f44d0bcfc05ae4ede96b462dc9b Author: Rainer Orth Date: Wed Nov 5 15:07:38 2014 +0100 Fix gnu11 fallout on Solaris 10+ * sigsetmask.c (_POSIX_SOURCE): Remove. commit 131e2f8ea152c814af559df088a0d3019f7f45f2 Author: Matthew Fortune Date: Wed Nov 5 10:56:59 2014 +0000 Fix segfault when creating a dso with discarded .dynsym section. bfd/ * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Fix segfault when creating a dso with discarded dynsym section. commit 09c14161c5bbba3a3969a48efafbff3b9a4de42a Author: Matthew Fortune Date: Tue Nov 4 23:37:28 2014 +0000 Update .MIPS.abiflags to support MIPS R6 bfd/ * elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6 and E_MIPS_ARCH_64R6 support. ld/testsuite/ * ld-mips-elf/abiflags-strip10-ph.d: New file. * ld-mips-elf/mips-eld.exp: Run the new test. gas/ * config/tc-mips.c (mips_elf_final_processing): Add INSN_ISA32R6 and INSN_ISA64R6 support. gas/testsuite/ * gas/mips/elf_arch_mips32r6.d: New file. * gas/mips/elf_arch_mips64r6.d: New file. * gas/mips/mips.exp: Run the new tests. commit 7fc5ac571661cb5e5dac3fe3d2284c9d0079ff33 Author: Jan-Benedict Glaw Date: Wed Nov 5 10:08:37 2014 +0100 2014-11-05 Jan-Benedict Glaw * readelf.c (process_mips_specific): Fix format string warning. commit 20ad5e2842911039a60b6bdf9880cee895179e43 Author: Nick Clifton Date: Wed Nov 5 10:13:16 2014 +0000 More fixes for processing corrupt files. PR binutils/17512 * coffcode.h (coff_set_alignment_hook): Warn if the file lies about the number of relocations it contains. (coff_sort_func_alent): Return 0 if the pointers are NULL. (coff_slurp_line_table): Add more range checks. Do not free new tables created when sorting line numbers. * peXXigen.c (pe_print_idata): Add range checks. (pe_print_edata): Likewise. (rsrc_print_resource_entries): Likewise. Avoid printing control characters. Terminate priniting if corruption is detected. (rsrc_print_resource_directory): Terminate printing if an unknown directory type is encountered. (pe_print_debugdata): Fix off-by-one error. (rsrc_count_entries): Add range checking. (rsrc_parse_entry): Likewise. commit 1ae1b8cc656639e18715829cbcd72916e86f3324 Author: Alan Modra Date: Wed Nov 5 09:18:27 2014 +1030 Cast result of obstack_next_free obstack_next_free is supposed to return a void*, rather than a char* as it does currently. Avoid warning on void* arithmetic when obstack_next_free gets it proper return type. * cp-valprint.c (cp_print_value_fields): Cast obstack_next_free to char* before doing pointer arithmetic. commit ee11262d06cc6af9d900b44cb4d9af29050b375f Author: Alan Modra Date: Tue Nov 4 19:25:34 2014 +1030 Use obstack_blank_fast to shrink obstacks obstack_blank isn't the correct macro to call for shrinking obstacks since it does size checking. * charset.c (convert_between_encodings): Shrink obstack using obstack_blank_fast. * minsyms.c (install_minimal_symbols): Likewise. commit 336649dc254ec4f62562e345dc928d8ec0bdf5ad Author: Doug Evans Date: Tue Nov 4 16:14:14 2014 -0800 Update description of ownership of files in include/ commit df97ab2af780b9588a7158c61b6fdd25577b1c68 Author: Matthew Fortune Date: Tue Nov 4 23:40:22 2014 +0000 Fix -Wshadow warning binutils/ * readelf.c (process_mips_specific): Rename index to idx. commit 0b58352d4301958fc1b88bbe014e9f5af09c7f3d Author: Alan Modra Date: Wed Nov 5 09:31:00 2014 +1030 daily update commit c87e6d0015ae357774fa5a25e2dcfed2c1df097f Author: Simon Marchi Date: Tue Nov 4 08:27:06 2014 -0500 tui: Fix newterm call for older ncurses Older versions of ncurses' newterm can't take NULL for their ofp and ifp parameters. Newer versions can, and they fall back on stdout/stdin if that is the case. This patch explicitly passes stdout/stdin to the call to newterm to avoid segfaulting with older ncurses. gdb/Changelog: 2014-11-04 Simon Marchi * tui/tui.c (tui_enable): Pass stdout and stdin to newterm. commit 441ef17f095f99bb094eb28990a92b8cdc8553b4 Author: Pedro Alves Date: Tue Nov 4 18:42:28 2014 +0000 garbage collect gdb/breakpoint.c:breakpoint_thread_match Used to be necessary for the thread-hop code, but that's gone now. Nothing uses this anymore. gdb/ 2014-11-04 Pedro Alves * breakpoint.c (breakpoint_thread_match): Delete function. * breakpoint.h (breakpoint_thread_match): Delete declaration. commit 79f2a78e76fae1885163027f843e1bafde984b4c Author: Nick Clifton Date: Tue Nov 4 16:00:10 2014 +0000 Fix problem with linker created sections being mistakenly flagged as corrupt by the new error checking code in bfd_get_full_section_contents. PR binutils/17512 * compress.c (bfd_get_full_section_contents): Improve test for linker created objects. commit e0a31db1b16fe0a010aa46185e4a31a08e7fd97f Author: Nick Clifton Date: Tue Nov 4 15:29:03 2014 +0000 More fixes for memory corruption when readelf processes corrupt files. PR binutils/17531 (get_32bit_program_headers): Verify program header entry size before reading in the program headers. (get_64bit_program_headers): Likewise. (get_unwind_section_word): Do nothing if no section was provided. Fail if the offset is outside of the section. (print_dynamic_symbol): Catch out of range symbol indicies. (process_mips_specific): Likewise. (process_attributes): Make sure that there is enough space left in the section before attempting to read the length of the next attribute. commit bb0d867169d7e9743d229804106a8fbcab7f3b3f Author: Nick Clifton Date: Tue Nov 4 13:15:37 2014 +0000 Fix a seg-fault triggered by reading a mal-formed archive. PR binutils/17533 * archive.c (_bfd_slurp_extended_name_table): Handle archives with corrupt extended name tables. commit ed9e98c214dde25cc9ff54bac7191c3824be3ffa Author: Alan Modra Date: Tue Nov 4 15:31:09 2014 +1030 Don't use register keyword * expr.c (expr_symbol_where): Don't use register keyword. * app.c (app_push, app_pop, do_scrub_chars): Likewise. * ecoff.c (add_string, add_ecoff_symbol, add_aux_sym_symint, add_aux_sym_rndx, add_aux_sym_tir, add_procedure, add_file, ecoff_build_lineno, ecoff_setup_ext, allocate_cluster. allocate_scope, allocate_vlinks, allocate_shash, allocate_thash, allocate_tag, allocate_forward, allocate_thead, allocate_lineno_list): Likewise. * frags.c (frag_more, frag_var, frag_variant, frag_wane): Likewise. * input-file.c (input_file_push, input_file_pop): Likewise. * input-scrub.c (input_scrub_push, input_scrub_next_buffer): Likewise. * subsegs.c (subseg_change): Likewise. * symbols.c (colon, symbol_table_insert, symbol_find_or_make) (dollar_label_name, fb_label_name): Likewise. * write.c (relax_align): Likewise. * config/tc-alpha.c (s_alpha_pdesc): Likewise. * config/tc-bfin.c (bfin_s_bss): Likewise. * config/tc-i860.c (md_estimate_size_before_relax): Likewise. * config/tc-m68hc11.c (md_convert_frag): Likewise. * config/tc-m68k.c (m68k_ip, crack_operand): Likewise. (md_convert_frag_1, s_even): Likewise. * config/tc-mips.c (mips_clear_insn_labels): Likewise. * config/tc-mn10200.c (md_begin): Likewise. * config/tc-s390.c (s390_setup_opcodes, md_begin): Likewise. * config/tc-sh.c (sh_elf_cons): Likewise. * config/tc-tic4x.c (tic4x_cons, tic4x_stringer): Likewise. * config/m68k-parse.y (m68k_reg_parse): Likewise. Convert from K&R. (yylex, m68k_ip_op, yyerror): Convert from K&R. commit 127a8db1ed4fc7903007dc23c6b11f613933f9ef Author: Alan Modra Date: Tue Nov 4 14:41:00 2014 +1030 Use frag_now_fix_octets in gas d10v, d30v obstack_next_free is supposed to return a void* rather than the char* it does currently, so expressions involving pointer arithmetic need a cast. Avoid the issue. * config/tc-d10v.c (find_opcode): Call frag_now_fix_octets rather than equivalent obstack_next_free expression. * config/tc-d30v.c (find_format): Likewise. commit 0cdcdbf8dbadc70194d46b4c3400ba8cc2a10fc0 Author: Alan Modra Date: Tue Nov 4 13:49:12 2014 +1030 Regenerate spu overlay and icache manager files Nothing to see here, just the changed placement of section headers. * emultempl/spu_icache.o_c: Regenerate. * emultempl/spu_ovl.o_c: Regenerate. commit ef42b83ec01d65286ba2906ef66caa3b943108dd Author: Alan Modra Date: Tue Nov 4 13:39:38 2014 +1030 Provide stat function for spu overlay manager iovec Commit f54498b4 broke spu-elf, specifically the change "Do not try to load a string table bigger than the file", because bfd_get_size returns zero for the spu built-in overlay manager bfd. * elf32-spu.c (ovl_mgr_stat): New function. (spu_elf_open_builtin_lib): Pass to bfd_openr_iovec. commit 049b0c3a2467c785f9068915d81fdba4985470bf Author: Nick Clifton Date: Tue Nov 4 11:58:16 2014 +0000 Fixes for crashes running readelf. PR binutils/17531 * readelf.c (get_data): If the reason parameter is null, do not print any error messages. (get_32bit_section_headers): Verify section header entry size before reading in the section headers. (get_64bit_section_headers): Likewise. (process_section_headers): Pass FALSE to get_section_headers. (get_file_header): Pass TRUE to get_section_headers. (process_dynamic_section): Change an assert to an error message. (process_symbol_table): Handle corrupt histograms. commit e0f52461c2467b6610391681fa27cd9b3c5def57 Author: Siva Chandra Date: Sat Oct 18 06:14:00 2014 -0700 Fix evaluation of method calls under EVAL_SKIP. When evaluating method calls under EVAL_SKIP, the "object" and the arguments to the method should also be evaluated under EVAL_SKIP, instead of skipping to evaluate them as was being done previously. gdb/ChangeLog: PR c++/17494 * eval.c (evaluate_subexp_standard): Evaluate the "object" and the method args also under EVAL_SKIP when evaluating method calls under EVAL_SKIP. gdb/testsuite/ChangeLog: PR c++/17494 * gdb.cp/pr17494.cc: New file. * gdb.cp/pr17494.exp: New file. commit f868b157aa4079bcdcb482b6b6634b5df8f74dbd Author: Alan Modra Date: Tue Nov 4 09:30:33 2014 +1030 daily update commit 931b79ccd6cc6ad4d8fe60a9c6de9443322a7cc8 Author: Andrew Burgess Date: Mon Oct 27 10:45:18 2014 +0000 When relaxing, update size of symbols. When performing linker relaxation, reduce the size of symbols that span the deleted bytes. This ensures that, for example, function symbols will have the correct size. bfd/ChangeLog: * elf32-avr.c (elf32_avr_relax_delete_bytes): During linker relaxation, reduce the size of symbols that span the deleted bytes. ld/ChangeLog: * testsuite/ld-avr/relax-02.d: Update to check size of symbols has changed. * testsuite/ld-avr/relax-03.d: Likewise. commit a12d0ffc72ee57f8db8b466fd9032360d8d15e09 Author: Andrew Burgess Date: Sat Oct 25 15:08:14 2014 +0100 When relaxing, update symbols at the very end of the section. Symbols at the very end of a section were not being updated correctly when linker relaxation takes place due to the use of '<' instead of '<='. Added a couple of tests to cover this behaviour. bfd/ChangeLog: * elf32-avr.c (elf32_avr_relax_delete_bytes): Modify symbols located at the very end of the section. ld/ChangeLog: * ld/testsuite/ld-avr/relax-02.d: New file. * ld/testsuite/ld-avr/relax-02.s: New file. * ld/testsuite/ld-avr/relax-03.d: New file. * ld/testsuite/ld-avr/relax-03.s: New file. commit 5a3f568b70bdfb91aacdfb66657b56d8c6d242f1 Author: Nick Clifton Date: Mon Nov 3 17:44:00 2014 +0000 More fixes for buffer overruns instigated by corrupt binaries. PR binutils/17512 * objdump.c (slurp_symtab): Fail gracefully if the table could not be read. (dump_relocs_in_section): Likewise. * aoutx.h (slurp_symbol_table): Check that computed table size is not bigger than the file from which is it being read. (slurp_reloc_table): Likewise. * coffcode.h (coff_slurp_line_table): Remove unneeded local 'warned'. Do not try to print the details of a symbol with an invalid index. * coffgen.c (make_a_sectiobn_from_file): Check computed string index against length of string table. (bfd_coff_internal_syment_name): Check read in string offset against length of string table. (build_debug_section): Return a pointer to the section used. (_bfd_coff_read_string_table): Store the length of the string table in the coff_tdata structure. (bfd_coff_free_symbols): Set the length of the string table to zero when it is freed. (coff_get_normalized_symtab): Check offsets against string table or data table lengths as appropriate. * cofflink.c (_bfd_coff_link_input_bfd): Check offset against length of string table. * compress.c (bfd_get_full_section_contents): Check computed size against the size of the file. * libcoff-in.h (obj_coff_strings_len): Define. (struct coff_tdata): Add strings_len field. * libcoff.h: Regenerate. * peXXigen.c (pe_print_debugdata): Do not attempt to print the data if the debug section is too small. * xcofflink.c (xcoff_link_input_bfd): Check offset against length of string table. commit ba241f2d5a6f1ac57e746d230892e27a70def4a6 Author: Nick Clifton Date: Mon Nov 3 12:26:48 2014 +0000 Import updated translations supplied by the Translation Project. bfd, binutils, gprof, opcodes: * po/fi.po: Updated Finnish translation. binutils: * po/sv.po: Updated Swedish translation. gprof: * po/hu.po: New Hungarian translation. commit a0b4d89011b2252004d970886af8db831ecadb1d Author: Yao Qi Date: Mon Nov 3 20:12:18 2014 +0800 Add missing changelog entries Some changelog entries are missing in previous commits. Add them. commit 99b4a5a08507a96f6d014553c9ac4c5e257f37a2 Author: Nick Clifton Date: Mon Nov 3 11:15:53 2014 +0000 Fixes a snafu checking the size of 20-bit immedaite values. * config/tc-msp430.c (msp430_srcoperand): Fix range test for 20-bit values. commit e82149ff2aa7f91090a440daa882b8c0c37840a9 Author: Doug Evans Date: Sun Nov 2 21:34:59 2014 -0800 mdebugread.c (parse_procedure): Delete unnecessary forward decl. gdb/ChangeLog: * mdebugread.c (parse_procedure): Delete unnecessary forward decl. commit d7ee84f11785f239c40378484f48dc0a17cbd14f Author: Doug Evans Date: Sun Nov 2 20:17:12 2014 -0800 xcoffread.c (process_linenos): Delete unnecessary code. gdb/ChangeLog: * xcoffread.c (process_linenos): Delete unnecessary zeroing of main_subfile before returning. commit b71e4c7f6310a6d6ba063c49297560b9be8b8796 Author: Alan Modra Date: Mon Nov 3 09:31:00 2014 +1030 daily update commit ca45ab26f53023cab527eae940de86af4d03aa47 Author: Victor Kamensky Date: Sun Nov 2 13:28:35 2014 -0800 read_pieced_value do big endian processing only in case of valid gdb_regnum During armv7b testing gdb.base/store.exp test was failling with 'GDB internal error' with the following message: Temporary breakpoint 1, wack_double (u= ../../binutils-gdb/gdb/regcache.c:177: internal-error: register_size: Assertion `regnum >= 0 && regnum < (gdbarch_num_regs (gdbarch) + gdbarch_num_pseudo_regs (gdbarch))' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. It turns out that compiler generated DWARF with non-existent register numbers. The compiler issue is present in both little endian (armv7) and big endian (armv7b) (it is separate issue). Here is example for one of formal parameters of wack_double function: <2><792>: Abbrev Number: 10 (DW_TAG_formal_parameter) <793> DW_AT_name : u <795> DW_AT_decl_file : 1 <796> DW_AT_decl_line : 115 <797> DW_AT_type : <0x57c> <79b> DW_AT_location : 6 byte block: 6d 93 4 6c 93 4 (DW_OP_reg29 (r29); DW_OP_piece: 4; DW_OP_reg28 (r28); DW_OP_piece: 4) In both big and little endian cases gdbarch_dwarf2_reg_to_regnum returns -1 which is stored into gdb_regnum. But it causes severe problem only in big endian case because in read_pieced_value and write_pieced_value functions BFD_ENDIAN_BIG related processing happen regardless of gdb_regnum value, for example register_size function is called and in case of gdb_regnum=-1, it cause 'GDB internal error' and crash. Solution is to move BFD_ENDIAN_BIG related processing under (gdb_regnum != -1) branch of processing. gdb/ChangeLog: 2014-11-02 Victor Kamensky * dwarf2loc.c (read_pieced_value): Do big endian processing only if gdb_regnum is not -1. (write_pieced_value): Ditto. commit dcd4a3a4e7fc3912194d1346d2dfc6252f70b456 Author: Victor Kamensky Date: Sun Nov 2 13:28:35 2014 -0800 ARM: arm_breakpoint should be little endian form in case for arm BE8 tdep->arm_breakpoint, tdep->thumb_breakpoint, tdep->thumb2_breakpoint should be set le_ variants in case of arm BE8 code. Those instruciton sequences are writen to target with simple write_memory, without regarding gdbarch_byte_order_for_code. But in BE8 case even data memory is in big endian form, instructions are still in little endian form. Because of this issue there are many issues while running gdb test case in armv7b mode. For example gdb.arch/arm-disp-step.exp test fails because it gets SIGILL when displaced instrucion sequence reaches break instruction, which is in wrong byte order. Solution is to set tdep->xxx_breakpoint sequences in BE8 case (i.e when gdbarch_byte_order_for_code is BFD_ENDIAN_BIG. gdb/ChangeLog: 2014-11-02 Victor Kamensky * arm-linux-tdep.c (arm_linux_init_abi): Use info.byte_order_for_code to choose endianity of breakpoint instructions snippets. commit 2959fed98cf1b1fd32516194619a5edbdf6a41a3 Author: Victor Kamensky Date: Sun Nov 2 13:28:35 2014 -0800 ARM: extract_arm_insn function need to read instrs correctly in be8 case extract_arm_insn function needs to read instructions in gdbarch_byte_order_for_code byte order, because in case armv7b, even data is big endian, instructions are still little endian. Currently function uses gdbarch_byte_order which would be big endian in armv7b case. Because of this issue pretty much all gdb.reverse/ tests are failing with 'Process record does not support instruction' message. Fix is to change gdbarch_byte_order to gdbarch_byte_order_for_code, when passed to extract_unsigned_integer that reads instruction. gdb/ChangeLog: 2014-11-02 Victor Kamensky * arm-tdep.c (extract_arm_insn): Use gdbarch_byte_order_for_code to read arm instruction. commit 6ce8c98020188a7585c24db289191c5c10371e58 Author: Yao Qi Date: Sun Nov 2 21:08:06 2014 +0800 Match the working directory on remote host The test in gdb.python/python.exp tests "extended-prompt" and expects working directory is printed. However, working directory on remote host doesn't have "gdb/testsuite", so the test fails on remote host like: set extended-prompt \w ^M ^M /home/yao FAIL: gdb.python/python.exp: set extended prompt working directory (timeout) This patch is to get the working directory first, and use it to match the output of "set extended-prompt \\w ". It works for remote host and non remote host. gdb/testsuite: 2014-11-02 Yao Qi * gdb.python/python.exp: Get working directory and match the output of "set extended-prompt \\w " with it. commit a218b38d2e3f2f7c55b59b380267fdf7fffdb966 Author: Alan Modra Date: Sun Nov 2 09:30:42 2014 +1030 daily update commit 4f072d17b2574e271ae381f42bc404c1a99d0ab6 Author: Doug Evans Date: Fri Oct 31 21:46:08 2014 -0700 objfiles.h: Remove some unused macros. gdb/ChangeLog: * objfiles.h (ALL_PSPACE_OBJFILES_SAFE): Delete, unused. (ALL_PSPACE_SYMTABS, ALL_PSPACE_PRIMARY_SYMTABS): Ditto. commit 8301c89eb5f179cbcdfe7666ecef844fc732f97c Author: Doug Evans Date: Fri Oct 31 20:20:48 2014 -0700 valops.c: Fix some whitespace. gdb/ChangeLog: * valops.c (value_cast_pointers): Fix whitespace. (typecmp, search_struct_method, value_struct_elt, find_oload_champ): Ditto. commit 2a03f3073118b862339be183023b5964a3fa8dae Author: Hans-Peter Nilsson Date: Sat Nov 1 03:34:00 2014 +0100 Fix %lx format used with bfd_size_type mismatch in readelf.c * readelf.c (get_32bit_elf_symbols): Cast error parameters of bfd_size_type with the %lx format to unsigned long. commit 657a7d7d23a4de2cdc4140254e5ee6df5789ad26 Author: Alan Modra Date: Sat Nov 1 09:30:35 2014 +1030 daily update commit 2c62985659da21a3fe16062d211a7158f79ad2e9 Author: Naveen H.S Date: Fri Oct 31 13:48:04 2014 -0700 MIPS: Add Octeon 3 support binutils: 2014-10-31 Andrew Pinski Naveen H.S * readelf.c (print_mips_isa_ext): Print the value of Octeon3. gas: 2014-10-31 Andrew Pinski Naveen H.S * config/tc-mips.c (CPU_IS_OCTEON): Handle CPU_OCTEON3. (mips_cpu_info_table): Octeon3 enables virt ase. * doc/c-mips.texi: Document octeon3 as an acceptable value for -march=. gas/testsuite: 2014-10-31 Andrew Pinski Naveen H.S * gas/mips/mips.exp: Add support for Octeon3 architecture. Also add in support for running Octeon3 tests. * gas/mips/octeon3.d: New test. * gas/mips/octeon3.s: New test source. opcodes: 2014-10-31 Andrew Pinski Naveen H.S * mips-dis.c (mips_arch_choices): Add octeon3. * mips-opc.c (IOCT): Include INSN_OCTEON3. (IOCT2): Likewise. (IOCT3): New define. (IVIRT): New define. (mips_builtin_opcodes): Add dmfgc0, dmtgc0, hypcall, mfgc0, mtgc0, tlbinv, tlbinvf, tlbgr, tlbgwi, tlbginv, tlbginvf, tlbgwr, tlbgp, tlti IVIRT instructions. Extend mtm0, mtm1, mtm2, mtp0, mtp1, mtp2 instructions to take another operand for IOCT3. bfd: 2014-10-31 Andrew Pinski Naveen H.S * archures.c: Add octeon3 for mips target. * bfd-in2.h: Regenerate. * bfd/cpu-mips.c: Define I_mipsocteon3. nfo_struct): Add octeon3 support. * bfd/elfxx-mips.c: (_bfd_elf_mips_mach): Add support for octeon3. (mips_set_isa_flags): Add support for octeon3. (bfd_mips_isa_ext): Add bfd_mach_mips_octeon3. (mips_mach_extensions): Make bfd_mach_mips_octeon3 an extension of bfd_mach_mips_octeon2. (print_mips_isa_ext): Print the value of Octeon3. commit 222016651396c7baea9ff3f96003bd53bbc11ab0 Author: Andrew Pinski Date: Fri Oct 31 13:24:24 2014 -0700 Add forgotten changelog entry. 2014-10-21 Andrew Pinski * config/tc-aarch64.c (aarch64_cpus): Add thunderx. * doc/c-aarch64.texi: Document that thunderx is a valid processor name. commit da37262b209fab7f239f4d4f1fa4fb302f1f6a5c Author: Iain Buclaw Date: Fri Oct 31 18:38:39 2014 +0000 Add dlang demangling support to c++filt. binutils/ChangeLog: * cxxfilt.c (main): Add case for dlang_demangling style. commit 690725fa0d98ae52c991f4b3ea58b6b47b4fbc80 Author: Nick Clifton Date: Fri Oct 31 18:00:55 2014 +0000 Fix an (almost) infinite loop in the tekhex parser. PR binutils/17512 * tekhex.c (first_phase): Check that the section range is sane. commit f54498b45795194df671207c6ef3d6cd6d0c0ebb Author: Nick Clifton Date: Fri Oct 31 16:36:31 2014 +0000 Avoid allocating over-large buffers when parsing corrupt binaries. PR binutils/17512 * coffgen.c (_bfd_coff_get_external_symbols): Do not try to load a symbol table bigger than the file. * elf.c (bfd_elf_get_str_section): Do not try to load a string table bigger than the file. * readelf.c (process_program_headers): Avoid memory exhaustion due to corrupt values in a dynamis segment header. (get_32bit_elf_symbols): Do not attempt to read an over-large section. (get_64bit_elf_symbols): Likewise. commit fe06005387223e8a8b37e49036efe06b4062c7f4 Author: Nick Clifton Date: Fri Oct 31 10:19:53 2014 +0000 oops - changelog omitted from previous delta. commit 7fac9594c41ab180979bdf5927ff7f7e1d13a9e9 Author: Nick Clifton Date: Fri Oct 31 10:10:37 2014 +0000 In response to a public outcry the strings program now defaults to using the --all option which displays text from anywhere in the input file(s). The default used to be --data, which only displays text from loadable data sections, but this requires the use of the BFD library. Since the BFD library almost certainly still contains buffer overrun and/or memory corruption bugs, and since the strings program is often used to examine malicious code, it was decided that the --data option option represents a possible security risk. * strings.c: Add new command line option --data to only scan the initialized, loadable data secions of binaries. Choose the default behaviour of --all or --data based upon a configure option. * doc/binutils.texi (strings): Update documentation. Include description of why the --data option might be unsafe. * configure.ac: Add new option --disable-default-strings-all which restores the old behaviour of strings using --data by default. If the option is not used make strings use --all by default. * NEWS: Mention the new behaviour of strings. * configure: Regenerate. * config.in: Regenerate. commit 02be9a71009c94840f2367aa5554cbe5b71f56d1 Author: Doug Evans Date: Thu Oct 30 17:05:17 2014 -0700 Add ability to add attributes to gdb.Objfile and gdb.Progspace objects. gdb/ChangeLog: * NEWS: Mention ability add attributes to gdb.Objfile and gdb.Progspace objects. * python/py-objfile.c (objfile_object): New member dict. (objfpy_dealloc): Py_XDECREF dict. (objfpy_initialize): Initialize dict. (objfile_getset): Add __dict__. (objfile_object_type): Set tp_dictoffset member. * python/py-progspace.c (progspace_object): New member dict. (pspy_dealloc): Py_XDECREF dict. (pspy_initialize): Initialize dict. (pspace_getset): Add __dict__. (pspace_object_type): Set tp_dictoffset member. gdb/doc/ChangeLog: * python.texi (Progspaces In Python): Document ability to add random attributes to gdb.Progspace objects. (Objfiles In Python): Document ability to add random attributes to gdb.objfile objects. gdb/testsuite/ChangeLog: * gdb.python/py-objfile.exp: Add tests for setting random attributes in objfiles. * gdb.python/py-progspace.exp: Add tests for setting random attributes in progspaces. commit c21c8bde378b41f80ef61313ffbf653592e4ba28 Author: Alan Modra Date: Fri Oct 31 09:30:33 2014 +1030 daily update commit 0102ea8cec5fc509bba6c91df61b7ce23a799d32 Author: Nick Clifton Date: Thu Oct 30 17:16:17 2014 +0000 Fixes a seg-fault in the ihex parser when it encounters a malformed ihex file. PR binutils/17512 * ihex.c (ihex_scan): Fix typo in invocation of ihex_bad_byte. commit 7e760b06b212f01b3819d5b37e8f5b613e0db34c Author: Nick Clifton Date: Thu Oct 30 15:52:10 2014 +0000 Closes another memory corruption, this time due to heap overrun. PR binutils/17512 * coffgen.c (coff_get_normalized_symtab): Prevent buffer overrun. commit 3bdff46b67a527886f49735a5d192c05a332a131 Author: Luis Machado Date: Thu Oct 30 09:48:10 2014 -0200 Skip tests that use cd for remote hosts Several GDB tests change directory before compiling the test program in order to test source file names that include directories. This doesn't work on a remote host because default_target_compile in DejaGnu's target.exp copies each source file with "[remote_download host $x]" which uses "[file tail $file] to strip off the directory of each file. If the source directory is remote mounted on the host, this also leaves copied files in the source directory. A similar skip is already used in gdb.test/fullname.exp: # We rely on being able to copy things around. if { [is_remote host] } { untested "setting breakpoints by full path" return -1 } This patch causes three GDB tests that use "cd" to be skipped for a remote host. For gdb.base/fullpath-expand.exp this eliminates two failures and prevents the test from leaving files fullpath-expand.c and fullpath-expand-func.c in gdb/testsuite. For gdb.base/realname-expand.exp it eliminates two failures. For gdb.linespec/macro-relative.exp it prevents file macro-relative.c from being left in gdb/testsuite/gdb.linespec/base/two. gdb/testsuite/ * gdb.base/fullpath-expand.exp: Skip for a remote host. * gdb.base/realname-expand.exp: Likewise. * gdb.linespec/macro-relative.exp: Likewise. commit 62cf91a31e4086abbee7bae5cb1b6d9f5133aaad Author: Will Newton Date: Thu Oct 23 18:20:27 2014 +0100 ld/testsuite/ld-unique: Fix running unique tests on ARM The @ character is a comment character on ARM, so use % instead. Also use a wider glob for matching ARM targets to make sure the test gets run. ld/testsuite/ChangeLog: 2014-10-30 Will Newton * ld-unique/unique.exp: Use a wider glob for matching ARM targets. * ld-unique/unique.s: Use % instead of @ in .type directive. * ld-unique/unique_shared.s: Likewise. commit f803aa8eadb24ea7152057584c47648fb02e4716 Author: Dr Philipp Tomsich Date: Thu Oct 30 10:53:09 2014 +0000 Remove the artificial limit on code alignment through the use of the fixed part of a fragment for output generation only, which required MAX_MEM_FOR_RS_ALIGN_CODE to be large enough to hold the maximum pad. * config/tc-aarch64.h (MAX_MEM_FOR_RS_ALIGN_CODE): Define to 7. * config/tc-aarch64.c (aarch64_handle_align): Rewrite to handle large alignments with a constant fragment size of MAX_MEM_FOR_RS_ALIGN_CODE. commit 76ca31c09f629e670ffd57e79c0604db7ddecc9e Author: Nick Clifton Date: Thu Oct 30 09:53:56 2014 +0000 Fix error message strings so that they can be translated properly. * readelf.c (CHECK_ENTSIZE_VALUES): Rewrite error message so that there is a single string for translation. (dynamic_section_mips_val): Likewise. commit 6427bef6d182b98dce746467c7c09e19e7cf7e2d Author: Yao Qi Date: Thu Oct 30 09:42:36 2014 +0800 Don't replace '\' with '\\' in before_prompt_hook In gdb/command/prompt.py:before_prompt_hook, the '\' in the new prompt is replaced with '\\', shown as below, > def before_prompt_hook(self, current): > if self.value is not '': > newprompt = gdb.prompt.substitute_prompt(self.value) > return newprompt.replace('\\', '\\\\') > else: > return None I don't see any explanations on this in comments nor email. As doc said, "set extended-prompt \w" substitute the current working directory, but it prints something different from what pwd or os.getcwdu() prints on mingw32 host. (gdb) python print os.getcwdu()^M \\build2-lucid-cs\yqi\yqi\arm-none-eabi (gdb) pwd^M Working directory \\build2-lucid-cs\yqi\yqi\arm-none-eabi (gdb) set extended-prompt \w \\\\build2-lucid-cs\\yqi\\yqi\\arm-none-eabi This makes me think whether the substitution in before_prompt_hook is necessary or not. This patch is to remove this substitution. Run gdb.python on x86_64-linux and arm-none-eabi on mingw32 host. No regressions. gdb: 2014-10-30 Yao Qi * python/lib/gdb/command/prompt.py (before_prompt_hook): Don't replace '\\' with '\\\\'. commit 0d93a331c239b0ec629b177b3b4ef55a277a45ee Author: Alan Modra Date: Thu Oct 30 09:30:40 2014 +1030 daily update ----------------------------------------------------------------------- Summary of changes: .gitattributes | 20 + ChangeLog | 70 + MAINTAINERS | 5 +- bfd/ChangeLog | 2137 ++- bfd/Makefile.am | 42 +- bfd/Makefile.in | 56 +- bfd/PORTING | 4 +- bfd/aout-adobe.c | 9 +- bfd/aout-target.h | 10 +- bfd/aout-tic30.c | 10 +- bfd/aoutx.h | 43 +- bfd/archive.c | 33 +- bfd/archive64.c | 11 +- bfd/archures.c | 8 + bfd/bfd-in.h | 32 +- bfd/bfd-in2.h | 247 +- bfd/bfd.c | 126 +- bfd/binary.c | 4 +- bfd/bout.c | 3 +- bfd/cache.c | 4 +- bfd/coff-aux.c | 62 +- bfd/coff-bfd.c | 99 + bfd/coff-bfd.h | 86 + bfd/coff-h8300.c | 2 +- bfd/coff-h8500.c | 2 +- bfd/coff-i386.c | 22 +- bfd/coff-i960.c | 32 +- bfd/coff-ia64.c | 2 +- bfd/coff-m68k.c | 3 +- bfd/coff-mcore.c | 16 +- bfd/coff-ppc.c | 21 +- bfd/coff-rs6000.c | 42 +- bfd/coff-sh.c | 32 +- bfd/coff-tic30.c | 2 +- bfd/coff-tic4x.c | 12 +- bfd/coff-w65.c | 29 +- bfd/coff-we32k.c | 9 +- bfd/coff-x86_64.c | 29 +- bfd/coff-z80.c | 2 +- bfd/coff-z8k.c | 2 +- bfd/coff64-rs6000.c | 10 +- bfd/coffcode.h | 185 +- bfd/coffgen.c | 337 +- bfd/cofflink.c | 125 +- bfd/compress.c | 15 +- bfd/config.bfd | 18 +- bfd/config.in | 2 +- bfd/configure | 396 +- bfd/configure.ac | 1201 + bfd/configure.host | 2 +- bfd/configure.in | 1204 - bfd/cpu-avr.c | 43 +- bfd/cpu-mips.c | 6 + bfd/cpu-visium.c | 41 + bfd/doc/ChangeLog | 11 + bfd/doc/Makefile.in | 2 +- bfd/doc/bfdint.texi | 2 +- bfd/doc/chew.c | 36 +- bfd/dwarf1.c | 2 +- bfd/dwarf2.c | 335 +- bfd/ecoff.c | 198 +- bfd/elf-attrs.c | 35 +- bfd/elf-bfd.h | 51 +- bfd/elf-eh-frame.c | 134 +- bfd/elf-ifunc.c | 125 + bfd/elf-m10300.c | 62 +- bfd/elf-s390-common.c | 6 +- bfd/elf.c | 756 +- bfd/elf32-arc.c | 6 +- bfd/elf32-arm.c | 227 +- bfd/elf32-avr.c | 285 +- bfd/elf32-cr16.c | 2 +- bfd/elf32-cr16c.c | 6 +- bfd/elf32-cris.c | 8 +- bfd/elf32-d10v.c | 6 +- bfd/elf32-d30v.c | 12 +- bfd/elf32-dlx.c | 6 +- bfd/elf32-epiphany.c | 5 + bfd/elf32-fr30.c | 6 +- bfd/elf32-frv.c | 5 + bfd/elf32-hppa.c | 41 +- bfd/elf32-i370.c | 8 +- bfd/elf32-i386.c | 373 +- bfd/elf32-i960.c | 8 +- bfd/elf32-ip2k.c | 5 + bfd/elf32-iq2000.c | 5 + bfd/elf32-lm32.c | 12 +- bfd/elf32-m32c.c | 15 +- bfd/elf32-m32r.c | 16 +- bfd/elf32-m68hc11.c | 8 +- bfd/elf32-m68hc12.c | 8 +- bfd/elf32-m68hc1x.c | 43 +- bfd/elf32-m68hc1x.h | 1 - bfd/elf32-m68k.c | 47 +- bfd/elf32-mep.c | 5 + bfd/elf32-metag.c | 47 +- bfd/elf32-microblaze.c | 2 +- bfd/elf32-mips.c | 105 +- bfd/elf32-moxie.c | 6 +- bfd/elf32-msp430.c | 12 +- bfd/elf32-mt.c | 5 + bfd/elf32-nds32.c | 6787 +++-- bfd/elf32-nds32.h | 40 +- bfd/elf32-nios2.c | 38 +- bfd/elf32-or1k.c | 34 +- bfd/elf32-ppc.c | 74 +- bfd/elf32-rl78.c | 14 +- bfd/elf32-rx.c | 6 +- bfd/elf32-s390.c | 14 +- bfd/elf32-score.c | 8 +- bfd/elf32-score7.c | 8 +- bfd/elf32-sh.c | 17 +- bfd/elf32-sparc.c | 11 +- bfd/elf32-spu.c | 47 +- bfd/elf32-tic6x.c | 8 +- bfd/elf32-tilepro.c | 4 +- bfd/elf32-v850.c | 6 +- bfd/elf32-vax.c | 4 +- bfd/elf32-visium.c | 903 + bfd/elf32-xgate.c | 24 +- bfd/elf32-xgate.h | 1 - bfd/elf32-xstormy16.c | 4 +- bfd/elf32-xtensa.c | 61 +- bfd/elf64-alpha.c | 20 +- bfd/elf64-hppa.c | 7 +- bfd/elf64-ia64-vms.c | 79 +- bfd/elf64-mips.c | 199 +- bfd/elf64-mmix.c | 8 +- bfd/elf64-ppc.c | 1023 +- bfd/elf64-ppc.h | 2 +- bfd/elf64-s390.c | 14 +- bfd/elf64-sh64.c | 23 +- bfd/elf64-sparc.c | 13 +- bfd/elf64-x86-64.c | 676 +- bfd/elfcode.h | 6 +- bfd/elflink.c | 539 +- bfd/elfn32-mips.c | 198 +- bfd/elfnn-aarch64.c | 793 +- bfd/elfnn-ia64.c | 77 +- bfd/elfxx-aarch64.c | 88 +- bfd/elfxx-aarch64.h | 11 +- bfd/elfxx-mips.c | 1035 +- bfd/elfxx-mips.h | 8 +- bfd/elfxx-sparc.c | 46 +- bfd/elfxx-sparc.h | 2 - bfd/elfxx-target.h | 17 +- bfd/elfxx-tilegx.c | 4 +- bfd/format.c | 2 +- bfd/hash.c | 1 + bfd/i386msdos.c | 4 +- bfd/i386os9k.c | 4 +- bfd/ieee.c | 294 +- bfd/ihex.c | 5 +- bfd/libaout.h | 4 +- bfd/libbfd-in.h | 43 +- bfd/libbfd.c | 196 +- bfd/libbfd.h | 78 +- bfd/libcoff-in.h | 54 +- bfd/libcoff.h | 68 +- bfd/libecoff.h | 8 +- bfd/libieee.h | 1 + bfd/linker.c | 604 +- bfd/mach-o-target.c | 2 +- bfd/mach-o.c | 69 +- bfd/mach-o.h | 8 +- bfd/mmo.c | 5 +- bfd/nlm-target.h | 3 +- bfd/oasys.c | 25 +- bfd/opncls.c | 45 +- bfd/pdp11.c | 17 +- bfd/pe-mips.c | 18 +- bfd/pe-x86_64.c | 6 + bfd/peXXigen.c | 299 +- bfd/pef.c | 3 +- bfd/pei-x86_64.c | 161 +- bfd/peicode.h | 15 +- bfd/plugin.c | 109 +- bfd/po/SRC-POTFILES.in | 3 + bfd/po/fi.po | 3625 ++- bfd/ppcboot.c | 4 +- bfd/reloc.c | 112 +- bfd/simple.c | 16 +- bfd/som.c | 11 +- bfd/srec.c | 22 +- bfd/stabs.c | 2 +- bfd/sunos.c | 2 +- bfd/targets.c | 30 +- bfd/tekhex.c | 115 +- bfd/verilog.c | 1 - bfd/versados.c | 93 +- bfd/version.h | 2 +- bfd/version.m4 | 1 + bfd/vms-alpha.c | 82 +- bfd/warning.m4 | 2 +- bfd/xcofflink.c | 58 +- bfd/xsym.c | 3 +- binutils/BRANCHES | 1 + binutils/ChangeLog | 708 +- binutils/MAINTAINERS | 2 +- binutils/Makefile.am | 6 +- binutils/Makefile.in | 10 +- binutils/NEWS | 9 + binutils/ar.c | 9 + binutils/bucomm.c | 34 +- binutils/bucomm.h | 12 +- binutils/config.in | 17 +- binutils/configure | 949 +- binutils/configure.ac | 517 + binutils/configure.in | 499 - binutils/cxxfilt.c | 1 + binutils/doc/Makefile.in | 3 +- binutils/doc/binutils.texi | 175 +- binutils/dwarf.c | 1003 +- binutils/dwarf.h | 3 + binutils/elfcomm.c | 71 +- binutils/elfcomm.h | 4 +- binutils/nm.c | 4 + binutils/objcopy.c | 33 +- binutils/objdump.c | 82 +- binutils/objdump.h | 2 + binutils/od-elf32_avr.c | 249 + binutils/po/bg.po | 4171 ++- binutils/po/fi.po | 4045 ++- binutils/po/fr.po | 5028 ++-- binutils/po/sr.po | 9319 +++++ binutils/po/sv.po | 7886 ++++- binutils/rcparse.y | 8 +- binutils/rdcoff.c | 9 +- binutils/rddbg.c | 40 +- binutils/readelf.c | 2123 +- binutils/stabs.c | 30 +- binutils/strings.c | 73 +- binutils/testsuite/ChangeLog | 30 + binutils/testsuite/binutils-all/objcopy.exp | 12 +- binutils/testsuite/binutils-all/readelf.exp | 1 + binutils/testsuite/binutils-all/readelf.s | 6 +- binutils/testsuite/binutils-all/readelf.ss-mips | 18 +- binutils/testsuite/binutils-all/readelf.ss-tmips | 12 +- binutils/testsuite/binutils-all/strip-11.d | 12 + binutils/testsuite/binutils-all/strip-3.d | 2 +- binutils/windres.c | 1 + compile | 236 +- config.guess | 11 +- config.sub | 19 +- config/ChangeLog | 11 + config/plugins.m4 | 26 +- configure | 17 +- configure.ac | 17 +- cpu/ChangeLog | 8 + cpu/or1k.opc | 174 +- cpu/or1korbis.cpu | 24 + depcomp | 544 +- elfcpp/ChangeLog | 36 + elfcpp/aarch64.h | 187 + elfcpp/arm.h | 18 + elfcpp/elfcpp.h | 12 +- elfcpp/elfcpp_file.h | 38 +- elfcpp/mips.h | 6 +- etc/ChangeLog | 19 + etc/Makefile.in | 182 +- etc/configbuild.ein | 149 - etc/configbuild.fig | 50 - etc/configbuild.jin | Bin 11123 -> 0 bytes etc/configbuild.tin | 9 - etc/configdev.ein | 185 - etc/configdev.fig | 80 - etc/configdev.jin | Bin 17967 -> 0 bytes etc/configdev.tin | 17 - etc/configure.texi | 2646 -- etc/fdl.texi | 505 - etc/gnu-oids.texi | 52 - etc/make-stds.texi | 1135 - etc/standards.texi | 4235 --- gas/ChangeLog | 1092 + gas/Makefile.am | 14 +- gas/Makefile.in | 51 +- gas/NEWS | 8 + gas/acinclude.m4 | 2 +- gas/app.c | 6 +- gas/as.c | 90 +- gas/config.in | 5 +- gas/config/bfin-parse.y | 1 - gas/config/m68k-parse.y | 12 +- gas/config/obj-aout.c | 1 - gas/config/obj-coff.c | 2 +- gas/config/obj-elf.c | 14 +- gas/config/obj-macho.c | 18 +- gas/config/obj-som.c | 1 - gas/config/rx-parse.y | 16 +- gas/config/tc-aarch64.c | 276 +- gas/config/tc-aarch64.h | 11 +- gas/config/tc-alpha.c | 2 +- gas/config/tc-arm.c | 877 +- gas/config/tc-arm.h | 3 + gas/config/tc-avr.c | 209 +- gas/config/tc-avr.h | 3 + gas/config/tc-bfin.c | 4 +- gas/config/tc-cris.c | 73 +- gas/config/tc-d10v.c | 4 +- gas/config/tc-d30v.c | 6 +- gas/config/tc-dlx.c | 17 +- gas/config/tc-i386-intel.c | 4 +- gas/config/tc-i386.c | 235 +- gas/config/tc-i860.c | 2 +- gas/config/tc-i960.c | 1 - gas/config/tc-m68hc11.c | 2 +- gas/config/tc-m68k.c | 31 +- gas/config/tc-mep.c | 4 +- gas/config/tc-mips.c | 929 +- gas/config/tc-mmix.c | 13 +- gas/config/tc-mn10200.c | 2 +- gas/config/tc-moxie.c | 21 +- gas/config/tc-moxie.h | 8 +- gas/config/tc-msp430.c | 2 +- gas/config/tc-nds32.c | 3224 +- gas/config/tc-nds32.h | 51 +- gas/config/tc-nios2.c | 1172 +- gas/config/tc-pj.h | 2 +- gas/config/tc-ppc.c | 7 +- gas/config/tc-ppc.h | 17 +- gas/config/tc-rl78.c | 12 +- gas/config/tc-rx.c | 1 - gas/config/tc-s390.c | 4 +- gas/config/tc-score.c | 12 +- gas/config/tc-score7.c | 18 +- gas/config/tc-sh.c | 4 +- gas/config/tc-sparc.c | 185 +- gas/config/tc-tic30.c | 2 +- gas/config/tc-tic4x.c | 13 +- gas/config/tc-tic54x.c | 6 +- gas/config/tc-tic6x.c | 4 +- gas/config/tc-vax.c | 26 +- gas/config/tc-visium.c | 2308 ++ gas/config/tc-visium.h | 79 + gas/config/tc-xtensa.c | 10 +- gas/config/tc-z80.c | 4 + gas/config/te-aix.h | 22 + gas/config/te-armfbsdeabi.h | 22 + gas/config/te-armfbsdvfp.h | 22 + gas/configure | 621 +- gas/configure.ac | 863 + gas/configure.com | 8 +- gas/configure.in | 854 - gas/configure.tgt | 21 +- gas/doc/Makefile.am | 5 +- gas/doc/Makefile.in | 6 +- gas/doc/all.texi | 1 + gas/doc/as.texinfo | 113 +- gas/doc/c-aarch64.texi | 4 +- gas/doc/c-arm.texi | 3 + gas/doc/c-avr.texi | 88 +- gas/doc/c-i386.texi | 51 +- gas/doc/c-mips.texi | 152 +- gas/doc/c-sparc.texi | 43 +- gas/doc/c-visium.texi | 90 + gas/doc/internals.texi | 2 +- gas/dw2gencfi.c | 20 +- gas/dwarf2dbg.c | 20 +- gas/ecoff.c | 102 +- gas/expr.c | 6 +- gas/frags.c | 39 +- gas/frags.h | 18 +- gas/input-file.c | 4 +- gas/input-scrub.c | 6 +- gas/listing.c | 1 - gas/macro.c | 22 + gas/po/POTFILES.in | 4 + gas/po/fr.po | 9417 +++-- gas/po/gas.pot | 8103 +++-- gas/po/uk.po |19962 ++++++++++ gas/read.c | 21 +- gas/subsegs.c | 2 +- gas/subsegs.h | 3 + gas/symbols.c | 20 +- gas/testsuite/ChangeLog | 908 + gas/testsuite/gas/aarch64/crc32-directive.d | 17 + gas/testsuite/gas/aarch64/crc32.s | 6 + gas/testsuite/gas/aarch64/crypto-directive.d | 27 + gas/testsuite/gas/aarch64/crypto.s | 6 + gas/testsuite/gas/aarch64/diagnostic.l | 19 +- gas/testsuite/gas/aarch64/diagnostic.s | 24 + gas/testsuite/gas/aarch64/illegal-lse.d | 4 + gas/testsuite/gas/aarch64/illegal-lse.l | 433 + gas/testsuite/gas/aarch64/illegal-lse.s | 72 + gas/testsuite/gas/aarch64/illegal.l | 9 +- gas/testsuite/gas/aarch64/illegal.s | 8 +- gas/testsuite/gas/aarch64/lse-atomic.d | 472 + gas/testsuite/gas/aarch64/lse-atomic.s | 72 + gas/testsuite/gas/aarch64/sysreg-1.d | 10 + gas/testsuite/gas/aarch64/sysreg-1.s | 6 + gas/testsuite/gas/all/cond.l | 3 + gas/testsuite/gas/all/cond.s | 11 + gas/testsuite/gas/all/gas.exp | 3 +- gas/testsuite/gas/arm/arch7a-mp.d | 2 +- gas/testsuite/gas/arm/arch7r-mp.d | 2 +- gas/testsuite/gas/arm/armv7e-m+fpv5-d16.d | 60 + gas/testsuite/gas/arm/armv7e-m+fpv5-d16.s | 60 + gas/testsuite/gas/arm/armv7e-m+fpv5-sp-d16.d | 28 + gas/testsuite/gas/arm/armv7e-m+fpv5-sp-d16.s | 29 + gas/testsuite/gas/arm/armv8-a+crypto.d | 1 + gas/testsuite/gas/arm/armv8-a+fp.d | 1 + gas/testsuite/gas/arm/armv8-a+simd.d | 1 + gas/testsuite/gas/arm/armv8-a-barrier-thumb.d | 1 + gas/testsuite/gas/arm/armv8-a-it-bad.l | 4 + gas/testsuite/gas/arm/armv8-a-it-bad.s | 14 + gas/testsuite/gas/arm/attr-arch-assumption.d | 11 + gas/testsuite/gas/arm/attr-arch-assumption.s | 5 + gas/testsuite/gas/arm/bl-local-2.d | 1 + gas/testsuite/gas/arm/bl-local-v4t.d | 2 +- gas/testsuite/gas/arm/blx-bl-convert.d | 21 + gas/testsuite/gas/arm/blx-bl-convert.l | 4 + gas/testsuite/gas/arm/blx-bl-convert.s | 20 + gas/testsuite/gas/arm/blx-local.d | 2 +- gas/testsuite/gas/arm/branch-reloc.d | 4 +- gas/testsuite/gas/arm/got_prel.d | 4 +- gas/testsuite/gas/arm/ldconst.d | 15 + gas/testsuite/gas/arm/ldconst.s | 11 + gas/testsuite/gas/arm/ldgesb-bad.d | 1 + gas/testsuite/gas/arm/ldgesh-bad.d | 1 + gas/testsuite/gas/arm/thumb2_pool.d | 15 + gas/testsuite/gas/arm/thumb2_pool.s | 11 + gas/testsuite/gas/arm/thumb2_vpool.d | 169 + gas/testsuite/gas/arm/thumb2_vpool.s | 95 + gas/testsuite/gas/arm/thumb2_vpool_be.d | 176 + gas/testsuite/gas/arm/ual-vcmp.d | 24 + gas/testsuite/gas/arm/ual-vcmp.s | 21 + gas/testsuite/gas/arm/vcmp-zero-bad.d | 4 + gas/testsuite/gas/arm/vcmp-zero-bad.l | 8 + gas/testsuite/gas/arm/vcmp-zero-bad.s | 12 + gas/testsuite/gas/arm/vldconst.d | 280 + gas/testsuite/gas/arm/vldconst.s | 146 + gas/testsuite/gas/arm/vldconst_be.d | 285 + gas/testsuite/gas/avr/link-relax-elf-flag-clear.d | 10 + gas/testsuite/gas/avr/link-relax-elf-flag-set.d | 10 + gas/testsuite/gas/avr/link-relax-elf-flag.s | 4 + gas/testsuite/gas/avr/noreloc_withoutrelax.d | 2 +- gas/testsuite/gas/bfin/load.d | 11 +- gas/testsuite/gas/bfin/load.s | 1 + gas/testsuite/gas/bfin/parallel_illegal.d | 10 +- gas/testsuite/gas/cris/range-err-3.s | 10 + gas/testsuite/gas/cris/rd-bkw4v32.d | 2 +- gas/testsuite/gas/elf/bad-group.err | 3 +- gas/testsuite/gas/elf/bad-group.s | 2 +- gas/testsuite/gas/elf/bad-size.err | 3 +- gas/testsuite/gas/elf/elf.exp | 14 +- gas/testsuite/gas/elf/group2.d | 12 + gas/testsuite/gas/elf/group2.s | 9 + .../gas/elf/{section2.e-armeabi => section2.e-arm} | 0 gas/testsuite/gas/elf/section2.e-armelf | 10 - gas/testsuite/gas/elf/section2.e-mips | 8 +- gas/testsuite/gas/elf/type.e | 14 +- gas/testsuite/gas/i386/avx512bw-intel.d | 1602 + gas/testsuite/gas/i386/avx512bw-opts-intel.d | 60 + gas/testsuite/gas/i386/avx512bw-opts.d | 60 + gas/testsuite/gas/i386/avx512bw-opts.s | 55 + gas/testsuite/gas/i386/avx512bw-wig.s | 983 + gas/testsuite/gas/i386/avx512bw-wig1-intel.d | 988 + gas/testsuite/gas/i386/avx512bw-wig1.d | 988 + gas/testsuite/gas/i386/avx512bw.d | 1602 + gas/testsuite/gas/i386/avx512bw.s | 1597 + gas/testsuite/gas/i386/avx512bw_vl-intel.d | 2632 ++ gas/testsuite/gas/i386/avx512bw_vl-opts-intel.d | 76 + gas/testsuite/gas/i386/avx512bw_vl-opts.d | 76 + gas/testsuite/gas/i386/avx512bw_vl-opts.s | 71 + gas/testsuite/gas/i386/avx512bw_vl-wig.s | 1679 + gas/testsuite/gas/i386/avx512bw_vl-wig1-intel.d | 1684 + gas/testsuite/gas/i386/avx512bw_vl-wig1.d | 1684 + gas/testsuite/gas/i386/avx512bw_vl.d | 2632 ++ gas/testsuite/gas/i386/avx512bw_vl.s | 2627 ++ gas/testsuite/gas/i386/avx512cd_vl-intel.d | 228 + gas/testsuite/gas/i386/avx512cd_vl.d | 228 + gas/testsuite/gas/i386/avx512cd_vl.s | 223 + gas/testsuite/gas/i386/avx512dq-intel.d | 1288 + gas/testsuite/gas/i386/avx512dq-rcig.s | 47 + gas/testsuite/gas/i386/avx512dq-rcigrd-intel.d | 52 + gas/testsuite/gas/i386/avx512dq-rcigrd.d | 52 + gas/testsuite/gas/i386/avx512dq-rcigrne-intel.d | 52 + gas/testsuite/gas/i386/avx512dq-rcigrne.d | 52 + gas/testsuite/gas/i386/avx512dq-rcigru-intel.d | 52 + gas/testsuite/gas/i386/avx512dq-rcigru.d | 52 + gas/testsuite/gas/i386/avx512dq-rcigrz-intel.d | 52 + gas/testsuite/gas/i386/avx512dq-rcigrz.d | 52 + gas/testsuite/gas/i386/avx512dq.d | 1288 + gas/testsuite/gas/i386/avx512dq.s | 1283 + gas/testsuite/gas/i386/avx512dq_vl-intel.d | 1600 + gas/testsuite/gas/i386/avx512dq_vl.d | 1600 + gas/testsuite/gas/i386/avx512dq_vl.s | 1595 + gas/testsuite/gas/i386/avx512er-rcig.s | 27 + gas/testsuite/gas/i386/avx512er-rcigrd-intel.d | 32 + gas/testsuite/gas/i386/avx512er-rcigrd.d | 32 + gas/testsuite/gas/i386/avx512er-rcigrne-intel.d | 32 + gas/testsuite/gas/i386/avx512er-rcigrne.d | 32 + gas/testsuite/gas/i386/avx512er-rcigru-intel.d | 32 + gas/testsuite/gas/i386/avx512er-rcigru.d | 32 + gas/testsuite/gas/i386/avx512er-rcigrz-intel.d | 32 + gas/testsuite/gas/i386/avx512er-rcigrz.d | 32 + gas/testsuite/gas/i386/avx512f-rcig.s | 137 + gas/testsuite/gas/i386/avx512f-rcigrd-intel.d | 142 + gas/testsuite/gas/i386/avx512f-rcigrd.d | 142 + gas/testsuite/gas/i386/avx512f-rcigrne-intel.d | 142 + gas/testsuite/gas/i386/avx512f-rcigrne.d | 142 + gas/testsuite/gas/i386/avx512f-rcigru-intel.d | 142 + gas/testsuite/gas/i386/avx512f-rcigru.d | 142 + gas/testsuite/gas/i386/avx512f-rcigrz-intel.d | 142 + gas/testsuite/gas/i386/avx512f-rcigrz.d | 142 + gas/testsuite/gas/i386/avx512f_vl-intel.d |11402 ++++++ gas/testsuite/gas/i386/avx512f_vl-opts-intel.d | 268 + gas/testsuite/gas/i386/avx512f_vl-opts.d | 268 + gas/testsuite/gas/i386/avx512f_vl-opts.s | 263 + gas/testsuite/gas/i386/avx512f_vl-wig.s | 263 + gas/testsuite/gas/i386/avx512f_vl-wig1-intel.d | 268 + gas/testsuite/gas/i386/avx512f_vl-wig1.d | 268 + gas/testsuite/gas/i386/avx512f_vl.d |11402 ++++++ gas/testsuite/gas/i386/avx512f_vl.s |11397 ++++++ gas/testsuite/gas/i386/avx512ifma-intel.d | 68 + gas/testsuite/gas/i386/avx512ifma.d | 68 + gas/testsuite/gas/i386/avx512ifma.s | 63 + gas/testsuite/gas/i386/avx512ifma_vl-intel.d | 116 + gas/testsuite/gas/i386/avx512ifma_vl.d | 116 + gas/testsuite/gas/i386/avx512ifma_vl.s | 111 + gas/testsuite/gas/i386/avx512vbmi-intel.d | 94 + gas/testsuite/gas/i386/avx512vbmi.d | 94 + gas/testsuite/gas/i386/avx512vbmi.s | 89 + gas/testsuite/gas/i386/avx512vbmi_vl-intel.d | 160 + gas/testsuite/gas/i386/avx512vbmi_vl.d | 160 + gas/testsuite/gas/i386/avx512vbmi_vl.s | 155 + gas/testsuite/gas/i386/cdr.d | 13 + gas/testsuite/gas/i386/cdr.s | 14 + gas/testsuite/gas/i386/clwb-intel.d | 16 + gas/testsuite/gas/i386/clwb.d | 16 + gas/testsuite/gas/i386/clwb.s | 12 + gas/testsuite/gas/i386/evex-lig256-intel.d | 16 +- gas/testsuite/gas/i386/evex-lig256.d | 16 +- gas/testsuite/gas/i386/evex-lig512-intel.d | 16 +- gas/testsuite/gas/i386/evex-lig512.d | 16 +- gas/testsuite/gas/i386/i386.exp | 129 + gas/testsuite/gas/i386/ilp32/x32-tls.d | 13 + gas/testsuite/gas/i386/ilp32/x32-tls.s | 13 + gas/testsuite/gas/i386/ilp32/x86-64-size-1.d | 4 +- gas/testsuite/gas/i386/ilp32/x86-64-size-3.d | 4 +- gas/testsuite/gas/i386/ilp32/x86-64-size-5.d | 4 +- gas/testsuite/gas/i386/ilp32/x86-64-unwind.d | 6 +- gas/testsuite/gas/i386/inval-16.l | 20 + gas/testsuite/gas/i386/inval-16.s | 9 + gas/testsuite/gas/i386/inval-equ-2.l | 12 +- gas/testsuite/gas/i386/mpx-inval-1.l | 9 +- gas/testsuite/gas/i386/omit-lock-no.d | 12 + gas/testsuite/gas/i386/omit-lock-yes.d | 12 + gas/testsuite/gas/i386/omit-lock.s | 5 + gas/testsuite/gas/i386/pcommit-intel.d | 14 + gas/testsuite/gas/i386/pcommit.d | 14 + gas/testsuite/gas/i386/pcommit.s | 10 + gas/testsuite/gas/i386/prefix.d | 2 + gas/testsuite/gas/i386/prefix.s | 3 + gas/testsuite/gas/i386/reloc32.l | 1 + gas/testsuite/gas/i386/reloc64.d | 2 + gas/testsuite/gas/i386/reloc64.l | 10 + gas/testsuite/gas/i386/reloc64.s | 16 + gas/testsuite/gas/i386/size-1.d | 4 +- gas/testsuite/gas/i386/size-3.d | 4 +- gas/testsuite/gas/i386/suffix-intel.d | 26 + gas/testsuite/gas/i386/suffix.d | 26 +- gas/testsuite/gas/i386/suffix.s | 13 +- gas/testsuite/gas/i386/x86-64-avx512bw-intel.d | 1706 + .../gas/i386/x86-64-avx512bw-opts-intel.d | 84 + gas/testsuite/gas/i386/x86-64-avx512bw-opts.d | 84 + gas/testsuite/gas/i386/x86-64-avx512bw-opts.s | 79 + gas/testsuite/gas/i386/x86-64-avx512bw-wig.s | 1069 + .../gas/i386/x86-64-avx512bw-wig1-intel.d | 1074 + gas/testsuite/gas/i386/x86-64-avx512bw-wig1.d | 1074 + gas/testsuite/gas/i386/x86-64-avx512bw.d | 1706 + gas/testsuite/gas/i386/x86-64-avx512bw.s | 1701 + gas/testsuite/gas/i386/x86-64-avx512bw_vl-intel.d | 3056 ++ .../gas/i386/x86-64-avx512bw_vl-opts-intel.d | 108 + gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts.d | 108 + gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts.s | 103 + gas/testsuite/gas/i386/x86-64-avx512bw_vl-wig.s | 1979 + .../gas/i386/x86-64-avx512bw_vl-wig1-intel.d | 1984 + gas/testsuite/gas/i386/x86-64-avx512bw_vl-wig1.d | 1984 + gas/testsuite/gas/i386/x86-64-avx512bw_vl.d | 3056 ++ gas/testsuite/gas/i386/x86-64-avx512bw_vl.s | 3051 ++ gas/testsuite/gas/i386/x86-64-avx512cd_vl-intel.d | 244 + gas/testsuite/gas/i386/x86-64-avx512cd_vl.d | 244 + gas/testsuite/gas/i386/x86-64-avx512cd_vl.s | 239 + gas/testsuite/gas/i386/x86-64-avx512dq-intel.d | 1408 + gas/testsuite/gas/i386/x86-64-avx512dq-rcig.s | 47 + .../gas/i386/x86-64-avx512dq-rcigrd-intel.d | 52 + gas/testsuite/gas/i386/x86-64-avx512dq-rcigrd.d | 52 + .../gas/i386/x86-64-avx512dq-rcigrne-intel.d | 52 + gas/testsuite/gas/i386/x86-64-avx512dq-rcigrne.d | 52 + .../gas/i386/x86-64-avx512dq-rcigru-intel.d | 52 + gas/testsuite/gas/i386/x86-64-avx512dq-rcigru.d | 52 + .../gas/i386/x86-64-avx512dq-rcigrz-intel.d | 52 + gas/testsuite/gas/i386/x86-64-avx512dq-rcigrz.d | 52 + gas/testsuite/gas/i386/x86-64-avx512dq.d | 1408 + gas/testsuite/gas/i386/x86-64-avx512dq.s | 1403 + gas/testsuite/gas/i386/x86-64-avx512dq_vl-intel.d | 1730 + gas/testsuite/gas/i386/x86-64-avx512dq_vl.d | 1730 + gas/testsuite/gas/i386/x86-64-avx512dq_vl.s | 1725 + gas/testsuite/gas/i386/x86-64-avx512er-rcig.s | 27 + .../gas/i386/x86-64-avx512er-rcigrd-intel.d | 32 + gas/testsuite/gas/i386/x86-64-avx512er-rcigrd.d | 32 + .../gas/i386/x86-64-avx512er-rcigrne-intel.d | 32 + gas/testsuite/gas/i386/x86-64-avx512er-rcigrne.d | 32 + .../gas/i386/x86-64-avx512er-rcigru-intel.d | 32 + gas/testsuite/gas/i386/x86-64-avx512er-rcigru.d | 32 + .../gas/i386/x86-64-avx512er-rcigrz-intel.d | 32 + gas/testsuite/gas/i386/x86-64-avx512er-rcigrz.d | 32 + gas/testsuite/gas/i386/x86-64-avx512f-rcig.s | 529 + .../gas/i386/x86-64-avx512f-rcigrd-intel.d | 534 + gas/testsuite/gas/i386/x86-64-avx512f-rcigrd.d | 534 + .../gas/i386/x86-64-avx512f-rcigrne-intel.d | 534 + gas/testsuite/gas/i386/x86-64-avx512f-rcigrne.d | 534 + .../gas/i386/x86-64-avx512f-rcigru-intel.d | 534 + gas/testsuite/gas/i386/x86-64-avx512f-rcigru.d | 534 + .../gas/i386/x86-64-avx512f-rcigrz-intel.d | 534 + gas/testsuite/gas/i386/x86-64-avx512f-rcigrz.d | 534 + gas/testsuite/gas/i386/x86-64-avx512f_vl-intel.d |12626 +++++++ .../gas/i386/x86-64-avx512f_vl-opts-intel.d | 396 + gas/testsuite/gas/i386/x86-64-avx512f_vl-opts.d | 396 + gas/testsuite/gas/i386/x86-64-avx512f_vl-opts.s | 391 + gas/testsuite/gas/i386/x86-64-avx512f_vl-wig.s | 295 + .../gas/i386/x86-64-avx512f_vl-wig1-intel.d | 300 + gas/testsuite/gas/i386/x86-64-avx512f_vl-wig1.d | 300 + gas/testsuite/gas/i386/x86-64-avx512f_vl.d |12626 +++++++ gas/testsuite/gas/i386/x86-64-avx512f_vl.s |12621 +++++++ gas/testsuite/gas/i386/x86-64-avx512ifma-intel.d | 68 + gas/testsuite/gas/i386/x86-64-avx512ifma.d | 68 + gas/testsuite/gas/i386/x86-64-avx512ifma.s | 63 + .../gas/i386/x86-64-avx512ifma_vl-intel.d | 124 + gas/testsuite/gas/i386/x86-64-avx512ifma_vl.d | 124 + gas/testsuite/gas/i386/x86-64-avx512ifma_vl.s | 119 + gas/testsuite/gas/i386/x86-64-avx512vbmi-intel.d | 94 + gas/testsuite/gas/i386/x86-64-avx512vbmi.d | 94 + gas/testsuite/gas/i386/x86-64-avx512vbmi.s | 89 + .../gas/i386/x86-64-avx512vbmi_vl-intel.d | 176 + gas/testsuite/gas/i386/x86-64-avx512vbmi_vl.d | 176 + gas/testsuite/gas/i386/x86-64-avx512vbmi_vl.s | 171 + gas/testsuite/gas/i386/x86-64-cdr.d | 14 + gas/testsuite/gas/i386/x86-64-clwb-intel.d | 16 + gas/testsuite/gas/i386/x86-64-clwb.d | 16 + gas/testsuite/gas/i386/x86-64-clwb.s | 12 + gas/testsuite/gas/i386/x86-64-equ.d | 11 + gas/testsuite/gas/i386/x86-64-equ.s | 10 + gas/testsuite/gas/i386/x86-64-evex-lig256-intel.d | 16 +- gas/testsuite/gas/i386/x86-64-evex-lig256.d | 16 +- gas/testsuite/gas/i386/x86-64-evex-lig512-intel.d | 16 +- gas/testsuite/gas/i386/x86-64-evex-lig512.d | 16 +- gas/testsuite/gas/i386/x86-64-mpx-branch-1.d | 16 +- gas/testsuite/gas/i386/x86-64-mpx-branch-2.d | 16 +- gas/testsuite/gas/i386/x86-64-mpx-inval-1.l | 9 +- gas/testsuite/gas/i386/x86-64-mpx-inval-2.l | 3 +- gas/testsuite/gas/i386/x86-64-pcommit-intel.d | 14 + gas/testsuite/gas/i386/x86-64-pcommit.d | 14 + gas/testsuite/gas/i386/x86-64-pcommit.s | 10 + gas/testsuite/gas/i386/x86-64-size-1.d | 4 +- gas/testsuite/gas/i386/x86-64-size-3.d | 4 +- gas/testsuite/gas/i386/x86-64-size-5.d | 4 +- gas/testsuite/gas/i386/x86-64-suffix-intel.d | 30 + gas/testsuite/gas/i386/x86-64-suffix.d | 29 + gas/testsuite/gas/i386/x86-64-suffix.s | 28 + gas/testsuite/gas/i386/x86-64-unwind.d | 6 +- gas/testsuite/gas/ia64/alias-ilp32.d | 6 +- gas/testsuite/gas/ia64/alias.d | 6 +- gas/testsuite/gas/ia64/group-1.d | 6 +- gas/testsuite/gas/ia64/group-2.d | 8 +- gas/testsuite/gas/ia64/secname-ilp32.d | 6 +- gas/testsuite/gas/ia64/secname.d | 6 +- gas/testsuite/gas/ia64/unwind-ilp32.d | 6 +- gas/testsuite/gas/ia64/unwind.d | 6 +- gas/testsuite/gas/macros/dot.l | 4 +- gas/testsuite/gas/macros/dot.s | 4 +- gas/testsuite/gas/mips/24k-triple-stores-1.s | 4 + gas/testsuite/gas/mips/24k-triple-stores-2.s | 2 + gas/testsuite/gas/mips/24k-triple-stores-3.s | 2 + gas/testsuite/gas/mips/24k-triple-stores-6.s | 2 + gas/testsuite/gas/mips/add.d | 2 +- gas/testsuite/gas/mips/add.s | 8 +- gas/testsuite/gas/mips/attr-gnu-4-0.d | 17 + gas/testsuite/gas/mips/attr-gnu-4-0.s | 1 + gas/testsuite/gas/mips/attr-gnu-4-1-mfp32.l | 3 + gas/testsuite/gas/mips/attr-gnu-4-1-mfp32.s | 1 + gas/testsuite/gas/mips/attr-gnu-4-1-mfp64.l | 2 + gas/testsuite/gas/mips/attr-gnu-4-1-mfp64.s | 1 + gas/testsuite/gas/mips/attr-gnu-4-1-mfpxx.s | 1 + .../gas/mips/attr-gnu-4-1-msingle-float.l | 2 + .../gas/mips/attr-gnu-4-1-msingle-float.s | 1 + gas/testsuite/gas/mips/attr-gnu-4-1-msoft-float.l | 2 + gas/testsuite/gas/mips/attr-gnu-4-1-msoft-float.s | 1 + gas/testsuite/gas/mips/attr-gnu-4-1.d | 22 + gas/testsuite/gas/mips/attr-gnu-4-1.s | 1 + .../gas/mips/attr-gnu-4-2-mdouble-float.l | 2 + .../gas/mips/attr-gnu-4-2-mdouble-float.s | 0 gas/testsuite/gas/mips/attr-gnu-4-2-msoft-float.l | 2 + .../testsuite/gas/mips/attr-gnu-4-2-msoft-float.s | 0 gas/testsuite/gas/mips/attr-gnu-4-2.d | 23 + .../testsuite/gas/mips}/attr-gnu-4-2.s | 0 gas/testsuite/gas/mips/attr-gnu-4-3-mhard-float.l | 2 + .../testsuite/gas/mips/attr-gnu-4-3-mhard-float.s | 0 gas/testsuite/gas/mips/attr-gnu-4-3.d | 23 + .../testsuite/gas/mips}/attr-gnu-4-3.s | 0 gas/testsuite/gas/mips/attr-gnu-4-4.l | 2 + gas/testsuite/gas/mips/attr-gnu-4-4.s | 1 + gas/testsuite/gas/mips/attr-gnu-4-5-64.l | 2 + .../testsuite/gas/mips/attr-gnu-4-5-64.s | 0 .../gas/mips/attr-gnu-4-5-msingle-float.l | 2 + .../gas/mips/attr-gnu-4-5-msingle-float.s | 0 gas/testsuite/gas/mips/attr-gnu-4-5-msoft-float.l | 2 + .../testsuite/gas/mips/attr-gnu-4-5-msoft-float.s | 0 gas/testsuite/gas/mips/attr-gnu-4-5.d | 23 + gas/testsuite/gas/mips/attr-gnu-4-5.l | 2 + .../testsuite/gas/mips}/attr-gnu-4-5.s | 0 gas/testsuite/gas/mips/attr-gnu-4-6-64.l | 2 + gas/testsuite/gas/mips/attr-gnu-4-6-64.s | 1 + .../gas/mips/attr-gnu-4-6-msingle-float.l | 2 + .../gas/mips/attr-gnu-4-6-msingle-float.s | 1 + gas/testsuite/gas/mips/attr-gnu-4-6-msoft-float.l | 2 + gas/testsuite/gas/mips/attr-gnu-4-6-msoft-float.s | 1 + gas/testsuite/gas/mips/attr-gnu-4-6-noodd.l | 2 + gas/testsuite/gas/mips/attr-gnu-4-6-noodd.s | 1 + gas/testsuite/gas/mips/attr-gnu-4-6.d | 23 + gas/testsuite/gas/mips/attr-gnu-4-6.l | 2 + gas/testsuite/gas/mips/attr-gnu-4-6.s | 1 + gas/testsuite/gas/mips/attr-gnu-4-7-64.l | 2 + gas/testsuite/gas/mips/attr-gnu-4-7-64.s | 1 + .../gas/mips/attr-gnu-4-7-msingle-float.l | 2 + .../gas/mips/attr-gnu-4-7-msingle-float.s | 1 + gas/testsuite/gas/mips/attr-gnu-4-7-msoft-float.l | 2 + gas/testsuite/gas/mips/attr-gnu-4-7-msoft-float.s | 1 + gas/testsuite/gas/mips/attr-gnu-4-7-odd.l | 2 + gas/testsuite/gas/mips/attr-gnu-4-7-odd.s | 1 + gas/testsuite/gas/mips/attr-gnu-4-7.d | 23 + gas/testsuite/gas/mips/attr-gnu-4-7.l | 2 + gas/testsuite/gas/mips/attr-gnu-4-7.s | 1 + gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d | 14 + gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d | 3 + gas/testsuite/gas/mips/attr-none-double.d | 22 + .../gas/mips/attr-none-o32-fp64-nooddspreg.d | 23 + gas/testsuite/gas/mips/attr-none-o32-fp64.d | 23 + gas/testsuite/gas/mips/attr-none-o32-fpxx.d | 23 + gas/testsuite/gas/mips/attr-none-single-float.d | 23 + gas/testsuite/gas/mips/attr-none-soft-float.d | 23 + gas/testsuite/gas/mips/beq.s | 2 + gas/testsuite/gas/mips/cache.s | 5 + gas/testsuite/gas/mips/call-nonpic-1.d | 13 + gas/testsuite/gas/mips/elf_arch_mips1.d | 13 + gas/testsuite/gas/mips/elf_arch_mips2.d | 13 + gas/testsuite/gas/mips/elf_arch_mips3.d | 13 + gas/testsuite/gas/mips/elf_arch_mips32.d | 13 + gas/testsuite/gas/mips/elf_arch_mips32r2.d | 13 + gas/testsuite/gas/mips/elf_arch_mips32r3.d | 21 + gas/testsuite/gas/mips/elf_arch_mips32r5.d | 21 + gas/testsuite/gas/mips/elf_arch_mips32r6.d | 21 + gas/testsuite/gas/mips/elf_arch_mips4.d | 13 + gas/testsuite/gas/mips/elf_arch_mips5.d | 13 + gas/testsuite/gas/mips/elf_arch_mips64.d | 13 + gas/testsuite/gas/mips/elf_arch_mips64r2.d | 15 +- gas/testsuite/gas/mips/elf_arch_mips64r3.d | 21 + gas/testsuite/gas/mips/elf_arch_mips64r5.d | 21 + gas/testsuite/gas/mips/elf_arch_mips64r6.d | 21 + gas/testsuite/gas/mips/elf_ase_micromips-2.d | 13 + gas/testsuite/gas/mips/elf_ase_micromips.d | 13 + gas/testsuite/gas/mips/elf_ase_mips16-2.d | 13 + gas/testsuite/gas/mips/elf_ase_mips16.d | 13 + gas/testsuite/gas/mips/eva.s | 4 + gas/testsuite/gas/mips/fpxx-oddfpreg.d | 12 + gas/testsuite/gas/mips/fpxx-oddfpreg.l | 5 + gas/testsuite/gas/mips/fpxx-oddfpreg.s | 4 + gas/testsuite/gas/mips/insn-opts.d | 18 + gas/testsuite/gas/mips/insn-opts.s | 23 + gas/testsuite/gas/mips/l_d.d | 72 +- gas/testsuite/gas/mips/ld.d | 144 +- gas/testsuite/gas/mips/ldpc-unalign.l | 9 + gas/testsuite/gas/mips/ldpc-unalign.s | 18 + gas/testsuite/gas/mips/li-d.d | 31 + gas/testsuite/gas/mips/li-d.s | 24 + gas/testsuite/gas/mips/micromips@add.d | 3 +- gas/testsuite/gas/mips/micromips@mips1-fp.d | 2 +- gas/testsuite/gas/mips/mips.exp | 328 +- gas/testsuite/gas/mips/mips1-fp.d | 2 +- gas/testsuite/gas/mips/mips1-fp.l | 2 +- gas/testsuite/gas/mips/mips1-fp.s | 2 +- gas/testsuite/gas/mips/mips16-e.d | 7 + gas/testsuite/gas/mips/mips16-f.d | 7 + gas/testsuite/gas/mips/mips1@l_d.d | 144 +- gas/testsuite/gas/mips/mips1@ld-forward.d | 144 +- gas/testsuite/gas/mips/mips1@ld.d | 144 +- gas/testsuite/gas/mips/mips1@s_d.d | 144 +- gas/testsuite/gas/mips/mips32-cp2.s | 4 + gas/testsuite/gas/mips/mips32.s | 6 + gas/testsuite/gas/mips/mips4.s | 2 + gas/testsuite/gas/mips/mipsel16-e.d | 7 + gas/testsuite/gas/mips/mipsel16-f.d | 7 + gas/testsuite/gas/mips/mipsr6@24k-branch-delay-1.d | 23 + .../gas/mips/mipsr6@24k-triple-stores-1.d | 68 + .../gas/mips/mipsr6@24k-triple-stores-2-llsc.d | 17 + .../gas/mips/mipsr6@24k-triple-stores-2.d | 24 + .../gas/mips/mipsr6@24k-triple-stores-3.d | 57 + .../gas/mips/mipsr6@24k-triple-stores-6.d | 20 + gas/testsuite/gas/mips/mipsr6@add.d | 12 + .../gas/mips/mipsr6@attr-gnu-4-1-msingle-float.l | 3 + .../gas/mips/mipsr6@attr-gnu-4-1-msingle-float.s | 1 + .../gas/mips/mipsr6@attr-gnu-4-1-msoft-float.l | 3 + .../gas/mips/mipsr6@attr-gnu-4-1-msoft-float.s | 1 + .../gas/mips/mipsr6@attr-gnu-4-2-mdouble-float.l | 2 + .../gas/mips/mipsr6@attr-gnu-4-2-mdouble-float.s | 0 gas/testsuite/gas/mips/mipsr6@beq.d | 41 + gas/testsuite/gas/mips/mipsr6@bge.d | 72 + gas/testsuite/gas/mips/mipsr6@bgeu.d | 63 + gas/testsuite/gas/mips/mipsr6@blt.d | 72 + gas/testsuite/gas/mips/mipsr6@bltu.d | 63 + gas/testsuite/gas/mips/mipsr6@branch-misc-1.d | 35 + gas/testsuite/gas/mips/mipsr6@branch-misc-2-64.d | 62 + .../gas/mips/mipsr6@branch-misc-2pic-64.d | 62 + gas/testsuite/gas/mips/mipsr6@branch-misc-4-64.d | 35 + gas/testsuite/gas/mips/mipsr6@cache.d | 13 + gas/testsuite/gas/mips/mipsr6@eva.d | 952 + .../gas/mips/mipsr6@jal-svr4pic-noreorder.d | 46 + gas/testsuite/gas/mips/mipsr6@jal-svr4pic.d | 44 + gas/testsuite/gas/mips/mipsr6@ld-zero-2.d | 13 + gas/testsuite/gas/mips/mipsr6@ld-zero-3.d | 19 + gas/testsuite/gas/mips/mipsr6@loc-swap-dis.d | 34 + gas/testsuite/gas/mips/mipsr6@mips32-cp2.d | 20 + gas/testsuite/gas/mips/mipsr6@mips32-dsp.d | 147 + gas/testsuite/gas/mips/mipsr6@mips32-dspr2.d | 73 + gas/testsuite/gas/mips/mipsr6@mips32-imm.d | 13 + gas/testsuite/gas/mips/mipsr6@mips32.d | 32 + gas/testsuite/gas/mips/mipsr6@mips32r2-ill.l | 13 + gas/testsuite/gas/mips/mipsr6@mips32r2-ill.s | 58 + gas/testsuite/gas/mips/mipsr6@mips32r2.d | 45 + gas/testsuite/gas/mips/mipsr6@mips4-fp.d | 13 + gas/testsuite/gas/mips/mipsr6@mips4-fp.l | 5 + gas/testsuite/gas/mips/mipsr6@mips4-fp.s | 11 + gas/testsuite/gas/mips/mipsr6@mips4.d | 11 + gas/testsuite/gas/mips/mipsr6@mips5-fp.d | 12 + gas/testsuite/gas/mips/mipsr6@mips5-fp.l | 3 + gas/testsuite/gas/mips/mipsr6@mips5-fp.s | 8 + gas/testsuite/gas/mips/mipsr6@mips64.d | 13 + gas/testsuite/gas/mips/mipsr6@msa-branch.d | 309 + gas/testsuite/gas/mips/mipsr6@msa.d | 788 + gas/testsuite/gas/mips/mipsr6@pref.d | 13 + gas/testsuite/gas/mips/mipsr6@relax-swap3.d | 22 + gas/testsuite/gas/mips/module-check-warn.l | 5 + gas/testsuite/gas/mips/module-check-warn.s | 3 + gas/testsuite/gas/mips/module-check.d | 21 + gas/testsuite/gas/mips/module-check.s | 4 + gas/testsuite/gas/mips/module-defer-warn1.d | 13 + gas/testsuite/gas/mips/module-defer-warn2.l | 4 +- gas/testsuite/gas/mips/module-mfp32.d | 21 + gas/testsuite/gas/mips/module-mfp32.s | 3 + gas/testsuite/gas/mips/module-mfp64-noodd.d | 21 + gas/testsuite/gas/mips/module-mfp64-noodd.s | 4 + gas/testsuite/gas/mips/module-mfp64.d | 21 + gas/testsuite/gas/mips/module-mfp64.s | 4 + gas/testsuite/gas/mips/module-mfpxx.d | 21 + gas/testsuite/gas/mips/module-mfpxx.s | 3 + gas/testsuite/gas/mips/module-msingle-float.d | 21 + gas/testsuite/gas/mips/module-msingle-float.s | 3 + gas/testsuite/gas/mips/module-msoft-float.d | 21 + gas/testsuite/gas/mips/module-msoft-float.s | 3 + gas/testsuite/gas/mips/module-override.d | 13 + gas/testsuite/gas/mips/module-set-mfpxx.d | 21 + gas/testsuite/gas/mips/module-set-mfpxx.s | 16 + gas/testsuite/gas/mips/n32-consec.d | 13 + gas/testsuite/gas/mips/nan-2008-1.d | 1 + gas/testsuite/gas/mips/nan-2008-2.d | 1 + gas/testsuite/gas/mips/nan-2008-3.d | 1 + gas/testsuite/gas/mips/nan-2008-4.d | 1 + gas/testsuite/gas/mips/nan-legacy-1.d | 14 + gas/testsuite/gas/mips/nan-legacy-2.d | 14 + gas/testsuite/gas/mips/nan-legacy-3.d | 14 + gas/testsuite/gas/mips/nan-legacy-4.d | 14 + gas/testsuite/gas/mips/nan-legacy-5.d | 14 + gas/testsuite/gas/mips/no-odd-spreg.d | 22 + gas/testsuite/gas/mips/octeon3.d | 20 + gas/testsuite/gas/mips/octeon3.s | 22 + gas/testsuite/gas/mips/odd-spreg.d | 22 + gas/testsuite/gas/mips/r6-64-n32.d | 64 + gas/testsuite/gas/mips/r6-64-n64.d | 82 + gas/testsuite/gas/mips/r6-64-removed.l | 10 + gas/testsuite/gas/mips/r6-64-removed.s | 10 + gas/testsuite/gas/mips/r6-64.s | 64 + gas/testsuite/gas/mips/r6-attr-none-double.d | 22 + gas/testsuite/gas/mips/r6-n32.d | 496 + gas/testsuite/gas/mips/r6-n64.d | 752 + gas/testsuite/gas/mips/r6-removed.l | 196 + gas/testsuite/gas/mips/r6-removed.s | 198 + gas/testsuite/gas/mips/r6.d | 495 + gas/testsuite/gas/mips/r6.s | 266 + gas/testsuite/gas/mips/s_d.d | 72 +- gas/testsuite/gas/mips/sd.d | 144 +- gas/testsuite/gas/mips/tmips16-e.d | 7 + gas/testsuite/gas/mips/tmips16-f.d | 7 + gas/testsuite/gas/mips/tmipsel16-e.d | 7 + gas/testsuite/gas/mips/tmipsel16-f.d | 7 + gas/testsuite/gas/mmix/bspec-1.d | 2 +- gas/testsuite/gas/mmix/bspec-2.d | 10 +- gas/testsuite/gas/mmix/byte-1.d | 6 +- gas/testsuite/gas/mmix/loc-1.d | 6 +- gas/testsuite/gas/mmix/loc-2.d | 6 +- gas/testsuite/gas/mmix/loc-3.d | 6 +- gas/testsuite/gas/mmix/loc-4.d | 6 +- gas/testsuite/gas/mmix/loc-5.d | 6 +- gas/testsuite/gas/nios2/movi.d | 13 - gas/testsuite/gas/nios2/movi.l | 6 + gas/testsuite/gas/nios2/movi.s | 18 +- gas/testsuite/gas/nios2/nios2.exp | 1 + gas/testsuite/gas/pe/pe.exp | 2 + gas/testsuite/gas/pe/set.d | 11 + gas/testsuite/gas/pe/set.s | 9 + gas/testsuite/gas/ppc/476.d | 2 +- gas/testsuite/gas/ppc/a2.d | 4 +- gas/testsuite/gas/ppc/power8.d | 2 + gas/testsuite/gas/ppc/power8.s | 2 + gas/testsuite/gas/sparc/hpcvis3.d | 10 +- gas/testsuite/gas/sparc/hpcvis3.s | 10 +- gas/testsuite/gas/sparc/ld_st_fsr.d | 11 + gas/testsuite/gas/sparc/ld_st_fsr.s | 4 + gas/testsuite/gas/sparc/ldx_efsr.d | 10 + gas/testsuite/gas/sparc/ldx_efsr.s | 3 + gas/testsuite/gas/sparc/ldx_stx.d | 15 + gas/testsuite/gas/sparc/ldx_stx.s | 8 + gas/testsuite/gas/sparc/mcdper.d | 15 + gas/testsuite/gas/sparc/mcdper.s | 5 + gas/testsuite/gas/sparc/mwait.d | 13 + gas/testsuite/gas/sparc/mwait.s | 7 + gas/testsuite/gas/sparc/sparc.exp | 7 + gas/testsuite/gas/sparc/sparc5vis4.d | 38 + gas/testsuite/gas/sparc/sparc5vis4.s | 31 + gas/testsuite/gas/sparc/xcrypto.d | 105 + gas/testsuite/gas/sparc/xcrypto.s | 98 + gas/testsuite/gas/symver/symver6.l | 1 + gas/testsuite/gas/tic6x/scomm-directive-4.d | 6 +- gas/testsuite/gas/vax/elf-rel.d | 8 +- gas/testsuite/gas/visium/allinsn_def.d | 134 + gas/testsuite/gas/visium/allinsn_def.s | 157 + gas/testsuite/gas/visium/allinsn_gr5.d | 153 + gas/testsuite/gas/visium/allinsn_gr5.s | 179 + gas/testsuite/gas/visium/allinsn_gr6.d | 159 + gas/testsuite/gas/visium/allinsn_gr6.s | 185 + gas/testsuite/gas/visium/basereg.s | 20 + gas/testsuite/gas/visium/brr-1.d | 16 + gas/testsuite/gas/visium/brr-1.s | 9 + gas/testsuite/gas/visium/brr-2.d | 18 + gas/testsuite/gas/visium/brr-2.s | 9 + gas/testsuite/gas/visium/brr_backward.s | 15 + gas/testsuite/gas/visium/brr_forward.s | 16 + gas/testsuite/gas/visium/error.exp | 35 + gas/testsuite/gas/visium/fcmp.s | 11 + gas/testsuite/gas/visium/high-1.d | 19 + gas/testsuite/gas/visium/high-1.s | 11 + gas/testsuite/gas/visium/immed-1.d | 17 + gas/testsuite/gas/visium/immed-1.s | 10 + gas/testsuite/gas/visium/rela-1.d | 18 + gas/testsuite/gas/visium/rela-1.s | 20 + gas/testsuite/gas/visium/visium.exp | 32 + gas/testsuite/gas/xtensa/trampoline.d | 9 + gas/testsuite/gas/xtensa/trampoline.s | 7 + gas/write.c | 160 +- gas/write.h | 1 - gdb/CONTRIBUTE | 7 +- gdb/ChangeLog | 7619 ++++- gdb/MAINTAINERS | 14 +- gdb/Makefile.in | 206 +- gdb/NEWS | 129 +- gdb/aarch64-linux-nat.c | 74 +- gdb/aarch64-linux-tdep.c | 116 +- gdb/aarch64-linux-tdep.h | 18 +- gdb/aarch64-tdep.c | 2 - gdb/acinclude.m4 | 76 +- gdb/acx_configure_dir.m4 | 10 +- gdb/ada-exp.y | 25 +- gdb/ada-lang.c | 343 +- gdb/ada-lang.h | 8 +- gdb/ada-lex.l | 2 - gdb/ada-tasks.c | 7 +- gdb/ada-typeprint.c | 34 +- gdb/ada-valprint.c | 16 +- gdb/ada-varobj.c | 3 +- gdb/addrmap.c | 5 - gdb/aix-thread.c | 2 - gdb/alpha-linux-tdep.c | 82 +- gdb/alpha-mdebug-tdep.c | 4 +- gdb/alpha-nat.c | 211 - gdb/alpha-osf1-tdep.c | 79 - gdb/alpha-tdep.c | 9 - gdb/alphabsd-tdep.h | 10 +- gdb/alphafbsd-tdep.c | 5 + gdb/alphanbsd-tdep.c | 90 +- gdb/alphaobsd-tdep.c | 4 +- gdb/amd64-dicos-tdep.c | 1 - gdb/amd64-linux-nat.c | 524 +- gdb/amd64-linux-tdep.c | 73 +- gdb/amd64-nat.c | 3 - gdb/amd64-sol2-tdep.c | 2 - gdb/amd64-tdep.c | 83 +- gdb/amd64-tdep.h | 2 + gdb/amd64-windows-nat.c | 4 +- gdb/amd64-windows-tdep.c | 11 +- gdb/amd64bsd-nat.c | 1 - gdb/amd64fbsd-nat.c | 21 +- gdb/amd64fbsd-tdep.c | 7 +- gdb/amd64nbsd-nat.c | 2 - gdb/amd64nbsd-tdep.c | 2 - gdb/amd64obsd-nat.c | 2 - gdb/amd64obsd-tdep.c | 22 +- gdb/annotate.c | 22 +- gdb/arch-utils.c | 70 +- gdb/arch-utils.h | 39 +- gdb/arm-linux-nat.c | 3 +- gdb/arm-linux-tdep.c | 111 +- gdb/arm-tdep.c | 1523 +- gdb/arm-tdep.h | 8 +- gdb/arm-wince-tdep.c | 7 +- gdb/armbsd-tdep.c | 23 +- gdb/armnbsd-nat.c | 2 - gdb/armnbsd-tdep.c | 2 - gdb/armobsd-tdep.c | 6 +- gdb/auto-load.c | 26 +- gdb/auxv.c | 1 - gdb/avr-tdep.c | 96 +- gdb/ax-gdb.c | 3 +- gdb/ax-general.c | 2 - gdb/bcache.c | 5 - gdb/bfin-linux-tdep.c | 2 +- gdb/bfin-tdep.c | 2 - gdb/block.c | 220 +- gdb/block.h | 67 +- gdb/blockframe.c | 27 +- gdb/break-catch-sig.c | 1 + gdb/break-catch-throw.c | 1 - gdb/breakpoint.c | 1060 +- gdb/breakpoint.h | 93 +- gdb/bsd-kvm.c | 8 +- gdb/bsd-uthread.c | 7 +- gdb/btrace.c | 12 +- gdb/build-id.c | 5 +- gdb/build-id.h | 4 + gdb/buildsym.c | 818 +- gdb/buildsym.h | 77 +- gdb/c-exp.y | 23 +- gdb/c-lang.c | 11 +- gdb/c-lang.h | 19 + gdb/c-typeprint.c | 2 - gdb/c-valprint.c | 11 +- gdb/c-varobj.c | 56 +- gdb/charset.c | 39 +- gdb/cleanups.c | 297 - gdb/cli-out.c | 2 - gdb/cli/cli-cmds.c | 29 +- gdb/cli/cli-decode.c | 74 +- gdb/cli/cli-decode.h | 28 +- gdb/cli/cli-dump.c | 52 +- gdb/cli/cli-interp.c | 2 - gdb/cli/cli-logging.c | 5 +- gdb/cli/cli-script.c | 53 +- gdb/cli/cli-setshow.c | 17 +- gdb/cli/cli-setshow.h | 8 +- gdb/cli/cli-utils.c | 35 +- gdb/cli/cli-utils.h | 12 +- gdb/coffread.c | 34 +- gdb/command.h | 48 +- gdb/common/agent.c | 136 +- gdb/common/btrace-common.h | 6 - gdb/common/buffer.c | 11 +- gdb/common/buffer.h | 4 - gdb/common/cleanups.c | 297 + gdb/{ => common}/cleanups.h | 0 gdb/common/common-debug.c | 37 + gdb/common/common-debug.h | 41 + gdb/common/common-defs.h | 52 + gdb/common/common-exceptions.c | 307 + gdb/common/common-exceptions.h | 185 + gdb/common/common-regcache.h | 36 + gdb/common/common-types.h | 61 + gdb/common/common-utils.c | 12 +- gdb/common/common-utils.h | 9 - gdb/common/common.m4 | 11 + gdb/common/errors.c | 69 + gdb/common/errors.h | 90 + gdb/common/filestuff.c | 9 +- gdb/common/format.c | 9 +- gdb/common/gdb_assert.h | 2 - gdb/common/gdb_setjmp.h | 34 + gdb/common/gdb_vecs.c | 7 +- gdb/common/i386-cpuid.h | 63 - gdb/common/i386-gcc-cpuid.h | 278 - gdb/common/i386-xstate.h | 67 - gdb/common/linux-btrace.c | 634 - gdb/common/linux-btrace.h | 78 - gdb/common/linux-osdata.c | 1634 - gdb/common/linux-osdata.h | 29 - gdb/common/linux-procfs.c | 121 - gdb/common/linux-procfs.h | 43 - gdb/common/linux-ptrace.c | 553 - gdb/common/linux-ptrace.h | 95 - gdb/common/mips-linux-watch.c | 349 - gdb/common/mips-linux-watch.h | 126 - gdb/common/print-utils.c | 9 +- gdb/common/ptid.c | 1 + gdb/common/queue.h | 3 - gdb/common/rsp-low.c | 9 +- gdb/common/signals.c | 8 +- gdb/common/symbol.h | 37 + gdb/common/vec.c | 7 +- gdb/common/vec.h | 5 - gdb/common/x86-xstate.h | 67 + gdb/common/xml-utils.c | 9 +- gdb/compile/compile-c-support.c | 399 + gdb/compile/compile-c-symbols.c | 759 + gdb/compile/compile-c-types.c | 438 + gdb/compile/compile-internal.h | 147 + gdb/compile/compile-loc2c.c | 1148 + gdb/compile/compile-object-load.c | 588 + gdb/compile/compile-object-load.h | 39 + gdb/compile/compile-object-run.c | 138 + gdb/compile/compile-object-run.h | 24 + gdb/compile/compile.c | 655 + gdb/compile/compile.h | 102 + gdb/complaints.c | 1 - gdb/completer.c | 67 +- gdb/completer.h | 13 +- gdb/config.in | 21 +- gdb/config/alpha/alpha-osf3.mh | 7 - gdb/config/alpha/nm-osf3.h | 35 - gdb/config/djgpp/fnchange.lst | 3 - gdb/config/i386/cygwin.mh | 2 +- gdb/config/i386/cygwin64.mh | 2 +- gdb/config/i386/darwin.mh | 2 +- gdb/config/i386/fbsd.mh | 2 +- gdb/config/i386/fbsd64.mh | 2 +- gdb/config/i386/go32.mh | 3 +- gdb/config/i386/i386gnu.mh | 3 +- gdb/config/i386/linux.mh | 2 +- gdb/config/i386/linux64.mh | 3 +- gdb/config/i386/mingw.mh | 2 +- gdb/config/i386/mingw64.mh | 2 +- gdb/config/ia64/linux.mh | 2 +- gdb/config/mips/irix5.mh | 4 - gdb/config/mips/irix6.mh | 4 - gdb/config/sparc/linux.mh | 2 +- gdb/config/sparc/linux64.mh | 1 - gdb/config/sparc/sol2.mh | 2 +- gdb/config/vax/vax.mh | 2 - gdb/configure | 817 +- gdb/configure.ac | 97 +- gdb/configure.host | 11 +- gdb/configure.tgt | 29 +- gdb/copyright.py | 2 +- gdb/core-regset.c | 2 - gdb/corefile.c | 60 +- gdb/corelow.c | 118 +- gdb/cp-abi.c | 4 - gdb/cp-name-parser.y | 6 - gdb/cp-namespace.c | 689 +- gdb/cp-support.c | 161 +- gdb/cp-support.h | 21 +- gdb/cp-valprint.c | 25 +- gdb/cris-tdep.c | 2 - gdb/ctf.c | 53 +- gdb/d-exp.y | 1636 + gdb/d-lang.c | 48 +- gdb/d-lang.h | 10 +- gdb/d-support.c | 621 - gdb/d-valprint.c | 5 +- gdb/darwin-nat.c | 4 +- gdb/darwin-nat.h | 1 - gdb/data-directory/Makefile.in | 139 +- gdb/dbug-rom.c | 4 +- gdb/dbxread.c | 29 +- gdb/dcache.c | 3 +- gdb/dcache.h | 2 + gdb/debug.c | 28 + gdb/dec-thread.c | 741 - gdb/defs.h | 118 +- gdb/demangle.c | 2 - gdb/dicos-tdep.c | 1 - gdb/dictionary.c | 1 - gdb/dink32-rom.c | 4 +- gdb/disasm.c | 14 +- gdb/doc/ChangeLog | 172 + gdb/doc/Makefile.in | 6 +- gdb/doc/gdb.texinfo | 696 +- gdb/doc/guile.texi | 40 +- gdb/doc/observer.texi | 16 + gdb/doc/python.texi | 210 +- gdb/doublest.c | 2 - gdb/dsrec.c | 2 - gdb/dummy-frame.c | 122 +- gdb/dummy-frame.h | 24 +- gdb/dwarf2-frame-tailcall.c | 2 - gdb/dwarf2-frame.c | 73 +- gdb/dwarf2-frame.h | 31 +- gdb/dwarf2expr.c | 7 +- gdb/dwarf2expr.h | 4 - gdb/dwarf2loc.c | 344 +- gdb/dwarf2loc.h | 46 +- gdb/dwarf2read.c | 910 +- gdb/elfread.c | 29 +- gdb/environ.c | 3 +- gdb/environ.h | 2 +- gdb/eval.c | 122 +- gdb/event-loop.c | 4 - gdb/event-top.c | 78 +- gdb/event-top.h | 14 +- gdb/exceptions.c | 335 +- gdb/exceptions.h | 177 - gdb/exec.c | 52 +- gdb/exec.h | 2 - gdb/expprint.c | 23 +- gdb/f-exp.y | 5 +- gdb/f-lang.c | 3 +- gdb/f-typeprint.c | 3 - gdb/f-valprint.c | 11 +- gdb/fbsd-nat.c | 80 - gdb/fbsd-nat.h | 6 - gdb/fbsd-tdep.c | 134 + gdb/fbsd-tdep.h | 25 + gdb/features/Makefile | 133 +- gdb/features/aarch64-core.xml | 2 +- gdb/features/aarch64.c | 2 +- gdb/features/i386/64bit-avx512.xml | 10 +- gdb/features/i386/amd64-avx512-linux.c | 3 +- gdb/features/i386/amd64-avx512.c | 3 +- gdb/features/i386/x32-avx512-linux.c | 3 +- gdb/features/i386/x32-avx512.c | 3 +- gdb/features/microblaze-core.xml | 67 + gdb/features/microblaze-stack-protect.xml | 12 + gdb/features/microblaze-with-stack-protect.c | 79 + gdb/features/microblaze-with-stack-protect.xml | 12 + gdb/features/microblaze.c | 75 + gdb/features/microblaze.xml | 11 + gdb/findcmd.c | 1 - gdb/findvar.c | 47 +- gdb/fork-child.c | 1 - gdb/frame-unwind.c | 4 +- gdb/frame.c | 24 +- gdb/frame.h | 6 +- gdb/frv-linux-tdep.c | 167 +- gdb/frv-tdep.c | 2 - gdb/gcore.c | 33 +- gdb/gdb-dlfcn.c | 2 - gdb/gdb-dlfcn.h | 2 - gdb/gdb.c | 1 - gdb/gdb_bfd.c | 2 - gdb/gdb_obstack.h | 6 +- gdb/gdb_wchar.h | 10 +- gdb/gdbarch.c | 305 +- gdb/gdbarch.h | 139 +- gdb/gdbarch.sh | 101 +- gdb/gdbcore.h | 6 +- gdb/gdbserver/ChangeLog | 759 + gdb/gdbserver/Makefile.in | 106 +- gdb/gdbserver/ax.h | 1 - gdb/gdbserver/config.in | 21 +- gdb/gdbserver/configure | 461 +- gdb/gdbserver/configure.ac | 19 +- gdb/gdbserver/configure.srv | 20 +- gdb/gdbserver/debug.c | 15 +- gdb/gdbserver/debug.h | 1 - gdb/gdbserver/event-loop.c | 5 - gdb/gdbserver/gdbreplay.c | 9 +- gdb/gdbserver/gdbthread.h | 3 +- gdb/gdbserver/hostio-errno.c | 1 - gdb/gdbserver/hostio.c | 4 - gdb/gdbserver/i386-low.c | 610 - gdb/gdbserver/i386-low.h | 117 - gdb/gdbserver/i387-fp.c | 92 +- gdb/gdbserver/inferiors.c | 16 +- gdb/gdbserver/inferiors.h | 4 +- gdb/gdbserver/linux-aarch64-low.c | 33 +- gdb/gdbserver/linux-arm-low.c | 14 +- gdb/gdbserver/linux-bfin-low.c | 1 - gdb/gdbserver/linux-cris-low.c | 2 +- gdb/gdbserver/linux-crisv32-low.c | 10 +- gdb/gdbserver/linux-low.c | 463 +- gdb/gdbserver/linux-low.h | 4 +- gdb/gdbserver/linux-mips-low.c | 13 +- gdb/gdbserver/linux-nios2-low.c | 2 +- gdb/gdbserver/linux-ppc-low.c | 45 +- gdb/gdbserver/linux-s390-low.c | 33 +- gdb/gdbserver/linux-sparc-low.c | 2 +- gdb/gdbserver/linux-tile-low.c | 2 +- gdb/gdbserver/linux-x86-low.c | 135 +- gdb/gdbserver/lynx-low.c | 35 +- gdb/gdbserver/lynx-low.h | 2 - gdb/gdbserver/lynx-ppc-low.c | 1 - gdb/gdbserver/mem-break.c | 9 +- gdb/gdbserver/notif.c | 1 + gdb/gdbserver/notif.h | 2 - gdb/gdbserver/nto-low.c | 21 +- gdb/gdbserver/proc-service.c | 14 +- gdb/gdbserver/regcache.c | 50 +- gdb/gdbserver/regcache.h | 4 +- gdb/gdbserver/remote-utils.c | 22 +- gdb/gdbserver/server.c | 277 +- gdb/gdbserver/server.h | 49 +- gdb/gdbserver/spu-low.c | 4 - gdb/gdbserver/symbol.c | 32 + gdb/gdbserver/target.c | 62 +- gdb/gdbserver/target.h | 3 +- gdb/gdbserver/tdesc.c | 5 +- gdb/gdbserver/thread-db.c | 33 +- gdb/gdbserver/tracepoint.c | 114 +- gdb/gdbserver/utils.c | 86 +- gdb/gdbserver/utils.h | 6 - gdb/gdbserver/win32-arm-low.c | 10 +- gdb/gdbserver/win32-i386-low.c | 193 +- gdb/gdbserver/win32-low.c | 86 +- gdb/gdbserver/win32-low.h | 15 +- gdb/gdbserver/wincecompat.c | 1 - gdb/gdbserver/x86-low.c | 38 + gdb/gdbserver/x86-low.h | 24 + gdb/gdbthread.h | 114 +- gdb/gdbtypes.c | 270 +- gdb/gdbtypes.h | 35 +- gdb/gnu-nat.c | 23 +- gdb/gnu-nat.h | 5 + gdb/gnu-v2-abi.c | 5 +- gdb/gnu-v3-abi.c | 34 +- gdb/gnulib/aclocal.m4 | 15 + gdb/gnulib/config.in | 246 + gdb/gnulib/configure | 2397 ++- gdb/gnulib/import/Makefile.am | 337 +- gdb/gnulib/import/Makefile.in | 481 +- gdb/gnulib/import/basename-lgpl.c | 75 + gdb/gnulib/import/canonicalize-lgpl.c | 411 + gdb/gnulib/import/dirname-lgpl.c | 86 + gdb/gnulib/import/dirname.h | 46 + gdb/gnulib/import/dosname.h | 53 + gdb/gnulib/import/extra/snippet/_Noreturn.h | 10 + gdb/gnulib/import/lstat.c | 97 + gdb/gnulib/import/m4/canonicalize.m4 | 124 + gdb/gnulib/import/m4/dirname.m4 | 19 + gdb/gnulib/import/m4/double-slash-root.m4 | 38 + gdb/gnulib/import/m4/eealloc.m4 | 31 + gdb/gnulib/import/m4/gnulib-cache.m4 | 11 +- gdb/gnulib/import/m4/gnulib-comp.m4 | 101 + gdb/gnulib/import/m4/largefile.m4 | 149 + gdb/gnulib/import/m4/lstat.m4 | 73 + gdb/gnulib/import/m4/malloc.m4 | 98 + gdb/gnulib/import/m4/malloca.m4 | 15 + gdb/gnulib/import/m4/nocrash.m4 | 130 + gdb/gnulib/import/m4/readlink.m4 | 71 + gdb/gnulib/import/m4/rename.m4 | 225 + gdb/gnulib/import/m4/rmdir.m4 | 49 + gdb/gnulib/import/m4/stat.m4 | 71 + gdb/gnulib/import/m4/stdio_h.m4 | 194 + gdb/gnulib/import/m4/stdlib_h.m4 | 115 + gdb/gnulib/import/malloc.c | 56 + gdb/gnulib/import/malloca.c | 140 + gdb/gnulib/import/malloca.h | 133 + gdb/gnulib/import/malloca.valgrind | 7 + gdb/gnulib/import/readlink.c | 74 + gdb/gnulib/import/rename.c | 473 + gdb/gnulib/import/rmdir.c | 53 + gdb/gnulib/import/same-inode.h | 33 + gdb/gnulib/import/stat.c | 138 + gdb/gnulib/import/stdio.c | 3 + gdb/gnulib/import/stdio.in.h | 1345 + gdb/gnulib/import/stdlib.in.h | 937 + gdb/gnulib/import/stripslash.c | 45 + gdb/gnulib/update-gnulib.sh | 15 +- gdb/go-exp.y | 7 +- gdb/go-lang.c | 4 +- gdb/go32-nat.c | 44 +- gdb/guile/guile.c | 189 +- gdb/guile/lib/gdb.scm | 6 +- gdb/guile/lib/gdb/boot.scm | 19 +- gdb/guile/lib/gdb/experimental.scm | 3 +- gdb/guile/lib/gdb/init.scm | 24 +- gdb/guile/lib/gdb/iterator.scm | 5 +- gdb/guile/lib/gdb/printing.scm | 23 +- gdb/guile/lib/gdb/support.scm | 33 + gdb/guile/lib/gdb/types.scm | 12 +- gdb/guile/scm-auto-load.c | 2 - gdb/guile/scm-block.c | 26 +- gdb/guile/scm-breakpoint.c | 2 - gdb/guile/scm-cmd.c | 7 +- gdb/guile/scm-exception.c | 1 - gdb/guile/scm-frame.c | 10 +- gdb/guile/scm-gsmob.c | 1 - gdb/guile/scm-lazy-string.c | 2 - gdb/guile/scm-math.c | 1 - gdb/guile/scm-param.c | 30 +- gdb/guile/scm-pretty-print.c | 52 +- gdb/guile/scm-safe-call.c | 1 - gdb/guile/scm-string.c | 1 - gdb/guile/scm-symbol.c | 65 +- gdb/guile/scm-symtab.c | 12 +- gdb/guile/scm-type.c | 3 +- gdb/guile/scm-utils.c | 2 - gdb/guile/scm-value.c | 5 +- gdb/h8300-tdep.c | 10 - gdb/hppa-hpux-nat.c | 1 - gdb/hppa-hpux-tdep.c | 22 +- gdb/hppa-linux-nat.c | 1 - gdb/hppa-linux-tdep.c | 125 +- gdb/hppa-tdep.c | 5 +- gdb/hppanbsd-tdep.c | 23 +- gdb/hppaobsd-tdep.c | 27 +- gdb/i386-cygwin-tdep.c | 19 +- gdb/i386-darwin-nat.c | 28 +- gdb/i386-darwin-tdep.c | 1 - gdb/i386-dicos-tdep.c | 1 - gdb/i386-linux-nat.c | 468 +- gdb/i386-linux-nat.h | 26 + gdb/i386-linux-tdep.c | 110 +- gdb/i386-nat.c | 890 - gdb/i386-nat.h | 123 - gdb/i386-nto-tdep.c | 3 - gdb/i386-sol2-tdep.c | 2 - gdb/i386-tdep.c | 141 +- gdb/i386-tdep.h | 16 +- gdb/i386-windows-nat.c | 4 +- gdb/i386bsd-nat.c | 2 - gdb/i386bsd-tdep.c | 2 - gdb/i386fbsd-nat.c | 17 +- gdb/i386fbsd-tdep.c | 6 +- gdb/i386gnu-nat.c | 192 +- gdb/i386gnu-tdep.c | 25 + gdb/i386nbsd-tdep.c | 3 - gdb/i386obsd-tdep.c | 23 +- gdb/i387-tdep.c | 125 +- gdb/ia64-libunwind-tdep.c | 3 - gdb/ia64-linux-nat.c | 1 - gdb/ia64-linux-tdep.c | 84 + gdb/ia64-tdep.c | 3 +- gdb/inf-child.c | 11 +- gdb/inf-child.h | 2 +- gdb/inf-loop.c | 37 +- gdb/inf-ptrace.c | 51 +- gdb/inf-ttrace.c | 182 +- gdb/infcall.c | 132 +- gdb/infcall.h | 11 + gdb/infcmd.c | 389 +- gdb/inferior.c | 19 +- gdb/inferior.h | 24 +- gdb/inflow.c | 21 +- gdb/infrun.c | 1060 +- gdb/infrun.h | 15 +- gdb/inline-frame.c | 10 +- gdb/interps.c | 22 - gdb/interps.h | 2 - gdb/iq2000-tdep.c | 1 - gdb/irix5-nat.c | 274 - gdb/jit.c | 49 +- gdb/jv-exp.y | 1 - gdb/jv-lang.c | 26 +- gdb/jv-typeprint.c | 2 - gdb/jv-valprint.c | 15 +- gdb/jv-varobj.c | 3 +- gdb/language.c | 145 +- gdb/language.h | 56 +- gdb/linespec.c | 145 +- gdb/linux-fork.c | 10 +- gdb/linux-nat.c | 423 +- gdb/linux-tdep.c | 350 +- gdb/linux-tdep.h | 3 - gdb/linux-thread-db.c | 55 +- gdb/lm32-tdep.c | 2 - gdb/m2-exp.y | 3 +- gdb/m2-lang.c | 2 + gdb/m2-typeprint.c | 3 - gdb/m32c-tdep.c | 5 - gdb/m32r-linux-nat.c | 3 - gdb/m32r-linux-tdep.c | 100 +- gdb/m32r-rom.c | 11 +- gdb/m32r-tdep.c | 5 +- gdb/m68hc11-tdep.c | 1 - gdb/m68k-tdep.c | 2 - gdb/m68kbsd-nat.c | 1 - gdb/m68kbsd-tdep.c | 27 +- gdb/m68klinux-nat.c | 71 - gdb/m68klinux-tdep.c | 60 +- gdb/m88k-tdep.c | 23 +- gdb/machoread.c | 3 - gdb/macrocmd.c | 3 +- gdb/macroexp.c | 1 - gdb/macroscope.c | 11 +- gdb/macrotab.c | 19 +- gdb/macrotab.h | 7 +- gdb/main.c | 182 +- gdb/maint.c | 108 +- gdb/make-target-delegates | 182 +- gdb/mdebugread.c | 121 +- gdb/mem-break.c | 25 +- gdb/memattr.c | 9 +- gdb/memory-map.c | 4 - gdb/memrange.c | 9 + gdb/memrange.h | 5 + gdb/mep-tdep.c | 3 - gdb/mi/mi-cmd-break.c | 2 - gdb/mi/mi-cmd-catch.c | 1 - gdb/mi/mi-cmd-disas.c | 1 - gdb/mi/mi-cmd-env.c | 2 - gdb/mi/mi-cmd-file.c | 9 +- gdb/mi/mi-cmd-stack.c | 4 +- gdb/mi/mi-cmd-var.c | 11 +- gdb/mi/mi-cmds.c | 1 - gdb/mi/mi-common.c | 1 - gdb/mi/mi-console.c | 2 - gdb/mi/mi-getopt.c | 2 - gdb/mi/mi-interp.c | 10 +- gdb/mi/mi-main.c | 7 +- gdb/mi/mi-out.c | 8 +- gdb/mi/mi-parse.c | 1 - gdb/mi/mi-symbol-cmds.c | 11 +- gdb/microblaze-linux-tdep.c | 2 +- gdb/microblaze-rom.c | 3 +- gdb/microblaze-tdep.c | 73 +- gdb/microblaze-tdep.h | 50 +- gdb/mingw-hdep.c | 2 - gdb/minidebug.c | 1 - gdb/minsyms.c | 60 +- gdb/minsyms.h | 4 +- gdb/mips-irix-tdep.c | 291 - gdb/mips-linux-nat.c | 14 +- gdb/mips-linux-tdep.c | 174 +- gdb/mips-sde-tdep.c | 270 + gdb/mips-tdep.c | 761 +- gdb/mips-tdep.h | 7 + gdb/mips64obsd-tdep.c | 23 +- gdb/mipsnbsd-tdep.c | 31 +- gdb/mipsread.c | 1 - gdb/mn10300-linux-tdep.c | 27 +- gdb/mn10300-tdep.c | 2 - gdb/monitor.c | 14 +- gdb/monitor.h | 3 +- gdb/moxie-tdep.c | 75 +- gdb/mt-tdep.c | 2 - gdb/{common => nat}/gdb_thread_db.h | 0 gdb/{common => nat}/glibc_thread_db.h | 0 gdb/nat/linux-btrace.c | 620 + gdb/nat/linux-btrace.h | 77 + gdb/nat/linux-osdata.c | 1626 + gdb/nat/linux-osdata.h | 27 + gdb/nat/linux-procfs.c | 134 + gdb/nat/linux-procfs.h | 49 + gdb/nat/linux-ptrace.c | 596 + gdb/nat/linux-ptrace.h | 103 + gdb/nat/linux-waitpid.c | 17 +- gdb/nat/mips-linux-watch.c | 349 + gdb/nat/mips-linux-watch.h | 120 + gdb/nat/x86-cpuid.h | 63 + gdb/nat/x86-dregs.c | 655 + gdb/nat/x86-dregs.h | 127 + gdb/nat/x86-gcc-cpuid.h | 278 + gdb/nbsd-tdep.c | 1 - gdb/nios2-linux-tdep.c | 47 +- gdb/nios2-tdep.c | 986 +- gdb/nto-procfs.c | 21 +- gdb/nto-tdep.c | 1 - gdb/objc-lang.c | 10 +- gdb/objfiles.c | 52 +- gdb/objfiles.h | 71 +- gdb/obsd-nat.c | 7 +- gdb/opencl-lang.c | 58 +- gdb/osabi.c | 93 +- gdb/osabi.h | 4 + gdb/osdata.c | 1 - gdb/p-exp.y | 13 +- gdb/p-lang.c | 3 +- gdb/p-typeprint.c | 2 - gdb/p-valprint.c | 6 - gdb/parse.c | 21 +- gdb/parser-defs.h | 21 +- gdb/posix-hdep.c | 2 - gdb/ppc-linux-nat.c | 9 +- gdb/ppc-linux-tdep.c | 135 +- gdb/ppc-sysv-tdep.c | 2 - gdb/ppcbug-rom.c | 4 +- gdb/ppcfbsd-nat.c | 3 - gdb/ppcfbsd-tdep.c | 38 +- gdb/ppcnbsd-nat.c | 2 - gdb/ppcnbsd-tdep.c | 27 +- gdb/ppcnbsd-tdep.h | 2 - gdb/ppcobsd-nat.c | 2 - gdb/ppcobsd-tdep.c | 23 +- gdb/ppcobsd-tdep.h | 2 - gdb/printcmd.c | 12 +- gdb/probe.c | 10 +- gdb/probe.h | 6 +- gdb/proc-api.c | 1 - gdb/proc-events.c | 1 - gdb/proc-flags.c | 1 - gdb/proc-service.c | 106 +- gdb/proc-why.c | 1 - gdb/procfs.c | 92 +- gdb/progspace.c | 9 +- gdb/progspace.h | 3 +- gdb/prologue-value.c | 2 - gdb/psympriv.h | 4 +- gdb/psymtab.c | 241 +- gdb/python/lib/gdb/__init__.py | 3 +- gdb/python/lib/gdb/command/bound_registers.py | 45 - gdb/python/lib/gdb/command/prompt.py | 3 +- gdb/python/lib/gdb/command/xmethods.py | 12 +- gdb/python/lib/gdb/function/caller_is.py | 158 +- gdb/python/lib/gdb/printer/__init__.py | 14 + gdb/python/lib/gdb/printer/bound_registers.py | 36 + gdb/python/lib/gdb/printing.py | 14 + gdb/python/lib/gdb/prompt.py | 2 +- gdb/python/py-auto-load.c | 2 - gdb/python/py-block.c | 14 +- gdb/python/py-breakpoint.c | 1 - gdb/python/py-cmd.c | 183 +- gdb/python/py-event.h | 17 + gdb/python/py-events.h | 4 + gdb/python/py-evts.c | 15 + gdb/python/py-finishbreakpoint.c | 1 - gdb/python/py-frame.c | 47 +- gdb/python/py-framefilter.c | 34 +- gdb/python/py-function.c | 1 - gdb/python/py-gdb-readline.c | 9 +- gdb/python/py-inferior.c | 94 +- gdb/python/py-infevents.c | 263 + gdb/python/py-infthread.c | 54 +- gdb/python/py-lazy-string.c | 2 - gdb/python/py-linetable.c | 21 +- gdb/python/py-newobjfileevent.c | 55 + gdb/python/py-objfile.c | 360 +- gdb/python/py-param.c | 1 - gdb/python/py-prettyprint.c | 1 - gdb/python/py-progspace.c | 91 +- gdb/python/py-symbol.c | 24 +- gdb/python/py-symtab.c | 50 +- gdb/python/py-type.c | 3 +- gdb/python/py-value.c | 9 +- gdb/python/py-varobj.c | 204 + gdb/python/python-internal.h | 47 +- gdb/python/python.c | 15 +- gdb/ravenscar-thread.c | 17 +- gdb/record-btrace.c | 126 +- gdb/record-full.c | 39 +- gdb/record.c | 23 +- gdb/record.h | 6 +- gdb/regcache.c | 140 +- gdb/regcache.h | 50 +- gdb/regformats/aarch64.dat | 3 +- gdb/regformats/arm-with-iwmmxt.dat | 3 +- gdb/regformats/arm-with-neon.dat | 3 +- gdb/regformats/arm-with-vfpv2.dat | 3 +- gdb/regformats/arm-with-vfpv3.dat | 3 +- gdb/regformats/i386/amd64-avx-linux.dat | 3 +- gdb/regformats/i386/amd64-avx.dat | 3 +- gdb/regformats/i386/amd64-avx512-linux.dat | 3 +- gdb/regformats/i386/amd64-avx512.dat | 3 +- gdb/regformats/i386/amd64-linux.dat | 3 +- gdb/regformats/i386/amd64-mpx-linux.dat | 3 +- gdb/regformats/i386/amd64-mpx.dat | 3 +- gdb/regformats/i386/amd64.dat | 3 +- gdb/regformats/i386/i386-avx-linux.dat | 3 +- gdb/regformats/i386/i386-avx.dat | 3 +- gdb/regformats/i386/i386-avx512-linux.dat | 3 +- gdb/regformats/i386/i386-avx512.dat | 3 +- gdb/regformats/i386/i386-linux.dat | 3 +- gdb/regformats/i386/i386-mmx-linux.dat | 3 +- gdb/regformats/i386/i386-mmx.dat | 3 +- gdb/regformats/i386/i386-mpx-linux.dat | 3 +- gdb/regformats/i386/i386-mpx.dat | 3 +- gdb/regformats/i386/i386.dat | 3 +- gdb/regformats/i386/x32-avx-linux.dat | 3 +- gdb/regformats/i386/x32-avx.dat | 3 +- gdb/regformats/i386/x32-avx512-linux.dat | 3 +- gdb/regformats/i386/x32-avx512.dat | 3 +- gdb/regformats/i386/x32-linux.dat | 3 +- gdb/regformats/i386/x32.dat | 3 +- gdb/regformats/microblaze-with-stack-protect.dat | 64 + gdb/regformats/mips-dsp-linux.dat | 3 +- gdb/regformats/mips-linux.dat | 3 +- gdb/regformats/mips64-dsp-linux.dat | 3 +- gdb/regformats/mips64-linux.dat | 3 +- gdb/regformats/nios2-linux.dat | 3 +- gdb/regformats/rs6000/powerpc-32.dat | 3 +- gdb/regformats/rs6000/powerpc-32l.dat | 3 +- gdb/regformats/rs6000/powerpc-64l.dat | 3 +- gdb/regformats/rs6000/powerpc-altivec32l.dat | 3 +- gdb/regformats/rs6000/powerpc-altivec64l.dat | 3 +- gdb/regformats/rs6000/powerpc-cell32l.dat | 3 +- gdb/regformats/rs6000/powerpc-cell64l.dat | 3 +- gdb/regformats/rs6000/powerpc-e500l.dat | 3 +- gdb/regformats/rs6000/powerpc-vsx32l.dat | 3 +- gdb/regformats/rs6000/powerpc-vsx64l.dat | 3 +- gdb/regformats/s390-linux32.dat | 3 +- gdb/regformats/s390-linux32v1.dat | 3 +- gdb/regformats/s390-linux32v2.dat | 3 +- gdb/regformats/s390-linux64.dat | 3 +- gdb/regformats/s390-linux64v1.dat | 3 +- gdb/regformats/s390-linux64v2.dat | 3 +- gdb/regformats/s390-te-linux64.dat | 5 +- gdb/regformats/s390x-linux64.dat | 3 +- gdb/regformats/s390x-linux64v1.dat | 3 +- gdb/regformats/s390x-linux64v2.dat | 3 +- gdb/regformats/s390x-te-linux64.dat | 3 +- gdb/regformats/tic6x-c62x-linux.dat | 3 +- gdb/regformats/tic6x-c62x.dat | 3 +- gdb/regformats/tic6x-c64x-linux.dat | 3 +- gdb/regformats/tic6x-c64x.dat | 3 +- gdb/regformats/tic6x-c64xp-linux.dat | 3 +- gdb/regformats/tic6x-c64xp.dat | 3 +- gdb/reggroups.c | 1 - gdb/registry.c | 3 - gdb/regset.h | 15 +- gdb/remote-fileio.c | 2 - gdb/remote-m32r-sdi.c | 38 +- gdb/remote-mips.c | 42 +- gdb/remote-notif.c | 2 - gdb/remote-sim.c | 60 +- gdb/remote.c | 498 +- gdb/remote.h | 2 +- gdb/reverse.c | 1 - gdb/rs6000-aix-tdep.c | 30 +- gdb/rs6000-nat.c | 59 - gdb/rs6000-tdep.c | 24 +- gdb/s390-linux-nat.c | 177 +- gdb/s390-linux-tdep.c | 483 +- gdb/s390-linux-tdep.h | 13 +- gdb/score-tdep.c | 108 +- gdb/score-tdep.h | 34 +- gdb/ser-base.c | 2 - gdb/ser-go32.c | 3 - gdb/ser-mingw.c | 144 +- gdb/ser-pipe.c | 1 - gdb/ser-tcp.c | 5 +- gdb/ser-unix.c | 1 - gdb/serial.c | 5 +- gdb/sh-linux-tdep.c | 4 + gdb/sh-tdep.c | 23 +- gdb/sh-tdep.h | 2 + gdb/sh64-tdep.c | 2 - gdb/shnbsd-tdep.c | 3 +- gdb/skip.c | 2 - gdb/sol-thread.c | 23 +- gdb/sol2-tdep.c | 2 +- gdb/solib-darwin.c | 5 +- gdb/solib-dsbt.c | 2 - gdb/solib-frv.c | 2 - gdb/solib-ia64-hpux.c | 1 - gdb/solib-irix.c | 656 - gdb/solib-irix.h | 26 - gdb/solib-osf.c | 640 - gdb/solib-som.c | 2 - gdb/solib-spu.c | 5 +- gdb/solib-svr4.c | 122 +- gdb/solib-target.c | 2 - gdb/solib.c | 38 +- gdb/solib.h | 2 +- gdb/solist.h | 4 +- gdb/somread.c | 1 - gdb/source.c | 54 +- gdb/sparc-linux-tdep.c | 2 +- gdb/sparc-nat.c | 2 - gdb/sparc-sol2-tdep.c | 56 +- gdb/sparc-tdep.c | 27 +- gdb/sparc64-linux-tdep.c | 2 +- gdb/sparc64-sol2-tdep.c | 55 +- gdb/sparc64-tdep.c | 3 - gdb/sparc64fbsd-nat.c | 1 - gdb/sparc64fbsd-tdep.c | 7 +- gdb/sparc64nbsd-tdep.c | 3 - gdb/sparc64obsd-tdep.c | 2 - gdb/sparcnbsd-tdep.c | 3 - gdb/sparcobsd-tdep.c | 2 - gdb/spu-linux-nat.c | 1 - gdb/spu-multiarch.c | 33 +- gdb/spu-tdep.c | 18 +- gdb/stabsread.c | 3 - gdb/stack.c | 45 +- gdb/stack.h | 4 +- gdb/stap-probe.c | 47 +- gdb/std-operator.def | 11 +- gdb/std-regs.c | 3 - gdb/symfile-debug.c | 96 +- gdb/symfile-mem.c | 32 +- gdb/symfile.c | 109 +- gdb/symfile.h | 48 +- gdb/symmisc.c | 158 +- gdb/symtab.c | 1468 +- gdb/symtab.h | 439 +- gdb/target-debug.h | 188 + gdb/target-delegates.c | 2345 ++- gdb/target-descriptions.c | 5 +- gdb/target-memory.c | 3 - gdb/target.c | 1114 +- gdb/target.h | 139 +- gdb/target/target.h | 75 + gdb/target/waitstatus.c | 7 +- gdb/target/waitstatus.h | 2 - gdb/terminal.h | 2 + gdb/testsuite/ChangeLog | 1909 +- gdb/testsuite/Makefile.in | 48 +- gdb/testsuite/README | 55 +- gdb/testsuite/boards/fission.exp | 4 +- gdb/testsuite/boards/local-remote-host-native.exp | 85 + gdb/testsuite/boards/stabs.exp | 45 + gdb/testsuite/config/vx.exp | 126 - gdb/testsuite/config/vxworks.exp | 16 - gdb/testsuite/config/vxworks29k.exp | 23 - gdb/testsuite/configure | 13 +- gdb/testsuite/configure.ac | 15 +- gdb/testsuite/dg-extract-results.py | 585 + gdb/testsuite/dg-extract-results.sh | 9 + gdb/testsuite/gdb.ada/addr_arith.exp | 42 + gdb/testsuite/gdb.ada/addr_arith/foo_na07_019.adb | 21 + gdb/testsuite/gdb.ada/addr_arith/pck.adb | 21 + gdb/testsuite/gdb.ada/addr_arith/pck.ads | 19 + gdb/testsuite/gdb.ada/arr_arr.exp | 33 + gdb/testsuite/gdb.ada/arr_arr/foo.adb | 25 + gdb/testsuite/gdb.ada/arr_arr/pck.adb | 21 + gdb/testsuite/gdb.ada/arr_arr/pck.ads | 19 + gdb/testsuite/gdb.ada/cond_lang/foo.c | 2 +- gdb/testsuite/gdb.ada/n_arr_bound.exp | 32 + gdb/testsuite/gdb.ada/n_arr_bound/foo.adb | 23 + gdb/testsuite/gdb.ada/n_arr_bound/pck.adb | 21 + gdb/testsuite/gdb.ada/n_arr_bound/pck.ads | 19 + gdb/testsuite/gdb.ada/pkd_arr_elem.exp | 38 + gdb/testsuite/gdb.ada/pkd_arr_elem/failure.adb | 45 + gdb/testsuite/gdb.ada/pkd_arr_elem/pck.adb | 21 + gdb/testsuite/gdb.ada/pkd_arr_elem/pck.ads | 19 + gdb/testsuite/gdb.ada/py_range.exp | 6 +- gdb/testsuite/gdb.ada/str_uninit.exp | 40 + gdb/testsuite/gdb.ada/str_uninit/parse.adb | 22 + gdb/testsuite/gdb.ada/str_uninit/pck.adb | 28 + gdb/testsuite/gdb.ada/str_uninit/pck.ads | 24 + gdb/testsuite/gdb.arch/aarch64-fp.c | 38 + gdb/testsuite/gdb.arch/aarch64-fp.exp | 85 + .../gdb.arch/amd64-entry-value-paramref.S | 459 + .../gdb.arch/amd64-entry-value-paramref.cc | 33 + .../gdb.arch/amd64-entry-value-paramref.exp | 35 + gdb/testsuite/gdb.arch/amd64-optimout-repeat.S | 297 + gdb/testsuite/gdb.arch/amd64-optimout-repeat.c | 29 + gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp | 36 + gdb/testsuite/gdb.arch/amd64-pseudo.c | 57 +- .../gdb.arch/amd64-stap-optional-prefix.exp | 2 +- .../gdb.arch/amd64-stap-special-operands.exp | 2 +- gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.S | 27 + gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp | 41 + gdb/testsuite/gdb.arch/avr-flash-qualifier.c | 33 + gdb/testsuite/gdb.arch/avr-flash-qualifier.exp | 52 + gdb/testsuite/gdb.arch/gdb1558.exp | 13 +- gdb/testsuite/gdb.arch/i386-avx.c | 4 +- gdb/testsuite/gdb.arch/i386-avx.exp | 2 +- gdb/testsuite/gdb.arch/i386-avx512.c | 2 +- gdb/testsuite/gdb.arch/i386-bp_permanent.c | 57 + gdb/testsuite/gdb.arch/i386-bp_permanent.exp | 51 +- gdb/testsuite/gdb.arch/i386-mpx.c | 2 +- gdb/testsuite/gdb.arch/i386-pseudo.c | 18 +- gdb/testsuite/gdb.arch/i386-size-overlap.exp | 13 +- gdb/testsuite/gdb.arch/i386-size.exp | 13 +- gdb/testsuite/gdb.arch/i386-sse.c | 4 +- gdb/testsuite/gdb.arch/i386-sse.exp | 2 +- gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.S | 81 + gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.c | 29 + gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.exp | 35 + gdb/testsuite/gdb.arch/i386-unwind.exp | 13 +- gdb/testsuite/gdb.arch/powerpc-stackless.S | 24 + gdb/testsuite/gdb.arch/powerpc-stackless.exp | 42 + gdb/testsuite/gdb.base/a2-run.exp | 196 +- gdb/testsuite/gdb.base/advance.c | 10 +- .../gdb.base/annota-input-while-running.c | 25 + .../gdb.base/annota-input-while-running.exp | 130 + gdb/testsuite/gdb.base/annota1.c | 13 - gdb/testsuite/gdb.base/annota3.c | 13 - gdb/testsuite/gdb.base/argv0-symlink.exp | 27 +- gdb/testsuite/gdb.base/async-shell.c | 2 + gdb/testsuite/gdb.base/async.c | 28 +- gdb/testsuite/gdb.base/attach-pie-misread.c | 1 + gdb/testsuite/gdb.base/attach-twice.c | 1 + gdb/testsuite/gdb.base/attach-wait-input.c | 40 + gdb/testsuite/gdb.base/attach-wait-input.exp | 119 + gdb/testsuite/gdb.base/attach.c | 5 +- gdb/testsuite/gdb.base/attach.exp | 94 +- gdb/testsuite/gdb.base/average.c | 17 +- gdb/testsuite/gdb.base/bg-execution-repeat.c | 33 + gdb/testsuite/gdb.base/bg-execution-repeat.exp | 86 + gdb/testsuite/gdb.base/bigcore.exp | 7 - gdb/testsuite/gdb.base/bp-permanent.c | 136 + gdb/testsuite/gdb.base/bp-permanent.exp | 275 + gdb/testsuite/gdb.base/break-interp-lib.c | 1 + .../gdb.base/break-main-file-remove-fail.c | 46 + .../gdb.base/break-main-file-remove-fail.exp | 106 + .../gdb.base/break-on-linker-gcd-function.exp | 24 +- gdb/testsuite/gdb.base/break-probes.exp | 10 +- gdb/testsuite/gdb.base/break-unload-file.exp | 71 +- gdb/testsuite/gdb.base/break.c | 64 +- gdb/testsuite/gdb.base/break.exp | 84 +- gdb/testsuite/gdb.base/break1.c | 7 - gdb/testsuite/gdb.base/breakpoint-in-ro-region.c | 37 + gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp | 246 + gdb/testsuite/gdb.base/call-ar-st.c | 308 +- gdb/testsuite/gdb.base/call-ar-st.exp | 165 +- gdb/testsuite/gdb.base/call-rt-st.c | 157 +- gdb/testsuite/gdb.base/call-rt-st.exp | 11 +- gdb/testsuite/gdb.base/call-sc.c | 7 +- gdb/testsuite/gdb.base/call-strs.c | 22 - gdb/testsuite/gdb.base/callfuncs.c | 20 +- gdb/testsuite/gdb.base/callfuncs.exp | 323 +- gdb/testsuite/gdb.base/catch-signal-fork.c | 2 + gdb/testsuite/gdb.base/catch-signal.exp | 20 +- gdb/testsuite/gdb.base/catch-syscall.exp | 71 + gdb/testsuite/gdb.base/charset.exp | 13 +- gdb/testsuite/gdb.base/checkpoint.c | 7 +- gdb/testsuite/gdb.base/checkpoint.exp | 2 - gdb/testsuite/gdb.base/chng-syms.exp | 33 +- gdb/testsuite/gdb.base/code_elim2.c | 12 +- gdb/testsuite/gdb.base/commands.exp | 102 +- gdb/testsuite/gdb.base/completion.exp | 31 +- gdb/testsuite/gdb.base/condbreak.exp | 28 +- gdb/testsuite/gdb.base/constvars.c | 14 + .../gdb.base/continue-all-already-running.c | 25 + .../gdb.base/continue-all-already-running.exp | 79 + gdb/testsuite/gdb.base/corefile.exp | 2 +- gdb/testsuite/gdb.base/coremaker.c | 1 + gdb/testsuite/gdb.base/dbx.exp | 30 +- gdb/testsuite/gdb.base/debug-expr.exp | 5 + gdb/testsuite/gdb.base/default.exp | 19 +- gdb/testsuite/gdb.base/display.exp | 9 +- .../gdb.base/double-prompt-target-event-error.c | 25 + .../gdb.base/double-prompt-target-event-error.exp | 117 + gdb/testsuite/gdb.base/dprintf-detach.c | 33 + gdb/testsuite/gdb.base/dprintf-detach.exp | 95 + gdb/testsuite/gdb.base/dprintf-non-stop.c | 2 + gdb/testsuite/gdb.base/dump.c | 2 + gdb/testsuite/gdb.base/ena-dis-br.exp | 26 +- gdb/testsuite/gdb.base/ending-run.c | 9 +- gdb/testsuite/gdb.base/ending-run.exp | 38 +- gdb/testsuite/gdb.base/execd-prog.c | 8 +- gdb/testsuite/gdb.base/execl-update-breakpoints.c | 38 + .../gdb.base/execl-update-breakpoints.exp | 128 + gdb/testsuite/gdb.base/execution-termios.c | 35 + gdb/testsuite/gdb.base/execution-termios.exp | 60 + gdb/testsuite/gdb.base/exprs.c | 7 - gdb/testsuite/gdb.base/exprs.exp | 4 +- gdb/testsuite/gdb.base/fileio.c | 2 + gdb/testsuite/gdb.base/fileio.exp | 7 + gdb/testsuite/gdb.base/find.exp | 12 +- gdb/testsuite/gdb.base/float.exp | 9 +- gdb/testsuite/gdb.base/foll-exec.c | 8 +- gdb/testsuite/gdb.base/foll-exec.exp | 37 +- gdb/testsuite/gdb.base/foll-fork.c | 9 - gdb/testsuite/gdb.base/foll-fork.exp | 203 +- gdb/testsuite/gdb.base/foll-vfork.c | 4 - gdb/testsuite/gdb.base/foll-vfork.exp | 8 +- gdb/testsuite/gdb.base/fullpath-expand.exp | 5 + gdb/testsuite/gdb.base/func-ptrs.c | 50 + gdb/testsuite/gdb.base/func-ptrs.exp | 95 + gdb/testsuite/gdb.base/funcargs.c | 334 - gdb/testsuite/gdb.base/funcargs.exp | 99 +- gdb/testsuite/gdb.base/gcore-buffer-overflow.exp | 12 - gdb/testsuite/gdb.base/gcore-relro-pie.exp | 13 - gdb/testsuite/gdb.base/gcore-relro.exp | 13 - gdb/testsuite/gdb.base/gcore.c | 6 +- gdb/testsuite/gdb.base/gcore.exp | 12 - .../gdb.base/global-var-nested-by-dso-solib1.c | 24 + .../gdb.base/global-var-nested-by-dso-solib2.c | 24 + gdb/testsuite/gdb.base/global-var-nested-by-dso.c | 27 + .../gdb.base/global-var-nested-by-dso.exp | 55 + gdb/testsuite/gdb.base/hbreak-unmapped.exp | 10 +- gdb/testsuite/gdb.base/hbreak2.exp | 25 +- gdb/testsuite/gdb.base/huge.c | 1 + gdb/testsuite/gdb.base/inferior-died.c | 1 + gdb/testsuite/gdb.base/info-os.c | 1 + gdb/testsuite/gdb.base/interrupt.exp | 2 - gdb/testsuite/gdb.base/jit-simple.exp | 9 +- gdb/testsuite/gdb.base/jump.c | 11 +- gdb/testsuite/gdb.base/jump.exp | 29 +- gdb/testsuite/gdb.base/langs0.c | 6 - gdb/testsuite/gdb.base/langs1.c | 8 - gdb/testsuite/gdb.base/langs2.c | 17 - gdb/testsuite/gdb.base/line-symtabs.c | 25 + gdb/testsuite/gdb.base/line-symtabs.exp | 33 + gdb/testsuite/gdb.base/line-symtabs.h | 24 + gdb/testsuite/gdb.base/list0.h | 8 +- gdb/testsuite/gdb.base/list1.c | 20 +- gdb/testsuite/gdb.base/maint.exp | 9 +- gdb/testsuite/gdb.base/mips_pro.c | 25 - gdb/testsuite/gdb.base/mips_pro.exp | 2 +- gdb/testsuite/gdb.base/multi-forks.c | 3 +- .../gdb.base/multi-line-starts-subshell.exp | 55 + gdb/testsuite/gdb.base/nodebug.c | 32 - gdb/testsuite/gdb.base/nodebug.exp | 48 +- gdb/testsuite/gdb.base/opaque.exp | 6 +- gdb/testsuite/gdb.base/opaque0.c | 2 - gdb/testsuite/gdb.base/opaque1.c | 5 - .../gdb.base/paginate-after-ctrl-c-running.c | 25 + .../gdb.base/paginate-after-ctrl-c-running.exp | 83 + gdb/testsuite/gdb.base/paginate-bg-execution.c | 32 + gdb/testsuite/gdb.base/paginate-bg-execution.exp | 118 + .../gdb.base/paginate-execution-startup.c | 32 + .../gdb.base/paginate-execution-startup.exp | 181 + gdb/testsuite/gdb.base/paginate-inferior-exit.c | 32 + gdb/testsuite/gdb.base/paginate-inferior-exit.exp | 81 + gdb/testsuite/gdb.base/pr10179-a.c | 1 + gdb/testsuite/gdb.base/print-symbol-loading.exp | 17 +- gdb/testsuite/gdb.base/realname-expand.exp | 5 + gdb/testsuite/gdb.base/recurse.c | 6 - gdb/testsuite/gdb.base/remotetimeout.exp | 5 - gdb/testsuite/gdb.base/reread.exp | 64 +- gdb/testsuite/gdb.base/run.c | 46 +- gdb/testsuite/gdb.base/save-bp.c | 2 +- gdb/testsuite/gdb.base/save-bp.exp | 21 +- gdb/testsuite/gdb.base/savedregs.c | 2 + gdb/testsuite/gdb.base/scope.exp | 10 - gdb/testsuite/gdb.base/scope0.c | 29 - gdb/testsuite/gdb.base/scope1.c | 4 - gdb/testsuite/gdb.base/sepdebug.c | 64 +- gdb/testsuite/gdb.base/sepdebug.exp | 74 +- gdb/testsuite/gdb.base/setshow.c | 7 - gdb/testsuite/gdb.base/setvar.c | 7 - gdb/testsuite/gdb.base/setvar.exp | 2 - gdb/testsuite/gdb.base/shlib-call.exp | 2 +- gdb/testsuite/gdb.base/shmain.c | 10 - gdb/testsuite/gdb.base/shr1.c | 20 - gdb/testsuite/gdb.base/shr2.c | 10 +- gdb/testsuite/gdb.base/sigall.c | 426 - gdb/testsuite/gdb.base/sigall.exp | 11 - gdb/testsuite/gdb.base/sigaltstack.c | 2 + gdb/testsuite/gdb.base/sigaltstack.exp | 4 +- gdb/testsuite/gdb.base/sigbpt.exp | 20 +- gdb/testsuite/gdb.base/siginfo.c | 1 + gdb/testsuite/gdb.base/siginfo.exp | 2 +- gdb/testsuite/gdb.base/signals.c | 6 - gdb/testsuite/gdb.base/signest.exp | 10 +- gdb/testsuite/gdb.base/signull.exp | 10 +- gdb/testsuite/gdb.base/sigstep.c | 17 +- gdb/testsuite/gdb.base/sigstep.exp | 681 +- gdb/testsuite/gdb.base/skip-solib-lib.c | 8 +- gdb/testsuite/gdb.base/so-impl-ld.exp | 4 +- gdb/testsuite/gdb.base/so-indr-cl.c | 8 - gdb/testsuite/gdb.base/solib-overlap.exp | 11 +- gdb/testsuite/gdb.base/solib-weak.c | 2 + gdb/testsuite/gdb.base/solib1.c | 16 +- gdb/testsuite/gdb.base/solib2.c | 5 - gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp | 6 +- gdb/testsuite/gdb.base/statistics.exp | 29 + gdb/testsuite/gdb.base/step-bt.exp | 14 +- gdb/testsuite/gdb.base/step-line.exp | 2 - .../gdb.base/step-sw-breakpoint-adjust-pc.c | 50 + .../gdb.base/step-sw-breakpoint-adjust-pc.exp | 94 + gdb/testsuite/gdb.base/structs.c | 99 +- gdb/testsuite/gdb.base/sum.c | 7 +- gdb/testsuite/gdb.base/symtab-search-order-1.c | 18 + .../gdb.base/symtab-search-order-shlib-1.c | 24 + gdb/testsuite/gdb.base/symtab-search-order.c | 28 + gdb/testsuite/gdb.base/symtab-search-order.exp | 59 + gdb/testsuite/gdb.base/testenv.c | 1 + gdb/testsuite/gdb.base/until-nodebug.exp | 37 + gdb/testsuite/gdb.base/varargs.exp | 3 - gdb/testsuite/gdb.base/vdso-warning.c | 22 + gdb/testsuite/gdb.base/vdso-warning.exp | 54 + gdb/testsuite/gdb.base/vforked-prog.c | 4 - gdb/testsuite/gdb.base/vla-datatypes.c | 1 + gdb/testsuite/gdb.base/vla-datatypes.exp | 8 +- gdb/testsuite/gdb.base/vla-stub-define.c | 21 + gdb/testsuite/gdb.base/vla-stub.c | 37 + gdb/testsuite/gdb.base/vla-stub.exp | 25 + gdb/testsuite/gdb.base/volatile.exp | 24 + gdb/testsuite/gdb.base/watch-bitfields.c | 54 + gdb/testsuite/gdb.base/watch-bitfields.exp | 81 + 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-reuse-slot.c | 37 + gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp | 193 + gdb/testsuite/gdb.base/watchpoint-solib.exp | 18 +- .../gdb.base/watchpoint-stops-at-right-insn.c | 33 + .../gdb.base/watchpoint-stops-at-right-insn.exp | 177 + gdb/testsuite/gdb.base/watchpoint.c | 4 - gdb/testsuite/gdb.base/wchar.exp | 14 + gdb/testsuite/gdb.base/weaklib1.c | 2 + gdb/testsuite/gdb.base/weaklib2.c | 2 + gdb/testsuite/gdb.base/whatis.exp | 5 +- gdb/testsuite/gdb.btrace/gcore.exp | 41 + gdb/testsuite/gdb.btrace/segv.c | 32 + gdb/testsuite/gdb.btrace/segv.exp | 45 + gdb/testsuite/gdb.compile/Makefile.in | 21 + gdb/testsuite/gdb.compile/compile-constvar.S | 95 + gdb/testsuite/gdb.compile/compile-constvar.c | 18 + gdb/testsuite/gdb.compile/compile-mod.c | 26 + gdb/testsuite/gdb.compile/compile-nodebug.c | 24 + .../compile-ops.c} | 0 gdb/testsuite/gdb.compile/compile-ops.exp | 424 + gdb/testsuite/gdb.compile/compile-setjmp-mod.c | 46 + gdb/testsuite/gdb.compile/compile-setjmp.c | 24 + gdb/testsuite/gdb.compile/compile-setjmp.exp | 34 + gdb/testsuite/gdb.compile/compile-shlib.c | 26 + gdb/testsuite/gdb.compile/compile-tls.c | 40 + gdb/testsuite/gdb.compile/compile-tls.exp | 42 + gdb/testsuite/gdb.compile/compile.c | 130 + gdb/testsuite/gdb.compile/compile.exp | 357 + gdb/testsuite/gdb.cp/anon-ns.cc | 69 +- gdb/testsuite/gdb.cp/anon-ns.exp | 4 +- gdb/testsuite/gdb.cp/anon-ns2.cc | 91 + gdb/testsuite/gdb.cp/casts.exp | 3 + gdb/testsuite/gdb.cp/chained-calls.cc | 203 + gdb/testsuite/gdb.cp/chained-calls.exp | 44 + gdb/testsuite/gdb.cp/class2.exp | 3 +- gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp | 6 +- gdb/testsuite/gdb.cp/mb-inline.exp | 24 +- gdb/testsuite/gdb.cp/mb-templates.exp | 48 +- gdb/testsuite/gdb.cp/non-trivial-retval.cc | 152 + gdb/testsuite/gdb.cp/non-trivial-retval.exp | 37 + gdb/testsuite/gdb.cp/nsalias.exp | 12 +- gdb/testsuite/gdb.cp/overload.exp | 3 + gdb/testsuite/gdb.cp/pr17132.cc | 61 + gdb/testsuite/gdb.cp/pr17132.exp | 40 + gdb/testsuite/gdb.cp/pr17494.cc | 63 + gdb/testsuite/gdb.cp/pr17494.exp | 57 + gdb/testsuite/gdb.cp/smartp.exp | 1 - gdb/testsuite/gdb.cp/templates.exp | 2 + gdb/testsuite/gdb.cp/vla-cxx.cc | 49 + gdb/testsuite/gdb.cp/vla-cxx.exp | 35 + gdb/testsuite/gdb.dlang/demangle.exp | 8 +- gdb/testsuite/gdb.dlang/expression.exp | 137 + gdb/testsuite/gdb.dwarf2/data-loc.c | 46 + gdb/testsuite/gdb.dwarf2/data-loc.exp | 291 + gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.exp | 5 +- gdb/testsuite/gdb.dwarf2/dw2-basic.exp | 5 +- gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.S | 3 +- .../gdb.dwarf2/dw2-case-insensitive-debug.S | 18 +- gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c | 9 + gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp | 9 +- gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S | 10 +- gdb/testsuite/gdb.dwarf2/dw2-compressed.exp | 5 +- gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c | 7 + gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp | 27 +- gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-error.exp | 5 + gdb/testsuite/gdb.dwarf2/dw2-filename.exp | 5 +- gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c | 7 +- gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp | 8 +- gdb/testsuite/gdb.dwarf2/dw2-intercu.exp | 2 - gdb/testsuite/gdb.dwarf2/dw2-intermix.exp | 6 +- gdb/testsuite/gdb.dwarf2/dw2-op-out-param.S | 42 +- gdb/testsuite/gdb.dwarf2/dw2-op-out-param.exp | 30 +- gdb/testsuite/gdb.dwarf2/dw2-producer.exp | 5 +- .../gdb.dwarf2/dw2-single-line-discriminators.S | 281 + .../gdb.dwarf2/dw2-single-line-discriminators.c | 31 + .../gdb.dwarf2/dw2-single-line-discriminators.exp | 49 + gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.S | 64 +- gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp | 11 +- gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp | 19 +- gdb/testsuite/gdb.dwarf2/dwz.exp | 60 +- gdb/testsuite/gdb.dwarf2/dynarr-ptr.c | 30 + gdb/testsuite/gdb.dwarf2/dynarr-ptr.exp | 353 + gdb/testsuite/gdb.dwarf2/implptr-optimized-out.S | 166 - gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp | 63 +- gdb/testsuite/gdb.dwarf2/mac-fileno.exp | 5 +- gdb/testsuite/gdb.dwarf2/main.c | 1 + gdb/testsuite/gdb.dwarf2/pr11465.S | 8 +- gdb/testsuite/gdb.dwarf2/symtab-producer.exp | 103 + gdb/testsuite/gdb.fortran/array-element.exp | 15 +- gdb/testsuite/gdb.fortran/print-formatted.exp | 39 + gdb/testsuite/gdb.fortran/print-formatted.f90 | 20 + gdb/testsuite/gdb.gdb/python-interrupts.exp | 2 +- gdb/testsuite/gdb.gdb/python-selftest.exp | 2 +- gdb/testsuite/gdb.gdb/selftest.exp | 17 +- gdb/testsuite/gdb.guile/scm-breakpoint.exp | 8 +- gdb/testsuite/gdb.guile/scm-cmd.exp | 4 + gdb/testsuite/gdb.guile/scm-disasm.exp | 8 +- gdb/testsuite/gdb.guile/scm-error.exp | 10 +- gdb/testsuite/gdb.guile/scm-frame-args.exp | 5 +- gdb/testsuite/gdb.guile/scm-parameter.exp | 28 + gdb/testsuite/gdb.guile/scm-pretty-print.exp | 4 +- gdb/testsuite/gdb.guile/scm-section-script.exp | 6 +- gdb/testsuite/gdb.guile/scm-value.exp | 24 +- gdb/testsuite/gdb.guile/types-module.exp | 12 + gdb/testsuite/gdb.hp/gdb.aCC/run.c | 35 +- gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.exp | 2 +- gdb/testsuite/gdb.linespec/break-asm-file.c | 35 + gdb/testsuite/gdb.linespec/break-asm-file.exp | 55 + gdb/testsuite/gdb.linespec/break-asm-file0.s | 218 + gdb/testsuite/gdb.linespec/break-asm-file1.s | 244 + gdb/testsuite/gdb.linespec/macro-relative.exp | 5 + gdb/testsuite/gdb.mi/basics.c | 8 +- .../gdb.mi/mi-condbreak-call-thr-state-mt.c | 2 + gdb/testsuite/gdb.mi/mi-console.c | 4 +- gdb/testsuite/gdb.mi/mi-console.exp | 3 +- gdb/testsuite/gdb.mi/mi-exit-code.c | 29 + gdb/testsuite/gdb.mi/mi-exit-code.exp | 88 + gdb/testsuite/gdb.mi/mi-stack.c | 9 +- gdb/testsuite/gdb.mi/mi-syn-frame.c | 2 + gdb/testsuite/gdb.mi/mi-until.exp | 23 +- gdb/testsuite/gdb.mi/mi-var-child.c | 16 + gdb/testsuite/gdb.mi/mi-var-child.exp | 92 +- gdb/testsuite/gdb.mi/mi-var-cmd.exp | 6 + gdb/testsuite/gdb.mi/mi-var-display.exp | 37 +- gdb/testsuite/gdb.mi/mi-var-rtti.cc | 28 +- gdb/testsuite/gdb.mi/mi2-var-child.exp | 150 +- gdb/testsuite/gdb.mi/non-stop.c | 4 +- gdb/testsuite/gdb.mi/pthreads.c | 4 +- gdb/testsuite/gdb.mi/until.c | 12 +- gdb/testsuite/gdb.mi/var-cmd.c | 84 + gdb/testsuite/gdb.mi/watch-nonstop.c | 2 + gdb/testsuite/gdb.multi/dummy-frame-restore.c | 36 + gdb/testsuite/gdb.multi/dummy-frame-restore.exp | 97 + gdb/testsuite/gdb.multi/multi-attach.exp | 13 +- gdb/testsuite/gdb.objc/basicclass.exp | 7 +- gdb/testsuite/gdb.perf/disassemble.exp | 2 +- .../gdb.python/amd64-py-framefilter-invalidarg.S | 261 + gdb/testsuite/gdb.python/py-arch.exp | 8 +- gdb/testsuite/gdb.python/py-breakpoint.exp | 10 +- gdb/testsuite/gdb.python/py-caller-is.c | 41 + gdb/testsuite/gdb.python/py-caller-is.exp | 73 + gdb/testsuite/gdb.python/py-cmd.exp | 4 + gdb/testsuite/gdb.python/py-completion.exp | 69 + gdb/testsuite/gdb.python/py-completion.py | 58 + gdb/testsuite/gdb.python/py-events.c | 2 + gdb/testsuite/gdb.python/py-events.exp | 118 + gdb/testsuite/gdb.python/py-events.py | 33 + gdb/testsuite/gdb.python/py-finish-breakpoint.c | 1 + gdb/testsuite/gdb.python/py-finish-breakpoint.exp | 6 +- gdb/testsuite/gdb.python/py-finish-breakpoint2.exp | 4 +- gdb/testsuite/gdb.python/py-frame-args.exp | 2 - gdb/testsuite/gdb.python/py-frame.exp | 17 + .../gdb.python/py-framefilter-invalidarg-gdb.py.in | 48 + .../gdb.python/py-framefilter-invalidarg.exp | 67 + .../gdb.python/py-framefilter-invalidarg.py | 59 + gdb/testsuite/gdb.python/py-framefilter-mi.c | 2 + gdb/testsuite/gdb.python/py-framefilter.c | 2 + gdb/testsuite/gdb.python/py-framefilter.exp | 2 - gdb/testsuite/gdb.python/py-linetable.exp | 18 +- gdb/testsuite/gdb.python/py-mi.exp | 2 - ...e-script-gdb.py.in => py-objfile-script-gdb.py} | 0 gdb/testsuite/gdb.python/py-objfile-script.exp | 7 +- gdb/testsuite/gdb.python/py-objfile.exp | 75 +- gdb/testsuite/gdb.python/py-parameter.exp | 9 +- gdb/testsuite/gdb.python/py-pp-integral.exp | 2 - gdb/testsuite/gdb.python/py-pp-re-notag.exp | 2 - gdb/testsuite/gdb.python/py-prettyprint.exp | 9 +- gdb/testsuite/gdb.python/py-progspace.exp | 12 +- gdb/testsuite/gdb.python/py-prompt.exp | 10 +- gdb/testsuite/gdb.python/py-section-script.exp | 2 - gdb/testsuite/gdb.python/py-symbol.exp | 7 +- gdb/testsuite/gdb.python/py-symtab.exp | 14 +- gdb/testsuite/gdb.python/py-sync-interp.exp | 10 +- gdb/testsuite/gdb.python/py-type.exp | 6 +- gdb/testsuite/gdb.python/py-typeprint.exp | 2 - gdb/testsuite/gdb.python/py-value-cc.exp | 24 +- gdb/testsuite/gdb.python/py-value.exp | 25 +- gdb/testsuite/gdb.python/py-xmethods.cc | 32 +- gdb/testsuite/gdb.python/py-xmethods.exp | 70 +- gdb/testsuite/gdb.python/py-xmethods.py | 20 +- gdb/testsuite/gdb.python/python.exp | 50 +- gdb/testsuite/gdb.reverse/break-precsave.exp | 22 +- gdb/testsuite/gdb.reverse/break-reverse.exp | 18 +- gdb/testsuite/gdb.reverse/consecutive-precsave.exp | 4 +- gdb/testsuite/gdb.reverse/finish-precsave.exp | 32 +- gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp | 4 +- gdb/testsuite/gdb.reverse/finish-reverse.exp | 28 +- gdb/testsuite/gdb.reverse/i386-precsave.exp | 4 +- gdb/testsuite/gdb.reverse/i387-env-reverse.exp | 6 +- gdb/testsuite/gdb.reverse/i387-stack-reverse.exp | 6 +- .../gdb.reverse/machinestate-precsave.exp | 52 +- gdb/testsuite/gdb.reverse/machinestate.exp | 48 +- gdb/testsuite/gdb.reverse/rerun-prec.c | 21 + gdb/testsuite/gdb.reverse/rerun-prec.exp | 35 + gdb/testsuite/gdb.reverse/shr2.c | 8 - gdb/testsuite/gdb.reverse/sigall-precsave.exp | 15 +- gdb/testsuite/gdb.reverse/sigall-reverse.exp | 20 +- gdb/testsuite/gdb.reverse/solib-precsave.exp | 4 +- gdb/testsuite/gdb.reverse/step-precsave.exp | 4 +- gdb/testsuite/gdb.reverse/until-precsave.exp | 23 +- gdb/testsuite/gdb.reverse/until-reverse.c | 64 +- gdb/testsuite/gdb.reverse/until-reverse.exp | 6 +- gdb/testsuite/gdb.reverse/ur1.c | 7 - gdb/testsuite/gdb.reverse/watch-precsave.exp | 8 +- gdb/testsuite/gdb.reverse/watch-reverse.c | 4 - gdb/testsuite/gdb.reverse/watch-reverse.exp | 4 +- gdb/testsuite/gdb.server/ext-attach.exp | 10 +- gdb/testsuite/gdb.server/server-kill.c | 10 +- gdb/testsuite/gdb.server/server-kill.exp | 25 +- gdb/testsuite/gdb.stabs/weird.exp | 2 - gdb/testsuite/gdb.threads/attach-into-signal.exp | 9 - gdb/testsuite/gdb.threads/break-while-running.c | 101 + gdb/testsuite/gdb.threads/break-while-running.exp | 162 + gdb/testsuite/gdb.threads/dlopen-libpthread.exp | 2 +- gdb/testsuite/gdb.threads/gcore-stale-thread.c | 48 + gdb/testsuite/gdb.threads/gcore-stale-thread.exp | 57 + gdb/testsuite/gdb.threads/gcore-thread.exp | 11 - gdb/testsuite/gdb.threads/kill.c | 64 + gdb/testsuite/gdb.threads/kill.exp | 77 + gdb/testsuite/gdb.threads/killed.exp | 9 +- gdb/testsuite/gdb.threads/leader-exit.c | 3 +- gdb/testsuite/gdb.threads/leader-exit.exp | 20 + gdb/testsuite/gdb.threads/linux-dp.exp | 9 +- gdb/testsuite/gdb.threads/manythreads.exp | 89 +- gdb/testsuite/gdb.threads/next-bp-other-thread.c | 45 + gdb/testsuite/gdb.threads/next-bp-other-thread.exp | 54 + gdb/testsuite/gdb.threads/print-threads.exp | 6 +- gdb/testsuite/gdb.threads/pthreads.c | 6 +- gdb/testsuite/gdb.threads/pthreads.exp | 9 +- gdb/testsuite/gdb.threads/queue-signal.c | 142 + gdb/testsuite/gdb.threads/queue-signal.exp | 91 + gdb/testsuite/gdb.threads/schedlock.c | 24 +- gdb/testsuite/gdb.threads/schedlock.exp | 256 +- .../gdb.threads/signal-command-handle-nopass.c | 49 + .../gdb.threads/signal-command-handle-nopass.exp | 82 + .../signal-command-multiple-signals-pending.c | 98 + .../signal-command-multiple-signals-pending.exp | 166 + .../gdb.threads/signal-delivered-right-thread.c | 61 + .../gdb.threads/signal-delivered-right-thread.exp | 85 + gdb/testsuite/gdb.threads/thread-execl.c | 1 + gdb/testsuite/gdb.threads/thread-execl.exp | 44 +- gdb/testsuite/gdb.threads/thread-find.exp | 4 - gdb/testsuite/gdb.trace/actions-changed.c | 3 + gdb/testsuite/gdb.trace/backtrace.exp | 7 +- gdb/testsuite/gdb.trace/entry-values.c | 2 + gdb/testsuite/gdb.trace/entry-values.exp | 87 +- gdb/testsuite/gdb.trace/qtro.exp | 13 +- gdb/testsuite/gdb.trace/tfile.c | 112 +- gdb/testsuite/gdb.trace/tfile.exp | 3 +- gdb/testsuite/gdb.xml/tdesc-regs.exp | 12 +- gdb/testsuite/lib/dwarf.exp | 158 +- gdb/testsuite/lib/gdb-python.exp | 21 + gdb/testsuite/lib/gdb-utils.exp | 39 + gdb/testsuite/lib/gdb.exp | 477 +- gdb/testsuite/lib/gdbserver-support.exp | 27 +- gdb/testsuite/lib/mi-support.exp | 11 +- gdb/testsuite/lib/prelink-support.exp | 4 + gdb/testsuite/lib/read1.c | 40 + gdb/thread.c | 296 +- gdb/tic6x-linux-tdep.c | 1 - gdb/tic6x-tdep.c | 1 - gdb/tilegx-linux-nat.c | 3 - gdb/tilegx-linux-tdep.c | 54 +- gdb/tilegx-tdep.c | 2 - gdb/tilegx-tdep.h | 1 + gdb/top.c | 102 +- gdb/top.h | 8 + gdb/tracefile-tfile.c | 7 +- gdb/tracefile.h | 1 - gdb/tracepoint.c | 14 +- gdb/trad-frame.h | 2 - gdb/tramp-frame.c | 5 +- gdb/tramp-frame.h | 7 + gdb/tui/tui-command.c | 3 - gdb/tui/tui-data.c | 2 - gdb/tui/tui-disasm.c | 3 +- gdb/tui/tui-file.c | 2 - gdb/tui/tui-hooks.c | 2 +- gdb/tui/tui-interp.c | 18 - gdb/tui/tui-io.c | 51 +- gdb/tui/tui-layout.c | 2 - gdb/tui/tui-out.c | 3 - gdb/tui/tui-regs.c | 3 +- gdb/tui/tui-source.c | 6 +- gdb/tui/tui-stack.c | 1 - gdb/tui/tui-win.c | 9 +- gdb/tui/tui-windata.c | 2 - gdb/tui/tui-winsource.c | 17 +- gdb/tui/tui.c | 87 +- gdb/tui/tui.h | 4 - gdb/typeprint.c | 13 +- gdb/ui-file.c | 9 +- gdb/ui-file.h | 6 + gdb/ui-out.c | 2 - gdb/user-regs.c | 26 +- gdb/utils.c | 411 +- gdb/utils.h | 60 +- gdb/v850-tdep.c | 2 - gdb/valarith.c | 17 +- gdb/valops.c | 145 +- gdb/valprint.c | 65 +- gdb/value.c | 732 +- gdb/value.h | 174 +- gdb/varobj-iter.h | 72 + gdb/varobj.c | 300 +- gdb/varobj.h | 13 +- gdb/vax-nat.c | 106 - gdb/vax-tdep.c | 22 +- gdb/vaxnbsd-tdep.c | 2 - gdb/vaxobsd-tdep.c | 2 - gdb/version.in | 2 +- gdb/windows-nat.c | 37 +- gdb/x86-linux-nat.c | 567 + gdb/x86-linux-nat.h | 51 + gdb/x86-nat.c | 314 + gdb/x86-nat.h | 57 + gdb/xcoffread.c | 49 +- gdb/xml-support.c | 3 - gdb/xml-syscall.c | 169 +- gdb/xml-syscall.h | 11 +- gdb/xml-tdesc.c | 2 - gdb/xstormy16-tdep.c | 4 +- gdb/xtensa-linux-nat.c | 2 - gdb/xtensa-tdep.c | 28 +- gold/ChangeLog | 644 + gold/Makefile.am | 9 +- gold/Makefile.in | 12 +- gold/aarch64-reloc-property.cc | 163 + gold/aarch64-reloc-property.h | 245 + gold/aarch64-reloc.def | 97 + gold/aarch64.cc | 6729 ++++ gold/arm.cc | 18 +- gold/binary.cc | 15 +- gold/binary.h | 3 +- gold/configure | 28 + gold/configure.ac | 2 + gold/configure.tgt | 23 + gold/dwarf_reader.cc | 6 + gold/dwp.cc | 15 +- gold/dynobj.cc | 11 + gold/dynobj.h | 8 +- gold/ehframe.cc | 55 +- gold/ehframe.h | 7 +- gold/expression.cc | 45 +- gold/gold.cc | 3 + gold/incremental.cc | 8 +- gold/incremental.h | 4 +- gold/layout.cc | 70 +- gold/layout.h | 3 + gold/mapfile.cc | 16 +- gold/mips.cc |10571 ++++++ gold/object.cc | 40 +- gold/object.h | 18 +- gold/options.h | 9 +- gold/output.cc | 73 +- gold/plugin.cc | 11 +- gold/plugin.h | 7 +- gold/po/POTFILES.in | 4 + gold/powerpc.cc | 534 +- gold/resolve.cc | 22 +- gold/script.cc | 11 +- gold/script.h | 2 + gold/symtab.cc | 19 +- gold/symtab.h | 5 + gold/testsuite/Makefile.am | 28 +- gold/testsuite/Makefile.in | 104 +- gold/testsuite/debug_msg.cc | 2 +- gold/testsuite/defsym_test.c | 15 + gold/testsuite/defsym_test.sh | 40 + gold/testsuite/icf_safe_so_test.cc | 8 +- gold/testsuite/icf_safe_test.sh | 2 +- gold/testsuite/plugin_common_test_2.c | 2 +- gold/testsuite/plugin_test_10.sh | 33 + gold/x86_64.cc | 20 +- gprof/ChangeLog | 49 + gprof/Makefile.am | 6 +- gprof/Makefile.in | 10 +- gprof/configure | 614 +- gprof/configure.ac | 77 + gprof/configure.in | 79 - gprof/gconfig.in | 5 +- gprof/po/bg.po | 122 +- gprof/po/es.po | 310 +- gprof/po/fi.po | 152 +- gprof/po/hu.po | 595 + gprof/po/sr.po | 154 +- include/ChangeLog | 120 + include/bfdlink.h | 35 +- include/coff/ChangeLog | 4 + include/coff/pe.h | 52 +- include/demangle.h | 11 +- include/dis-asm.h | 1 + include/dwarf2.def | 16 + include/dwarf2.h | 4 + include/elf/ChangeLog | 70 + include/elf/aarch64.h | 82 + include/elf/arm.h | 17 + include/elf/avr.h | 18 +- include/elf/common.h | 1 + include/elf/mips.h | 140 +- include/elf/nds32.h | 31 +- include/elf/rl78.h | 1 + include/elf/sparc.h | 25 +- include/elf/visium.h | 51 + include/elf/x86-64.h | 3 +- include/gcc-c-fe.def | 197 + include/gcc-c-interface.h | 220 + include/gcc-interface.h | 127 + include/gdb/ChangeLog | 7 + include/gdb/callback.h | 6 +- include/libiberty.h | 14 +- include/longlong.h | 3 +- include/opcode/ChangeLog | 150 + include/opcode/aarch64.h | 9 +- include/opcode/arm.h | 9 +- include/opcode/avr.h | 42 +- include/opcode/mips.h | 117 +- include/opcode/moxie.h | 8 +- include/opcode/nds32.h | 10 +- include/opcode/nios2.h | 424 +- include/opcode/nios2r1.h | 474 + include/opcode/sparc.h | 20 +- include/opcode/visium.h | 337 + install-sh | 385 +- ld/ChangeLog | 549 + ld/Makefile.am | 46 +- ld/Makefile.in | 55 +- ld/NEWS | 6 + ld/config.in | 11 +- ld/configure | 1801 +- ld/configure.ac | 403 + ld/configure.in | 412 - ld/configure.tgt | 17 +- ld/emulparams/armelf_fbsd.sh | 8 + ld/emulparams/armelf_linux.sh | 2 +- ld/emulparams/armelfb_fbsd.sh | 2 + ld/emulparams/avrtiny.sh | 13 + ld/emulparams/elf32bmip.sh | 3 +- ld/emulparams/elf32bmipn32-defs.sh | 1 + ld/emulparams/elf32or1k_linux.sh | 1 + ld/emulparams/elf32visium.sh | 9 + ld/emulparams/elf64bmip-defs.sh | 5 +- ld/emulparams/elf_i386.sh | 4 + ld/emulparams/elf_x86_64.sh | 10 +- ld/emulparams/moxiebox.sh | 9 + ld/emultempl/aarch64elf.em | 25 +- ld/emultempl/armelf.em | 19 +- ld/emultempl/avrelf.em | 37 + ld/emultempl/cr16elf.em | 4 +- ld/emultempl/elf32.em | 35 +- ld/emultempl/genelf.em | 2 +- ld/emultempl/hppaelf.em | 14 +- ld/emultempl/m68kcoff.em | 4 +- ld/emultempl/m68kelf.em | 4 +- ld/emultempl/metagelf.em | 14 +- ld/emultempl/nds32elf.em | 136 +- ld/emultempl/nios2elf.em | 14 +- ld/emultempl/pe.em | 25 +- ld/emultempl/pep.em | 30 +- ld/emultempl/ppc64elf.em | 85 +- ld/emultempl/sh64elf.em | 3 + ld/emultempl/spu_icache.o_c | 50 +- ld/emultempl/spu_ovl.o_c | 44 +- ld/emultempl/tic6xdsbt.em | 9 +- ld/emultempl/vms.em | 9 +- ld/emultempl/xtensaelf.em | 2 +- ld/ld.texinfo | 73 +- ld/ldexp.c | 145 +- ld/ldexp.h | 2 + ld/ldgram.y | 23 +- ld/ldlang.c | 185 +- ld/ldlang.h | 26 +- ld/ldlex.h | 4 + ld/ldlex.l | 32 +- ld/ldmain.c | 18 +- ld/ldmisc.c | 1 + ld/ldwrite.c | 1 + ld/lexsup.c | 42 +- ld/pe-dll.c | 13 +- ld/plugin.c | 67 +- ld/plugin.h | 3 - ld/po/bg.po | 1099 +- ld/scripttempl/DWARF.sc | 6 + ld/scripttempl/aix.sc | 12 + ld/scripttempl/alpha.sc | 13 + ld/scripttempl/alphavms.sc | 12 + ld/scripttempl/aout.sc | 12 + ld/scripttempl/armaout.sc | 12 + ld/scripttempl/armbpabi.sc | 14 +- ld/scripttempl/armcoff.sc | 13 + ld/scripttempl/avr.sc | 19 +- ld/scripttempl/avrtiny.sc | 246 + ld/scripttempl/crisaout.sc | 12 + ld/scripttempl/delta68.sc | 12 + ld/scripttempl/dlx.sc | 12 + ld/scripttempl/elf.sc | 21 +- ld/scripttempl/elf32cr16.sc | 13 +- ld/scripttempl/elf32cr16c.sc | 15 +- ld/scripttempl/elf32crx.sc | 15 +- ld/scripttempl/elf32msp430.sc | 12 +- ld/scripttempl/elf32msp430_3.sc | 12 + ld/scripttempl/elf32sh-symbian.sc | 13 +- ld/scripttempl/elf32xc16x.sc | 12 + ld/scripttempl/elf32xc16xl.sc | 12 + ld/scripttempl/elf32xc16xs.sc | 15 +- ld/scripttempl/elf64hppa.sc | 13 +- ld/scripttempl/elf_chaos.sc | 11 + ld/scripttempl/elfd10v.sc | 12 + ld/scripttempl/elfd30v.sc | 11 + ld/scripttempl/elfi370.sc | 14 +- ld/scripttempl/elfm68hc11.sc | 13 +- ld/scripttempl/elfm68hc12.sc | 11 + ld/scripttempl/elfmicroblaze.sc | 14 + ld/scripttempl/elfxgate.sc | 11 + ld/scripttempl/elfxtensa.sc | 13 +- ld/scripttempl/epiphany_4x4.sc | 12 +- ld/scripttempl/epocpe.sc | 12 + ld/scripttempl/h8300.sc | 12 + ld/scripttempl/h8300h.sc | 12 + ld/scripttempl/h8300hn.sc | 12 + ld/scripttempl/h8300s.sc | 12 + ld/scripttempl/h8300sn.sc | 12 + ld/scripttempl/h8300sx.sc | 12 + ld/scripttempl/h8300sxn.sc | 12 + ld/scripttempl/h8500.sc | 12 + ld/scripttempl/h8500b.sc | 12 + ld/scripttempl/h8500c.sc | 12 + ld/scripttempl/h8500m.sc | 12 + ld/scripttempl/h8500s.sc | 12 + ld/scripttempl/hppaelf.sc | 13 + ld/scripttempl/i386beos.sc | 12 + ld/scripttempl/i386coff.sc | 14 + ld/scripttempl/i386go32.sc | 12 + ld/scripttempl/i386msdos.sc | 12 + ld/scripttempl/i860coff.sc | 12 + ld/scripttempl/i960.sc | 12 + ld/scripttempl/ia64vms.sc | 12 + ld/scripttempl/ip2k.sc | 12 + ld/scripttempl/iq2000.sc | 13 +- ld/scripttempl/m68kaux.sc | 13 + ld/scripttempl/m68kcoff.sc | 12 + ld/scripttempl/m88kbcs.sc | 13 + ld/scripttempl/mcorepe.sc | 12 + ld/scripttempl/mep.sc | 13 +- ld/scripttempl/mips.sc | 15 + ld/scripttempl/mipsbsd.sc | 12 + ld/scripttempl/mmo.sc | 14 + ld/scripttempl/moxie.sc | 12 + ld/scripttempl/nds32elf.sc | 22 +- ld/scripttempl/nw.sc | 13 + ld/scripttempl/pe.sc | 12 + ld/scripttempl/pep.sc | 12 + ld/scripttempl/pj.sc | 12 + ld/scripttempl/ppcpe.sc | 14 + ld/scripttempl/psos.sc | 12 + ld/scripttempl/riscix.sc | 12 + ld/scripttempl/sh.sc | 12 + ld/scripttempl/sparccoff.sc | 14 + ld/scripttempl/st2000.sc | 17 +- ld/scripttempl/tic30aout.sc | 12 + ld/scripttempl/tic30coff.sc | 81 +- ld/scripttempl/tic4xcoff.sc | 12 + ld/scripttempl/tic54xcoff.sc | 15 +- ld/scripttempl/tic80coff.sc | 12 + ld/scripttempl/v850.sc | 12 + ld/scripttempl/v850_rh850.sc | 12 + ld/scripttempl/vanilla.sc | 5 + ld/scripttempl/visium.sc | 181 + ld/scripttempl/w65.sc | 12 + ld/scripttempl/xstormy16.sc | 11 + ld/scripttempl/z80.sc | 12 + ld/scripttempl/z8000.sc | 12 + ld/sysdep.h | 22 - ld/testsuite/ChangeLog | 925 +- ld/testsuite/config/default.exp | 23 +- ld/testsuite/ld-aarch64/aarch64-elf.exp | 25 + ld/testsuite/ld-aarch64/copy-reloc-exe.s | 7 + ld/testsuite/ld-aarch64/copy-reloc-so.s | 6 + ld/testsuite/ld-aarch64/copy-reloc.d | 4 + ld/testsuite/ld-aarch64/eh-frame-bar.s | 2 +- ld/testsuite/ld-aarch64/eh-frame-foo.s | 2 +- ld/testsuite/ld-aarch64/eh-frame.d | 72 +- ld/testsuite/ld-aarch64/emit-relocs-264-bad.d | 3 + ld/testsuite/ld-aarch64/emit-relocs-266-bad.d | 3 + ld/testsuite/ld-aarch64/emit-relocs-268-bad.d | 3 + ld/testsuite/ld-aarch64/emit-relocs-269-bad.d | 3 + .../ld-aarch64/emit-relocs-local-addend-bar.s | 19 + .../ld-aarch64/emit-relocs-local-addend-foo.s | 20 + ld/testsuite/ld-aarch64/emit-relocs-local-addend.d | 16 + ld/testsuite/ld-aarch64/erratum835769.d | 48 + ld/testsuite/ld-aarch64/erratum835769.s | 75 + ld/testsuite/ld-aarch64/local-addend-r.d | 16 + ld/testsuite/ld-alpha/tlsbin.dd | 10 +- ld/testsuite/ld-alpha/tlsbin.rd | 92 +- ld/testsuite/ld-alpha/tlsbin.sd | 3 +- ld/testsuite/ld-alpha/tlsbinr.dd | 2 +- ld/testsuite/ld-alpha/tlsbinr.rd | 92 +- ld/testsuite/ld-alpha/tlspic.dd | 10 +- ld/testsuite/ld-alpha/tlspic.rd | 88 +- ld/testsuite/ld-alpha/tlspic.sd | 13 +- ld/testsuite/ld-arm/arm-app-abs32.d | 2 +- ld/testsuite/ld-arm/arm-app.d | 2 +- ld/testsuite/ld-arm/arm-elf.exp | 432 +- ld/testsuite/ld-arm/arm-lib-plt32.d | 2 +- ld/testsuite/ld-arm/arm-lib.d | 2 +- ld/testsuite/ld-arm/arm-lib.ld | 2 +- ld/testsuite/ld-arm/arm-static-app.d | 2 +- ld/testsuite/ld-arm/armthumb-lib.d | 2 +- ld/testsuite/ld-arm/attr-merge-2.attr | 1 + ld/testsuite/ld-arm/attr-merge-2a.s | 1 + ld/testsuite/ld-arm/attr-merge-2b.s | 1 + ld/testsuite/ld-arm/attr-merge-4.attr | 2 + ld/testsuite/ld-arm/attr-merge-4a.s | 3 + ld/testsuite/ld-arm/attr-merge-4b.s | 3 + ld/testsuite/ld-arm/attr-merge-6.attr | 1 + ld/testsuite/ld-arm/attr-merge-6a.s | 2 + ld/testsuite/ld-arm/attr-merge-6b.s | 2 + ld/testsuite/ld-arm/attr-merge-arch-2.d | 5 + ld/testsuite/ld-arm/attr-merge-arch-2a.s | 18 + ld/testsuite/ld-arm/attr-merge-arch-2b.s | 8 + ld/testsuite/ld-arm/attr-merge-nosection-1.d | 18 + ld/testsuite/ld-arm/attr-merge-nosection-1a.s | 10 + ld/testsuite/ld-arm/attr-merge-nosection-1b.s | 10 + ld/testsuite/ld-arm/attr-merge-vfp-10.d | 14 + ld/testsuite/ld-arm/attr-merge-vfp-10r.d | 14 + ld/testsuite/ld-arm/attr-merge-vfp-11.d | 13 + ld/testsuite/ld-arm/attr-merge-vfp-11r.d | 13 + ld/testsuite/ld-arm/attr-merge-vfp-12.d | 14 + ld/testsuite/ld-arm/attr-merge-vfp-12r.d | 14 + ld/testsuite/ld-arm/attr-merge-vfp-13.d | 14 + ld/testsuite/ld-arm/attr-merge-vfp-13r.d | 14 + ld/testsuite/ld-arm/attr-merge-vfp-14.d | 14 + ld/testsuite/ld-arm/attr-merge-vfp-14r.d | 14 + ld/testsuite/ld-arm/attr-merge-vfp-4-sp.s | 2 + ld/testsuite/ld-arm/attr-merge-vfp-5-sp.s | 2 + ld/testsuite/ld-arm/attr-merge-vfp-5.s | 2 + ld/testsuite/ld-arm/attr-merge-vfp-8.d | 14 + ld/testsuite/ld-arm/attr-merge-vfp-8r.d | 14 + ld/testsuite/ld-arm/attr-merge-vfp-9.d | 14 + ld/testsuite/ld-arm/attr-merge-vfp-9r.d | 14 + ld/testsuite/ld-arm/cortex-a8-far.d | 1 + ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d | 4 +- ld/testsuite/ld-arm/farcall-cond-thumb-arm.d | 18 + ld/testsuite/ld-arm/farcall-cond-thumb-arm.s | 27 + ld/testsuite/ld-arm/farcall-mixed-app.d | 2 +- ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d | 2 +- ld/testsuite/ld-arm/farcall-mixed-lib.d | 2 +- ld/testsuite/ld-arm/ifunc-gdesc.r | 6 + ld/testsuite/ld-arm/ifunc-gdesc.s | 29 + ld/testsuite/ld-arm/ifunc-gdesc.ver | 4 + .../ld-arm/jump-reloc-veneers-cond-long-backward.d | 24 + ld/testsuite/ld-arm/jump-reloc-veneers-cond-long.d | 24 + .../jump-reloc-veneers-cond-short-backward.d | 13 + .../ld-arm/jump-reloc-veneers-cond-short.d | 13 + ld/testsuite/ld-arm/jump-reloc-veneers-cond.s | 12 + ld/testsuite/ld-arm/mixed-app-v5.d | 2 +- ld/testsuite/ld-arm/mixed-app.d | 2 +- ld/testsuite/ld-arm/mixed-lib.d | 2 +- ld/testsuite/ld-arm/pcrel-shared.rd | 16 + ld/testsuite/ld-arm/pcrel-shared.s | 25 + ld/testsuite/ld-arm/tls-app.d | 2 +- ld/testsuite/ld-arm/tls-descrelax-be32.d | 2 +- ld/testsuite/ld-arm/tls-descrelax.d | 2 +- ld/testsuite/ld-arm/tls-descseq.d | 2 +- ld/testsuite/ld-arm/tls-gdesc-got.d | 2 +- ld/testsuite/ld-arm/tls-gdesc.d | 2 +- ld/testsuite/ld-arm/tls-gdierelax.d | 2 +- ld/testsuite/ld-arm/tls-gdierelax2.d | 10 +- ld/testsuite/ld-arm/tls-gdlerelax.d | 2 +- ld/testsuite/ld-arm/tls-lib-loc.d | 2 +- ld/testsuite/ld-arm/tls-lib.d | 6 +- ld/testsuite/ld-arm/tls-longplt-lib.d | 4 +- ld/testsuite/ld-arm/tls-longplt-lib.s | 1 + ld/testsuite/ld-arm/tls-longplt.d | 4 +- ld/testsuite/ld-arm/tls-longplt.s | 1 + ld/testsuite/ld-arm/tls-thumb1.d | 2 +- ld/testsuite/ld-avr/relax-02.d | 64 + ld/testsuite/ld-avr/relax-02.s | 65 + ld/testsuite/ld-avr/relax-03.d | 26 + ld/testsuite/ld-avr/relax-03.s | 18 + ld/testsuite/ld-avr/relax-elf-flags-01.d | 12 + ld/testsuite/ld-avr/relax-elf-flags-02.d | 12 + ld/testsuite/ld-avr/relax-elf-flags-03.d | 12 + ld/testsuite/ld-avr/relax-elf-flags-04.d | 12 + ld/testsuite/ld-avr/relax-elf-flags-05.d | 12 + ld/testsuite/ld-avr/relax-elf-flags-06.d | 12 + ld/testsuite/ld-avr/relax-elf-flags-07.d | 12 + ld/testsuite/ld-avr/relax-elf-flags-08.d | 12 + ld/testsuite/ld-avr/relax-elf-flags-a.s | 4 + ld/testsuite/ld-avr/relax-elf-flags-b.s | 4 + ld/testsuite/ld-cris/weakref3.d | 4 +- ld/testsuite/ld-cris/weakref4.d | 2 +- ld/testsuite/ld-elf/eh-frame-hdr.d | 2 +- ld/testsuite/ld-elf/eh1.d | 6 +- ld/testsuite/ld-elf/eh1.s | 3 + ld/testsuite/ld-elf/eh2.d | 6 +- ld/testsuite/ld-elf/eh3.d | 6 +- ld/testsuite/ld-elf/eh3.s | 3 + ld/testsuite/ld-elf/eh5.d | 24 +- ld/testsuite/ld-elf/elf.exp | 26 +- ld/testsuite/ld-elf/endsym.d | 13 + ld/testsuite/ld-elf/endsym.s | 2 + ld/testsuite/ld-elf/flags1.d | 4 +- ld/testsuite/ld-elf/group.ld | 2 +- ld/testsuite/ld-elf/needed3.c | 8 + ld/testsuite/ld-elf/orphan-region.ld | 2 +- ld/testsuite/ld-elf/orphan.ld | 2 +- ld/testsuite/ld-elf/pr14926.d | 2 +- ld/testsuite/ld-elf/pr16452.map | 1 + ld/testsuite/ld-elf/pr16452.od | 7 + ld/testsuite/ld-elf/pr16452a.c | 1 + ld/testsuite/ld-elf/pr16452b.c | 2 + ld/testsuite/ld-elf/pr16457.od | 6 + ld/testsuite/ld-elf/pr16496a.c | 4 + ld/testsuite/ld-elf/pr16496a.map | 4 + ld/testsuite/ld-elf/pr16496b.c | 5 + ld/testsuite/ld-elf/pr16496b.od | 3 + ld/testsuite/ld-elf/pr17068.s | 2 + ld/testsuite/ld-elf/pr17068a.s | 4 + ld/testsuite/ld-elf/pr17068b.s | 4 + ld/testsuite/ld-elf/pr17068c.s | 4 + ld/testsuite/ld-elf/pr17068d.s | 6 + ld/testsuite/ld-elf/pr17068e.s | 3 + ld/testsuite/ld-elf/pr17068ez.s | 4 + ld/testsuite/ld-elf/sec-to-seg.exp | 1 + ld/testsuite/ld-elf/shared.exp | 41 +- ld/testsuite/ld-elfvers/vers.exp | 3 +- ld/testsuite/ld-elfvers/vers24.rd | 2 +- ld/testsuite/ld-i386/i386.exp | 97 + ld/testsuite/ld-i386/plt-lib.c | 11 + ld/testsuite/ld-i386/plt-main.out | 1 + ld/testsuite/ld-i386/plt-main.rd | 4 + ld/testsuite/ld-i386/plt-main1.c | 8 + ld/testsuite/ld-i386/plt-main1.rd | 3 + ld/testsuite/ld-i386/plt-main2.c | 3 + ld/testsuite/ld-i386/plt-main2.rd | 3 + ld/testsuite/ld-i386/plt-main3.c | 15 + ld/testsuite/ld-i386/plt-main3.rd | 5 + ld/testsuite/ld-i386/plt-main4.c | 14 + ld/testsuite/ld-i386/plt-main4.rd | 5 + ld/testsuite/ld-i386/plt-main5.c | 15 + ld/testsuite/ld-i386/pr17057.d | 9 + ld/testsuite/ld-i386/pr17057.s | 3 + ld/testsuite/ld-i386/pr17306a.s | 9 + ld/testsuite/ld-i386/pr17306b.s | 2 + ld/testsuite/ld-ifunc/ifunc-lib.c | 29 + ld/testsuite/ld-ifunc/ifunc-main.c | 38 + ld/testsuite/ld-ifunc/ifunc-main.out | 1 + ld/testsuite/ld-ifunc/ifunc.exp | 50 +- ld/testsuite/ld-ifunc/pr17154-i386.d | 47 + ld/testsuite/ld-ifunc/pr17154-x86-64.d | 46 + ld/testsuite/ld-ifunc/pr17154-x86.s | 28 + ld/testsuite/ld-mips-elf/abiflags-strip1-ph.d | 13 + ld/testsuite/ld-mips-elf/abiflags-strip10-ph.d | 27 + ld/testsuite/ld-mips-elf/abiflags-strip2-ph.d | 27 + ld/testsuite/ld-mips-elf/abiflags-strip3-ph.d | 27 + ld/testsuite/ld-mips-elf/abiflags-strip4-ph.d | 31 + ld/testsuite/ld-mips-elf/abiflags-strip5-ph.d | 31 + ld/testsuite/ld-mips-elf/abiflags-strip6-ph.d | 27 + ld/testsuite/ld-mips-elf/abiflags-strip7-ph.d | 27 + ld/testsuite/ld-mips-elf/abiflags-strip8-ph.d | 27 + ld/testsuite/ld-mips-elf/abiflags-strip9-ph.d | 27 + ld/testsuite/ld-mips-elf/attr-gnu-4-0-n32-ph.d | 26 + ld/testsuite/ld-mips-elf/attr-gnu-4-0-n64-ph.d | 25 + ld/testsuite/ld-mips-elf/attr-gnu-4-0-ph.d | 24 + ld/testsuite/ld-mips-elf/attr-gnu-4-00.d | 13 +- ld/testsuite/ld-mips-elf/attr-gnu-4-01.d | 14 +- ld/testsuite/ld-mips-elf/attr-gnu-4-02.d | 14 +- ld/testsuite/ld-mips-elf/attr-gnu-4-03.d | 15 +- ld/testsuite/ld-mips-elf/attr-gnu-4-04.d | 10 +- ld/testsuite/ld-mips-elf/attr-gnu-4-05.d | 18 +- ld/testsuite/ld-mips-elf/attr-gnu-4-06.d | 21 + ld/testsuite/ld-mips-elf/attr-gnu-4-07.d | 21 + ld/testsuite/ld-mips-elf/attr-gnu-4-08.d | 21 + ld/testsuite/ld-mips-elf/attr-gnu-4-1-n32-ph.d | 26 + ld/testsuite/ld-mips-elf/attr-gnu-4-1-n64-ph.d | 25 + ld/testsuite/ld-mips-elf/attr-gnu-4-1-ph.d | 24 + ld/testsuite/ld-mips-elf/attr-gnu-4-10.d | 37 +- ld/testsuite/ld-mips-elf/attr-gnu-4-11.d | 14 +- ld/testsuite/ld-mips-elf/attr-gnu-4-12.d | 1 - ld/testsuite/ld-mips-elf/attr-gnu-4-13.d | 1 - ld/testsuite/ld-mips-elf/attr-gnu-4-14.d | 7 +- ld/testsuite/ld-mips-elf/attr-gnu-4-15.d | 17 +- ld/testsuite/ld-mips-elf/attr-gnu-4-16.d | 22 + ld/testsuite/ld-mips-elf/attr-gnu-4-17.d | 22 + ld/testsuite/ld-mips-elf/attr-gnu-4-18.d | 22 + ld/testsuite/ld-mips-elf/attr-gnu-4-2-n32-ph.d | 26 + ld/testsuite/ld-mips-elf/attr-gnu-4-2-n64-ph.d | 25 + ld/testsuite/ld-mips-elf/attr-gnu-4-2-ph.d | 24 + ld/testsuite/ld-mips-elf/attr-gnu-4-2.s | 1 + ld/testsuite/ld-mips-elf/attr-gnu-4-20.d | 14 +- ld/testsuite/ld-mips-elf/attr-gnu-4-21.d | 1 - ld/testsuite/ld-mips-elf/attr-gnu-4-22.d | 14 +- ld/testsuite/ld-mips-elf/attr-gnu-4-23.d | 1 - ld/testsuite/ld-mips-elf/attr-gnu-4-24.d | 7 +- ld/testsuite/ld-mips-elf/attr-gnu-4-25.d | 18 +- ld/testsuite/ld-mips-elf/attr-gnu-4-26.d | 22 + ld/testsuite/ld-mips-elf/attr-gnu-4-27.d | 22 + ld/testsuite/ld-mips-elf/attr-gnu-4-28.d | 22 + ld/testsuite/ld-mips-elf/attr-gnu-4-3-n32-ph.d | 26 + ld/testsuite/ld-mips-elf/attr-gnu-4-3-n64-ph.d | 25 + ld/testsuite/ld-mips-elf/attr-gnu-4-3-ph.d | 24 + ld/testsuite/ld-mips-elf/attr-gnu-4-3.s | 1 + ld/testsuite/ld-mips-elf/attr-gnu-4-30.d | 14 +- ld/testsuite/ld-mips-elf/attr-gnu-4-31.d | 1 - ld/testsuite/ld-mips-elf/attr-gnu-4-32.d | 1 - ld/testsuite/ld-mips-elf/attr-gnu-4-33.d | 14 +- ld/testsuite/ld-mips-elf/attr-gnu-4-34.d | 7 +- ld/testsuite/ld-mips-elf/attr-gnu-4-35.d | 18 +- ld/testsuite/ld-mips-elf/attr-gnu-4-36.d | 22 + ld/testsuite/ld-mips-elf/attr-gnu-4-37.d | 22 + ld/testsuite/ld-mips-elf/attr-gnu-4-38.d | 22 + ld/testsuite/ld-mips-elf/attr-gnu-4-4-ph.d | 24 + ld/testsuite/ld-mips-elf/attr-gnu-4-40.d | 10 +- ld/testsuite/ld-mips-elf/attr-gnu-4-41.d | 7 +- ld/testsuite/ld-mips-elf/attr-gnu-4-42.d | 7 +- ld/testsuite/ld-mips-elf/attr-gnu-4-43.d | 7 +- ld/testsuite/ld-mips-elf/attr-gnu-4-44.d | 20 +- ld/testsuite/ld-mips-elf/attr-gnu-4-45.d | 12 +- ld/testsuite/ld-mips-elf/attr-gnu-4-46.d | 6 + ld/testsuite/ld-mips-elf/attr-gnu-4-47.d | 6 + ld/testsuite/ld-mips-elf/attr-gnu-4-48.d | 6 + ld/testsuite/ld-mips-elf/attr-gnu-4-5-ph.d | 24 + ld/testsuite/ld-mips-elf/attr-gnu-4-5.s | 2 + ld/testsuite/ld-mips-elf/attr-gnu-4-50.d | 41 + ld/testsuite/ld-mips-elf/attr-gnu-4-51.d | 22 +- ld/testsuite/ld-mips-elf/attr-gnu-4-52.d | 4 + ld/testsuite/ld-mips-elf/attr-gnu-4-53.d | 4 + ld/testsuite/ld-mips-elf/attr-gnu-4-54.d | 6 + ld/testsuite/ld-mips-elf/attr-gnu-4-55.d | 21 + ld/testsuite/ld-mips-elf/attr-gnu-4-56.d | 21 + ld/testsuite/ld-mips-elf/attr-gnu-4-57.d | 21 + ld/testsuite/ld-mips-elf/attr-gnu-4-58.d | 4 + ld/testsuite/ld-mips-elf/attr-gnu-4-6-ph.d | 24 + ld/testsuite/ld-mips-elf/attr-gnu-4-6.s | 4 + ld/testsuite/ld-mips-elf/attr-gnu-4-60.d | 41 + ld/testsuite/ld-mips-elf/attr-gnu-4-61.d | 4 + ld/testsuite/ld-mips-elf/attr-gnu-4-62.d | 4 + ld/testsuite/ld-mips-elf/attr-gnu-4-63.d | 4 + ld/testsuite/ld-mips-elf/attr-gnu-4-64.d | 6 + ld/testsuite/ld-mips-elf/attr-gnu-4-65.d | 21 + ld/testsuite/ld-mips-elf/attr-gnu-4-66.d | 21 + ld/testsuite/ld-mips-elf/attr-gnu-4-67.d | 21 + ld/testsuite/ld-mips-elf/attr-gnu-4-68.d | 4 + ld/testsuite/ld-mips-elf/attr-gnu-4-7-ph.d | 24 + ld/testsuite/ld-mips-elf/attr-gnu-4-7.s | 5 + ld/testsuite/ld-mips-elf/attr-gnu-4-70.d | 41 + ld/testsuite/ld-mips-elf/attr-gnu-4-71.d | 4 + ld/testsuite/ld-mips-elf/attr-gnu-4-72.d | 4 + ld/testsuite/ld-mips-elf/attr-gnu-4-73.d | 4 + ld/testsuite/ld-mips-elf/attr-gnu-4-74.d | 6 + ld/testsuite/ld-mips-elf/attr-gnu-4-75.d | 21 + ld/testsuite/ld-mips-elf/attr-gnu-4-76.d | 21 + ld/testsuite/ld-mips-elf/attr-gnu-4-77.d | 21 + ld/testsuite/ld-mips-elf/attr-gnu-4-78.d | 4 + ld/testsuite/ld-mips-elf/attr-gnu-4-8.s | 1 + ld/testsuite/ld-mips-elf/attr-gnu-4-81.d | 4 + ld/testsuite/ld-mips-elf/attr-gnu-8-00.d | 5 +- ld/testsuite/ld-mips-elf/attr-gnu-8-01.d | 3 +- ld/testsuite/ld-mips-elf/attr-gnu-8-02.d | 3 +- ld/testsuite/ld-mips-elf/attr-gnu-8-10.d | 3 +- ld/testsuite/ld-mips-elf/attr-gnu-8-11.d | 3 +- ld/testsuite/ld-mips-elf/attr-gnu-8-12.d | 1 - ld/testsuite/ld-mips-elf/attr-gnu-8-20.d | 3 +- ld/testsuite/ld-mips-elf/attr-gnu-8-21.d | 1 - ld/testsuite/ld-mips-elf/attr-gnu-8-22.d | 3 +- ld/testsuite/ld-mips-elf/compressed-plt-1.ld | 2 + ld/testsuite/ld-mips-elf/dyn-sec64.ld | 2 + ld/testsuite/ld-mips-elf/eh-frame1-n32.d | 2 +- ld/testsuite/ld-mips-elf/eh-frame1-n64.d | 2 +- ld/testsuite/ld-mips-elf/eh-frame2-n32.d | 2 +- ld/testsuite/ld-mips-elf/eh-frame2-n64.d | 2 +- ld/testsuite/ld-mips-elf/elf-rel-got-n32-embed.d | 3 +- ld/testsuite/ld-mips-elf/elf-rel-got-n32.d | 3 +- ld/testsuite/ld-mips-elf/elf-rel-got-n64-embed.d | 3 +- ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d | 3 +- ld/testsuite/ld-mips-elf/elf-rel-got-n64.d | 3 +- ld/testsuite/ld-mips-elf/elf-rel-xgot-n32-embed.d | 3 +- ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d | 3 +- ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-embed.d | 3 +- ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d | 3 +- ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d | 3 +- ld/testsuite/ld-mips-elf/got-dump-1.ld | 2 + ld/testsuite/ld-mips-elf/got-dump-2.ld | 2 + ld/testsuite/ld-mips-elf/got-page-1.ld | 2 +- ld/testsuite/ld-mips-elf/got-vers-1.rd | 2 +- ld/testsuite/ld-mips-elf/jalx-2.dd | 2 +- ld/testsuite/ld-mips-elf/mips-dyn.ld | 2 +- ld/testsuite/ld-mips-elf/mips-elf.exp | 118 +- ld/testsuite/ld-mips-elf/mips-lib.ld | 2 +- ld/testsuite/ld-mips-elf/mips16-pic-1.gd | 17 + ld/testsuite/ld-mips-elf/mips16-pic-2.gd | 25 +- ld/testsuite/ld-mips-elf/mips16-pic-3.gd | 17 + ld/testsuite/ld-mips-elf/mips16-pic-4a.gd | 17 + ld/testsuite/ld-mips-elf/multi-got-no-shared.d | 12 +- ld/testsuite/ld-mips-elf/nan-2008.d | 1 + ld/testsuite/ld-mips-elf/nan-legacy.d | 4 +- ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.gd | 4 + ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.ld | 2 + ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.gd | 4 + ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.ld | 2 + ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.ld | 2 + ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.gd | 4 + ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.ld | 2 + ld/testsuite/ld-mips-elf/pic-and-nonpic-6.ld | 2 + ld/testsuite/ld-mips-elf/region1.t | 2 + ld/testsuite/ld-mips-elf/rel32-n32.d | 6 +- ld/testsuite/ld-mips-elf/rel32-o32.d | 6 +- ld/testsuite/ld-mips-elf/rel64.d | 6 +- ld/testsuite/ld-mips-elf/reloc-estimate-1.d | 2 +- ld/testsuite/ld-mips-elf/stub-dynsym-1.ld | 2 +- ld/testsuite/ld-mips-elf/tls-hidden3.ld | 2 +- ld/testsuite/ld-mips-elf/tls-multi-got-1.r | 2 +- ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got | 12 +- ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got | 12 +- ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got | 12 +- ld/testsuite/ld-mips-elf/tlslib-o32-ver.got | 6 +- ld/testsuite/ld-mips-elf/undefweak-overflow.d | 27 + ld/testsuite/ld-mips-elf/undefweak-overflow.s | 32 + ld/testsuite/ld-mips-elf/vxworks1.ld | 2 +- ld/testsuite/ld-mmix/bspec1.d | 6 +- ld/testsuite/ld-mmix/bspec2.d | 6 +- 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/undef-3.d | 6 +- ld/testsuite/ld-plugin/lto.exp | 558 +- ld/testsuite/ld-plugin/pr16746a.c | 3 + ld/testsuite/ld-plugin/pr16746b.c | 5 + ld/testsuite/ld-plugin/pr16746c.c | 8 + ld/testsuite/ld-plugin/pr16746d.c | 8 + ld/testsuite/ld-powerpc/ambiguousv1.d | 40 +- ld/testsuite/ld-powerpc/ambiguousv1b.d | 45 + ld/testsuite/ld-powerpc/ambiguousv2.d | 49 +- ld/testsuite/ld-powerpc/ambiguousv2b.d | 47 + ld/testsuite/ld-powerpc/apuinfo-vle.rd | 5 + ld/testsuite/ld-powerpc/apuinfo-vle.s | 4 + ld/testsuite/ld-powerpc/apuinfo.rd | 5 +- ld/testsuite/ld-powerpc/defsym.d | 26 + ld/testsuite/ld-powerpc/defsym.s | 19 + ld/testsuite/ld-powerpc/funref2.s | 4 + ld/testsuite/ld-powerpc/powerpc.exp | 12 +- ld/testsuite/ld-powerpc/sdabase.d | 10 + ld/testsuite/ld-powerpc/sdabase.s | 9 + ld/testsuite/ld-powerpc/sdabase.t | 6 + ld/testsuite/ld-powerpc/sdabase2.d | 10 + ld/testsuite/ld-powerpc/sdabase2.t | 6 + ld/testsuite/ld-powerpc/vxworks-relax-2.rd | 4 +- ld/testsuite/ld-powerpc/vxworks-relax.rd | 4 +- ld/testsuite/ld-scripts/defined.exp | 3 + ld/testsuite/ld-scripts/defined6.d | 23 + ld/testsuite/ld-scripts/defined6.s | 9 + ld/testsuite/ld-scripts/defined6.t | 21 + ld/testsuite/ld-scripts/overlay-size.t | 2 +- ld/testsuite/ld-scripts/sysroot-prefix-x.s | 5 + ld/testsuite/ld-scripts/sysroot-prefix-y.s | 4 + ld/testsuite/ld-scripts/sysroot-prefix.exp | 190 + ld/testsuite/ld-sh/adjsw8.s | 16 + ld/testsuite/ld-sh/sh.exp | 27 +- ld/testsuite/ld-sh/sh1.s | 5 + ld/testsuite/ld-sh/sh64/crange3-cmpct.rd | 2 +- ld/testsuite/ld-sh/sh64/crange3-media.rd | 2 +- ld/testsuite/ld-sh/sh64/crangerel1.rd | 4 +- ld/testsuite/ld-sh/sh64/crangerel2.rd | 4 +- ld/testsuite/ld-sh/sh64/reldl32.rd | 4 +- ld/testsuite/ld-sh/sh64/reldl64.rd | 4 +- ld/testsuite/ld-tic6x/common.d | 6 +- ld/testsuite/ld-tic6x/shlib-1.rd | 2 +- ld/testsuite/ld-tic6x/shlib-1b.rd | 2 +- ld/testsuite/ld-tic6x/shlib-1r.rd | 2 +- ld/testsuite/ld-tic6x/shlib-1rb.rd | 2 +- ld/testsuite/ld-tic6x/shlib-app-1.rd | 2 +- ld/testsuite/ld-tic6x/shlib-app-1b.rd | 2 +- ld/testsuite/ld-tic6x/shlib-app-1r.rd | 2 +- ld/testsuite/ld-tic6x/shlib-app-1rb.rd | 2 +- ld/testsuite/ld-tic6x/shlib-noindex.rd | 2 +- 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-unique/unique.exp | 2 +- ld/testsuite/ld-unique/unique.s | 2 +- ld/testsuite/ld-unique/unique_shared.s | 2 +- ld/testsuite/ld-visium/brr_x_backward.d | 4 + ld/testsuite/ld-visium/brr_x_backward1.s | 6 + ld/testsuite/ld-visium/brr_x_backward2.s | 7 + ld/testsuite/ld-visium/brr_x_forward.d | 4 + ld/testsuite/ld-visium/brr_x_forward1.s | 7 + ld/testsuite/ld-visium/brr_x_forward2.s | 6 + ld/testsuite/ld-visium/brr_x_seg.s | 9 + ld/testsuite/ld-visium/brr_x_seg1.d | 3 + ld/testsuite/ld-visium/brr_x_seg2.d | 3 + ld/testsuite/ld-visium/imm_x_seg.d | 3 + ld/testsuite/ld-visium/imm_x_seg.s | 8 + ld/testsuite/ld-visium/ld1.ld | 9 + ld/testsuite/ld-visium/ld2.ld | 9 + ld/testsuite/ld-visium/ld3.ld | 9 + ld/testsuite/ld-visium/reloc.d | 14 + ld/testsuite/ld-visium/reloc1.s | 24 + ld/testsuite/ld-visium/reloc2.s | 12 + ld/testsuite/ld-visium/visium.exp | 30 + ld/testsuite/ld-x86-64/bnd-ifunc-1.d | 2 +- ld/testsuite/ld-x86-64/bnd-ifunc-2.d | 54 + ld/testsuite/ld-x86-64/bnd-ifunc-2.s | 28 + ld/testsuite/ld-x86-64/bnd-plt-1.d | 18 +- ld/testsuite/ld-x86-64/copyreloc-lib.c | 1 + ld/testsuite/ld-x86-64/copyreloc-main.S | 15 + ld/testsuite/ld-x86-64/copyreloc-main1.rd | 3 + ld/testsuite/ld-x86-64/copyreloc-main2.rd | 4 + ld/testsuite/ld-x86-64/gotplt1.d | 6 + ld/testsuite/ld-x86-64/gotplt1.s | 5 + ld/testsuite/ld-x86-64/ilp32-4.d | 2 +- ld/testsuite/ld-x86-64/mpx.exp | 16 + ld/testsuite/ld-x86-64/mpx1a.rd | 2 +- ld/testsuite/ld-x86-64/mpx1c.rd | 2 +- ld/testsuite/ld-x86-64/mpx2a.rd | 2 +- ld/testsuite/ld-x86-64/mpx2c.rd | 2 +- ld/testsuite/ld-x86-64/mpx3.dd | 35 + ld/testsuite/ld-x86-64/mpx3a.s | 16 + ld/testsuite/ld-x86-64/mpx3b.s | 11 + ld/testsuite/ld-x86-64/mpx4.dd | 24 + ld/testsuite/ld-x86-64/mpx4a.s | 6 + ld/testsuite/ld-x86-64/mpx4b.s | 5 + ld/testsuite/ld-x86-64/plt-lib.c | 11 + ld/testsuite/ld-x86-64/plt-main-bnd.dd | 7 + ld/testsuite/ld-x86-64/plt-main.out | 1 + ld/testsuite/ld-x86-64/plt-main.rd | 4 + ld/testsuite/ld-x86-64/plt-main1.c | 8 + ld/testsuite/ld-x86-64/plt-main1.rd | 3 + ld/testsuite/ld-x86-64/plt-main2.c | 3 + ld/testsuite/ld-x86-64/plt-main2.rd | 3 + ld/testsuite/ld-x86-64/plt-main3.c | 15 + ld/testsuite/ld-x86-64/plt-main3.rd | 5 + ld/testsuite/ld-x86-64/plt-main4.c | 14 + ld/testsuite/ld-x86-64/plt-main4.rd | 5 + ld/testsuite/ld-x86-64/plt-main5.c | 15 + ld/testsuite/ld-x86-64/pr17306a.s | 9 + ld/testsuite/ld-x86-64/pr17306b.s | 2 + ld/testsuite/ld-x86-64/pr17618.d | 5 + ld/testsuite/ld-x86-64/pr17618.s | 18 + ld/testsuite/ld-x86-64/pr17689.out | 1 + ld/testsuite/ld-x86-64/pr17689.rd | 3 + ld/testsuite/ld-x86-64/pr17689a.c | 10 + ld/testsuite/ld-x86-64/pr17689b.S | 12 + 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/tlsdesc-nacl.pd | 4 +- ld/testsuite/ld-x86-64/tlsdesc.pd | 3 +- ld/testsuite/ld-x86-64/tlsie4.dd | 4 +- ld/testsuite/ld-x86-64/x86-64.exp | 202 + ld/testsuite/lib/ld-lib.exp | 308 +- libiberty/ChangeLog | 102 + libiberty/ChangeLog.jit | 23 + libiberty/Makefile.in | 42 +- libiberty/choose-temp.c | 1 - libiberty/config.in | 31 + libiberty/configure | 122 +- libiberty/configure.ac | 14 +- libiberty/cp-demangle.c | 21 +- libiberty/cplus-dem.c | 18 +- libiberty/d-demangle.c | 1338 + libiberty/filename_cmp.c | 29 + libiberty/functions.texi | 49 +- libiberty/make-temp-file.c | 4 +- libiberty/pex-common.c | 8 +- libiberty/pex-common.h | 2 +- libiberty/pex-djgpp.c | 6 +- libiberty/pex-unix.c | 7 +- libiberty/pex-win32.c | 6 +- libiberty/sigsetmask.c | 1 - libiberty/simple-object-elf.c | 38 +- libiberty/strtoll.c | 175 + libiberty/strtoull.c | 122 + libiberty/testsuite/Makefile.in | 24 +- libiberty/testsuite/d-demangle-expected | 936 + libiberty/testsuite/demangle-expected | 8 + libiberty/testsuite/demangler-fuzzer.c | 108 + libiberty/testsuite/test-strtol.c | 185 + libtool.m4 | 8 +- missing | 461 +- mkinstalldirs | 4 +- move-if-change | 6 +- opcodes/ChangeLog | 582 + opcodes/Makefile.am | 8 +- opcodes/Makefile.in | 14 +- opcodes/aarch64-asm-2.c | 246 +- opcodes/aarch64-asm.c | 8 + opcodes/aarch64-dis-2.c | 1842 +- opcodes/aarch64-dis.c | 18 + opcodes/aarch64-dis.h | 1 + opcodes/aarch64-opc-2.c | 11 +- opcodes/aarch64-opc.c | 21 + opcodes/aarch64-opc.h | 1 + opcodes/aarch64-tbl.h | 195 +- opcodes/arm-dis.c | 2 + opcodes/avr-dis.c | 19 +- opcodes/bfin-dis.c | 232 +- opcodes/config.in | 2 +- opcodes/configure | 50 +- opcodes/configure.ac | 396 + opcodes/configure.in | 401 - opcodes/disassemble.c | 6 + opcodes/i386-dis-evex.h | 984 +- opcodes/i386-dis.c | 739 +- opcodes/i386-gen.c | 21 + opcodes/i386-init.h | 416 +- opcodes/i386-opc.h | 23 + opcodes/i386-opc.tbl | 1601 + opcodes/i386-tbl.h |37957 +++++++++++++++++--- opcodes/micromips-opc.c | 48 +- opcodes/mips-dis.c | 221 +- opcodes/mips-formats.h | 8 + opcodes/mips-opc.c | 1132 +- opcodes/moxie-dis.c | 20 +- opcodes/moxie-opc.c | 34 +- opcodes/nds32-asm.c | 2030 +- opcodes/nds32-asm.h | 111 +- opcodes/nds32-dis.c | 2010 +- opcodes/nios2-dis.c | 308 +- opcodes/nios2-opc.c | 706 +- opcodes/or1k-asm.c | 217 +- opcodes/or1k-desc.c | 48 +- opcodes/or1k-desc.h | 20 +- opcodes/or1k-dis.c | 3 +- opcodes/or1k-ibld.c | 11 +- opcodes/or1k-opc.c | 24 +- opcodes/or1k-opc.h | 61 +- opcodes/or1k-opinst.c | 31 +- opcodes/po/POTFILES.in | 2 + opcodes/po/de.po | 1325 +- opcodes/po/fi.po | 514 +- opcodes/ppc-opc.c | 30 +- opcodes/s390-dis.c | 291 +- opcodes/sparc-dis.c | 7 +- opcodes/sparc-opc.c | 2920 +- opcodes/visium-dis.c | 834 + opcodes/visium-opc.c | 23 + readline/ChangeLog.gdb | 6 + readline/search.c | 2 +- sim/ChangeLog | 5 + sim/arm/ChangeLog | 9 + sim/arm/config.in | 7 + sim/arm/configure | 107 +- sim/avr/ChangeLog | 9 + sim/avr/config.in | 7 + sim/avr/configure | 107 +- sim/bfin/ChangeLog | 9 + sim/bfin/config.in | 7 + sim/bfin/configure | 107 +- sim/common/ChangeLog | 21 + sim/common/config.in | 7 + sim/common/configure | 107 +- sim/common/sim-io.c | 4 +- sim/common/sim-trace.h | 3 + sim/common/syscall.c | 6 +- sim/cr16/ChangeLog | 9 + sim/cr16/config.in | 7 + sim/cr16/configure | 107 +- sim/cris/ChangeLog | 14 + sim/cris/config.in | 10 + sim/cris/configure | 107 +- sim/cris/traps.c | 2 +- sim/d10v/ChangeLog | 9 + sim/d10v/config.in | 7 + sim/d10v/configure | 107 +- sim/erc32/ChangeLog | 9 + sim/erc32/config.in | 7 + sim/erc32/configure | 107 +- sim/frv/ChangeLog | 16 + sim/frv/Makefile.in | 3 +- sim/frv/config.in | 13 + sim/frv/configure | 114 +- sim/frv/configure.ac | 4 +- sim/h8300/ChangeLog | 15 + sim/h8300/compile.c | 5 +- sim/h8300/config.in | 7 + sim/h8300/configure | 107 +- sim/igen/ChangeLog | 4 + sim/igen/ld-cache.h | 2 +- sim/igen/table.h | 2 +- sim/iq2000/ChangeLog | 15 + sim/iq2000/config.in | 13 + sim/iq2000/configure | 117 +- sim/iq2000/configure.ac | 8 +- sim/lm32/ChangeLog | 9 + sim/lm32/config.in | 10 + sim/lm32/configure | 107 +- sim/m32c/ChangeLog | 9 + sim/m32c/config.in | 7 + sim/m32c/configure | 107 +- sim/m32r/ChangeLog | 16 + sim/m32r/Makefile.in | 3 +- sim/m32r/config.in | 13 + sim/m32r/configure | 114 +- sim/m32r/configure.ac | 4 +- sim/m68hc11/ChangeLog | 9 + sim/m68hc11/config.in | 10 + sim/m68hc11/configure | 107 +- sim/mcore/ChangeLog | 9 + sim/mcore/config.in | 7 + sim/mcore/configure | 107 +- sim/microblaze/ChangeLog | 9 + sim/microblaze/config.in | 7 + sim/microblaze/configure | 107 +- sim/microblaze/interp.c | 6 +- sim/mips/ChangeLog | 9 + sim/mips/config.in | 3 + sim/mips/configure | 107 +- sim/mn10300/ChangeLog | 9 + sim/mn10300/config.in | 3 + sim/mn10300/configure | 107 +- sim/moxie/ChangeLog | 28 + sim/moxie/config.in | 7 + sim/moxie/configure | 107 +- sim/moxie/interp.c | 131 +- sim/msp430/ChangeLog | 17 + sim/msp430/config.in | 57 + sim/msp430/configure | 107 +- sim/msp430/msp430-sim.c | 138 +- sim/msp430/msp430-sim.h | 18 + sim/ppc/ChangeLog | 18 +- sim/ppc/ChangeLog.00 | 2 +- sim/ppc/basics.h | 1 + sim/ppc/config.in | 6 + sim/ppc/configure | 106 + sim/ppc/configure.ac | 3 + sim/ppc/device.c | 2 +- sim/ppc/device.h | 2 +- sim/ppc/hw_com.c | 4 +- sim/ppc/hw_htab.c | 1 + sim/ppc/hw_memory.c | 2 + sim/ppc/ld-cache.h | 2 +- sim/ppc/ppc-instructions | 2 +- sim/rl78/ChangeLog | 9 + sim/rl78/config.in | 7 + sim/rl78/configure | 107 +- sim/rx/ChangeLog | 9 + sim/rx/config.in | 7 + sim/rx/configure | 107 +- sim/sh/ChangeLog | 16 +- sim/sh/config.in | 7 + sim/sh/configure | 107 +- sim/sh/gencode.c | 19 +- sim/sh64/ChangeLog | 15 + sim/sh64/config.in | 13 + sim/sh64/configure | 117 +- sim/sh64/configure.ac | 8 +- sim/v850/ChangeLog | 9 + sim/v850/config.in | 7 + sim/v850/configure | 107 +- src-release | 318 - src-release.sh | 352 + ylwrap | 202 +- 3318 files changed, 421035 insertions(+), 90449 deletions(-) create mode 100644 .gitattributes create mode 100644 bfd/coff-bfd.c create mode 100644 bfd/coff-bfd.h create mode 100644 bfd/configure.ac delete mode 100644 bfd/configure.in create mode 100644 bfd/cpu-visium.c create mode 100644 bfd/elf32-visium.c create mode 100644 bfd/version.m4 create mode 100644 binutils/configure.ac delete mode 100644 binutils/configure.in create mode 100644 binutils/od-elf32_avr.c create mode 100644 binutils/po/sr.po create mode 100644 binutils/testsuite/binutils-all/strip-11.d create mode 100644 elfcpp/aarch64.h delete mode 100644 etc/configbuild.ein delete mode 100644 etc/configbuild.fig delete mode 100644 etc/configbuild.jin delete mode 100644 etc/configbuild.tin delete mode 100644 etc/configdev.ein delete mode 100644 etc/configdev.fig delete mode 100644 etc/configdev.jin delete mode 100644 etc/configdev.tin delete mode 100644 etc/configure.texi delete mode 100644 etc/fdl.texi delete mode 100644 etc/gnu-oids.texi delete mode 100644 etc/make-stds.texi delete mode 100644 etc/standards.texi create mode 100644 gas/config/tc-visium.c create mode 100644 gas/config/tc-visium.h create mode 100644 gas/config/te-aix.h create mode 100644 gas/config/te-armfbsdeabi.h create mode 100644 gas/config/te-armfbsdvfp.h create mode 100644 gas/configure.ac delete mode 100644 gas/configure.in create mode 100644 gas/doc/c-visium.texi create mode 100644 gas/po/uk.po create mode 100644 gas/testsuite/gas/aarch64/crc32-directive.d create mode 100644 gas/testsuite/gas/aarch64/crypto-directive.d create mode 100644 gas/testsuite/gas/aarch64/illegal-lse.d create mode 100644 gas/testsuite/gas/aarch64/illegal-lse.l create mode 100644 gas/testsuite/gas/aarch64/illegal-lse.s create mode 100644 gas/testsuite/gas/aarch64/lse-atomic.d create mode 100644 gas/testsuite/gas/aarch64/lse-atomic.s create mode 100644 gas/testsuite/gas/arm/armv7e-m+fpv5-d16.d create mode 100644 gas/testsuite/gas/arm/armv7e-m+fpv5-d16.s create mode 100644 gas/testsuite/gas/arm/armv7e-m+fpv5-sp-d16.d create mode 100644 gas/testsuite/gas/arm/armv7e-m+fpv5-sp-d16.s create mode 100644 gas/testsuite/gas/arm/attr-arch-assumption.d create mode 100644 gas/testsuite/gas/arm/attr-arch-assumption.s create mode 100644 gas/testsuite/gas/arm/blx-bl-convert.d create mode 100644 gas/testsuite/gas/arm/blx-bl-convert.l create mode 100644 gas/testsuite/gas/arm/blx-bl-convert.s create mode 100644 gas/testsuite/gas/arm/thumb2_vpool.d create mode 100644 gas/testsuite/gas/arm/thumb2_vpool.s create mode 100644 gas/testsuite/gas/arm/thumb2_vpool_be.d create mode 100644 gas/testsuite/gas/arm/ual-vcmp.d create mode 100644 gas/testsuite/gas/arm/ual-vcmp.s create mode 100644 gas/testsuite/gas/arm/vcmp-zero-bad.d create mode 100644 gas/testsuite/gas/arm/vcmp-zero-bad.l create mode 100644 gas/testsuite/gas/arm/vcmp-zero-bad.s create mode 100644 gas/testsuite/gas/arm/vldconst.d create mode 100644 gas/testsuite/gas/arm/vldconst.s create mode 100644 gas/testsuite/gas/arm/vldconst_be.d create mode 100644 gas/testsuite/gas/avr/link-relax-elf-flag-clear.d create mode 100644 gas/testsuite/gas/avr/link-relax-elf-flag-set.d create mode 100644 gas/testsuite/gas/avr/link-relax-elf-flag.s create mode 100644 gas/testsuite/gas/cris/range-err-3.s create mode 100644 gas/testsuite/gas/elf/group2.d create mode 100644 gas/testsuite/gas/elf/group2.s rename gas/testsuite/gas/elf/{section2.e-armeabi => section2.e-arm} (100%) delete mode 100644 gas/testsuite/gas/elf/section2.e-armelf create mode 100644 gas/testsuite/gas/i386/avx512bw-intel.d create mode 100644 gas/testsuite/gas/i386/avx512bw-opts-intel.d create mode 100644 gas/testsuite/gas/i386/avx512bw-opts.d create mode 100644 gas/testsuite/gas/i386/avx512bw-opts.s create mode 100644 gas/testsuite/gas/i386/avx512bw-wig.s create mode 100644 gas/testsuite/gas/i386/avx512bw-wig1-intel.d create mode 100644 gas/testsuite/gas/i386/avx512bw-wig1.d create mode 100644 gas/testsuite/gas/i386/avx512bw.d create mode 100644 gas/testsuite/gas/i386/avx512bw.s create mode 100644 gas/testsuite/gas/i386/avx512bw_vl-intel.d create mode 100644 gas/testsuite/gas/i386/avx512bw_vl-opts-intel.d create mode 100644 gas/testsuite/gas/i386/avx512bw_vl-opts.d create mode 100644 gas/testsuite/gas/i386/avx512bw_vl-opts.s create mode 100644 gas/testsuite/gas/i386/avx512bw_vl-wig.s create mode 100644 gas/testsuite/gas/i386/avx512bw_vl-wig1-intel.d create mode 100644 gas/testsuite/gas/i386/avx512bw_vl-wig1.d create mode 100644 gas/testsuite/gas/i386/avx512bw_vl.d create mode 100644 gas/testsuite/gas/i386/avx512bw_vl.s create mode 100644 gas/testsuite/gas/i386/avx512cd_vl-intel.d create mode 100644 gas/testsuite/gas/i386/avx512cd_vl.d create mode 100644 gas/testsuite/gas/i386/avx512cd_vl.s create mode 100644 gas/testsuite/gas/i386/avx512dq-intel.d create mode 100644 gas/testsuite/gas/i386/avx512dq-rcig.s create mode 100644 gas/testsuite/gas/i386/avx512dq-rcigrd-intel.d create mode 100644 gas/testsuite/gas/i386/avx512dq-rcigrd.d create mode 100644 gas/testsuite/gas/i386/avx512dq-rcigrne-intel.d create mode 100644 gas/testsuite/gas/i386/avx512dq-rcigrne.d create mode 100644 gas/testsuite/gas/i386/avx512dq-rcigru-intel.d create mode 100644 gas/testsuite/gas/i386/avx512dq-rcigru.d create mode 100644 gas/testsuite/gas/i386/avx512dq-rcigrz-intel.d create mode 100644 gas/testsuite/gas/i386/avx512dq-rcigrz.d create mode 100644 gas/testsuite/gas/i386/avx512dq.d create mode 100644 gas/testsuite/gas/i386/avx512dq.s create mode 100644 gas/testsuite/gas/i386/avx512dq_vl-intel.d create mode 100644 gas/testsuite/gas/i386/avx512dq_vl.d create mode 100644 gas/testsuite/gas/i386/avx512dq_vl.s create mode 100644 gas/testsuite/gas/i386/avx512er-rcig.s create mode 100644 gas/testsuite/gas/i386/avx512er-rcigrd-intel.d create mode 100644 gas/testsuite/gas/i386/avx512er-rcigrd.d create mode 100644 gas/testsuite/gas/i386/avx512er-rcigrne-intel.d create mode 100644 gas/testsuite/gas/i386/avx512er-rcigrne.d create mode 100644 gas/testsuite/gas/i386/avx512er-rcigru-intel.d create mode 100644 gas/testsuite/gas/i386/avx512er-rcigru.d create mode 100644 gas/testsuite/gas/i386/avx512er-rcigrz-intel.d create mode 100644 gas/testsuite/gas/i386/avx512er-rcigrz.d create mode 100644 gas/testsuite/gas/i386/avx512f-rcig.s create mode 100644 gas/testsuite/gas/i386/avx512f-rcigrd-intel.d create mode 100644 gas/testsuite/gas/i386/avx512f-rcigrd.d create mode 100644 gas/testsuite/gas/i386/avx512f-rcigrne-intel.d create mode 100644 gas/testsuite/gas/i386/avx512f-rcigrne.d create mode 100644 gas/testsuite/gas/i386/avx512f-rcigru-intel.d create mode 100644 gas/testsuite/gas/i386/avx512f-rcigru.d create mode 100644 gas/testsuite/gas/i386/avx512f-rcigrz-intel.d create mode 100644 gas/testsuite/gas/i386/avx512f-rcigrz.d create mode 100644 gas/testsuite/gas/i386/avx512f_vl-intel.d create mode 100644 gas/testsuite/gas/i386/avx512f_vl-opts-intel.d create mode 100644 gas/testsuite/gas/i386/avx512f_vl-opts.d create mode 100644 gas/testsuite/gas/i386/avx512f_vl-opts.s create mode 100644 gas/testsuite/gas/i386/avx512f_vl-wig.s create mode 100644 gas/testsuite/gas/i386/avx512f_vl-wig1-intel.d create mode 100644 gas/testsuite/gas/i386/avx512f_vl-wig1.d create mode 100644 gas/testsuite/gas/i386/avx512f_vl.d create mode 100644 gas/testsuite/gas/i386/avx512f_vl.s create mode 100644 gas/testsuite/gas/i386/avx512ifma-intel.d create mode 100644 gas/testsuite/gas/i386/avx512ifma.d create mode 100644 gas/testsuite/gas/i386/avx512ifma.s create mode 100644 gas/testsuite/gas/i386/avx512ifma_vl-intel.d create mode 100644 gas/testsuite/gas/i386/avx512ifma_vl.d create mode 100644 gas/testsuite/gas/i386/avx512ifma_vl.s create mode 100644 gas/testsuite/gas/i386/avx512vbmi-intel.d create mode 100644 gas/testsuite/gas/i386/avx512vbmi.d create mode 100644 gas/testsuite/gas/i386/avx512vbmi.s create mode 100644 gas/testsuite/gas/i386/avx512vbmi_vl-intel.d create mode 100644 gas/testsuite/gas/i386/avx512vbmi_vl.d create mode 100644 gas/testsuite/gas/i386/avx512vbmi_vl.s create mode 100644 gas/testsuite/gas/i386/cdr.d create mode 100644 gas/testsuite/gas/i386/cdr.s create mode 100644 gas/testsuite/gas/i386/clwb-intel.d create mode 100644 gas/testsuite/gas/i386/clwb.d create mode 100644 gas/testsuite/gas/i386/clwb.s create mode 100644 gas/testsuite/gas/i386/ilp32/x32-tls.d create mode 100644 gas/testsuite/gas/i386/ilp32/x32-tls.s create mode 100644 gas/testsuite/gas/i386/inval-16.l create mode 100644 gas/testsuite/gas/i386/inval-16.s create mode 100644 gas/testsuite/gas/i386/omit-lock-no.d create mode 100644 gas/testsuite/gas/i386/omit-lock-yes.d create mode 100644 gas/testsuite/gas/i386/omit-lock.s create mode 100644 gas/testsuite/gas/i386/pcommit-intel.d create mode 100644 gas/testsuite/gas/i386/pcommit.d create mode 100644 gas/testsuite/gas/i386/pcommit.s create mode 100644 gas/testsuite/gas/i386/suffix-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw-opts-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw-opts.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw-opts.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw-wig.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw-wig1-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw-wig1.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw_vl-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw_vl-opts.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw_vl-wig.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw_vl-wig1-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw_vl-wig1.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw_vl.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512bw_vl.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512cd_vl-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512cd_vl.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512cd_vl.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq-rcig.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq-rcigrd-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq-rcigrd.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq-rcigrne-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq-rcigrne.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq-rcigru-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq-rcigru.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq-rcigrz-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq-rcigrz.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq_vl-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq_vl.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512dq_vl.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512er-rcig.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512er-rcigrd-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512er-rcigrd.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512er-rcigrne-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512er-rcigrne.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512er-rcigru-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512er-rcigru.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512er-rcigrz-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512er-rcigrz.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f-rcig.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f-rcigrd-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f-rcigrd.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f-rcigrne-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f-rcigrne.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f-rcigru-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f-rcigru.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f-rcigrz-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f-rcigrz.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f_vl-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f_vl-opts-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f_vl-opts.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f_vl-opts.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f_vl-wig.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f_vl-wig1-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f_vl-wig1.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f_vl.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512f_vl.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512ifma-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512ifma.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512ifma.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512ifma_vl-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512ifma_vl.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512ifma_vl.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512vbmi-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512vbmi.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512vbmi.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx512vbmi_vl-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512vbmi_vl.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx512vbmi_vl.s create mode 100644 gas/testsuite/gas/i386/x86-64-cdr.d create mode 100644 gas/testsuite/gas/i386/x86-64-clwb-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-clwb.d create mode 100644 gas/testsuite/gas/i386/x86-64-clwb.s create mode 100644 gas/testsuite/gas/i386/x86-64-equ.d create mode 100644 gas/testsuite/gas/i386/x86-64-equ.s create mode 100644 gas/testsuite/gas/i386/x86-64-pcommit-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-pcommit.d create mode 100644 gas/testsuite/gas/i386/x86-64-pcommit.s create mode 100644 gas/testsuite/gas/i386/x86-64-suffix-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-suffix.d create mode 100644 gas/testsuite/gas/i386/x86-64-suffix.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-0.d create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-0.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-1-mfp32.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-1-mfp32.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-1-mfp64.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-1-mfp64.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-1-mfpxx.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-1-msingle-float.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-1-msingle-float.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-1-msoft-float.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-1-msoft-float.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-1.d create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-1.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-2-mdouble-float.l copy ld/testsuite/ld-mips-elf/attr-gnu-4-2.s => gas/testsuite/gas/mips/attr-gnu-4-2-mdouble-float.s (100%) create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-2-msoft-float.l copy ld/testsuite/ld-mips-elf/attr-gnu-4-2.s => gas/testsuite/gas/mips/attr-gnu-4-2-msoft-float.s (100%) create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-2.d copy {ld/testsuite/ld-mips-elf => gas/testsuite/gas/mips}/attr-gnu-4-2.s (100%) create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-3-mhard-float.l copy ld/testsuite/ld-mips-elf/attr-gnu-4-3.s => gas/testsuite/gas/mips/attr-gnu-4-3-mhard-float.s (100%) create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-3.d copy {ld/testsuite/ld-mips-elf => gas/testsuite/gas/mips}/attr-gnu-4-3.s (100%) create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-4.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-4.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-5-64.l copy ld/testsuite/ld-mips-elf/attr-gnu-4-5.s => gas/testsuite/gas/mips/attr-gnu-4-5-64.s (100%) create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-5-msingle-float.l copy ld/testsuite/ld-mips-elf/attr-gnu-4-5.s => gas/testsuite/gas/mips/attr-gnu-4-5-msingle-float.s (100%) create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-5-msoft-float.l copy ld/testsuite/ld-mips-elf/attr-gnu-4-5.s => gas/testsuite/gas/mips/attr-gnu-4-5-msoft-float.s (100%) create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-5.d create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-5.l copy {ld/testsuite/ld-mips-elf => gas/testsuite/gas/mips}/attr-gnu-4-5.s (100%) create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-6-64.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-6-64.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-6-msingle-float.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-6-msingle-float.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-6-msoft-float.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-6-msoft-float.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-6-noodd.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-6-noodd.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-6.d create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-6.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-6.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-7-64.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-7-64.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-7-msingle-float.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-7-msingle-float.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-7-msoft-float.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-7-msoft-float.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-7-odd.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-7-odd.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-7.d create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-7.l create mode 100644 gas/testsuite/gas/mips/attr-gnu-4-7.s create mode 100644 gas/testsuite/gas/mips/attr-none-double.d create mode 100644 gas/testsuite/gas/mips/attr-none-o32-fp64-nooddspreg.d create mode 100644 gas/testsuite/gas/mips/attr-none-o32-fp64.d create mode 100644 gas/testsuite/gas/mips/attr-none-o32-fpxx.d create mode 100644 gas/testsuite/gas/mips/attr-none-single-float.d create mode 100644 gas/testsuite/gas/mips/attr-none-soft-float.d create mode 100644 gas/testsuite/gas/mips/elf_arch_mips32r3.d create mode 100644 gas/testsuite/gas/mips/elf_arch_mips32r5.d create mode 100644 gas/testsuite/gas/mips/elf_arch_mips32r6.d create mode 100644 gas/testsuite/gas/mips/elf_arch_mips64r3.d create mode 100644 gas/testsuite/gas/mips/elf_arch_mips64r5.d create mode 100644 gas/testsuite/gas/mips/elf_arch_mips64r6.d create mode 100644 gas/testsuite/gas/mips/fpxx-oddfpreg.d create mode 100644 gas/testsuite/gas/mips/fpxx-oddfpreg.l create mode 100644 gas/testsuite/gas/mips/fpxx-oddfpreg.s create mode 100644 gas/testsuite/gas/mips/insn-opts.d create mode 100644 gas/testsuite/gas/mips/insn-opts.s create mode 100644 gas/testsuite/gas/mips/ldpc-unalign.l create mode 100644 gas/testsuite/gas/mips/ldpc-unalign.s create mode 100644 gas/testsuite/gas/mips/li-d.d create mode 100644 gas/testsuite/gas/mips/li-d.s create mode 100644 gas/testsuite/gas/mips/mipsr6@24k-branch-delay-1.d create mode 100644 gas/testsuite/gas/mips/mipsr6@24k-triple-stores-1.d create mode 100644 gas/testsuite/gas/mips/mipsr6@24k-triple-stores-2-llsc.d create mode 100644 gas/testsuite/gas/mips/mipsr6@24k-triple-stores-2.d create mode 100644 gas/testsuite/gas/mips/mipsr6@24k-triple-stores-3.d create mode 100644 gas/testsuite/gas/mips/mipsr6@24k-triple-stores-6.d create mode 100644 gas/testsuite/gas/mips/mipsr6@add.d create mode 100644 gas/testsuite/gas/mips/mipsr6@attr-gnu-4-1-msingle-float.l create mode 100644 gas/testsuite/gas/mips/mipsr6@attr-gnu-4-1-msingle-float.s create mode 100644 gas/testsuite/gas/mips/mipsr6@attr-gnu-4-1-msoft-float.l create mode 100644 gas/testsuite/gas/mips/mipsr6@attr-gnu-4-1-msoft-float.s create mode 100644 gas/testsuite/gas/mips/mipsr6@attr-gnu-4-2-mdouble-float.l copy ld/testsuite/ld-mips-elf/attr-gnu-4-2.s => gas/testsuite/gas/mips/mipsr6@attr-gnu-4-2-mdouble-float.s (100%) create mode 100644 gas/testsuite/gas/mips/mipsr6@beq.d create mode 100644 gas/testsuite/gas/mips/mipsr6@bge.d create mode 100644 gas/testsuite/gas/mips/mipsr6@bgeu.d create mode 100644 gas/testsuite/gas/mips/mipsr6@blt.d create mode 100644 gas/testsuite/gas/mips/mipsr6@bltu.d create mode 100644 gas/testsuite/gas/mips/mipsr6@branch-misc-1.d create mode 100644 gas/testsuite/gas/mips/mipsr6@branch-misc-2-64.d create mode 100644 gas/testsuite/gas/mips/mipsr6@branch-misc-2pic-64.d create mode 100644 gas/testsuite/gas/mips/mipsr6@branch-misc-4-64.d create mode 100644 gas/testsuite/gas/mips/mipsr6@cache.d create mode 100644 gas/testsuite/gas/mips/mipsr6@eva.d create mode 100644 gas/testsuite/gas/mips/mipsr6@jal-svr4pic-noreorder.d create mode 100644 gas/testsuite/gas/mips/mipsr6@jal-svr4pic.d create mode 100644 gas/testsuite/gas/mips/mipsr6@ld-zero-2.d create mode 100644 gas/testsuite/gas/mips/mipsr6@ld-zero-3.d create mode 100644 gas/testsuite/gas/mips/mipsr6@loc-swap-dis.d create mode 100644 gas/testsuite/gas/mips/mipsr6@mips32-cp2.d create mode 100644 gas/testsuite/gas/mips/mipsr6@mips32-dsp.d create mode 100644 gas/testsuite/gas/mips/mipsr6@mips32-dspr2.d create mode 100644 gas/testsuite/gas/mips/mipsr6@mips32-imm.d create mode 100644 gas/testsuite/gas/mips/mipsr6@mips32.d create mode 100644 gas/testsuite/gas/mips/mipsr6@mips32r2-ill.l create mode 100644 gas/testsuite/gas/mips/mipsr6@mips32r2-ill.s create mode 100644 gas/testsuite/gas/mips/mipsr6@mips32r2.d create mode 100644 gas/testsuite/gas/mips/mipsr6@mips4-fp.d create mode 100644 gas/testsuite/gas/mips/mipsr6@mips4-fp.l create mode 100644 gas/testsuite/gas/mips/mipsr6@mips4-fp.s create mode 100644 gas/testsuite/gas/mips/mipsr6@mips4.d create mode 100644 gas/testsuite/gas/mips/mipsr6@mips5-fp.d create mode 100644 gas/testsuite/gas/mips/mipsr6@mips5-fp.l create mode 100644 gas/testsuite/gas/mips/mipsr6@mips5-fp.s create mode 100644 gas/testsuite/gas/mips/mipsr6@mips64.d create mode 100644 gas/testsuite/gas/mips/mipsr6@msa-branch.d create mode 100644 gas/testsuite/gas/mips/mipsr6@msa.d create mode 100644 gas/testsuite/gas/mips/mipsr6@pref.d create mode 100644 gas/testsuite/gas/mips/mipsr6@relax-swap3.d create mode 100644 gas/testsuite/gas/mips/module-check-warn.l create mode 100644 gas/testsuite/gas/mips/module-check-warn.s create mode 100644 gas/testsuite/gas/mips/module-check.d create mode 100644 gas/testsuite/gas/mips/module-check.s create mode 100644 gas/testsuite/gas/mips/module-mfp32.d create mode 100644 gas/testsuite/gas/mips/module-mfp32.s create mode 100644 gas/testsuite/gas/mips/module-mfp64-noodd.d create mode 100644 gas/testsuite/gas/mips/module-mfp64-noodd.s create mode 100644 gas/testsuite/gas/mips/module-mfp64.d create mode 100644 gas/testsuite/gas/mips/module-mfp64.s create mode 100644 gas/testsuite/gas/mips/module-mfpxx.d create mode 100644 gas/testsuite/gas/mips/module-mfpxx.s create mode 100644 gas/testsuite/gas/mips/module-msingle-float.d create mode 100644 gas/testsuite/gas/mips/module-msingle-float.s create mode 100644 gas/testsuite/gas/mips/module-msoft-float.d create mode 100644 gas/testsuite/gas/mips/module-msoft-float.s create mode 100644 gas/testsuite/gas/mips/module-set-mfpxx.d create mode 100644 gas/testsuite/gas/mips/module-set-mfpxx.s create mode 100644 gas/testsuite/gas/mips/no-odd-spreg.d create mode 100644 gas/testsuite/gas/mips/octeon3.d create mode 100644 gas/testsuite/gas/mips/octeon3.s create mode 100644 gas/testsuite/gas/mips/odd-spreg.d create mode 100644 gas/testsuite/gas/mips/r6-64-n32.d create mode 100644 gas/testsuite/gas/mips/r6-64-n64.d create mode 100644 gas/testsuite/gas/mips/r6-64-removed.l create mode 100644 gas/testsuite/gas/mips/r6-64-removed.s create mode 100644 gas/testsuite/gas/mips/r6-64.s create mode 100644 gas/testsuite/gas/mips/r6-attr-none-double.d create mode 100644 gas/testsuite/gas/mips/r6-n32.d create mode 100644 gas/testsuite/gas/mips/r6-n64.d create mode 100644 gas/testsuite/gas/mips/r6-removed.l create mode 100644 gas/testsuite/gas/mips/r6-removed.s create mode 100644 gas/testsuite/gas/mips/r6.d create mode 100644 gas/testsuite/gas/mips/r6.s delete mode 100644 gas/testsuite/gas/nios2/movi.d create mode 100644 gas/testsuite/gas/nios2/movi.l create mode 100644 gas/testsuite/gas/pe/set.d create mode 100644 gas/testsuite/gas/pe/set.s create mode 100644 gas/testsuite/gas/sparc/ld_st_fsr.d create mode 100644 gas/testsuite/gas/sparc/ld_st_fsr.s create mode 100644 gas/testsuite/gas/sparc/ldx_efsr.d create mode 100644 gas/testsuite/gas/sparc/ldx_efsr.s create mode 100644 gas/testsuite/gas/sparc/ldx_stx.d create mode 100644 gas/testsuite/gas/sparc/ldx_stx.s create mode 100644 gas/testsuite/gas/sparc/mcdper.d create mode 100644 gas/testsuite/gas/sparc/mcdper.s create mode 100644 gas/testsuite/gas/sparc/mwait.d create mode 100644 gas/testsuite/gas/sparc/mwait.s create mode 100644 gas/testsuite/gas/sparc/sparc5vis4.d create mode 100644 gas/testsuite/gas/sparc/sparc5vis4.s create mode 100644 gas/testsuite/gas/sparc/xcrypto.d create mode 100644 gas/testsuite/gas/sparc/xcrypto.s create mode 100644 gas/testsuite/gas/visium/allinsn_def.d create mode 100644 gas/testsuite/gas/visium/allinsn_def.s create mode 100644 gas/testsuite/gas/visium/allinsn_gr5.d create mode 100644 gas/testsuite/gas/visium/allinsn_gr5.s create mode 100644 gas/testsuite/gas/visium/allinsn_gr6.d create mode 100644 gas/testsuite/gas/visium/allinsn_gr6.s create mode 100644 gas/testsuite/gas/visium/basereg.s create mode 100644 gas/testsuite/gas/visium/brr-1.d create mode 100644 gas/testsuite/gas/visium/brr-1.s create mode 100644 gas/testsuite/gas/visium/brr-2.d create mode 100644 gas/testsuite/gas/visium/brr-2.s create mode 100644 gas/testsuite/gas/visium/brr_backward.s create mode 100644 gas/testsuite/gas/visium/brr_forward.s create mode 100644 gas/testsuite/gas/visium/error.exp create mode 100644 gas/testsuite/gas/visium/fcmp.s create mode 100644 gas/testsuite/gas/visium/high-1.d create mode 100644 gas/testsuite/gas/visium/high-1.s create mode 100644 gas/testsuite/gas/visium/immed-1.d create mode 100644 gas/testsuite/gas/visium/immed-1.s create mode 100644 gas/testsuite/gas/visium/rela-1.d create mode 100644 gas/testsuite/gas/visium/rela-1.s create mode 100644 gas/testsuite/gas/visium/visium.exp delete mode 100644 gdb/alpha-nat.c delete mode 100644 gdb/alpha-osf1-tdep.c delete mode 100644 gdb/cleanups.c create mode 100644 gdb/common/cleanups.c rename gdb/{ => common}/cleanups.h (100%) create mode 100644 gdb/common/common-debug.c create mode 100644 gdb/common/common-debug.h create mode 100644 gdb/common/common-defs.h create mode 100644 gdb/common/common-exceptions.c create mode 100644 gdb/common/common-exceptions.h create mode 100644 gdb/common/common-regcache.h create mode 100644 gdb/common/common-types.h create mode 100644 gdb/common/errors.c create mode 100644 gdb/common/errors.h create mode 100644 gdb/common/gdb_setjmp.h delete mode 100644 gdb/common/i386-cpuid.h delete mode 100644 gdb/common/i386-gcc-cpuid.h delete mode 100644 gdb/common/i386-xstate.h delete mode 100644 gdb/common/linux-btrace.c delete mode 100644 gdb/common/linux-btrace.h delete mode 100644 gdb/common/linux-osdata.c delete mode 100644 gdb/common/linux-osdata.h delete mode 100644 gdb/common/linux-procfs.c delete mode 100644 gdb/common/linux-procfs.h delete mode 100644 gdb/common/linux-ptrace.c delete mode 100644 gdb/common/linux-ptrace.h delete mode 100644 gdb/common/mips-linux-watch.c delete mode 100644 gdb/common/mips-linux-watch.h create mode 100644 gdb/common/symbol.h create mode 100644 gdb/common/x86-xstate.h create mode 100644 gdb/compile/compile-c-support.c create mode 100644 gdb/compile/compile-c-symbols.c create mode 100644 gdb/compile/compile-c-types.c create mode 100644 gdb/compile/compile-internal.h create mode 100644 gdb/compile/compile-loc2c.c create mode 100644 gdb/compile/compile-object-load.c create mode 100644 gdb/compile/compile-object-load.h create mode 100644 gdb/compile/compile-object-run.c create mode 100644 gdb/compile/compile-object-run.h create mode 100644 gdb/compile/compile.c create mode 100644 gdb/compile/compile.h delete mode 100644 gdb/config/alpha/alpha-osf3.mh delete mode 100644 gdb/config/alpha/nm-osf3.h delete mode 100644 gdb/config/mips/irix5.mh delete mode 100644 gdb/config/mips/irix6.mh delete mode 100644 gdb/config/vax/vax.mh create mode 100644 gdb/d-exp.y delete mode 100644 gdb/d-support.c create mode 100644 gdb/debug.c delete mode 100644 gdb/dec-thread.c create mode 100644 gdb/fbsd-tdep.c create mode 100644 gdb/fbsd-tdep.h create mode 100644 gdb/features/microblaze-core.xml create mode 100644 gdb/features/microblaze-stack-protect.xml create mode 100644 gdb/features/microblaze-with-stack-protect.c create mode 100644 gdb/features/microblaze-with-stack-protect.xml create mode 100644 gdb/features/microblaze.c create mode 100644 gdb/features/microblaze.xml delete mode 100644 gdb/gdbserver/i386-low.c delete mode 100644 gdb/gdbserver/i386-low.h create mode 100644 gdb/gdbserver/symbol.c create mode 100644 gdb/gdbserver/x86-low.c create mode 100644 gdb/gdbserver/x86-low.h create mode 100644 gdb/gnulib/import/basename-lgpl.c create mode 100644 gdb/gnulib/import/canonicalize-lgpl.c create mode 100644 gdb/gnulib/import/dirname-lgpl.c create mode 100644 gdb/gnulib/import/dirname.h create mode 100644 gdb/gnulib/import/dosname.h create mode 100644 gdb/gnulib/import/extra/snippet/_Noreturn.h create mode 100644 gdb/gnulib/import/lstat.c create mode 100644 gdb/gnulib/import/m4/canonicalize.m4 create mode 100644 gdb/gnulib/import/m4/dirname.m4 create mode 100644 gdb/gnulib/import/m4/double-slash-root.m4 create mode 100644 gdb/gnulib/import/m4/eealloc.m4 create mode 100644 gdb/gnulib/import/m4/largefile.m4 create mode 100644 gdb/gnulib/import/m4/lstat.m4 create mode 100644 gdb/gnulib/import/m4/malloc.m4 create mode 100644 gdb/gnulib/import/m4/malloca.m4 create mode 100644 gdb/gnulib/import/m4/nocrash.m4 create mode 100644 gdb/gnulib/import/m4/readlink.m4 create mode 100644 gdb/gnulib/import/m4/rename.m4 create mode 100644 gdb/gnulib/import/m4/rmdir.m4 create mode 100644 gdb/gnulib/import/m4/stat.m4 create mode 100644 gdb/gnulib/import/m4/stdio_h.m4 create mode 100644 gdb/gnulib/import/m4/stdlib_h.m4 create mode 100644 gdb/gnulib/import/malloc.c create mode 100644 gdb/gnulib/import/malloca.c create mode 100644 gdb/gnulib/import/malloca.h create mode 100644 gdb/gnulib/import/malloca.valgrind create mode 100644 gdb/gnulib/import/readlink.c create mode 100644 gdb/gnulib/import/rename.c create mode 100644 gdb/gnulib/import/rmdir.c create mode 100644 gdb/gnulib/import/same-inode.h create mode 100644 gdb/gnulib/import/stat.c create mode 100644 gdb/gnulib/import/stdio.c create mode 100644 gdb/gnulib/import/stdio.in.h create mode 100644 gdb/gnulib/import/stdlib.in.h create mode 100644 gdb/gnulib/import/stripslash.c create mode 100644 gdb/guile/lib/gdb/support.scm create mode 100644 gdb/i386-linux-nat.h delete mode 100644 gdb/i386-nat.c delete mode 100644 gdb/i386-nat.h delete mode 100644 gdb/irix5-nat.c delete mode 100644 gdb/mips-irix-tdep.c create mode 100644 gdb/mips-sde-tdep.c rename gdb/{common => nat}/gdb_thread_db.h (100%) rename gdb/{common => nat}/glibc_thread_db.h (100%) create mode 100644 gdb/nat/linux-btrace.c create mode 100644 gdb/nat/linux-btrace.h create mode 100644 gdb/nat/linux-osdata.c create mode 100644 gdb/nat/linux-osdata.h create mode 100644 gdb/nat/linux-procfs.c create mode 100644 gdb/nat/linux-procfs.h create mode 100644 gdb/nat/linux-ptrace.c create mode 100644 gdb/nat/linux-ptrace.h create mode 100644 gdb/nat/mips-linux-watch.c create mode 100644 gdb/nat/mips-linux-watch.h create mode 100644 gdb/nat/x86-cpuid.h create mode 100644 gdb/nat/x86-dregs.c create mode 100644 gdb/nat/x86-dregs.h create mode 100644 gdb/nat/x86-gcc-cpuid.h delete mode 100644 gdb/python/lib/gdb/command/bound_registers.py create mode 100644 gdb/python/lib/gdb/printer/__init__.py create mode 100644 gdb/python/lib/gdb/printer/bound_registers.py create mode 100644 gdb/python/py-infevents.c create mode 100644 gdb/python/py-varobj.c create mode 100644 gdb/regformats/microblaze-with-stack-protect.dat delete mode 100644 gdb/solib-irix.c delete mode 100644 gdb/solib-irix.h delete mode 100644 gdb/solib-osf.c create mode 100644 gdb/target-debug.h create mode 100644 gdb/target/target.h create mode 100644 gdb/testsuite/boards/local-remote-host-native.exp create mode 100644 gdb/testsuite/boards/stabs.exp delete mode 100644 gdb/testsuite/config/vx.exp delete mode 100644 gdb/testsuite/config/vxworks.exp delete mode 100644 gdb/testsuite/config/vxworks29k.exp create mode 100644 gdb/testsuite/dg-extract-results.py create mode 100644 gdb/testsuite/gdb.ada/addr_arith.exp create mode 100644 gdb/testsuite/gdb.ada/addr_arith/foo_na07_019.adb create mode 100644 gdb/testsuite/gdb.ada/addr_arith/pck.adb create mode 100644 gdb/testsuite/gdb.ada/addr_arith/pck.ads create mode 100644 gdb/testsuite/gdb.ada/arr_arr.exp create mode 100644 gdb/testsuite/gdb.ada/arr_arr/foo.adb create mode 100644 gdb/testsuite/gdb.ada/arr_arr/pck.adb create mode 100644 gdb/testsuite/gdb.ada/arr_arr/pck.ads create mode 100644 gdb/testsuite/gdb.ada/n_arr_bound.exp create mode 100644 gdb/testsuite/gdb.ada/n_arr_bound/foo.adb create mode 100644 gdb/testsuite/gdb.ada/n_arr_bound/pck.adb create mode 100644 gdb/testsuite/gdb.ada/n_arr_bound/pck.ads create mode 100644 gdb/testsuite/gdb.ada/pkd_arr_elem.exp create mode 100644 gdb/testsuite/gdb.ada/pkd_arr_elem/failure.adb create mode 100644 gdb/testsuite/gdb.ada/pkd_arr_elem/pck.adb create mode 100644 gdb/testsuite/gdb.ada/pkd_arr_elem/pck.ads create mode 100644 gdb/testsuite/gdb.ada/str_uninit.exp create mode 100644 gdb/testsuite/gdb.ada/str_uninit/parse.adb create mode 100644 gdb/testsuite/gdb.ada/str_uninit/pck.adb create mode 100644 gdb/testsuite/gdb.ada/str_uninit/pck.ads create mode 100644 gdb/testsuite/gdb.arch/aarch64-fp.c create mode 100644 gdb/testsuite/gdb.arch/aarch64-fp.exp create mode 100644 gdb/testsuite/gdb.arch/amd64-entry-value-paramref.S create mode 100644 gdb/testsuite/gdb.arch/amd64-entry-value-paramref.cc create mode 100644 gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp create mode 100644 gdb/testsuite/gdb.arch/amd64-optimout-repeat.S create mode 100644 gdb/testsuite/gdb.arch/amd64-optimout-repeat.c create mode 100644 gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp create mode 100644 gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.S create mode 100644 gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp create mode 100644 gdb/testsuite/gdb.arch/avr-flash-qualifier.c create mode 100644 gdb/testsuite/gdb.arch/avr-flash-qualifier.exp create mode 100644 gdb/testsuite/gdb.arch/i386-bp_permanent.c create mode 100644 gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.S create mode 100644 gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.c create mode 100644 gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.exp create mode 100644 gdb/testsuite/gdb.arch/powerpc-stackless.S create mode 100644 gdb/testsuite/gdb.arch/powerpc-stackless.exp create mode 100644 gdb/testsuite/gdb.base/annota-input-while-running.c create mode 100644 gdb/testsuite/gdb.base/annota-input-while-running.exp create mode 100644 gdb/testsuite/gdb.base/attach-wait-input.c create mode 100644 gdb/testsuite/gdb.base/attach-wait-input.exp create mode 100644 gdb/testsuite/gdb.base/bg-execution-repeat.c create mode 100644 gdb/testsuite/gdb.base/bg-execution-repeat.exp create mode 100644 gdb/testsuite/gdb.base/bp-permanent.c create mode 100644 gdb/testsuite/gdb.base/bp-permanent.exp create mode 100644 gdb/testsuite/gdb.base/break-main-file-remove-fail.c create mode 100644 gdb/testsuite/gdb.base/break-main-file-remove-fail.exp create mode 100644 gdb/testsuite/gdb.base/breakpoint-in-ro-region.c create mode 100644 gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp create mode 100644 gdb/testsuite/gdb.base/continue-all-already-running.c create mode 100644 gdb/testsuite/gdb.base/continue-all-already-running.exp create mode 100644 gdb/testsuite/gdb.base/double-prompt-target-event-error.c create mode 100644 gdb/testsuite/gdb.base/double-prompt-target-event-error.exp create mode 100644 gdb/testsuite/gdb.base/dprintf-detach.c create mode 100644 gdb/testsuite/gdb.base/dprintf-detach.exp create mode 100644 gdb/testsuite/gdb.base/execl-update-breakpoints.c create mode 100644 gdb/testsuite/gdb.base/execl-update-breakpoints.exp create mode 100644 gdb/testsuite/gdb.base/execution-termios.c create mode 100644 gdb/testsuite/gdb.base/execution-termios.exp create mode 100644 gdb/testsuite/gdb.base/func-ptrs.c create mode 100644 gdb/testsuite/gdb.base/func-ptrs.exp create mode 100644 gdb/testsuite/gdb.base/global-var-nested-by-dso-solib1.c create mode 100644 gdb/testsuite/gdb.base/global-var-nested-by-dso-solib2.c create mode 100644 gdb/testsuite/gdb.base/global-var-nested-by-dso.c create mode 100644 gdb/testsuite/gdb.base/global-var-nested-by-dso.exp create mode 100644 gdb/testsuite/gdb.base/line-symtabs.c create mode 100644 gdb/testsuite/gdb.base/line-symtabs.exp create mode 100644 gdb/testsuite/gdb.base/line-symtabs.h create mode 100644 gdb/testsuite/gdb.base/multi-line-starts-subshell.exp create mode 100644 gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.c create mode 100644 gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.exp create mode 100644 gdb/testsuite/gdb.base/paginate-bg-execution.c create mode 100644 gdb/testsuite/gdb.base/paginate-bg-execution.exp create mode 100644 gdb/testsuite/gdb.base/paginate-execution-startup.c create mode 100644 gdb/testsuite/gdb.base/paginate-execution-startup.exp create mode 100644 gdb/testsuite/gdb.base/paginate-inferior-exit.c create mode 100644 gdb/testsuite/gdb.base/paginate-inferior-exit.exp create mode 100644 gdb/testsuite/gdb.base/statistics.exp create mode 100644 gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.c create mode 100644 gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.exp create mode 100644 gdb/testsuite/gdb.base/symtab-search-order-1.c create mode 100644 gdb/testsuite/gdb.base/symtab-search-order-shlib-1.c create mode 100644 gdb/testsuite/gdb.base/symtab-search-order.c create mode 100644 gdb/testsuite/gdb.base/symtab-search-order.exp create mode 100644 gdb/testsuite/gdb.base/until-nodebug.exp create mode 100644 gdb/testsuite/gdb.base/vdso-warning.c create mode 100644 gdb/testsuite/gdb.base/vdso-warning.exp create mode 100644 gdb/testsuite/gdb.base/vla-stub-define.c create mode 100644 gdb/testsuite/gdb.base/vla-stub.c create mode 100644 gdb/testsuite/gdb.base/vla-stub.exp create mode 100644 gdb/testsuite/gdb.base/watch-bitfields.c create mode 100644 gdb/testsuite/gdb.base/watch-bitfields.exp create mode 100644 gdb/testsuite/gdb.base/watchpoint-reuse-slot.c create mode 100644 gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp create mode 100644 gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.c create mode 100644 gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.exp create mode 100644 gdb/testsuite/gdb.btrace/gcore.exp create mode 100644 gdb/testsuite/gdb.btrace/segv.c create mode 100644 gdb/testsuite/gdb.btrace/segv.exp create mode 100644 gdb/testsuite/gdb.compile/Makefile.in create mode 100644 gdb/testsuite/gdb.compile/compile-constvar.S create mode 100644 gdb/testsuite/gdb.compile/compile-constvar.c create mode 100644 gdb/testsuite/gdb.compile/compile-mod.c create mode 100644 gdb/testsuite/gdb.compile/compile-nodebug.c copy gdb/testsuite/{gdb.dwarf2/dw2-ifort-parameter.c => gdb.compile/compile-ops.c} (100%) create mode 100644 gdb/testsuite/gdb.compile/compile-ops.exp create mode 100644 gdb/testsuite/gdb.compile/compile-setjmp-mod.c create mode 100644 gdb/testsuite/gdb.compile/compile-setjmp.c create mode 100644 gdb/testsuite/gdb.compile/compile-setjmp.exp create mode 100644 gdb/testsuite/gdb.compile/compile-shlib.c create mode 100644 gdb/testsuite/gdb.compile/compile-tls.c create mode 100644 gdb/testsuite/gdb.compile/compile-tls.exp create mode 100644 gdb/testsuite/gdb.compile/compile.c create mode 100644 gdb/testsuite/gdb.compile/compile.exp create mode 100644 gdb/testsuite/gdb.cp/anon-ns2.cc create mode 100644 gdb/testsuite/gdb.cp/chained-calls.cc create mode 100644 gdb/testsuite/gdb.cp/chained-calls.exp create mode 100644 gdb/testsuite/gdb.cp/non-trivial-retval.cc create mode 100644 gdb/testsuite/gdb.cp/non-trivial-retval.exp create mode 100644 gdb/testsuite/gdb.cp/pr17132.cc create mode 100644 gdb/testsuite/gdb.cp/pr17132.exp create mode 100644 gdb/testsuite/gdb.cp/pr17494.cc create mode 100644 gdb/testsuite/gdb.cp/pr17494.exp create mode 100644 gdb/testsuite/gdb.cp/vla-cxx.cc create mode 100644 gdb/testsuite/gdb.cp/vla-cxx.exp create mode 100644 gdb/testsuite/gdb.dlang/expression.exp create mode 100644 gdb/testsuite/gdb.dwarf2/data-loc.c create mode 100644 gdb/testsuite/gdb.dwarf2/data-loc.exp create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.S create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.c create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.exp create mode 100644 gdb/testsuite/gdb.dwarf2/dynarr-ptr.c create mode 100644 gdb/testsuite/gdb.dwarf2/dynarr-ptr.exp delete mode 100644 gdb/testsuite/gdb.dwarf2/implptr-optimized-out.S create mode 100644 gdb/testsuite/gdb.dwarf2/symtab-producer.exp create mode 100644 gdb/testsuite/gdb.fortran/print-formatted.exp create mode 100644 gdb/testsuite/gdb.fortran/print-formatted.f90 create mode 100644 gdb/testsuite/gdb.linespec/break-asm-file.c create mode 100644 gdb/testsuite/gdb.linespec/break-asm-file.exp create mode 100644 gdb/testsuite/gdb.linespec/break-asm-file0.s create mode 100644 gdb/testsuite/gdb.linespec/break-asm-file1.s create mode 100644 gdb/testsuite/gdb.mi/mi-exit-code.c create mode 100644 gdb/testsuite/gdb.mi/mi-exit-code.exp create mode 100644 gdb/testsuite/gdb.multi/dummy-frame-restore.c create mode 100644 gdb/testsuite/gdb.multi/dummy-frame-restore.exp create mode 100644 gdb/testsuite/gdb.python/amd64-py-framefilter-invalidarg.S create mode 100644 gdb/testsuite/gdb.python/py-caller-is.c create mode 100644 gdb/testsuite/gdb.python/py-caller-is.exp create mode 100644 gdb/testsuite/gdb.python/py-completion.exp create mode 100644 gdb/testsuite/gdb.python/py-completion.py create mode 100644 gdb/testsuite/gdb.python/py-framefilter-invalidarg-gdb.py.in create mode 100644 gdb/testsuite/gdb.python/py-framefilter-invalidarg.exp create mode 100644 gdb/testsuite/gdb.python/py-framefilter-invalidarg.py rename gdb/testsuite/gdb.python/{py-objfile-script-gdb.py.in => py-objfile-script-gdb.py} (100%) create mode 100644 gdb/testsuite/gdb.reverse/rerun-prec.c create mode 100644 gdb/testsuite/gdb.reverse/rerun-prec.exp create mode 100644 gdb/testsuite/gdb.threads/break-while-running.c create mode 100644 gdb/testsuite/gdb.threads/break-while-running.exp create mode 100644 gdb/testsuite/gdb.threads/gcore-stale-thread.c create mode 100644 gdb/testsuite/gdb.threads/gcore-stale-thread.exp create mode 100644 gdb/testsuite/gdb.threads/kill.c create mode 100644 gdb/testsuite/gdb.threads/kill.exp create mode 100644 gdb/testsuite/gdb.threads/next-bp-other-thread.c create mode 100644 gdb/testsuite/gdb.threads/next-bp-other-thread.exp create mode 100644 gdb/testsuite/gdb.threads/queue-signal.c create mode 100644 gdb/testsuite/gdb.threads/queue-signal.exp create mode 100644 gdb/testsuite/gdb.threads/signal-command-handle-nopass.c create mode 100644 gdb/testsuite/gdb.threads/signal-command-handle-nopass.exp create mode 100644 gdb/testsuite/gdb.threads/signal-command-multiple-signals-pending.c create mode 100644 gdb/testsuite/gdb.threads/signal-command-multiple-signals-pending.exp create mode 100644 gdb/testsuite/gdb.threads/signal-delivered-right-thread.c create mode 100644 gdb/testsuite/gdb.threads/signal-delivered-right-thread.exp create mode 100644 gdb/testsuite/lib/gdb-utils.exp create mode 100644 gdb/testsuite/lib/read1.c create mode 100644 gdb/varobj-iter.h delete mode 100644 gdb/vax-nat.c create mode 100644 gdb/x86-linux-nat.c create mode 100644 gdb/x86-linux-nat.h create mode 100644 gdb/x86-nat.c create mode 100644 gdb/x86-nat.h create mode 100644 gold/aarch64-reloc-property.cc create mode 100644 gold/aarch64-reloc-property.h create mode 100644 gold/aarch64-reloc.def create mode 100644 gold/aarch64.cc create mode 100644 gold/mips.cc create mode 100644 gold/testsuite/defsym_test.c create mode 100755 gold/testsuite/defsym_test.sh create mode 100755 gold/testsuite/plugin_test_10.sh create mode 100644 gprof/configure.ac delete mode 100644 gprof/configure.in create mode 100644 gprof/po/hu.po create mode 100644 include/elf/visium.h create mode 100644 include/gcc-c-fe.def create mode 100644 include/gcc-c-interface.h create mode 100644 include/gcc-interface.h create mode 100644 include/opcode/nios2r1.h create mode 100644 include/opcode/visium.h create mode 100644 ld/configure.ac delete mode 100644 ld/configure.in create mode 100644 ld/emulparams/armelfb_fbsd.sh create mode 100644 ld/emulparams/avrtiny.sh create mode 100644 ld/emulparams/elf32visium.sh create mode 100644 ld/emulparams/moxiebox.sh create mode 100644 ld/scripttempl/avrtiny.sc create mode 100644 ld/scripttempl/visium.sc create mode 100644 ld/testsuite/ld-aarch64/copy-reloc-exe.s create mode 100644 ld/testsuite/ld-aarch64/copy-reloc-so.s create mode 100644 ld/testsuite/ld-aarch64/copy-reloc.d create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-264-bad.d create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-266-bad.d create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-268-bad.d create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-269-bad.d create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-local-addend-bar.s create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-local-addend-foo.s create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-local-addend.d create mode 100644 ld/testsuite/ld-aarch64/erratum835769.d create mode 100644 ld/testsuite/ld-aarch64/erratum835769.s create mode 100644 ld/testsuite/ld-aarch64/local-addend-r.d create mode 100644 ld/testsuite/ld-arm/attr-merge-arch-2.d create mode 100644 ld/testsuite/ld-arm/attr-merge-arch-2a.s create mode 100644 ld/testsuite/ld-arm/attr-merge-arch-2b.s create mode 100644 ld/testsuite/ld-arm/attr-merge-nosection-1.d create mode 100644 ld/testsuite/ld-arm/attr-merge-nosection-1a.s create mode 100644 ld/testsuite/ld-arm/attr-merge-nosection-1b.s create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-10.d create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-10r.d create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-11.d create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-11r.d create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-12.d create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-12r.d create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-13.d create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-13r.d create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-14.d create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-14r.d create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-4-sp.s create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-5-sp.s create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-5.s create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-8.d create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-8r.d create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-9.d create mode 100644 ld/testsuite/ld-arm/attr-merge-vfp-9r.d create mode 100644 ld/testsuite/ld-arm/farcall-cond-thumb-arm.d create mode 100644 ld/testsuite/ld-arm/farcall-cond-thumb-arm.s create mode 100644 ld/testsuite/ld-arm/ifunc-gdesc.r create mode 100644 ld/testsuite/ld-arm/ifunc-gdesc.s create mode 100644 ld/testsuite/ld-arm/ifunc-gdesc.ver create mode 100644 ld/testsuite/ld-arm/jump-reloc-veneers-cond-long-backward.d create mode 100644 ld/testsuite/ld-arm/jump-reloc-veneers-cond-long.d create mode 100644 ld/testsuite/ld-arm/jump-reloc-veneers-cond-short-backward.d create mode 100644 ld/testsuite/ld-arm/jump-reloc-veneers-cond-short.d create mode 100644 ld/testsuite/ld-arm/jump-reloc-veneers-cond.s create mode 100644 ld/testsuite/ld-arm/pcrel-shared.rd create mode 100644 ld/testsuite/ld-arm/pcrel-shared.s create mode 100644 ld/testsuite/ld-avr/relax-02.d create mode 100644 ld/testsuite/ld-avr/relax-02.s create mode 100644 ld/testsuite/ld-avr/relax-03.d create mode 100644 ld/testsuite/ld-avr/relax-03.s create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-01.d create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-02.d create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-03.d create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-04.d create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-05.d create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-06.d create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-07.d create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-08.d create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-a.s create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-b.s create mode 100644 ld/testsuite/ld-elf/endsym.d create mode 100644 ld/testsuite/ld-elf/endsym.s create mode 100644 ld/testsuite/ld-elf/needed3.c create mode 100644 ld/testsuite/ld-elf/pr16452.map create mode 100644 ld/testsuite/ld-elf/pr16452.od create mode 100644 ld/testsuite/ld-elf/pr16452a.c create mode 100644 ld/testsuite/ld-elf/pr16452b.c create mode 100644 ld/testsuite/ld-elf/pr16457.od create mode 100644 ld/testsuite/ld-elf/pr16496a.c create mode 100644 ld/testsuite/ld-elf/pr16496a.map create mode 100644 ld/testsuite/ld-elf/pr16496b.c create mode 100644 ld/testsuite/ld-elf/pr16496b.od create mode 100644 ld/testsuite/ld-elf/pr17068.s create mode 100644 ld/testsuite/ld-elf/pr17068a.s create mode 100644 ld/testsuite/ld-elf/pr17068b.s create mode 100644 ld/testsuite/ld-elf/pr17068c.s create mode 100644 ld/testsuite/ld-elf/pr17068d.s create mode 100644 ld/testsuite/ld-elf/pr17068e.s create mode 100644 ld/testsuite/ld-elf/pr17068ez.s create mode 100644 ld/testsuite/ld-i386/plt-lib.c create mode 100644 ld/testsuite/ld-i386/plt-main.out create mode 100644 ld/testsuite/ld-i386/plt-main.rd create mode 100644 ld/testsuite/ld-i386/plt-main1.c create mode 100644 ld/testsuite/ld-i386/plt-main1.rd create mode 100644 ld/testsuite/ld-i386/plt-main2.c create mode 100644 ld/testsuite/ld-i386/plt-main2.rd create mode 100644 ld/testsuite/ld-i386/plt-main3.c create mode 100644 ld/testsuite/ld-i386/plt-main3.rd create mode 100644 ld/testsuite/ld-i386/plt-main4.c create mode 100644 ld/testsuite/ld-i386/plt-main4.rd create mode 100644 ld/testsuite/ld-i386/plt-main5.c create mode 100644 ld/testsuite/ld-i386/pr17057.d create mode 100644 ld/testsuite/ld-i386/pr17057.s create mode 100644 ld/testsuite/ld-i386/pr17306a.s create mode 100644 ld/testsuite/ld-i386/pr17306b.s create mode 100644 ld/testsuite/ld-ifunc/ifunc-lib.c create mode 100644 ld/testsuite/ld-ifunc/ifunc-main.c create mode 100644 ld/testsuite/ld-ifunc/ifunc-main.out create mode 100644 ld/testsuite/ld-ifunc/pr17154-i386.d create mode 100644 ld/testsuite/ld-ifunc/pr17154-x86-64.d create mode 100644 ld/testsuite/ld-ifunc/pr17154-x86.s create mode 100644 ld/testsuite/ld-mips-elf/abiflags-strip1-ph.d create mode 100644 ld/testsuite/ld-mips-elf/abiflags-strip10-ph.d create mode 100644 ld/testsuite/ld-mips-elf/abiflags-strip2-ph.d create mode 100644 ld/testsuite/ld-mips-elf/abiflags-strip3-ph.d create mode 100644 ld/testsuite/ld-mips-elf/abiflags-strip4-ph.d create mode 100644 ld/testsuite/ld-mips-elf/abiflags-strip5-ph.d create mode 100644 ld/testsuite/ld-mips-elf/abiflags-strip6-ph.d create mode 100644 ld/testsuite/ld-mips-elf/abiflags-strip7-ph.d create mode 100644 ld/testsuite/ld-mips-elf/abiflags-strip8-ph.d create mode 100644 ld/testsuite/ld-mips-elf/abiflags-strip9-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-0-n32-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-0-n64-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-0-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-06.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-07.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-08.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-1-n32-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-1-n64-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-1-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-16.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-17.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-18.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-2-n32-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-2-n64-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-2-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-26.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-27.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-28.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-3-n32-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-3-n64-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-3-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-36.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-37.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-38.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-4-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-46.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-47.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-48.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-5-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-50.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-52.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-53.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-54.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-55.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-56.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-57.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-58.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-6-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-6.s create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-60.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-61.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-62.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-63.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-64.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-65.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-66.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-67.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-68.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-7-ph.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-7.s create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-70.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-71.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-72.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-73.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-74.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-75.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-76.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-77.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-78.d create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-8.s create mode 100644 ld/testsuite/ld-mips-elf/attr-gnu-4-81.d create mode 100644 ld/testsuite/ld-mips-elf/empty.s create mode 100644 ld/testsuite/ld-mips-elf/undefweak-overflow.d create mode 100644 ld/testsuite/ld-mips-elf/undefweak-overflow.s create mode 100644 ld/testsuite/ld-plugin/pr16746a.c create mode 100644 ld/testsuite/ld-plugin/pr16746b.c create mode 100644 ld/testsuite/ld-plugin/pr16746c.c create mode 100644 ld/testsuite/ld-plugin/pr16746d.c create mode 100644 ld/testsuite/ld-powerpc/ambiguousv1b.d create mode 100644 ld/testsuite/ld-powerpc/ambiguousv2b.d create mode 100644 ld/testsuite/ld-powerpc/apuinfo-vle.rd create mode 100644 ld/testsuite/ld-powerpc/apuinfo-vle.s create mode 100644 ld/testsuite/ld-powerpc/defsym.d create mode 100644 ld/testsuite/ld-powerpc/defsym.s create mode 100644 ld/testsuite/ld-powerpc/funref2.s create mode 100644 ld/testsuite/ld-powerpc/sdabase.d create mode 100644 ld/testsuite/ld-powerpc/sdabase.s create mode 100644 ld/testsuite/ld-powerpc/sdabase.t create mode 100644 ld/testsuite/ld-powerpc/sdabase2.d create mode 100644 ld/testsuite/ld-powerpc/sdabase2.t create mode 100644 ld/testsuite/ld-scripts/defined6.d create mode 100644 ld/testsuite/ld-scripts/defined6.s create mode 100644 ld/testsuite/ld-scripts/defined6.t create mode 100644 ld/testsuite/ld-scripts/sysroot-prefix-x.s create mode 100644 ld/testsuite/ld-scripts/sysroot-prefix-y.s create mode 100644 ld/testsuite/ld-scripts/sysroot-prefix.exp create mode 100644 ld/testsuite/ld-sh/adjsw8.s create mode 100644 ld/testsuite/ld-visium/brr_x_backward.d create mode 100644 ld/testsuite/ld-visium/brr_x_backward1.s create mode 100644 ld/testsuite/ld-visium/brr_x_backward2.s create mode 100644 ld/testsuite/ld-visium/brr_x_forward.d create mode 100644 ld/testsuite/ld-visium/brr_x_forward1.s create mode 100644 ld/testsuite/ld-visium/brr_x_forward2.s create mode 100644 ld/testsuite/ld-visium/brr_x_seg.s create mode 100644 ld/testsuite/ld-visium/brr_x_seg1.d create mode 100644 ld/testsuite/ld-visium/brr_x_seg2.d create mode 100644 ld/testsuite/ld-visium/imm_x_seg.d create mode 100644 ld/testsuite/ld-visium/imm_x_seg.s create mode 100644 ld/testsuite/ld-visium/ld1.ld create mode 100644 ld/testsuite/ld-visium/ld2.ld create mode 100644 ld/testsuite/ld-visium/ld3.ld create mode 100644 ld/testsuite/ld-visium/reloc.d create mode 100644 ld/testsuite/ld-visium/reloc1.s create mode 100644 ld/testsuite/ld-visium/reloc2.s create mode 100644 ld/testsuite/ld-visium/visium.exp create mode 100644 ld/testsuite/ld-x86-64/bnd-ifunc-2.d create mode 100644 ld/testsuite/ld-x86-64/bnd-ifunc-2.s create mode 100644 ld/testsuite/ld-x86-64/copyreloc-lib.c create mode 100644 ld/testsuite/ld-x86-64/copyreloc-main.S create mode 100644 ld/testsuite/ld-x86-64/copyreloc-main.out create mode 100644 ld/testsuite/ld-x86-64/copyreloc-main1.rd create mode 100644 ld/testsuite/ld-x86-64/copyreloc-main2.rd create mode 100644 ld/testsuite/ld-x86-64/gotplt1.d create mode 100644 ld/testsuite/ld-x86-64/gotplt1.s create mode 100644 ld/testsuite/ld-x86-64/mpx3.dd create mode 100644 ld/testsuite/ld-x86-64/mpx3a.s create mode 100644 ld/testsuite/ld-x86-64/mpx3b.s create mode 100644 ld/testsuite/ld-x86-64/mpx4.dd create mode 100644 ld/testsuite/ld-x86-64/mpx4a.s create mode 100644 ld/testsuite/ld-x86-64/mpx4b.s create mode 100644 ld/testsuite/ld-x86-64/plt-lib.c create mode 100644 ld/testsuite/ld-x86-64/plt-main-bnd.dd create mode 100644 ld/testsuite/ld-x86-64/plt-main.out create mode 100644 ld/testsuite/ld-x86-64/plt-main.rd create mode 100644 ld/testsuite/ld-x86-64/plt-main1.c create mode 100644 ld/testsuite/ld-x86-64/plt-main1.rd create mode 100644 ld/testsuite/ld-x86-64/plt-main2.c create mode 100644 ld/testsuite/ld-x86-64/plt-main2.rd create mode 100644 ld/testsuite/ld-x86-64/plt-main3.c create mode 100644 ld/testsuite/ld-x86-64/plt-main3.rd create mode 100644 ld/testsuite/ld-x86-64/plt-main4.c create mode 100644 ld/testsuite/ld-x86-64/plt-main4.rd create mode 100644 ld/testsuite/ld-x86-64/plt-main5.c create mode 100644 ld/testsuite/ld-x86-64/pr17306a.s create mode 100644 ld/testsuite/ld-x86-64/pr17306b.s create mode 100644 ld/testsuite/ld-x86-64/pr17618.d create mode 100644 ld/testsuite/ld-x86-64/pr17618.s create mode 100644 ld/testsuite/ld-x86-64/pr17689.out create mode 100644 ld/testsuite/ld-x86-64/pr17689.rd create mode 100644 ld/testsuite/ld-x86-64/pr17689a.c create mode 100644 ld/testsuite/ld-x86-64/pr17689b.S create mode 100644 libiberty/ChangeLog.jit create mode 100644 libiberty/d-demangle.c create mode 100644 libiberty/strtoll.c create mode 100644 libiberty/strtoull.c create mode 100644 libiberty/testsuite/d-demangle-expected create mode 100644 libiberty/testsuite/demangler-fuzzer.c create mode 100644 libiberty/testsuite/test-strtol.c create mode 100644 opcodes/configure.ac delete mode 100644 opcodes/configure.in create mode 100644 opcodes/visium-dis.c create mode 100644 opcodes/visium-opc.c delete mode 100644 src-release create mode 100755 src-release.sh First 500 lines of diff: diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..06d51d2 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,20 @@ +# -*- conf -*- + +## Set merge driver for ChangeLog files +# See gnulib's lib/git-merge-changelog.c (or git-merge-changelog(1)) +# for per-user setup instructions. +# +# The short version of this (optional) procedure is: +# +# (1) Install git-merge-changelog (this is the tricky part!) +# +# (2) Add something like the following to your ~/.gitconfig: +# +# [merge "merge-changelog"] +# name = GNU-style ChangeLog merge driver +# driver = git-merge-changelog %O %A %B +# +# (3) Enjoy mostly effortless ChangeLog merges, at least until the +# file gets renamed again ... + +ChangeLog merge=merge-changelog diff --git a/ChangeLog b/ChangeLog index dcf12bb..157f902 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,73 @@ +2014-12-06 Eric Botcazou + + * config.sub: Update from upstream config repo. + +2014-11-24 H.J. Lu + + * libtool.m4: Updated from GCC trunk. + +2014-11-16 Jan-Benedict Glaw + + * config.guess: Update from upstream config repo. + * config.sub: Ditto. + +2014-11-16 Jan-Benedict Glaw + + * move-if-change: Update from upstream gnulib. + +2014-11-16 Jan-Benedict Glaw + + * compile: Sync with upstream Automake. + * depcomp: Ditto. + * install-sh: Ditto. + * missing: Ditto. + * mkinstalldirs: Ditto. + * ylwrap: Ditto. + +2014-10-15 Tristan Gingold + + * src-release.sh (do_proto_toplev): Configure with --target. + +2014-10-03 Jing Yu + + * configure.ac: Add aarch64 to list of targets that support gold. + * configure: Regenerate. + +2014-09-12 Andrew Bennett + + * configure.ac: Add mips*-img-elf* target triple. + * configure: Regenerate. + +2014-09-06 Kuan-Lin Chen + * configure: Disable gdb for nds32*-*-* until supported. + * configure.ac: Disable gdb for nds32*-*-* until supported. + +2014-09-05 Joel Brobecker + + * configure: Regenerate. + +2014-08-27 Will Newton + + * src-release.sh: New file. + * src-release: Remove file. + +2014-07-27 Joel Sherrill + + GDB not supported for or1k*-*-rtems* + * configure.ac (or1k*-*-rtems*): gdb not supported. The ordering + of the stanzas results in this not being caught by or1k*-*-* later. + * configure. Regenerated. + +2014-07-25 Samuel Bronson + + * .gitattributes: New file for use with git-merge-changelog. + +2014-07-21 Joel Sherrill + + Disable gdb for or1k*-*-* until supported + * configure.ac (or1k*-*-*): Disable gdb. + * configure: Regenerated. + 2014-05-14 Sandra Loosemore * configure.ac (target_makefile_frag): Set for nios2-*-elf*. diff --git a/MAINTAINERS b/MAINTAINERS index dd8601b..b09fbc0 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -47,7 +47,10 @@ gdb/; readline/; sim/; GDB's part of include/ See also gdb/MAINTAINERS and sim/MAINTAINERS. include/ - See binutils/, gdb/, sid/, gcc/, libiberty/ etc. + The rule is that if the file exists in the gcc tree + then gcc owns it. Thus you have to look at the gcc tree + to know whether any particular file is owned by gcc. + See also binutils/, gdb/, sid/, gcc/, libiberty/ etc. intl/; config.rhost; libiberty/; libiberty's part of include/; compile; depcomp; install-sh; missing; ylwrap; config/ diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c14719f..b883d3c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,2132 @@ +2014-12-28 Alan Modra + + PR 17766 + * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct string + length. Use memcpy rather than strcpy. + +2014-12-26 Alan Modra + + PR 17755 + * elf64-sh64.c (sh_elf64_copy_private_data_internal): Delete code + copying SHF_SH5_ISA32. + +2014-12-25 Thomas Preud'homme + + * elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new + Tag_ABI_VFP_args value and replace hardcoded values by enum values. + (elf32_arm_post_process_headers): Set e_flags in ELF header as hard + float only when Tag_ABI_VFP_args is 1, using new enum value + AEABI_VFP_args_vfp to check that. + +2014-12-24 H.J. Lu + + * pei-x86_64.c (pex64_bfd_print_pdata_section): Add cast to + unsigned long. + +2014-12-24 Pierre Muller + + Add support for pdata output for pe coff objects. + * pe-x86_64.c (pex64_bfd_print_pdata): Add external + declaration. + (bfd_pe_print_data): Set macro to pex64_bfd_print_data. + * pei-x86_64.c (pex64_bfd_print_pdata): Changed to + global function. Now handles multiple .pdata sections. + (pex_bfd_print_pdata_section): New static helper function, + using most of old pex_bfd_print_pdata function code, but adding + support for coff pe objects, which might have some fields + starting at zero offset. + (pex64_print_all_pdata_sections) : New static helper function, + used in call to bfd_map_over_sections inside new + pex66_bfd_print_pdata function. + (bfd_boolean pdata_count): New static variable, used to return + bfd_boolean value for pex64_bfd_print_pdata function. + +2014-12-24 Alan Modra + + * linker.c (_bfd_generic_link_output_symbols): Remove BSF_WEAK + flag from bfd_link_hash_defined symbols. + +2014-12-23 Andrew Burgess + + * elf32-avr.c (bfd_elf_avr_final_write_processing): Don't set + EF_AVR_LINKRELAX_PREPARED unconditionally. + +2014-12-23 Alan Modra + + * elflink.c (_bfd_elf_define_linkage_sym): Set linker_def. + * linker.c (_bfd_generic_link_add_one_symbol): Clear linker_def + for CDEF, DEF, DEFW, COM. + +2014-12-22 Nick Clifton + + PR binutils/17512 + * archive.c (do_slurp_bsd_armap): Return if the parsed_size is + zero. + (bfd_slurp_armap): Zero terminate the name. + (bfd_generic_stat_arch_elt): If there is no header, fail. + * elf32-arc.c (arc_info_to_howto_rel): Replace BFD_ASSERT with + error message. + * elf32-avr.c (avr_info_to_howto_rela): Likewise. + * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise. + * elf32-cris.c (cris_info_to_howto_rela): Likewise. + * elf32-d10v.c (d10v_info_to_howto_rel): Likewise. + * elf32-d30v.c (d30v_info_to_howto_rel): Likewise. + * elf32-dlx.c (dlx_rtype_to_howto): 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-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-mep.c (mep_info_to_howto_rela): Likewise. + * elf32-metag.c (metag_info_to_howto_rela): 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-rl78.c (rl78_info_to_howto_rela): Likewise. + * elf32-rx.c (rx_info_to_howto_rela): Likewise. + * elf32-v850.c (v850_elf_info_to_howto_rel): 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-mmix.c (mmix_info_to_howto_rela): Likewise. + * elf64-x86-64.c (elf_x86_64_reloc_type_lookup): Likewise. + * elfnn-aarch64.c (elfNN_aarch64_bfd_reloc_from_type): Likewise. + * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Add range + checking of reloc symbol index. + * mach-o.c (bfd_mach_o_canonicalize_one_reloc): If no symbols have + been provided then set the reloc's symbol to undefined. + * reloc.c (bfd_generic_get_relocated_section_contents): Add range + checking of the reloc to be applied. + * versados.c (process_otr): Add more range checks. + (versados_canonicalize_reloc): If the section is unknown, set the + symbol to undefined. + * vms-alpha.c (_bfd_vms_slurp_eisd): Add range checks. + (alpha_vms_object_p): Likewise. + +2014-12-18 Richard Henderson + + * elf32-ppc.c (ELF_COMMONPAGESIZE): Set to 64k. + * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise. + +2014-12-16 Nick Clifton + + PR binutils/17512 + * format.c (bfd_check_format_matches): Check for a matching vector + before using match priorities. + * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Fix off-by-one + errors with previous delta. + +2014-12-15 H.J. Lu + + PR ld/17713 + * elflink.c (_bfd_elf_gc_mark_rsec): Check corrupt input. + +2014-12-13 H.J. Lu + + PR ld/17689 + * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add needs_copy. + Change has_bnd_reloc to bit field. + (elf_x86_64_link_hash_newfunc): Initialize needs_copy and + has_bnd_reloc to 0. + (elf_x86_64_check_relocs): Set has_bnd_reloc to 1 instead + of TRUE. + (elf_x86_64_adjust_dynamic_symbol): Copy needs_copy from the + real definition to a weak symbol. + (elf_x86_64_allocate_dynrelocs): Also check needs_copy of a + weak symbol for PIE when discarding space for relocs against + symbols which turn out to need copy relocs. + (elf_x86_64_relocate_section): Also check needs_copy of a + weak symbol for PIE with copy reloc. + +2014-12-12 Alan Modra + + PR 15228 + * elflink.c (_bfd_elf_adjust_dynamic_copy): Call bfd_set_error. + +2014-12-12 Alan Modra + + PR 15228 + * elflink.c (_bfd_elf_adjust_dynamic_copy): Add "info" param. + Error on copy relocs against protected symbols. + (elf_merge_st_other): Set h->protected_def. + * elf-bfd.h (struct elf_link_hash_entry): Add "protected_def". + (_bfd_elf_adjust_dynamic_copy): Update prototype. + * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Update + _bfd_elf_adjust_dynamic_copy call. + * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise. + * elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise. + * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise. + * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise. + * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise. + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise. + * elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise. + * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise. + * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise. + * elf32-metag.c (elf_metag_adjust_dynamic_symbol): Likewise. + * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Likewise. + * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise. + * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. + * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise. + * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise. + * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise. + * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise. + * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. + * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. + * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise. + * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise. + * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Likewise. + * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Likewise. + * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise. + * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise. + +2014-12-11 Keith Seitz + + * elf.c (elf_parse_notes): Define convenience macro + GROKER_ELEMENT to add elements to 'grokers' array. + Add 'len' element to 'grokers'. + Use grokers.len instead of sizeof in string + comparisons. + +2014-12-10 Alan Modra + + * Makefile.am (BFD32_LIBS, BFD32_LIBS_CFILES): Remove dwarf2 + and coffgen. Add coff-bfd. Sort. + (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add coffgen and dwarf2. + * bfd-in.h (bfd_coff_get_syment, bfd_coff_get_auxent): Delete. + (struct coff_comdat_info, bfd_coff_get_comdat_section): Delete. + * coffgen.c (coff_symbol_from): Move to coff-bfd.h as macro, + without unused param. Update uses. + (bfd_coff_get_comdat_section): Move to coff-bfd.h as macro. + (bfd_coff_get_syment, bfd_coff_get_auxent): Move to coff-bfd.c. + * libcoff-in.h: #include "coff-bfd.h". + (struct coff_section_tdata, coff_section_data): Move to coff-bfd.h. + (coff_symbol_from): Delete. + * coff-bfd.c: New file. + * coff-bfd.h: New file. + * coff-i386.c: Update coff_symbol_from occurrences. + * coff-i960.c: Likewise. + * coff-m68k.c: Likewise. + * coff-sh.c: Likewise. + * coff-x86_64.c: Likewise. + * coffcode.h: Likewise. + * pe-mips.c: Likewise. + * configure.ac (elf): Add dwarf2.lo. + (coffgen, coff, ecoff, xcoff): Define. Use when mapping bfd + target vectors to .o files. Add dwarf2 for mach-o targets. + Fix the sh target FIXME. + * po/SRC-POTFILES.in: Regenerate. + * Makefile.in: Regenerate. + * configure: Regenerate. + * bfd-in2.h: Regenerate. + * libcoff.h: Regenerate. + +2014-12-10 Alan Modra + + PR 17541 + * dwarf2.c (struct comp_unit): Add "lang". + (non_mangled): New function. + (struct funcinfo): Add "is_linkage". Reorder for better packing. + Make "name" a const char*. + (lookup_address_in_function_table): Delete functionname_ptr param. + (find_abstract_instance_name): Add is_linkage param. Set if we + have DW_AT_linkage_name or non_mangled DW_AT_name. + (scan_unit_for_symbols): Similarly set func->is_linkage. + (parse_comp_unit): Stash DW_AT_language. + (comp_unit_find_nearest_line): Replace functionname_ptr param + with function_ptr param. + (_bfd_dwarf2_find_nearest_line): Adjust above calls. Set + functionname_ptr from function->name. Call _bfd_elf_find_function + to retrieve symbol for function if not linkage name. + (_bfd_elf_find_function): Add bfd_target_elf_flavour test, moved from.. + * elf.c (elf_find_function): ..here. + (_bfd_elf_find_nearest_line): Adjust calls. + * elf-bfd.h (_bfd_elf_find_function): Declare. + +2014-12-10 Alan Modra + + * dwarf2.c (read_address): Check bfd_target_elf_flavour before + calling get_elf_backend_data. + (_bfd_dwarf2_find_nearest_line): Fix parens. + +2014-12-10 Alan Modra + + PR 17666 + * elf-bfd.h (struct elf_backend_data): Add sort_relocs_p. + * elfxx-target.h (elf_backend_sort_relocs_p): Define. + (elfNN_bed): Init new field. + * elflink.c (elf_link_adjust_relocs): Conditionally sort. + (bfd_elf_final_link): Control sorting of relocs. + * elfxx-mips.c (_bfd_mips_elf_sort_relocs_p): New function. + * elfxx-mips.h (_bfd_mips_elf_sort_relocs_p): Declare. + * elf32-mips.c (elf_backend_sort_relocs_p): Define. + * elf64-mips.c (elf_backend_sort_relocs_p): Define. + +2014-12-09 Nick Clifton + + PR binutils/17512 + * archive64.c (bfd_elf64_archive_slurp_armap): Add range checks. + * libbfd.c (safe_read_leb128): New function. + * libbfd-in.h (safe_read_leb128): Add prototype. + * libbfd.h: Regenerate. + * elf-attrs.c (_bfd_elf_parse_attributes): Use safe_read_leb128. + Check for an over-long subsection length. + * elf.c (elf_parse_notes): Check that the namedata is long enough + for the string comparison that is about to be performed. + (elf_read_notes): Zero-terminate the note buffer. + +2014-12-09 Alan Modra + + * elf64-ppc.c (sort_r_offset): Delete. + (ppc64_elf_edit_opd): Don't sort input relocs. + +2014-12-06 Eric Botcazou + + * config.bfd: Add Visium support. + * configure.ac: Likewise. + * configure: Regenerate. + * Makefile.am (ALL_MACHINES): Add cpu-visium.lo. + (ALL_MACHINES_CFILES): Add cpu-visium.c. + (BFD32_BACKENDS): Add elf32-visium.lo. + (BFD32_BACKENDS_CFILES): Add elf32-visium.c. + * Makefile.in: Regenerate. + * archures.c (DESCRIPTION): Add Visium support. + (bfd_visium_arch): Declare. + (bfd_archures_list): Add bfd_visium_arch. + * reloc.c: Add Visium relocations. + * targets.c (visium_elf32_vec): Declare. + (_bfd_target_vector): Add visium_elf32_vec. + * bfd-in2.h: Regenerate. + * libbfd.h: Likewise. + * cpu-visium.c: New file. + * elf32-visium.c: Likewise. + * po/SRC-POTFILES.in: Regenerate. + +2014-12-05 Steve Ellcey + + * ecoff.c (_bfd_ecoff_slurp_symbol_table): Add cast. + +2014-12-05 H.J. Lu + + * elf64-x86-64.c (bfd_elf32_get_synthetic_symtab): New. + +2014-12-04 H.J. Lu + + PR binutils/17677 + * elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): New prototype. + * elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): New + function. + * elf32-i386.c (elf_i386_plt_sym_val): Removed. + (elf_backend_plt_sym_val): Likewise. + (elf_i386_get_plt_sym_val): New. + (elf_i386_get_synthetic_symtab): Likewise. + (bfd_elf32_get_synthetic_symtab): Likewise. + * elf64-x86-64.c (elf_x86_64_plt_sym_val): Removed. + (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise. + (elf_backend_plt_sym_val): Likewise. + (elf_x86_64_get_plt_sym_val): New. + (elf_x86_64_get_synthetic_symtab): Use + _bfd_elf_ifunc_get_synthetic_symtab. + (bfd_elf64_get_synthetic_symtab): Don't undefine for NaCl. + +2014-12-04 Alan Modra + + PR 17666 + * elflink.c: Include bfd_stdint.h. + (cmp_ext32l_r_offset, cmp_ext32b_r_offset, + cmp_ext64l_r_offset, cmp_ext64b_r_offset): New functions. + (elf_link_adjust_relocs): Sort relocs. Free rel hashes after + sorting invalidates. + +2014-12-03 Nick Clifton + + PR binutils/17512 + * compress.c (bfd_get_full_section_contents): Fail if there are no + section contents available when the compress_status is + COMPRESS_SECTION_DONE. + * libbfd.c (bfd_malloc): Refuse to allocate a negative size. + (bfd_malloc2): Use bfd_malloc. + (bfd_realloc): Refuse to reallocate a negative size. + (bfd_realloc2): Use bfd_realloc. + (bfd_realloc_or_free): Use bfd_realloc. + (bfd_zmalloc): Use bfd_malloc. + (bfd_zmalloc): Use bfd_malloc2. + * opncls.c (bfd_alloc): Refuse to allocate a negative size. + +2014-12-03 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Reformat. + +2014-12-02 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_relocate_section): Check + info->executable for symbols which need copy relocs. + +2014-12-02 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_check_relocs): Revert the last + change. hooks/post-receive -- Repository for Project Archer.