From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15305 invoked by alias); 7 Aug 2016 19:37:01 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 15286 invoked by uid 9674); 7 Aug 2016 19:37:00 -0000 Date: Sun, 07 Aug 2016 19:37:00 -0000 Message-ID: <20160807193658.14999.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] tromey/python: +ATTRIBUTE_UNUSED X-Git-Refname: refs/heads/tromey/python X-Git-Reftype: branch X-Git-Oldrev: 5e8c6e345d63e61d3c31e67a55db25a6824787b2 X-Git-Newrev: cfee64ee869a6a6e4ab0b64af149d4cf59517d80 X-SW-Source: 2016-q3/txt/msg00003.txt.bz2 List-Id: The branch, tromey/python has been updated via cfee64ee869a6a6e4ab0b64af149d4cf59517d80 (commit) via 8b4ff3c0abd128d2a3acdfb336d7bbd067347e41 (commit) via 8e8fe55a608b9202f167bcd8a6721941de2b7e65 (commit) via d6d4df4a93acc8663f4e81fbf0a83a33d2cf41f8 (commit) via c632e428c2fd707b83a2c61e0b25b473e3d7d18e (commit) via ed1b027aa06ade22834e7d876dfccc4ec94e848a (commit) via 3906a8fc773a405b511faed030e4630ecbd4b8a9 (commit) via 69ffd7f270c8a3f1b577848d2536b93ed01287de (commit) via 1baf514936892a01d8ea49c2c1ccfd7ecd3b7dcd (commit) via b126985ec3f922f86a9fa164cc0f443b1aa9e0bb (commit) via 7ea12e5c3ad54da440c08f32da09534e63e515ca (commit) via cca8e7e482abd37f1e199d7663d26fe8146fb84f (commit) via 54ddd295b505efe4b07cc1e939d4e150032603d8 (commit) via 4ba2ef8fbe74716708e5ce0bcba4f3b1cc8ac99a (commit) via 024425668d120663a73913352df701c8f0aea316 (commit) via 6f67973b4280cfd045e632a3340becd16e43b4b1 (commit) via fcd4a73d7dc3505662b4d58489f4c1b8b003b8f3 (commit) via dabcfa6ef3e6251b1721b59e5ee4e65d74399011 (commit) via 282a0691a725d1f6653840728449adb297c8c856 (commit) via d10153cfc6cb319a75ceb3e3d34ac30efa17e518 (commit) via 8d2a0a14e53945eb260c08752654bd03a240ecf7 (commit) via f72b08723773bf6e5f4dc86777501c744642da15 (commit) via 33541b2e56a653b9260fb1dc2cd7dd73b0c49169 (commit) via 979659d08478172311764b468bfce4960b38760b (commit) via 89d77b8a520602832516ce6628ea930b4f0ccff4 (commit) via fa3fcee7b8c73070306ec358e730d1dfcac246bf (commit) via a94d834c9d0108f0bb50ddc311554d1bed320f54 (commit) via 2d5bddc1eb5d2c04ed142c7ba6fc13e2e3a28079 (commit) via 80b476c2bf85be6676cc6b55dab232730e124147 (commit) via dfdaec14b0db059497b47b515d753b6383772b6b (commit) via 751b375e01e7e85aeccdd965578cb2040836593d (commit) via b2bd7787d3e5f87f66761f555d89b8ce5d631a62 (commit) via 41bfcd638a4e0e48b96ce4de2845372dea481322 (commit) via 781bf64d2414f70c51938e15ebce5c88e7172e55 (commit) via e3465b24a22bd1f783313e680aa76bac83c8aaf5 (commit) via 5e3d6ca4de0d34b32179db62a27efbd2ae420cf9 (commit) via a161b769b0a80b1d183f2b927bf7ae41b0c66d18 (commit) via 3e684cf25ae7cd8a1d118647c5b02f43d094298e (commit) via c88960d081f0b37ec03c66a13115e2a68e40d1ad (commit) via 76539d80f708c535133c4a2a1eef61da305a3e80 (commit) via 4931146e91c3c8208f1e0b8462b8f33e70da506a (commit) via ff20cab8a222c43de501a340016e11cae6a272a7 (commit) via 7bd374a44d1db21b54a9a52ecde1d064cdaa8cd1 (commit) via db18dbabad8e7b63e98d47813ef20acac7072350 (commit) via 61d2d2b5492d892d804861225b45396fdaa0b404 (commit) via 147d994bcdd36a177e49e7b6ac8d9c1f7b4cdcf5 (commit) via 7fca8e8ff70e53aeb5459cbe1438d168d5624958 (commit) via 23fcf59aebe1323d7a8584c00699d688d1273828 (commit) via b6e11d01e075b79cdc70261a83bd3b840fb80c5d (commit) via 293acfae4e3c9aad417e262edc9847c79bbbbb11 (commit) via 6598661d14c90cabac1daa5e683d1e17883b2e41 (commit) via 0b31a4bcec2efec9bc8ca40deb61123c52690a2e (commit) via 8484fb75874eb9ef35710ac6579433f062ddba18 (commit) via 54806ffa85643c3a1ee721d5c3f5586d32f86ee1 (commit) via 40c31709c6a51926fcb409611caa52b2da6515c0 (commit) via 9cf12d57c58a82cfe3e6fee26d1ea55dfe49f9c4 (commit) via d0d4152fa5c87532bf05007def680b5a536e1827 (commit) via 8769bc4bab847cefc2bb5682a0a0dad579528ac8 (commit) via e0461dbb653dbb3c46ea7a15054fd2c98f879f31 (commit) via 698f8cbbbb6a47c29967188d9fdf8486920af8b7 (commit) via 8194e927cc66e8cceb9890240ad75363b3ca6d53 (commit) via 0e1a6a5169023ee0c19de2c9160b469e43634b21 (commit) via d617208bb06bd461b52ce041d89f7127e3044762 (commit) via 3a1518e4f3c467cfee2786b0af3388529f14d23b (commit) via c0272db5854a799a9f3bb3803c3d03d1a62b9ac2 (commit) via 95804507f2645c1cce29f2e1a33031accaa6aa24 (commit) via a173d7f80df1bb1edeb627bbfbe613e27cdc584c (commit) via 074e493dbdfcbd36819593f5797370585edf0118 (commit) via e34879080d8935792ef3942efa5f25b4c3169b5a (commit) via 49ecef2a7da2ee9df4ae675f99b70518fbf1bb23 (commit) via 463888ab6be549e8dcc9eac36dc07c1c237e2968 (commit) via cac709756b00c57a375f40e032d2eb4f5dbd3804 (commit) via e98c9e7ce1c9fd2a5ad99ae2de637b4c16d999b3 (commit) via eed2386e45968fa4fee8d093895f4789044fb077 (commit) via c02d11a585398734a2178d65a17411cd3050b9d2 (commit) via 70ad8739d8ec7a79ef28305c0975df503535b88a (commit) via fecd57f9f1f58f043861d5929a650f35a88a6caa (commit) via 89b829a8b3fc79f37f0506b11ad5d1ababcb7588 (commit) via 12df5c002dcbfc5ac54983e1e7040a182f71a753 (commit) via 305450edd3f96bfeebff78300e1e93487563d90a (commit) via f515a1d643b599ebb8a23d3d95e9f0dfc8261a11 (commit) via c25b7ccef4d6d96ed4af1d27c79d78767dba7161 (commit) via e3821cca157e93677ef098bf36526ccf24f497ac (commit) via 2583da7cd64e680e43cf92c8022eadee84357b3b (commit) via 21536b367ce73eed103e1389b5f45010f0c96bbb (commit) via 8901d1936e4e691f0b3b976f5626ac5a8f27aa7f (commit) via 0e9a339ec8ffab80fdbe97adaf888fe03b73fe22 (commit) via 4281b351bfa3b646ab531cf73c56e49366fef108 (commit) via 984a2c042e82f2306183d9d165c5cb99e4341503 (commit) via bec903c96bc5119e357b4ad2cab99bbee7de628e (commit) via 63c40ec727109e2bb2956ab95968350df00c1aa1 (commit) via 9aa76cd0a7b2cfdcc9da31e7763a695fac89f569 (commit) via 811f8301f8054eb964e92af63930c4495207e7d5 (commit) via bae62ee2087bb54fd06746c99de9b734cc58a721 (commit) via 0c66ea4c5e46372c7411f67b0ba21d7de5215958 (commit) via 7982a1dd2560ff2910c17ceff376980412b91d30 (commit) via 0f118bc7a620f3e3ceff6f2fadca7b8d287a553b (commit) via b1b53fb3ef077bf4412da53f0057b9c0e9ed4f3e (commit) via 982c6f2665bad6c8fec6ee75ffb3c5af60a285a6 (commit) via 5df1bc570fcc5ef5257b7a044acdaeb6b95b9822 (commit) via c092a4d9154f09e6c67648efb723878d7a74f44f (commit) via dbaed3853474e7bd824a25bc454a8f2fdd71d2b3 (commit) via 5fa14c6b9789bad6f91dd21889f7b1a0eb75c6d0 (commit) via da95a26cc381c0f092f515ffe108075985c16d7f (commit) via 37fd5ef3ecc58caacd6abb4ace3d8b559e3db53d (commit) via 0064d22386b99c047bbff3bcc73b6bfce9c29b4c (commit) via 9ab8247228844bb6608d6b2c99b6d8732bab08c1 (commit) via 027d97f8b0193a8113ee60bafc686d45d0af59ee (commit) via 7674d381b47f9f2411c0ca1da0c152940dc0d7bd (commit) via 72b5d09937fa2dac8ca7c801b9ddefe1b0176b6f (commit) via 5caa2b07ebd1b4ab07c6f3ace0810d8e107a30d0 (commit) via f2629855d950f42c6d6ed7132cf94dd70e308985 (commit) via bedbe19cc09fbb6e921872334bfcd371ac5b769d (commit) via b751e639fcc69ba6e1d8ccc0fef2be1522802a33 (commit) via 3ce512885ba76da53fae84cd1a555bc721fdd25e (commit) via 0806868fa0e7c4aa58859c1d6ec273a38787ab12 (commit) via 3af09e8db3084f5e03b7f09768a2ab6415418e63 (commit) via 1f960ced9a3e4aa0823dcc234d9de49aebaee055 (commit) via a6ebf6169a1bd14724b9ac49990089542396f576 (commit) via 9d862524f6ae9703fe8e264dd4785756d358570a (commit) via 065251a0d7a5b0b079ed1f86247573a07d7d98c8 (commit) via 9bceab41933f59fba4ac2278656d808f1b1d1efe (commit) via cf80913ab894d527fe274384a8fa247278d85d03 (commit) via 35fec4ff7e9162cd4bb7dcb267dc7dde92f3e304 (commit) via f25827c194fe9894f2c65f7e1101854022be4328 (commit) via ace667e59aede65c400381f1cff704b61e8ccb0b (commit) via 59f48f5a45d2300da401f1fccab31ba436217469 (commit) via a4717ffb7bbc1415275c6c51029729c8b5de9c12 (commit) via faf13905145f58faf5623f5aad281668ce54c79a (commit) via 68cd8f10986037f69a7be494751b115e1324332b (commit) via 7d0b9ebc1e0079271a7c7737b53bc026525eab64 (commit) via aac502f7d7899d96477fbd83f0038235af641def (commit) via 4212b42d795628dcc36bcffc7cf16175f7698305 (commit) via 16412c3bc4b00ecbf87251bfd2c92584615412bb (commit) via 00dad9a491b3bb0069b5a1471b8f32052e071965 (commit) via 76e7a75123dc36dbc4ddce8a23d2acb171c2bce2 (commit) via 235fa74903061daff9980668423860ecc760665a (commit) via 37539ebee2ea9fc0daceaae1074a79de88d563fb (commit) via 76359541825cf36ecd14ab6b5974ee56e1c59eff (commit) via bc7b765ab71f967eb2a9c3da111d7529eec46fbe (commit) via f7e8b360fe6dd93aae7cb4af554dc66364da4fe0 (commit) via 003c15c9fdfc1ef7038ed3306ae166e60663e7ca (commit) via 06ab6faf83ce47ca64198819eee02e4e56dc5a74 (commit) via 50c1cbe1895eaa6cdc7163851799f6f5d8f9336f (commit) via b416ba9b5079a54585d4d508f0a514b98f701221 (commit) via 96e9ba5fbba2e1e8fcafd8576d0a98738a0fbc49 (commit) via 0c117286270e8166022900f4e5fef89719ccd2dc (commit) via 7f131b39970944cb53b407715880d333c5248cac (commit) via 78cc6c2d9aa3baf6030e513cb1cb5984acee2ee0 (commit) via ac29888840f025448225e600d4cf99e126386878 (commit) via 764c99c18adcdf658b390f25940aed7713a6a769 (commit) via cecc8b99060bf82632345bd1c07d50c7ae8d81ef (commit) via 821fc4aeef26bc7e5d5943c2f5d009a23e16883c (commit) via 537d9b851957475a8122949939023c81b1df1673 (commit) via d3e5f6c8f1e58e86689909019a3756d4308b66eb (commit) via e511c9b19faec4d21aef49d12224316dea3d51eb (commit) via 7df94786e4723ba93d8982e55fc5e652b4b80142 (commit) via fa1c0170176a5e4820f43824cffe80ffc4e7a717 (commit) via efc67f64c94bddd81f1d9dc00390d3790bfd80bd (commit) via dac790e1b9048a318e1882979d7188d82c3bd757 (commit) via 93daf339a4d9496ecde15d3b1e852fbdb38c07d0 (commit) via 43684a7b844bce64735940b55b667f7086fa3d44 (commit) via cda75e7050781403875413a57c5700e67b1c6269 (commit) via 6571a3815623d907b7a3f560e909edd8c76a9e1c (commit) via 92281a5b06dd83a2a7d96ab8d83ae40b4e519acd (commit) via d9dcf8c6ef6e9b5e987ffcc6ba012623564d6986 (commit) via 6e7ced37e756420742d51abb044c24d0f1929143 (commit) via e87324746c45b0f2cd179ba59a80b43a435a9369 (commit) via 9873a9ab89ffbb9d794c6c68fa698cdf7a1d32da (commit) via 37567a2cdd8823c5700ec83b757179083446bf07 (commit) via e0f3fd7c44cebec7d787893b9c800e7de509cb32 (commit) via cf143069f39b4feeeca175f88b6d1a5c1cb0fee4 (commit) via 3cfe46b618f140ce93de3cdbe9693b51eea4acf3 (commit) via b1c51e367880f5065707a2a902b99c6508d19ef8 (commit) via f231881ea65232b3f67379326a5b605c465dffc4 (commit) via 3eb846840f29b069a39a9d3aa4dddf423c79cf65 (commit) via 764cfd4ad75abebbb2193923e4083a9e6bfa3fef (commit) via 05bbf0164a4b3a78ee6d2d575a10800fdf1af5b0 (commit) via b9316f59852ff821cf621aca1e6ab8e7674a5615 (commit) via 08759e0fc8b0de1c56ad388212a104f3a6d61c25 (commit) via 36897971c8d022d5c28cc8af4b2f1df04a7e964f (commit) via fde8e819255251fb4349af2d506db37af286170b (commit) via 32a0481fb147de2cd08c2980b177c298b4582ce7 (commit) via 11575232311d4fe4652ff37a46581ae4a13ccdc4 (commit) via 458653a9b2cf311e7bbb71efd1b410216e0ce059 (commit) via 2f831b9a2bfbd0c2f6083d41b6dc9d9fc6b61e5a (commit) via b8bca85b334b231be6184a0a9a0e7ded6593569b (commit) via fc1b27795caeacc3dfccf44ca81fd7f56e7af780 (commit) via 41c977aa5c81c04a9fea61bfe0b88e428a4b1839 (commit) via 4f19a0e6b45c63c0b4afe27a19d144cca412d4ae (commit) via 3a5ce9503e93fd5b10ddbc4e54fbf6e2e3b46819 (commit) via 819490e217b5490f2159becade1d207eafa5e925 (commit) via 986cf455bfb25d8696232695fbcc93649c10a523 (commit) via f0464b231f046b836e2ed721d764fa309f18eb39 (commit) via fb36c6bf0a019e7b989e61710f17b5ce4ec27686 (commit) via db297a6501dc44c10bff096eddcc358b48810aad (commit) via 9ca107148e888a7f7aaf3582569708684bd04690 (commit) via d66ff635bec25bf940cc6d173a92f7796f18b310 (commit) via ee950322ca2c77494b1742f304632f667ed6ce79 (commit) via 1040b979bc46474530fa4fee397b8acc460c01e9 (commit) via 42d940118a6372d6e85f71a54fed75fdf5c606bd (commit) via 6949d8a719659ee6003aff0c90d03ae81489cab3 (commit) via 29d7478bc63762606302a0ae0525b22eaf85b47b (commit) via 647c264cb2c60c90ee2d09edb6bd001ff357306d (commit) via d5a67c02901c0abe946546f2b3b1a3b67a876136 (commit) via f0728ee368f217f2473798ad7ccfe9feae4412ce (commit) via 1753ed681125949b081376dd97056a3f2930e7d7 (commit) via 33d0ab95489cb3cf7ec98bee63c3541b5295adb6 (commit) via 13cdc2afb7873547ec2910ba647fb4a68602252f (commit) via 0a2f0f5d5b0fbe4f786147d01225512f1faddc30 (commit) via c3e1c28ebfdb20ff4498bcc792228283b903d393 (commit) via 1dc8bf195d2c4d382e0d6d371f16ebfe83573acc (commit) via bb44634d9be7833c3a2874070b434a0b4c6a7730 (commit) via 1ceb37444e8bc8ac5ab8f216bec0e84e16f24726 (commit) via fcedb9f3ca87f43165a8c88fae251344bf6687d0 (commit) via 6f50d611582fab3ca8cf70ec3acf79e19c8706c4 (commit) via 00437d3b6fbeeeccd5d22869b92ea2fe80c41e08 (commit) via f26c9c2eaf6fbfeae03cc7926e4a5fca0bba1ae5 (commit) via d7f20d660a38564dc798f7a77169f5873174041c (commit) via e51af1571fa936f425bbf128833c2b674d549722 (commit) via 9361a47a03c6576b74562fa0cf5e8e30471ad47a (commit) via 09c98b448f3d89cb9576e4e73991c2312939e0af (commit) via 93d8990cba700abdf9d2be06a5022e588d097fc8 (commit) via 2c5c2a3321706c28cbf1b85a970a2e32912eb0c8 (commit) via 8607ea632c806235554aa2336cf01bf3758c1264 (commit) via bb2a62e694953c099c41d49f59947d3d91cc7c27 (commit) via 5e866f5aeeaf7514f5ca4f9eaba41594eac22e5b (commit) via 5077bfff905136e9d9a8fdf0886f6217887622ad (commit) via a3405d124e1388b613a35af49f19f0cc1b8d959d (commit) via 98a4fc78f9dab76b5ada3551a7bef36db8a3ed05 (commit) via 20aa2c606ef682889722b03b1d874befa84fbf53 (commit) via ced2dffbf17bc661e959da1e39411d706ade9f77 (commit) via 630008884535a5b26828325e48e729034c110536 (commit) via 0f48b757071509040d800ff9f7c8726e5828bd1a (commit) via 25d49b862ca7cc65e2ed3fd18e5e445ebb3fb2bc (commit) via 0b08e1f3a396a7f70c0746f31f4f7ee9d5ff53f9 (commit) via 41699fa4a201db0d4ad1ac4a74e3f0ba50894ddf (commit) via 248feb2f9ed40b590aa49bda02e8cf50d2d3f7e7 (commit) via 96a84ea350f43f5a04a633e70bdc518e656cb881 (commit) via b2a40aa57d40115451e494562f626cb95cf08a87 (commit) via 8178be5b0c4aa52ca8c63c68e474369b28e5d834 (commit) via 327e8c421bbe0f7e411bb772ee7d6353f2571a8d (commit) via 83b16ac69492ab493bfc87f147bf84c167bc6f30 (commit) via c07315e0c610e0e3317b4c02266f81793df253d2 (commit) via 9243100aef7486524f1a7f87bbd2cce1fe980b75 (commit) via 8325cc6398187c12e0fe04a68a21e4eb5f44fa20 (commit) via eefbbb8cbe2674ce4e70816ba4d80a848ab7e574 (commit) via 3b821a28891b04987771e75b104dc5247367bba5 (commit) from 5e8c6e345d63e61d3c31e67a55db25a6824787b2 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit cfee64ee869a6a6e4ab0b64af149d4cf59517d80 Author: Jan Kratochvil Date: Sun Aug 7 21:36:32 2016 +0200 +ATTRIBUTE_UNUSED commit 8b4ff3c0abd128d2a3acdfb336d7bbd067347e41 Merge: 5e8c6e3 8e8fe55 Author: Jan Kratochvil Date: Sun Aug 7 21:27:11 2016 +0200 Merge remote-tracking branch 'gdb/master' into tromey/python commit 8e8fe55a608b9202f167bcd8a6721941de2b7e65 Author: GDB Administrator Date: Sun Aug 7 00:00:11 2016 +0000 Automatic date update in version.in commit d6d4df4a93acc8663f4e81fbf0a83a33d2cf41f8 Author: GDB Administrator Date: Sat Aug 6 00:00:20 2016 +0000 Automatic date update in version.in commit c632e428c2fd707b83a2c61e0b25b473e3d7d18e Author: Simon Marchi Date: Fri Aug 5 16:26:18 2016 -0400 Remove unused cli_command_loop declaration This declaration is not used anymore. gdb/ChangeLog: * event-top.h (cli_command_loop): Remove. commit ed1b027aa06ade22834e7d876dfccc4ec94e848a Author: H.J. Lu Date: Fri Aug 5 13:15:16 2016 -0700 Add missing ChangLog enrtry commit 3906a8fc773a405b511faed030e4630ecbd4b8a9 Author: Pedro Alves Date: Fri Aug 5 19:54:11 2016 +0100 Fix PR remote/20398: File-IO write always outputs "Quit" Commit bb7c96deb1a1 ("gdb/remote-fileio.c: Eliminate custom SIGINT signal handler") regressed the File-IO support. Failed output: (gdb) target remote :8888 Remote debugging using :8888 0x00008098 in _start () (gdb) c Continuing. Quit Quit Quit Quit Quit Quit Quit Quit Quit Quit Quit [Inferior 1 (Remote target) exited normally] Expected output: (gdb) target remote :8888 Remote debugging using :8888 0x00008098 in _start () (gdb) c Continuing. i: 0 i: 1 i: 2 i: 3 i: 4 i: 5 i: 6 i: 7 i: 8 i: 9 [Inferior 1 (Remote target) exited normally] The problem that the new File-IO quit handler forgets to check the quit flag before calling throwing a quit. gdb/ChangeLog: 2016-08-05 Pedro Alves PR remote/20398 * remote-fileio.c (remote_fileio_quit_handler): Check the quit flag before calling quit. commit 69ffd7f270c8a3f1b577848d2536b93ed01287de Author: Pedro Alves Date: Fri Aug 5 17:09:31 2016 +0100 gdb/NEWS: Mention that C++ is now the default gdb/ChangeLog: 2016-08-05 Pedro Alves * NEWS: Mention that GDB and GDBserver build with a C++ compiler by default. commit 1baf514936892a01d8ea49c2c1ccfd7ecd3b7dcd Author: Pedro Alves Date: Fri Aug 5 16:54:29 2016 +0100 gdb/configure --help: suggest --disable-build-with-cxx instead of --enable... We build by default with a C++ compiler, but "configure --help" still says "--enable-build-with-cxx", which hints that it is by default disabled. Update the --help text. gdb/ChangeLog: 2016-08-05 Pedro Alves * build-with-cxx.m4: Change help string to be in terms of --disable-build-with-cxx. * configure: Regenerate. gdb/gdbserver/ChangeLog: 2016-08-05 Pedro Alves * configure: Regenerate. commit b126985ec3f922f86a9fa164cc0f443b1aa9e0bb Author: Nick Clifton Date: Fri Aug 5 11:26:13 2016 +0100 Ensure ARM VPUSH and VPOP instructions do not affect more than 16 registers. PR gas/20429 * config/tc-arm.c (do_vfp_nsyn_push): Check that no more than 16 registers are pushed. (do_vfp_nsyn_pop): Check that no more than 16 registers are popped. * testsuite/gas/arm/pr20429.s: New test. * testsuite/gas/arm/pr20429.d: New test driver. * testsuite/gas/arm/pr20429.1: Expected error output. commit 7ea12e5c3ad54da440c08f32da09534e63e515ca Author: Nick Clifton Date: Fri Aug 5 10:37:57 2016 +0100 Fix the generation of alignment frags in code sections for AArch64. PR gas/20364 * config/tc-aarch64.c (s_ltorg): Change the mapping state after aligning the frag. (aarch64_init): Treat rs_align frags in code sections as containing code, not data. * testsuite/gas/aarch64/pr20364.s: New test. * testsuite/gas/aarch64/pr20364.d: New test driver. commit cca8e7e482abd37f1e199d7663d26fe8146fb84f Author: GDB Administrator Date: Fri Aug 5 00:00:22 2016 +0000 Automatic date update in version.in commit 54ddd295b505efe4b07cc1e939d4e150032603d8 Author: Thomas Preud'homme Date: Thu Aug 4 15:54:57 2016 +0100 2016-08-04 Thomas Preud'homme bfd/ * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter. * bfd-in2.h: Regenerate. * elf32-arm.c (struct elf32_arm_link_hash_table): Declare new cmse_implib field. (bfd_elf32_arm_set_target_relocs): Add new parameter to initialize cmse_implib field in struct elf32_arm_link_hash_table. (elf32_arm_filter_cmse_symbols): New function. (elf32_arm_filter_implib_symbols): Likewise. (elf_backend_filter_implib_symbols): Define to elf32_arm_filter_implib_symbols. ld/ * emultempl/armelf.em (cmse_implib): Declare and define this new static variable. (arm_elf_create_output_section_statements): Add new cmse_implib parameter. (OPTION_CMSE_IMPLIB): Define macro. (PARSE_AND_LIST_LONGOPTS): Add entry for new --cmse-implib switch. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_CMSE_IMPLIB case. * ld.texinfo (--cmse-implib): Document new option. * testsuite/ld-arm/arm-elf.exp (Secure gateway import library generation): New test. (Secure gateway import library generation: errors): Likewise. * testsuite/ld-arm/cmse-implib.s: New file. * testsuite/ld-arm/cmse-implib-errors.out: Likewise. * testsuite/ld-arm/cmse-implib.rd: Likewise. commit 4ba2ef8fbe74716708e5ce0bcba4f3b1cc8ac99a Author: Thomas Preud'homme Date: Thu Aug 4 15:36:52 2016 +0100 2016-08-04 Thomas Preud'homme bfd/ * elf32-arm.c (CMSE_PREFIX): Define macro. (elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence. (cmse_branch_thumb_only): Declare stub. (struct elf32_arm_link_hash_table): Define cmse_stub_sec field. (elf32_arm_get_plt_info): Add globals parameter. Use it to return FALSE if there is no PLT. (arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature. (elf32_arm_final_link_relocate): Likewise. (elf32_arm_gc_sweep_hook): Likewise. (elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M secure entry functions. (arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only. (arm_dedicated_stub_output_section_required): Change to a switch case and add a case for arm_stub_cmse_branch_thumb_only. (arm_dedicated_stub_output_section_required_alignment): Likewise. (arm_stub_dedicated_output_section_name): Likewise. (arm_stub_dedicated_input_section_ptr): Likewise and remove ATTRIBUTE_UNUSED for htab parameter. (arm_stub_required_alignment): Likewise. (arm_stub_sym_claimed): Likewise. (arm_dedicated_stub_section_padding): Likewise. (cmse_scan): New function. (elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets. Set stub_changed to TRUE if such veneers were created. (elf32_arm_swap_symbol_in): Add detection code for CMSE special symbols. include/ * arm.h (ARM_GET_SYM_CMSE_SPCL): Define macro. (ARM_SET_SYM_CMSE_SPCL): Likewise. ld/ * ld.texinfo (Placement of SG veneers): New concept entry. * testsuite/ld-arm/arm-elf.exp (Secure gateway veneers: no .gnu.sgstubs section): New test. (Secure gateway veneers: wrong entry functions): Likewise. (Secure gateway veneers (ARMv8-M Baseline)): Likewise. (Secure gateway veneers (ARMv8-M Mainline)): Likewise. * testsuite/ld-arm/cmse-veneers.s: New file. * testsuite/ld-arm/cmse-veneers.d: Likewise. * testsuite/ld-arm/cmse-veneers.rd: Likewise. * testsuite/ld-arm/cmse-veneers.sd: Likewise. * testsuite/ld-arm/cmse-veneers-no-gnu_sgstubs.out: Likewise. * testsuite/ld-arm/cmse-veneers-wrong-entryfct.out: Likewise. commit 024425668d120663a73913352df701c8f0aea316 Author: Stefan Trleman Date: Thu Aug 4 14:57:23 2016 +0100 Fix generation of relocs for 32-bit Sparc Solaris targets. PR gas/20427 * config/tc-sparc.c (cons_fix_new_sparc): Prevent the generation of 64-bit relocation types when assembling for a 32-bit Solaris target. commit 6f67973b4280cfd045e632a3340becd16e43b4b1 Author: Yao Qi Date: Thu Aug 4 11:37:57 2016 +0100 Determine target description for native aarch64 I find the following test fail when I test native aarch64 gdb with arm program, (gdb) PASS: gdb.base/attach-pie-noexec.exp: attach set architecture arm^M warning: Selected architecture arm is not compatible with reported target architecture aarch64^M Architecture `arm' not recognized.^M The target architecture is set automatically (currently aarch64)^M (gdb) FAIL: gdb.base/attach-pie-noexec.exp: set architecture arm GDB thinks the target is aarch64, but it isn't. Nowadays, we are using some entries AT_PHENT and AT_HWCAP in auxv to determine whether the process is a 32-bit arm one or 64-bit aarch64 one, and get the right gdbarch. However, in the process of parsing auxv (in inf_ptrace_auxv_parse), the size of int and data pointer of target_gdbarch is used. If debug program exists (in most of cases), target_gdbarch is already set according to the debug program, which is arm in my case. Then, GDB can parse auxv successfully. However, in gdb.base/attach-pie-noexec.exp, the debug program is removed, target_gdbarch is aarch64 when GDB parse auxv, so GDB can't parse it successfully. Instead of using auxv, we check the return value of ptrace NT_ARM_VFP. If the program is an arm process, NT_ARM_VFP is OK, otherwise, error is returned. Additionally, we only return tdesc_arm_with_neon for arm process, because neon is mandatory on ARMv8. gdb: 2016-08-04 Yao Qi * aarch64-linux-nat.c (tdesc_arm_with_vfpv3): Remove the declaration. (aarch64_linux_read_description): Remove code on getting auxv and select target description on it. Select target description by the result of NT_ARM_VFP ptrace request. commit fcd4a73d7dc3505662b4d58489f4c1b8b003b8f3 Author: Yao Qi Date: Thu Aug 4 10:44:18 2016 +0100 Quiet ptrace error ESRCH in regsets_fetch_inferior_registers When I run process-dies-while-detaching.exp with GDBserver, I see many warnings printed by GDBserver, ptrace(regsets_fetch_inferior_registers) PID=26183: No such process ptrace(regsets_fetch_inferior_registers) PID=26183: No such process ptrace(regsets_fetch_inferior_registers) PID=26184: No such process ptrace(regsets_fetch_inferior_registers) PID=26184: No such process regsets_fetch_inferior_registers is called when GDBserver resumes each lwp. #2 0x0000000000428260 in regsets_fetch_inferior_registers (regsets_info=0x4690d0 , regcache=0x31832020) at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/linux-low.c:5412 #3 0x00000000004070e8 in get_thread_regcache (thread=0x31832940, fetch=fetch@entry=1) at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/regcache.c:58 #4 0x0000000000429c40 in linux_resume_one_lwp_throw (info=, signal=0, step=0, lwp=0x31832830) at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/linux-low.c:4463 #5 linux_resume_one_lwp (lwp=0x31832830, step=, signal=, info=) at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/linux-low.c:4573 The is the case that threads are disappeared when GDB/GDBserver resumes them. We check errno for ESRCH, and don't print error messages, like what we are doing in regsets_store_inferior_registers. gdb/gdbserver: 2016-08-04 Yao Qi * linux-low.c (regsets_fetch_inferior_registers): Check errno is ESRCH or not. commit dabcfa6ef3e6251b1721b59e5ee4e65d74399011 Author: GDB Administrator Date: Thu Aug 4 00:00:19 2016 +0000 Automatic date update in version.in commit 282a0691a725d1f6653840728449adb297c8c856 Author: Tom Tromey Date: Sun Jun 12 20:45:29 2016 -0600 PR python/18565 - make Frame.function work for inline frames PR python/18565 notes that calling frame filters don't work properly for inlined functions. This happens because Frame.function on an inline frame will yield the wrong result. This patch changes this code to use find_frame_funname instead, which handles inline frames properly. Built and regtested on x86-64 Fedora 24. 2016-08-03 Tom Tromey PR python/18565: * python/py-frame.c (frapy_function): Use find_frame_funname. 2016-08-03 Tom Tromey PR python/18565: * gdb.python/py-frame-inline.exp: Add Frame.function test. commit d10153cfc6cb319a75ceb3e3d34ac30efa17e518 Author: Tom Tromey Date: Wed Aug 3 08:27:56 2016 -0600 Avoid potential memory leak in find_frame_funname The PR 18565 thread pointed out that, if cp_remove_params can throw (we aren't quite sure), then find_frame_funname could leak some memory. This patch avoids any potential issue by rearranging some code in find_frame_funname. Built and regtested on x86-64 Fedora 24. 2016-08-03 Tom Tromey * stack.c (find_frame_funname): Avoid any possible leak in case cp_remove_params can throw. commit 8d2a0a14e53945eb260c08752654bd03a240ecf7 Author: Tom Tromey Date: Tue Aug 2 16:52:59 2016 -0600 Update NEWS to mention Python breakpoint events An earlier patch added three new breakpoint-related events to the Python API. However, at that time, I forgot to update NEWS. This patch supplies the missing entry. 2016-08-03 Tom Tromey * NEWS: Mention new Python breakpoint events. commit f72b08723773bf6e5f4dc86777501c744642da15 Author: GDB Administrator Date: Wed Aug 3 00:00:18 2016 +0000 Automatic date update in version.in commit 33541b2e56a653b9260fb1dc2cd7dd73b0c49169 Author: Tom Tromey Date: Tue Aug 2 16:58:37 2016 -0600 Add myself as Rust maintainer A while ago, Pedro announced that I would be the Rust maintainer for gdb. However, I neglected to update the MAINTAINERS file until now. 2016-08-02 Tom Tromey * MAINTAINERS (Core): Add self as Rust maintainer. commit 979659d08478172311764b468bfce4960b38760b Author: Yao Qi Date: Tue Aug 2 16:04:09 2016 +0100 [GDBserver] Remove td_ta_event_addr td_ta_set_event and td_ta_event_getmsg As a result of this commit, 9b4c5f878ff39e04127a1ad95f6b3832afe6d278 (Remove support for thread events without PTRACE_EVENT_CLONE in GDBServer.) the last usage of td_ta_event_addr td_ta_set_event and td_ta_event_getmsg were removed. They are no longer used. This patch is to remove them. gdb/gdbserver: 2016-08-02 Yao Qi * thread-db.c (struct thread_db) : Remove. : Remove. (thread_db_load_search): Update. (try_thread_db_load_1): Don't look for td_ta_event_addr, td_ta_set_event and td_ta_event_getmsg. commit 89d77b8a520602832516ce6628ea930b4f0ccff4 Author: Alan Modra Date: Tue Aug 2 23:28:47 2016 +0930 PowerPC64 ld segfault with code in non-executable sections PR ld/20428 * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group. commit fa3fcee7b8c73070306ec358e730d1dfcac246bf Author: Nick Clifton Date: Tue Aug 2 13:26:28 2016 +0100 Synchronize libiberty sources with FSF GCC mainline version. include * libiberty.h (MAX_ALLOCA_SIZE): New macro. libiberty * make-relative-prefix.c (make_relative_prefix_1): Fall back to malloc if alloca argument is greater than MAX_ALLOCA_SIZE. * cp-demangle.c (cplus_demangle_operators): Add f[lrLR]. (d_expression_1): Handle them. (d_maybe_print_fold_expression): New. (d_print_comp_inner): Use it. (d_index_template_argument): Handle negative index. * cp-demangle.c (cplus_demangle_operators): Add sP and sZ. (d_print_comp_inner): Handle them. (d_template_args_1): Split out from d_template_args. (d_args_length): New. PR c++/70926 * cplus-dem.c: Handle large values and overflow when demangling length variables. (demangle_template_value_parm): Read only until end of mangled string. (do_hpacc_template_literal): Likewise. (do_type): Handle overflow when demangling array indices. * cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length VLAs. PR c++/70498 * cp-demangle.c (d_expression_1): Formatting fix. * cplus-dem.c (enum type_kind_t): Add tk_rvalue_reference constant. (demangle_template_value_parm): Handle tk_rvalue_reference type kind. (do_type): Support 'O' type id (rvalue references). * testsuite/demangle-expected: Add tests. PR c++/70498 * cp-demangle.c: Parse numbers as integer instead of long to avoid overflow after sanity checks. Include if available. (INT_MAX): Define if necessary. (d_make_template_param): Takes integer argument instead of long. (d_make_function_param): Likewise. (d_append_num): Likewise. (d_identifier): Likewise. (d_number): Parse as and return integer. (d_compact_number): Handle overflow. (d_source_name): Change variable type to integer for parsed number. (d_java_resource): Likewise. (d_special_name): Likewise. (d_discriminator): Likewise. (d_unnamed_type): Likewise. * testsuite/demangle-expected: Add regression test cases. * configure: Remove SH5 support. PR c++/69687 * cplus-dem.c: Include if available. (INT_MAX): Define if necessary. (remember_type, remember_Ktype, register_Btype, string_need): Abort if we detect cases where we the size of the allocation would overflow. PR c++/70492 * cplus-dem.c (gnu_special): Handle case where consume_count returns -1. PR c++/67394 PR c++/70481 * cplus-dem.c (squangle_mop_up): Zero bsize/ksize after freeing btypevec/ktypevec. * testsuite/demangle-expected: Add coverage tests. commit a94d834c9d0108f0bb50ddc311554d1bed320f54 Author: Nick Clifton Date: Tue Aug 2 11:56:55 2016 +0100 Fix SH GOT allocation in the presence of linker garbage collection. PR ld/17739 ld * emulparams/shelf.sh (CHECK_RELOCS_AFTER_OPEN_INPUT): Define with valye 'yes'. * emulparams/shelf32.sh: Likewise. * emulparams/shelf32.sh: Likewise. * emulparams/shelf_nto.sh: Likewise. * emulparams/shelf_nto.sh: Likewise. * emulparams/shelf_vxworks.sh: Likewise. * emulparams/shelf_vxworks.sh: Likewise. * emulparams/shlelf32_linux.sh: Likewise. * emulparams/shlelf32_linux.sh: Likewise. * emulparams/shlelf_linux.sh: Likewise. * emulparams/shlelf_linux.sh: Likewise. * emulparams/shlelf_nto.sh: Likewise. * emulparams/shlelf_nto.sh: Likewise. bfd * elf32-sh.c (sh_elf_gc_sweep_hook): Delete. (elf_backend_sweep_hook): Delete. commit 2d5bddc1eb5d2c04ed142c7ba6fc13e2e3a28079 Author: Nick Clifton Date: Tue Aug 2 11:06:28 2016 +0100 Avoid compile time warning when building on 32-bit host. PR binutils/17512 * resbin.c (bin_to_res_version): Cast variables to correct type for printing in error message. commit 80b476c2bf85be6676cc6b55dab232730e124147 Author: GDB Administrator Date: Tue Aug 2 00:00:20 2016 +0000 Automatic date update in version.in commit dfdaec14b0db059497b47b515d753b6383772b6b Author: Andrew Jenner Date: Mon Aug 1 09:42:31 2016 -0700 Fix some PowerPC VLE BFD issues and add some PowerPC VLE instructions. bfd/ * elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations. (ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15. (ppc_elf_vle_split16): Clear field before inserting. opcodes/ * ppc-opc.c (vle_opcodes): Alias 'e_cmpwi' to 'e_cmpi' and 'e_cmplwi' to 'e_cmpli' instead. (OPVUPRT, OPVUPRT_MASK): Define. (powerpc_opcodes): Add E200Z4 insns. (vle_opcodes): Add context save/restore insns. include/ * opcode/ppc.h (PPC_OPCODE_E200Z4): New define. commit 751b375e01e7e85aeccdd965578cb2040836593d Author: Joel Brobecker Date: Mon Aug 1 08:28:26 2016 -0700 Update NEWS post GDB 7.12 branch creation. gdb/ChangeLog: * NEWS: Create a new section for the next release branch. Rename the section of the current branch, now that it has been cut. commit b2bd7787d3e5f87f66761f555d89b8ce5d631a62 Author: Joel Brobecker Date: Mon Aug 1 08:23:20 2016 -0700 Bump version to 7.12.50.DATE-git. Now that the GDB 7.12 branch has been created, we can bump the version number. gdb/ChangeLog: GDB 7.12 branch created (41bfcd638a4e0e48b96ce4de2845372dea481322): * version.in: Bump version to 7.12.50.DATE-git. commit 41bfcd638a4e0e48b96ce4de2845372dea481322 Author: Yao Qi Date: Thu Jul 28 14:37:02 2016 +0100 Swap "single-process" and "multi-process" in process-dies-while-detaching.exp "single-process" and "multi-process" are used in the test message of process-dies-while-detaching.exp, but they are misplaced due to set mode [expr {$multi_process ? "single-process" : "multi-process"}] This patch is to swap them. gdb/testsuite: 2016-08-01 Yao Qi * gdb.threads/process-dies-while-detaching.exp (do_test): Set variable mode to "multi-process" if $multi_process is 1, otherwise set it to "single-process". commit 781bf64d2414f70c51938e15ebce5c88e7172e55 Author: Nick Clifton Date: Mon Aug 1 09:59:04 2016 +0100 Update Swedish translation in bfd directory. commit e3465b24a22bd1f783313e680aa76bac83c8aaf5 Author: Yao Qi Date: Mon Aug 1 09:18:02 2016 +0100 Tweak gdb.cp tests for aarch32 There are some gdb.cp/ tests fails if the program is compiled for arm 32-bit but GDB/GDBserver is aarch64 64-bit program, because target triplet doesn't match "arm*-*-*". Instead, we can use is_aarch32_target. gdb/testsuite: 2016-08-01 Yao Qi * gdb.cp/anon-struct.exp: Check is_aarch32_target. * gdb.cp/cpexprs.exp: Likewise. * gdb.cp/m-static.exp: Likewise. commit 5e3d6ca4de0d34b32179db62a27efbd2ae420cf9 Author: GDB Administrator Date: Mon Aug 1 00:00:20 2016 +0000 Automatic date update in version.in commit a161b769b0a80b1d183f2b927bf7ae41b0c66d18 Author: GDB Administrator Date: Sun Jul 31 00:00:20 2016 +0000 Automatic date update in version.in commit 3e684cf25ae7cd8a1d118647c5b02f43d094298e Author: GDB Administrator Date: Sat Jul 30 00:00:19 2016 +0000 Automatic date update in version.in commit c88960d081f0b37ec03c66a13115e2a68e40d1ad Author: Jose E. Marchesi Date: Wed Jul 27 06:59:16 2016 -0700 gas: avoid spurious failures in non-ELF targets in the SPARC testsuite. Many of the existing sparc tests fail in non-ELF targets (coff and a.out) due to spurious differences in the expected results: - Unlike ELF, a.out text sections are aligned to 2**3 and padded accordingly. The padding instruction is a `nop' (01 00 00 00). - Likewise, coff text sections are also aligned to 2**3 and padded accordingly. However, the padding instruction in these targets is an `illtrap 0' (00 00 00 00). - Unlike ELF, a.out and coff binaries don't contain hardware capabilities bits that could be used by BFD to determine the opcodes architecture corresponding to the instructions encoded in the objects (v9, v9a, v9b, v9c, etc). Consequently, in both a.out and coff tests we would need to pass proper `-m sparc:vXXX' options when invoking objdump before comparing results. In order to fix these issues, the most obvious solution would be to have three variants of .d files per impacted test. For example, for save.d we would have: save-elf.d, save-aout.d and save-coff.d. Using the `#source' directive, a single save.s file would provide the input for all of them. However, this approach has the following problems: - The #target and #notarget .d directives are very limited: they use globs instead of regular expressions, and thus it is not possible (or too messy) to use them to discriminate between elf, coff and a.out sparc targets. - It adds little or no value to have variants of all these tests for all the target types, and it would be a burden to maintain them. Actually the features tested in the spuriously failing tests (relatively modern sparc instructions, registers and asis) are not really found in running coff or a.out sparc systems. This patch changes sparc.exp so it will run these tests only in ELF-targets, using the more standard `is_elf_format' from binutils-common.exp instead of the ad-hoc (and less convenient, as it must be called before _every_ single elf-only test) sparc_elf_setup. Incidentally, the patch also fixes the #name entry for save-args.d. Tested in sparc*-*-linux-gnu, sparc-aout and sparc-coff targets. gas/ChangeLog: 2016-07-27 Jose E. Marchesi * testsuite/gas/sparc/sparc.exp: Use is_elf_format to discriminate ELF targets. Run natural, natural-32, pr4587, ticc-imm-reg, v8-movwr-imm, pause, save-args, cbcond, cfr, crypto edge, flush, hpcvis3, ima, ld_st_fsr, ldtw_sttw, ldd_std, ldx_stx, ldx_efsr, mwait, mcdper, sparc5vis4, xcrypto, v9branch1 and imm-plus-rreg only in ELF targets. (sparc_elf_setup): Delete. * testsuite/gas/sparc/save-args.d: Fix a copy-paste typo in the test's #name entry. commit 76539d80f708c535133c4a2a1eef61da305a3e80 Author: GDB Administrator Date: Fri Jul 29 00:00:19 2016 +0000 Automatic date update in version.in commit 4931146e91c3c8208f1e0b8462b8f33e70da506a Author: Nick Clifton Date: Thu Jul 28 15:37:16 2016 +0100 Fix decoding of Windows resources. PR binutils/17512 * rescoff.c (read_coff_res_dir): Fix detection of buffer overrun. * resbin.c (bin_to_res_version): Allow for the padded length of a version block to be longer than the recorded length. Skip padding bytes. commit ff20cab8a222c43de501a340016e11cae6a272a7 Author: GDB Administrator Date: Thu Jul 28 00:00:30 2016 +0000 Automatic date update in version.in commit 7bd374a44d1db21b54a9a52ecde1d064cdaa8cd1 Author: Maciej W. Rozycki Date: Wed Jul 27 17:27:55 2016 +0100 MIPS/GAS: Implement microMIPS branch/jump compaction Convert microMIPS branches and jumps whose delay slot would be filled by a generated NOP instruction to the corresponding compact form where one exists, in a manner similar to MIPS16 JR->JRC and JALR->JALRC swap. Do so even where the transformation switches from a 16-bit to a 32-bit branch encoding for no benefit in code size reduction, as this is still advantageous. This is because a branch/NOP pair takes 2 pipeline slots or a 2-cycle completion latency except in superscalar implementations. Whereas a compact branch may or may not stall on its target fetch, so it will at most have a 2-cycle completion latency and may have only 1 even in scalar implementations, and in superscalar implementations it is expected to have no worse latency as a branch/NOP pair has. Also it won't stall and therefore take the extra latency cycle in the not-taken case. Technically this is the same as MIPS16 compaction: for the qualifying instruction encodings the APPEND_ADD_COMPACT machine code generation method is selected where APPEND_ADD_WITH_NOP otherwise would and tells the code generator in `append_insn' to convert the regular form of an instruction to its corresponding compact form. For this the opcode is tweaked as necessary and the microMIPS opcode table is scanned for the matching updated instruction. A non-$0 `rt' operand to BEQ and BNE instructions is moved to the `rs' operand field of BEQZC and BNEZC encodings as required. Unlike with MIPS16 compaction however we need to handle out-of-distance branch relaxation as well. We do this by deferring the generation of any delay-slot NOP required to relaxation made in `md_convert_frag', by converting the APPEND_ADD_WITH_NOP machine code generation to APPEND_ADD where a relaxed instruction is recorded. Relaxation then, depending on actual code produced, chooses between either using a compact branch or jump encoding and emitting the NOP outstanding if no compact encoding is possible. For code simplicity's sake the relaxation pass is retained even if the principle of preferring a compact encoding to a 16-bit branch/NOP pair means, in the absence of out-of-range branch relaxation, that a single compact branch machine code instruction will eventually be produced from a given assembly source instruction. gas/ * config/tc-mips.c (RELAX_MICROMIPS_ENCODE): Add `nods' flag. (RELAX_MICROMIPS_RELAX32, RELAX_MICROMIPS_TOOFAR16) (RELAX_MICROMIPS_MARK_TOOFAR16, RELAX_MICROMIPS_CLEAR_TOOFAR16) (RELAX_MICROMIPS_TOOFAR32, RELAX_MICROMIPS_MARK_TOOFAR32) (RELAX_MICROMIPS_CLEAR_TOOFAR32): Shift bits. (get_append_method): Also return APPEND_ADD_COMPACT for microMIPS instructions. (find_altered_mips16_opcode): Exclude macros from matching. Factor code out... (find_altered_opcode): ... to this new function. (find_altered_micromips_opcode): New function. (frag_branch_delay_slot_size): Likewise. (append_insn): Handle microMIPS branch/jump compaction. (macro_start): Likewise. (relaxed_micromips_32bit_branch_length): Likewise. (md_convert_frag): Likewise. * testsuite/gas/mips/micromips.s: Add conditional explicit NOPs for delay slot filling. * testsuite/gas/mips/micromips-b16.s: Add explicit NOPs for delay slot filling. * testsuite/gas/mips/micromips-size-1.s: Likewise. * testsuite/gas/mips/micromips.l: Adjust line numbers. * testsuite/gas/mips/micromips-warn.l: Likewise. * testsuite/gas/mips/micromips-size-1.l: Likewise. * testsuite/gas/mips/micromips.d: Adjust padding. * testsuite/gas/mips/micromips-trap.d: Likewise. * testsuite/gas/mips/micromips-insn32.d: Likewise. * testsuite/gas/mips/micromips-noinsn32.d: Likewise. * testsuite/gas/mips/micromips@beq.d: Update patterns for branch/jump compaction. * testsuite/gas/mips/micromips@bge.d: Likewise. * testsuite/gas/mips/micromips@bgeu.d: Likewise. * testsuite/gas/mips/micromips@blt.d: Likewise. * testsuite/gas/mips/micromips@bltu.d: Likewise. * testsuite/gas/mips/micromips@branch-misc-4.d: Likewise. * testsuite/gas/mips/micromips@branch-misc-4-64.d: Likewise. * testsuite/gas/mips/micromips@branch-misc-5.d: Likewise. * testsuite/gas/mips/micromips@branch-misc-5pic.d: Likewise. * testsuite/gas/mips/micromips@branch-misc-5-64.d: Likewise. * testsuite/gas/mips/micromips@branch-misc-5pic-64.d: Likewise. * testsuite/gas/mips/micromips@jal-svr4pic-local.d: Likewise. * testsuite/gas/mips/micromips@jal-svr4pic-local-n32.d: Likewise. * testsuite/gas/mips/micromips@jal-svr4pic-local-n64.d: Likewise. * testsuite/gas/mips/micromips@loc-swap.d: Likewise. * testsuite/gas/mips/micromips@loc-swap-dis.d: Likewise. * testsuite/gas/mips/micromips@relax.d: Likewise. * testsuite/gas/mips/micromips@relax-at.d: Likewise. * testsuite/gas/mips/micromips@relax-swap3.d: Likewise. * testsuite/gas/mips/branch-extern-2.d: Likewise. * testsuite/gas/mips/branch-extern-4.d: Likewise. * testsuite/gas/mips/branch-section-2.d: Likewise. * testsuite/gas/mips/branch-section-4.d: Likewise. * testsuite/gas/mips/branch-weak-2.d: Likewise. * testsuite/gas/mips/branch-weak-5.d: Likewise. * testsuite/gas/mips/micromips-branch-absolute.d: Likewise. * testsuite/gas/mips/micromips-branch-absolute-n32.d: Likewise. * testsuite/gas/mips/micromips-branch-absolute-n64.d: Likewise. * testsuite/gas/mips/micromips-branch-absolute-addend.d: Likewise. * testsuite/gas/mips/micromips-branch-absolute-addend-n32.d: Likewise. * testsuite/gas/mips/micromips-branch-absolute-addend-n64.d: Likewise. * testsuite/gas/mips/micromips-compact.d: New test. * testsuite/gas/mips/mips.exp: Run the new test. ld/ * testsuite/ld-mips-elf/micromips-branch-absolute.d: Update patterns for branch compaction. * testsuite/ld-mips-elf/micromips-branch-absolute-addend.d: Likewise. opcodes/ * micromips-opc.c (micromips_opcodes): Reorder "bc" next to "b", "beqzc" next to "beq", "bnezc" next to "bne" and "jrc" next to "j". commit db18dbabad8e7b63e98d47813ef20acac7072350 Author: Graham Markall Date: Wed Jul 27 15:57:18 2016 +0100 Begin implementing ARC NPS-400 Accelerator instructions opcodes * arc-nps400-tbl.h: Change block comments to GNU format. * arc-dis.c: Add new globals addrtypenames, addrtypenames_max, and addtypeunknown. (get_addrtype): New function. (print_insn_arc): Print colons and address types when required. * arc-opc.c: Add MAKE_INSERT_NPS_ADDRTYPE macro and use to define insert and extract functions for all address types. (arc_operands): Add operands for colon and all address types. * arc-nps-400-tbl.h: Add NPS-400 BMU instructions to opcode table. * arc-opc.c: Add NPS_BD_TYPE and NPS_BMU_NUM operands, insert_nps_bd_num_buff and extract_nps_bd_num_buff functions. * arc-nps-400-tbl.h: Add NPS-400 PMU instructions to opcode table. * arc-opc.c: Add NPS_PMU_NXT_DST and NPS_PMU_NUM_JOB operands, insert_nps_pmu_num_job and extract_nps_pmu_num_job functions. include * opcode/arc.h: Add ARC_OPERAND_ADDRTYPE, ARC_OPERAND_COLON. Add the arc_nps_address_type enum and ARC_NUM_ADDRTYPES. * opcode/arc.h: Add BMU to insn_class_t enum. * opcode/arc.h: Add PMU to insn_class_t enum. gas * config/tc-arc.c: Add new global arc_addrtype_hash. Define O_colon and O_addrtype. (debug_exp): Add O_colon and O_addrtype. (tokenize_arguments): Handle colon and address type tokens. (declare_addrtype): New function. (md_begin): Initialise arc_addrtype_hash. (arc_parse_name): Add lookup of address types. (assemble_insn): Handle colons and address types by ignoring them. * testsuite/gas/arc/nps400-8.s: New file. * testsuite/gas/arc/nps400-8.d: New file. * testsuite/gas/arc/nps400-8.s: Add PMU instruction tests. * testsuite/gas/arc/nps400-8.d: Add expected PMU instruction output. commit 61d2d2b5492d892d804861225b45396fdaa0b404 Author: Nick Clifton Date: Wed Jul 27 12:01:09 2016 +0100 Restrict linker garbage collection personality test to cfi enabled targets. * testsuite/ld-gc/personality.d: Use "target cfi" to restrict the test to targets which support cfi. commit 147d994bcdd36a177e49e7b6ac8d9c1f7b4cdcf5 Author: Nick Clifton Date: Wed Jul 27 10:49:32 2016 +0100 Fix seg-fault when running garbage collection on coff binaries. PR ld/20401 * coffgen.c (fini_reloc_cookie_rels): Check for the extistence of the coff_section_data before using it. commit 7fca8e8ff70e53aeb5459cbe1438d168d5624958 Author: Igor Kudrin Date: Wed Jul 27 19:01:34 2016 +0930 Fix warning in ldbuildid.c mingw32 code * ldbuildid.c (generate_build_id): Warning fix. commit 23fcf59aebe1323d7a8584c00699d688d1273828 Author: Alan Modra Date: Wed Jul 27 16:25:29 2016 +0930 Fix aarch64_relocs.sh file mode commit b6e11d01e075b79cdc70261a83bd3b840fb80c5d Author: GDB Administrator Date: Wed Jul 27 00:00:21 2016 +0000 Automatic date update in version.in commit 293acfae4e3c9aad417e262edc9847c79bbbbb11 Author: Alan Modra Date: Wed Jul 27 09:00:03 2016 +0930 Wean gdb and sim off private libbfd.h header The major reason this header was needed, bfd_default_set_arch_mach, has now moved to bfd.h. gdb/ * amd64-darwin-tdep.c: Don't include libbfd.h. * i386-darwin-tdep.c: Likewise. * rs6000-nat.c: Likewise. * rs6000-tdep.c: Likewise. sim/aarch64/ * memory.c: Don't include libbfd.h. sim/rl78/ * load.c: Don't include libbfd.h. (rl78_load): Don't use private iovec seek or read. sim/rx/ * load.c: Don't include libbfd.h. (rx_load): Don't use private iovec seek or read. commit 6598661d14c90cabac1daa5e683d1e17883b2e41 Author: Pedro Alves Date: Tue Jul 26 22:21:27 2016 +0100 Fix PR server/20414 - x32 gdbserver always crashes inferior Debugging an x32 process with an x32 gdbserver always results in: (gdb) c Continuing. Program received signal SIGSEGV, Segmentation fault. 0xf7de9600 in _dl_debug_state () from target:/libx32/ld-linux-x32.so.2 (gdb) Looking at the remote debug logs reveals the problem, here: Packet received: T05swbreak:;06:a0d4ffff00000000;07:b8d3ffff00000000;10:0096def701000000;thread:p7d7a.7d7a;core:1; ^^^^^^^^^^^^^^^^ The underlined value is the expedited value of RIP (in little endian). But notice that 01 in 0x01f7de9600, while gdb says the program stopped at 0xf7de9600. 0x01ffffffff is over 32 bits, which indicates that something wen't wrong somewhere in gdbserver. The problem turns out to be in gdbserver's x86_get_pc / x86_set_pc routines, where "unsigned long" is used assuming that it can fit a 64-bit value, while unsigned long is actually 32-bit on x32. The result is that collect_register_by_name / supply_register_by_name end up reading/writing random bytes off the stack. Fix this by using explicit uint64_t instead of unsigned long. For consistency, use uint32_t instead of unsigned int in the 32-bit paths. gdb/gdbserver/ChangeLog: 2016-07-26 Pedro Alves PR server/20414 * linux-x86-low.c (x86_get_pc, x86_set_pc): Use uint64_t instead of unsigned long for 64-bit registers and use uint32_t instead of unsigned int for 32-bit registers. commit 0b31a4bcec2efec9bc8ca40deb61123c52690a2e Author: Tom Tromey Date: Fri Jun 3 14:11:08 2016 -0600 PR python/20190 - compute TLS symbol without a frame PR python/20190 arose from an exception I noticed when trying to use the Python unwinder for Spider Monkey in Firefox. The problem is that the unwinder wants to examine the value of a thread-local variable. However, sympy_value rejects this because symbol_read_needs_frame returns true for a TLS variable. This problem arose once before, though in a different context: https://sourceware.org/bugzilla/show_bug.cgi?id=11803 At the time Pedro and Daniel pointed out a simpler way to fix that bug (see links in 20190 if you are interested); but for this new bug I couldn't think of a similar fix and ended up implementing Daniel's other suggestion: https://sourceware.org/ml/gdb-patches/2010-07/msg00393.html That is, this patch makes it possible to detect whether a symbol needs a specific frame, or whether it just needs the inferior to have registers. Built and regtested on x86-64 Fedora 24. 2016-07-26 Tom Tromey * symtab.c (register_symbol_computed_impl): Update. PR python/20190: * value.h (symbol_read_needs): Declare. (symbol_read_needs_frame): Add comment. * symtab.h (struct symbol_computed_ops) : Update comment. : Rename. Change return type. * findvar.c (symbol_read_needs): New function. (symbol_read_needs_frame): Rewrite. (default_read_var_value): Use symbol_read_needs. * dwarf2loc.c (struct symbol_needs_baton): Rename. : Renamed from needs_frame. Changed type. (needs_frame_read_addr_from_reg, symbol_needs_get_reg_value) (symbol_needs_read_mem, symbol_needs_frame_base) (symbol_needs_frame_cfa, symbol_needs_tls_address) (symbol_needs_dwarf_call): Rename. (needs_dwarf_reg_entry_value): Update. (symbol_needs_ctx_funcs, dwarf2_loc_desc_get_symbol_read_needs): Rename and update. (locexpr_get_symbol_read_needs, loclist_symbol_needs): Likewise. (dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Update. * defs.h (enum symbol_needs_kind): New. 2016-07-26 Tom Tromey PR python/20190: * gdb.threads/tls.exp (check_thread_local): Add python symbol test. commit 8484fb75874eb9ef35710ac6579433f062ddba18 Author: Maciej W. Rozycki Date: Tue Jul 26 17:50:55 2016 +0100 MIPS/GAS: Respect the `insn32' mode in branch relaxation Complement: commit 833794fc12d98139fc33f6b0b85feb03471007b7 Author: Maciej W. Rozycki Date: Tue Jun 25 18:02:34 2013 +0000 , ("microMIPS insn32 mode support"), and fix an issue with microMIPS branch relaxation producing 16-bit instructions in the `insn32' mode. Use equivalent 32-bit instruction sequences. gas/ * config/tc-mips.c (RELAX_MICROMIPS_ENCODE): Add `insn32' flag. (RELAX_MICROMIPS_INSN32): New macro. (RELAX_MICROMIPS_UNCOND, RELAX_MICROMIPS_COMPACT) (RELAX_MICROMIPS_LINK, RELAX_MICROMIPS_RELAX32) (RELAX_MICROMIPS_TOOFAR16, RELAX_MICROMIPS_MARK_TOOFAR16) (RELAX_MICROMIPS_CLEAR_TOOFAR16, RELAX_MICROMIPS_TOOFAR32) (RELAX_MICROMIPS_MARK_TOOFAR32, RELAX_MICROMIPS_CLEAR_TOOFAR32): Shift bits. (append_insn): Record `mips_opts.insn32' with relaxed microMIPS branches. (relaxed_micromips_32bit_branch_length): Handle the `insn32' mode. (md_convert_frag): Likewise. * testsuite/gas/mips/micromips-branch-relax.s: Add `insn32' conditionals. * testsuite/gas/mips/micromips-branch-relax.l: Update line numbers accordingly. * testsuite/gas/mips/micromips-branch-relax-pic.l: Likewise. * testsuite/gas/mips/micromips-branch-relax-insn32.d: New test. * testsuite/gas/mips/micromips-branch-relax-insn32-pic.d: New test. * testsuite/gas/mips/micromips-branch-relax-insn32.l: New stderr output. * testsuite/gas/mips/micromips-branch-relax-insn32-pic.l: New stderr output. * testsuite/gas/mips/mips.exp: Run the new tests. commit 54806ffa85643c3a1ee721d5c3f5586d32f86ee1 Author: Maciej W. Rozycki Date: Tue Jul 26 17:45:00 2016 +0100 MIPS/BFD: Handle branches in PLT compression selection Complement: commit 1bbce132647e6d72aaa065cce5c1d5dd6585c2b2 Author: Maciej W. Rozycki Date: Mon Jun 24 23:55:46 2013 +0000 , ("MIPS: Compressed PLT/stubs support"), and also choose between regular and compressed PLT entries as appropriate for any branches referring. bfd/ * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches in PLT compression selection. (_bfd_mips_elf_check_relocs): Likewise. ld/ * testsuite/ld-mips-elf/compressed-plt-1.s: Add branch support. * testsuite/ld-mips-elf/compressed-plt-1a.s: Likewise. * testsuite/ld-mips-elf/compressed-plt-1b.s: Likewise. * testsuite/ld-mips-elf/compressed-plt-1-o32-branch.od: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-branch.rd: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-bronly.od: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-bronly.rd: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-branch.od: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-branch.rd: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-umips-bronly.od: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-umips-bronly.rd: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-umips-branch.od: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-umips-branch.rd: New test. * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests. commit 40c31709c6a51926fcb409611caa52b2da6515c0 Author: Pedro Alves Date: Tue Jul 26 19:35:40 2016 +0100 Fix PR gdb/20413 - x32: linux_ptrace_test_ret_to_nx: Cannot PTRACE_PEEKUSER An x32 gdb always issues this warning: (gdb) start Temporary breakpoint 1 at 0x4043e9: file foo.c, line 25. Starting program: a.out warning: linux_ptrace_test_ret_to_nx: Cannot PTRACE_PEEKUSER: Input/output error Temporary breakpoint 1, main (argc=1, argv=0xffffd544) at foo.c:25 25 { (gdb) As described in Linux commit 55283e253771 (x32: Add ptrace for x32): [...] PTRACE_PEEKUSR and PTRACE_POKEUSR are only allowed to access segment and debug registers. [...] The fix is to use PTRACE_GETREGS instead. gdb/ChangeLog: 2016-07-26 Pedro Alves * nat/linux-ptrace.c: Include "gregset.h". (linux_ptrace_test_ret_to_nx): Use PTRACE_GETREGS instead of PTRACE_PEEKUSER. commit 9cf12d57c58a82cfe3e6fee26d1ea55dfe49f9c4 Author: Pedro Alves Date: Tue Jul 26 19:35:40 2016 +0100 Fix PR gdb/20287 - x32 and "gdb_static_assert (sizeof (nat_siginfo_t) == sizeof (siginfo_t))" Building an x32 gdb trips on a static assertion: In file included from .../src/gdb/common/common-defs.h:71:0, from .../src/gdb/nat/amd64-linux-siginfo.c:21: .../src/gdb/common/gdb_assert.h:26:66: error: size of array ‘never_defined_just_used_for_checking’ is negative extern int never_defined_just_used_for_checking[(expr) ? 1 : -1] ^ .../src/gdb/nat/amd64-linux-siginfo.c:113:1: note: in expansion of macro ‘gdb_static_assert’ gdb_static_assert (sizeof (nat_siginfo_t) == sizeof (siginfo_t)); ^ The problem is that the way nat_siginfo_t is defined, it can only match the host's siginfo_t object when gdb is built as a 64-bit program. Several bits of nat_siginfo_t are off: - nat_siginfo_t's _pad field's definition is: int _pad[((128 / sizeof (int)) - 4)]; while /usr/include/bits/siginfo.h has: # define __SI_MAX_SIZE 128 # if __WORDSIZE == 64 # define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 4) # else # define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 3) # endif and __WORDSIZE == 32 for x32. This is what causes the size of nat_siginfo_t to be wrong and the assertion to fail. - the nat_clock_t type is incorrect for 64-bit. We have this: /* For native 64-bit, clock_t in _sigchld is 64bit aligned at 4 bytes. */ typedef long __attribute__ ((__aligned__ (4))) nat_clock_t; however, /usr/include/bits/siginfo.h has: # if defined __x86_64__ && __WORDSIZE == 32 /* si_utime and si_stime must be 4 byte aligned for x32 to match the kernel. We align siginfo_t to 8 bytes so that si_utime and si_stime are actually aligned to 8 bytes since their offsets are multiple of 8 bytes. */ typedef __clock_t __attribute__ ((__aligned__ (4))) __sigchld_clock_t; # define __SI_ALIGNMENT __attribute__ ((__aligned__ (8))) # else typedef __clock_t __sigchld_clock_t; # define __SI_ALIGNMENT # endif So we're currently forcing 4-byte alignment on clock_t, when it should only be so for x32, not 64-bit. The fix: - Leaves nat_siginfo_t strictly for the 64-bit ABI. - Adds a new typedef for the siginfo type that ptrace uses (ptrace_siginfo_t). An x32 gdb always gets/sets an x32 siginfo_t type with PTRACE_GETSIGINFO/PTRACE_SETSIGINFO. - Uses this new ptrace_siginfo_t type instead of nat_siginfo_t as the intermediate conversion type. gdb/ChangeLog: 2016-07-26 Pedro Alves * amd64-linux-nat.c (amd64_linux_siginfo_fixup): Rename 'native' parameter to 'ptrace'. * nat/amd64-linux-siginfo.c (GDB_SI_SIZE): New define. (nat_uptr_t): New an unsigned long. (nat_clock_t): Remove attribute __aligned__. (struct nat_timeval): Delete. (nat_siginfo_t): Remove attribute __aligned__. (ptrace_siginfo_t): Define. (compat_siginfo_from_siginfo, siginfo_from_compat_siginfo) (compat_x32_siginfo_from_siginfo) (siginfo_from_compat_x32_siginfo): Make 'from' parameter const. Convert through a ptrace_siginfo_t instead of a nat_siginfo_t. Remove casts. (amd64_linux_siginfo_fixup_common): Rename 'native' parameter to 'ptrace'. Remove static assertions. (top level): New static assertions. gdb/gdbserver/ChangeLog: 2016-07-26 Pedro Alves * linux-x86-low.c (x86_siginfo_fixup): Rename 'native' parameter to 'ptrace'. commit d0d4152fa5c87532bf05007def680b5a536e1827 Author: Igor Kudrin Date: Tue Jul 26 17:01:06 2016 +0100 Add support for creating uuid based build-id's in a MinGW32 environment. ld * ldbuildid.c: Changes for MinGW32: Include windows.h and rpcdce.h. (validate_build_id_style): Allow "uuid" style. (generate_build_id): Fill in id_bits using UuidCreate(). commit 8769bc4bab847cefc2bb5682a0a0dad579528ac8 Author: Han Shen Date: Tue Jul 26 08:49:12 2016 -0700 [Gold, aarch64] Implement some AArch64 relocs. This CL implemented the following relocs for AArch64 target. - R_AARCH64_MOVW_UABS_G* - R_AARCH64_MOVW_SABS_G* relocations gold/ChangeLog 2016-07-26 Igor Kudrin * aarch64-reloc-property.cc (Rvalue_bit_select_impl): New class. (rvalue_bit_select): Use Rvalue_bit_select_impl. * aarch64-reloc.def (MOVW_UABS_G0, MOVW_UABS_G0_NC, MOVW_UABS_G1, MOVW_UABS_G1_NC, MOVW_UABS_G2, MOVW_UABS_G2_NC, MOVW_UABS_G3, MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2): New relocations. * aarch64.cc (Target_aarch64::Scan::local): Add cases for new MOVW_UABS_* and MOVW_SABS_* relocations. (Target_aarch64::Scan::global): Likewise. (Target_aarch64::Relocate::relocate): Add cases and handlings for new MOVW_UABS_* and MOVW_SABS_* relocations. * testsuite/Makefile.am (aarch64_relocs): New test. * testsuite/Makefile.in: Regenerate. * testsuite/aarch64_globals.s: New test source file. * testsuite/aarch64_relocs.s: Likewise. * testsuite/aarch64_relocs.sh: New test script. commit e0461dbb653dbb3c46ea7a15054fd2c98f879f31 Author: Markus Metzger Date: Fri Jul 22 13:41:45 2016 +0200 btrace, testsuite: fix assembly source file selection Some btrace tests use assembly source files. They use the target triplet to distinguish between x86_64 and ia32 ISA. This does not work for -m32 tests without setting the target triplet to i686-?-?. Instead use is_amd64_regs_target to distinguish between x86_64 and ia32 ISA. See also https://sourceware.org/ml/gdb-patches/2016-07/msg00256.html. testsuite/ * gdb.btrace/record_goto.exp: Use is_amd64_regs_target for selecting assembly source files. * gdb.btrace/stepi.exp: Use is_amd64_regs_target for selecting assembly source files. * gdb.btrace/tailcall.exp: Use is_amd64_regs_target for selecting assembly source files. * gdb.btrace/tailcall-only.exp: Use is_amd64_regs_target for selecting assembly source files. commit 698f8cbbbb6a47c29967188d9fdf8486920af8b7 Author: GDB Administrator Date: Tue Jul 26 00:00:22 2016 +0000 Automatic date update in version.in commit 8194e927cc66e8cceb9890240ad75363b3ca6d53 Author: Simon Marchi Date: Mon Jul 25 11:01:54 2016 -0400 Handle correctly passing a bad interpreter name to new-ui When a bad interpreter name is passed to new-ui, such as: (gdb) new-ui bloop /dev/pts/10 A partially created UI is left in the UI list, with interp set to NULL. Trying to do anything that will print on this UI (such as "start") will cause a segmentation fault. Changes in v2: - Use with_test_prefix to namespace test procedures - Give an explicit stable test name - Add a "bad terminal path" test - Remove useless runto_main - Add missing intro comments I did not factor out the pty spawn, as there is some magic involved I don't quite understand. But it wouldn't bring that much anyway. gdb/ChangeLog: * top.h (make_delete_ui_cleanup): New declaration. * top.c (delete_ui_cleanup): New function. (make_delete_ui_cleanup): New function. (new_ui_command): Create restore_ui cleanup earlier, create a delete_ui cleanup and discard it on success. gdb/testsuite/ChangeLog: * gdb.base/new-ui.exp (do_test_invalid_args): New procedure. commit 0e1a6a5169023ee0c19de2c9160b469e43634b21 Author: Pedro Alves Date: Mon Jul 25 12:42:18 2016 +0100 linux-procfs: Handle lowercase "t (tracing stop)" state Since Linux 2.6.33, /proc/PID/status shows "t (tracing stop)", with lowercase 't'. Because GDB is only expecting "T (tracing stop)", GDB can incorrectly suppress errors in check_ptrace_stopped_lwp_gone: 1578 if (!check_ptrace_stopped_lwp_gone (lp)) 1579 throw_exception (ex); Ref: https://sourceware.org/ml/gdb-patches/2016-06/msg00072.html 2016-07-25 Pedro Alves Jan Kratochvil * nat/linux-procfs.c (parse_proc_status_state): Handle lowercase 't'. commit d617208bb06bd461b52ce041d89f7127e3044762 Author: Pedro Alves Date: Mon Jul 25 12:42:17 2016 +0100 linux-procfs: Introduce enum proc_state Parse the process's /proc/PID/status state into an enum instead of the current scheme of passing state strings around. gdb/ChangeLog: 2016-07-25 Pedro Alves * nat/linux-procfs.c (enum proc_state): New enum. (parse_proc_status_state): New function. (linux_proc_pid_get_state): Replace output string buffer parameter with an output proc_state parameter. Use parse_proc_status_state. (linux_proc_pid_is_gone): Adjust to use proc_state values. (linux_proc_pid_has_state): Change type of 'state' parameter; now an enum proc_state. Adjust to linux_proc_pid_get_state interface change. (linux_proc_pid_is_stopped) (linux_proc_pid_is_trace_stopped_nowarn) (linux_proc_pid_is_zombie_maybe_warn): Adjust to linux_proc_pid_get_state interface change. commit 3a1518e4f3c467cfee2786b0af3388529f14d23b Author: Tim Wiederhake Date: Mon Jul 25 11:12:01 2016 +0200 Add myself as a write-after-approval GDB maintainer. commit c0272db5854a799a9f3bb3803c3d03d1a62b9ac2 Author: Tim Wiederhake Date: Mon Jul 25 10:57:06 2016 +0200 btrace: Resume recording after disconnect. This patch allows gdbserver to continue recording after disconnect. On reconnect, the recorded data is accessible to gdb as if no disconnect happened. A possible application for this feature is remotely examine bugs that occur at irregular intervals, where maintaining a gdb connection is inconvenient. This also fixes the issue mentioned here: https://sourceware.org/ml/gdb-patches/2015-11/msg00424.html Signed-off-by: Tim Wiederhake gdb/ChangeLog: * NEWS: Resume btrace on reconnect. * record-btrace.c: Added record-btrace.h include. (record_btrace_open): Split into this and ... (record_btrace_push_target): ... this. (record_btrace_disconnect): New function. (init_record_btrace_ops): Use record_btrace_disconnect. * record-btrace.h: New file. * remote.c: Added record-btrace.h include. (remote_start_remote): Check recording status. (remote_btrace_maybe_reopen): New function. gdb/doc/ChangeLog: * gdb.texinfo: Resume btrace on reconnect. gdb/testsuite/ChangeLog: * gdb.btrace/reconnect.c: New file. * gdb.btrace/reconnect.exp: New file. Change-Id: I95e8b0ab8a89e58591aba0e63818cee82fd211bc commit 95804507f2645c1cce29f2e1a33031accaa6aa24 Author: Alan Modra Date: Mon Jul 25 15:19:20 2016 +0930 Revise targets able to run ELF 64k section test * testsuite/ld-elf/sec64k.exp: Run test for arc, msp430, or1k and m32r. Correct comment. Relax ld -r match to account for msp increased number of default sections. commit a173d7f80df1bb1edeb627bbfbe613e27cdc584c Author: GDB Administrator Date: Mon Jul 25 00:00:19 2016 +0000 Automatic date update in version.in commit 074e493dbdfcbd36819593f5797370585edf0118 Author: GDB Administrator Date: Sun Jul 24 00:00:22 2016 +0000 Automatic date update in version.in commit e34879080d8935792ef3942efa5f25b4c3169b5a Author: Gabriel Krisman Bertazi Date: Sat Jul 23 18:38:24 2016 -0300 Implement catch syscall group Implement support to add catchpoints for a group of related syscalls using the syntax: (gdb) catch syscall group: or (gdb) catch syscall g: Several groups are predefined in the xml files for all architectures supported by GDB over Linux. They are based on the groups defined by strace. gdb/ * xml-syscall.c (get_syscalls_by_group): New. (get_syscall_group_names): New. (struct syscall_group_desc): New structure to store group data. (struct syscalls_info): Include field to store the group list. (sysinfo_free_syscall_group_desc): New. (free_syscalls_info): Free group list. (syscall_group_create_syscall_group_desc): New. (syscall_group_add_syscall): New. (syscall_create_syscall_desc): Add syscall to its groups. (syscall_start_syscall): Load group attribute. (syscall_group_get_group_by_name): New. (xml_list_syscalls_by_group): New. (xml_list_of_groups): New. * xml-syscall.h (get_syscalls_by_group): Export function to retrieve a list of syscalls filtered by the group name. (get_syscall_group_names): Export function to retrieve the list of syscall groups. * break-catch-syscall.c (catch_syscall_split_args): Verify if argument is a syscall group and expand it to a list of syscalls when creating catchpoints. (catch_syscall_completer): Add word completion for system call groups. * configure.ac: Include dependency for xsltproc when building in maintainer-mode. * break-catch-syscall.c (_initialize_breakpoint): Update catch syscall command documentation. * NEWS: Include section about catching groups of syscalls. * configure: Regenerate. * data-directory/Makefile.in: Generate syscall xml when building in maintainer mode. * syscalls/gdb-syscalls.dtd: Include group attribute to the syscall element. * syscalls/apply-defaults.xsl: New. * syscalls/linux-defaults.xml.in: New. * syscalls/aarch64-linux.xml: Rename to aarch64-linux.xml.in. * syscalls/amd64-linux.xml: Rename to amd64-linux.xml.in. * syscalls/arm-linux.xml: Rename to arm-linux.xml.in. * syscalls/bfin-linux.xml: Rename to bfin-linux.xml.in. * syscalls/i386-linux.xml: Rename to i386-linux.xml.in. * syscalls/mips-n32-linux.xml: Rename to mips-n32-linux.xml.in. * syscalls/mips-n64-linux.xml: Rename to mips-n64-linux.xml.in. * syscalls/mips-o32-linux.xml: Rename to mips-o32-linux.xml.in. * syscalls/ppc-linux.xml: Rename to ppc-linux.xml.in. * syscalls/ppc64-linux.xml: Rename to ppc64-linux.xml.in. * syscalls/s390-linux.xml: Rename to s390-linux.xml.in. * syscalls/s390x-linux.xml: Rename to s390x-linux.xml.in. * syscalls/sparc-linux.xml: Rename to sparc-linux.xml.in. * syscalls/sparc64-linux.xml: Rename to sparc64-linux.xml.in. * syscalls/aarch64-linux.xml: Regenerate. * syscalls/amd64-linux.xml: Regenerate. * syscalls/arm-linux.xml: Regenerate. * syscalls/i386-linux.xml: Regenerate. * syscalls/mips-n32-linux.xml: Regenerate. * syscalls/mips-n64-linux.xml: Regenerate. * syscalls/mips-o32-linux.xml: Regenerate. * syscalls/ppc-linux.xml: Regenerate. * syscalls/ppc64-linux.xml: Regenerate. * syscalls/s390-linux.xml: Regenerate. * syscalls/s390x-linux.xml: Regenerate. * syscalls/sparc-linux.xml: Regenerate. * syscalls/sparc64-linux.xml: Regenerate. gdb/testsuite/ * gdb.base/catch-syscall.exp (do_syscall_tests): Add call to test_catch_syscall_group. (test_catch_syscall_group): New. gdb/doc/ * gdb.texinfo (Set Catchpoints): Add 'group' argument to catch syscall. commit 49ecef2a7da2ee9df4ae675f99b70518fbf1bb23 Author: Andrew Pinski Date: Sat Jul 23 09:56:44 2016 -0700 Fix ARMv8.1/v8.2 for hw watchpoint and breakpoint The problem here is ARMv8.1 (and ARMv8.2) define a different debug version than ARMv8 (7 and 8 respectively). This fixes hw watchpoints and breakpoints by checking for those debug versions too. Committed as obvious after a test on aarch64-linux-gnu (on a ThunderX machine which has ARMv8.1 support enabled). ChangeLog: * nat/aarch64-linux-hw-point.c (aarch64_linux_get_debug_reg_capacity): Handle ARMv8.1 and ARMv8.2 debug versions. * nat/aarch64-linux-hw-point.h (AARCH64_DEBUG_ARCH_V8_1): New define. (AARCH64_DEBUG_ARCH_V8_2): New define. Signed-off-by: Andrew Pinski commit 463888ab6be549e8dcc9eac36dc07c1c237e2968 Author: Руслан Ижбулатов Date: Sat Jul 23 11:38:03 2016 +0300 Support JIT debugging on MS-Windows gdb/ChangeLog: 2016-06-30 Руслан Ижбулатов PR gdb/14529 * windows-nat.c (signal_event_command): New command 'signal-event' for W32 JIT debug support. * NEWS: Add an entry about the new 'signal-event' command. gdb/doc/ChangeLog: 2016-06-30 Руслан Ижбулатов * gdb.texinfo (Cygwin Native): Document the new 'signal-event' command. commit cac709756b00c57a375f40e032d2eb4f5dbd3804 Author: GDB Administrator Date: Sat Jul 23 00:00:20 2016 +0000 Automatic date update in version.in commit e98c9e7ce1c9fd2a5ad99ae2de637b4c16d999b3 Author: Tom Tromey Date: Sun Jun 26 11:06:44 2016 -0600 PR rust/20162 - fix gdb regressions caused by rust 1.10 PR rust/20162 started life as a reminder to test gdb with versions of rust after 1.8; but now concerns some gdb regressions seen with rust 1.10 ("beta") and 1.11 ("nightly"). The failures turn out to be a discrepancy between how rustc emits DWARF and how gdb interprets it. In particular, rustc will emit DWARF like: <2>: Abbrev Number: 9 (DW_TAG_structure_type) DW_AT_name : (indirect string, offset: 0x46a): HasMethods DW_AT_byte_size : 4 ... <3>: Abbrev Number: 11 (DW_TAG_subprogram) ... DW_AT_name : (indirect string, offset: 0x514f): new gdb wants to see a separate top-level DW_TAG_subprogram that refers to this one via DW_AT_specification; but rustc doesn't emit one. By my reading of DWARF 4 5.5.7, this is ok, and gdb is incorrect here. Fixing this involved a new case in scan_partial_symbols, and then a further change in process_structure_scope to account for the fact that, in Rust, such functions are not methods and should not be attached to the structure type. Next, it turns out that rust is emitting bad values for DW_AT_linkage_name, e.g.: DW_AT_linkage_name: (indirect string, offset: 0x422): _ZN7methods8{{impl}}3newE The the "{{impl}}" stuff is apparently some side effect of a change to the compiler's internal representation. Oops! This also had a simple fix -- disregard these mangled names. With these changes, there are no regressions in the gdb Rust tests with either 1.10 or 1.11. 1.9, the stable release, is still pretty broken, but I think there's nothing much to do about that. These changes are a bit hackish, but no worse, I think, than other kinds of quirk handling already done in the DWARF parser. I have reported all the rustc bugs upstream. I plan to remove these hacks from gdb some suitable time after they have been fixed in released versions of Rust. 2016-07-22 Tom Tromey PR rust/20162: * dwarf2read.c (scan_partial_symbols) : Call scan_partial_symbols for children when reading a Rust CU. (dwarf2_physname): Ignore invalid DW_AT_linkage_name generated by rustc. (process_structure_scope) : Call read_func_scope for Rust. commit eed2386e45968fa4fee8d093895f4789044fb077 Author: Yao Qi Date: Fri Jul 22 16:31:41 2016 +0100 Get "num" as unsigned in ctf I see the following fail due to the warning, -trace-frame-collected^M [warning] Extracting signed value from an unsigned int (num)^M .... FAIL: gdb.trace/mi-trace-frame-collected.exp: ctf: -trace-frame-collected In ctf metadata, "num" in "tsv" is defined as unint32_t, ctf_save_write_metadata (&writer->tcs, "event {\n\tname = \"tsv\";\n\tid = %u;\n" "\tfields := struct { \n" "\t\tuint64_t val;\n" "\t\tuint32_t num;\n" "\t};\n" "};\n", CTF_EVENT_ID_TSV); so we should read it as unsigned. The patch below fixes the fail by changing to bt_ctf_get_uint64. gdb: 2016-07-22 Yao Qi * ctf.c (ctf_traceframe_info): Call bt_ctf_get_uint64 rather than bt_ctf_get_int64. commit c02d11a585398734a2178d65a17411cd3050b9d2 Author: Cupertino Miranda Date: Fri Jul 22 15:10:31 2016 +0100 Fix segfault in ARC linker when generating got entries for local symbols. bfd * arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the case where there's no elf_link_hash_entry while processing GOT_NORMAL got entries. ld * testsuite/ld-arc/got-01.d: New file. * testsuite/ld-arc/got-01.s: New file. commit 70ad8739d8ec7a79ef28305c0975df503535b88a Author: GDB Administrator Date: Fri Jul 22 00:00:22 2016 +0000 Automatic date update in version.in commit fecd57f9f1f58f043861d5929a650f35a88a6caa Author: H.J. Lu Date: Thu Jul 21 15:22:13 2016 -0700 Set BFD_VERSION to 2.27.51 bfd/ * version.m4 (BFD_VERSION): Set to 2.27.51. * configure: Regenerated. binutils/ * configure: Regenerated. gas/ * configure: Regenerated. gprof/ * configure: Regenerated. ld/ * configure: Regenerated. opcodes/ * configure: Regenerated. commit 89b829a8b3fc79f37f0506b11ad5d1ababcb7588 Author: H.J. Lu Date: Thu Jul 21 15:17:37 2016 -0700 Move ChangeLog entry for PR ld/20376 commit 12df5c002dcbfc5ac54983e1e7040a182f71a753 Author: Tom Tromey Date: Mon Jul 11 15:02:10 2016 -0600 Allow empty struct expressions in Rust I learned recently that empty struct expressions, like "X{}", have been promoted from experimental to stable in Rust. This patch changes the Rust expression parser to allow this case. New test case included. Built and regtested on x86-64 Fedora 23, using Rust 1.11 beta. 2016-07-21 Tom Tromey * rust-lang.c (rust_tuple_struct_type_p): Return false for empty structs. * rust-exp.y (struct_expr_list): Allow empty elements. 2016-07-21 Tom Tromey * gdb.rust/simple.rs (main): Use empty struct expression. * gdb.rust/simple.exp: Add tests for empty struct expression. commit 305450edd3f96bfeebff78300e1e93487563d90a Author: Tom Tromey Date: Mon Jun 6 12:56:42 2016 -0600 Add -Wunused-but-set-* to build This adds -Wunused-but-set-variable and -Wunused-but-set-parameter to configure. 2016-07-21 Tom Tromey * configure: Rebuild. * warning.m4 (AM_GDB_WARNINGS) : Add -Wunused-but-set-parameter, -Wunused-but-set-variable. 2016-07-21 Tom Tromey * configure: Rebuild. commit f515a1d643b599ebb8a23d3d95e9f0dfc8261a11 Author: Pedro Alves Date: Thu Jul 21 13:02:34 2016 +0100 Fix djgpp gdb build - A few missing casts required by C++, resulting in: ../../src/gdb/ser-go32.c:795:21: error: invalid conversion from 'const void*' to 'const char*' [-fpermissive] etc. - dos_noop has an incompatible prototype with struct serial_ops's setparity, resulting in: ../../src/gdb/ser-go32.c:874:1: error: invalid conversion from 'int (*)(serial*)' to 'int (*)(serial*, int)' [-fpermissive] (I thought of calling the ser-base.c default methods, but djgpp doesn't include ser-base.c in the build.) gdb/ChangeLog: 2016-07-21 Pedro Alves * go32-nat.c (go32_create_inferior): Add cast. * ser-go32.c (dos_noop): Delete. (dos_flush_output, dos_setparity, dos_drain_output): New functions. (dos_write): Add cast. (dos_ops): Use dos_flush_output, dos_setparity and dos_drain_output. * top.c (do_chdir_cleanup): Add cast. commit c25b7ccef4d6d96ed4af1d27c79d78767dba7161 Author: Pedro Alves Date: Thu Jul 21 12:23:48 2016 +0100 Remove unused variable in windows-nat.c Leave the call for side effects. gdb/ChangeLog: 2016-07-21 Pedro Alves * windows-nat.c (handle_exception): Remove "th". commit e3821cca157e93677ef098bf36526ccf24f497ac Author: Pedro Alves Date: Thu Jul 21 15:29:58 2016 +0100 Remove unused variable in gdb/varobj.c when built without Python support gdb/ChangeLog: 2016-07-21 Pedro Alves * varobj.c (varobj_value_get_print_value): Move "gdbarch" to block scope that uses it. commit 2583da7cd64e680e43cf92c8022eadee84357b3b Author: Yao Qi Date: Thu Jul 21 14:34:07 2016 +0100 Fix cast to 'gdb_breakpoint *' c-mode buildbot catches a build problem, gcc -g -O2 -I. -I../../../binutils-gdb/gdb/gdbserver -I../../../binutils-gdb/gdb/gdbserver/../common -I../../../binutils-gdb/gdb/gdbserver/../regformats -I../../../binutils-gdb/gdb/gdbserver/.. -I../../../binutils-gdb/gdb/gdbserver/../../include -I../../../binutils-gdb/gdb/gdbserver/../gnulib/import -Ibuild-gnulib-gdbserver/import -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wpointer-sign -Wmissing-prototypes -Wdeclaration-after-statement -Wmissing-parameter-type -Wold-style-declaration -Wold-style-definition -Wformat-nonliteral -Wno-missing-prototypes -Werror -DGDBSERVER -c -o hostio.o -MT hostio.o -MMD -MP -MF .deps/hostio.Tpo ../../../binutils-gdb/gdb/gdbserver/hostio.c ../../../binutils-gdb/gdb/gdbserver/mem-break.c: In function find_gdb_breakpoint: ../../../binutils-gdb/gdb/gdbserver/mem-break.c:996:15: error: gdb_breakpoint undeclared (first use in this function) return (gdb_breakpoint *) bp; we should use 'struct gdb_breakpoint' rather than 'gdb_breakpoint'. Patch below fixes this. gdb/gdbserver: 2016-07-21 Yao Qi * mem-break.c (find_gdb_breakpoint): Cast bp to 'struct gdb_breakpoint *' rather than 'gdb_breakpoint *'. commit 21536b367ce73eed103e1389b5f45010f0c96bbb Author: Yao Qi Date: Thu Jul 21 12:12:18 2016 +0100 Support vCont s and S actions with software single step GDBserver with software single step should be able to claim supporting vCont s and S actions, so that GDB knows the remote target can do single step. It doesn't matter to GDB that the single step in the remote target is done via hardware or software. gdb/gdbserver: 2016-07-21 Yao Qi * server.c (handle_v_requests): Support s and S actions if target_supports_software_single_step return true. commit 8901d1936e4e691f0b3b976f5626ac5a8f27aa7f Author: Yao Qi Date: Thu Jul 21 12:12:18 2016 +0100 Use reinsert_breakpoint for vCont;s This patch is to teach GDBserver using software single step to handle vCont;s. Simply speaking, if the thread's resume request is resume_step, install reinsert breakpoint at the next pcs when GDBserver is about to resume threads. These reinsert breakpoints of a thread are removed, when GDBserver gets an event from that thread and reports it back to GDB. gdb/gdbserver: 2016-07-21 Yao Qi * linux-low.c (resume_stopped_resumed_lwps): If resume request is resume_step, call maybe_hw_step. (linux_wait_1): Stop all threads, remove reinsert breakpoints, and unstop them. (linux_resume_one_lwp_throw): Don't assert the thread has reinsert breakpoints or not. (proceed_one_lwp): If resume request is resume_step, install reinsert breakpoints and call maybe_hw_step. commit 0e9a339ec8ffab80fdbe97adaf888fe03b73fe22 Author: Yao Qi Date: Thu Jul 21 12:12:18 2016 +0100 Enqueue signal even when resuming threads Nowadays, we only enqueue signal when we leave thread pending in linux_resume_one_thread. If lwp->resume->sig isn't zero (GDB wants to resume with signal), we pass lwp->resume->sig to linux_resume_one_lwp. In order to reduce the difference between resuming thread with signal and proceeding thread with signal, when we resume thread, we can enqueue signal too, and proceed thread. The signal will be consumed in linux_resume_one_lwp_throw from lwp->pending_signals. gdb/gdbserver: 2016-07-21 Yao Qi * linux-low.c (proceed_one_lwp): Declare. (linux_resume_one_thread): Remove local variable 'step'. Lift code enqueue signal. Call proceed_one_lwp instead of linux_resume_one_lwp. commit 4281b351bfa3b646ab531cf73c56e49366fef108 Author: Yao Qi Date: Thu Jul 21 12:12:18 2016 +0100 Use enqueue_pending_signal in linux_resume_one_thread gdb/gdbserver: 2016-07-21 Yao Qi * linux-low.c (linux_resume_one_thread): Call enqueue_pending_signal. commit 984a2c042e82f2306183d9d165c5cb99e4341503 Author: Yao Qi Date: Thu Jul 21 12:12:18 2016 +0100 Switch current_thread to lwp's thread in install_software_single_step_breakpoints install_software_single_step_breakpoints has parameter lwp, but still need to switch to current_thread. In order to simplify its caller, we do the current_thread save/restore inside install_software_single_step_breakpoints. gdb/gdbserver: 2016-07-21 Yao Qi * gdbthread.h (make_cleanup_restore_current_thread): Declare. * inferiors.c (do_restore_current_thread_cleanup): New function. (make_cleanup_restore_current_thread): Likewise. * linux-low.c (install_software_single_step_breakpoints): Call make_cleanup_restore_current_thread. Switch current_thread to thread. commit bec903c96bc5119e357b4ad2cab99bbee7de628e Author: Yao Qi Date: Thu Jul 21 12:12:18 2016 +0100 Make reinsert_breakpoint thread specific This patch makes reinsert_breakpoint thread specific, which means we insert and remove reinsert_breakpoint breakpoints for a specific thread. This motivation of this change is that I'll use reinsert_breakpoint for vCont;s on software single step target, so that GDBserver may insert one reinsert_breakpoint for one thread doing step-over, and insert one reinsert_breakpoint for another thread doing vCont;s. After the operation of one thread is finished, GDBserver must remove reinsert_breakpoint for that thread only. On the other hand, reinsert_breakpoint is used for step-over nowadays. GDBserver inserts reinsert_breakpoint, and wait only from the thread doing step-over. After the step-over is done, GDBserver removes the reinsert_breakpoint. If there is still any threads need step-over, do the same again until all threads are finished step-over. In other words, reinsert_breakpoint is globally thread specific, but in an implicit way. It is natural to make it explicitly thread specific. gdb/gdbserver: 2016-07-21 Yao Qi * mem-break.c (struct reinsert_breakpoint) : New field. (set_reinsert_breakpoint): New parameter ptid. Callers updated. (clone_one_breakpoint): Likewise. (delete_reinsert_breakpoints): Change parameter to thread. Callers updated. (has_reinsert_breakpoints): Likewise. (uninsert_reinsert_breakpoints): Likewise. (reinsert_reinsert_breakpoints): Likewise. * mem-break.h (set_reinsert_breakpoint): Update declaration. (delete_reinsert_breakpoints): Likewise. (reinsert_reinsert_breakpoints): Likewise. (uninsert_reinsert_breakpoints): Likewise. (has_reinsert_breakpoints): Likewise. commit 63c40ec727109e2bb2956ab95968350df00c1aa1 Author: Yao Qi Date: Thu Jul 21 12:12:18 2016 +0100 Refactor clone_all_breakpoints This patch is to change the interface of clone_all_breakpoints, from lists of breakpoints and raw_breakpoints to child thread and parent thread. I choose child thread to pass because we need the ptid of the child thread in the following patch. gdb/gdbserver: 2016-07-21 Yao Qi * inferiors.c (get_thread_process): Make parameter const. * inferiors.h (get_thread_process): Update declaration. * mem-break.c (clone_all_breakpoints): Remove all parameters. Add new parameters child_thread and parent_thread. Callers updated. * mem-break.h (clone_all_breakpoints): Update declaration. commit 9aa76cd0a7b2cfdcc9da31e7763a695fac89f569 Author: Yao Qi Date: Thu Jul 21 12:12:17 2016 +0100 Create sub classes of 'struct breakpoint' Nowadays, there are three types of breakpoint in GDBserver, - gdb breakpoints, - reinsert breakpoints, used for software single step, - other breakpoints, used for tracepoint, but we only have one 'struct breakpoint' for all of them. Some fields are only useful to one type of breakpoint. For example, cond_list and command_list are only used by gdb breakpoints, while handler is only used by other breakpoints. This patch changes 'struct breakpoint' to a base class, which has fields needed by all breakpoint types, also add three sub-classes to 'struct breakpoint' to these three types of breakpoints. gdb/gdbserver: 2016-07-21 Yao Qi * mem-break.c (struct breakpoint) : Remove. : Remove. (struct gdb_breakpoint): New. (struct other_breakpoint): New. (struct reinsert_breakpoint): New. (is_gdb_breakpoint): New function. (any_persistent_commands): Update command_list if is_gdb_breakpoint returns true. (set_breakpoint): Create breakpoints according to their types. (find_gdb_breakpoint): Return 'struct gdb_breakpoint *'. (set_gdb_breakpoint_1): Likewise. (set_gdb_breakpoint): Likewise. (clear_breakpoint_conditions): Change parameter type to 'struct gdb_breakpoint *'. (clear_breakpoint_commands): Likewise. (clear_breakpoint_conditions_and_commands): Likewise. (add_condition_to_breakpoint): Likewise. (add_breakpoint_condition): Likewise. (add_commands_to_breakpoint): Likewise. (check_breakpoints): Check other_breakpoint. (clone_one_breakpoint): Clone breakpopint according to its type. * mem-break.h (struct gdb_breakpoint): Declare. (set_gdb_breakpoint): Update declaration. (clear_breakpoint_conditions_and_commands): Likewise. (add_breakpoint_condition): Likewise. (add_breakpoint_commands): Likewise. * server.c (process_point_options): Change parameter type to 'struct gdb_breakpoint *'. commit 811f8301f8054eb964e92af63930c4495207e7d5 Author: Yao Qi Date: Thu Jul 21 12:12:17 2016 +0100 Pass breakpoint type in set_breakpoint_at Nowadays, set_breakpoint_at creates breakpoint of type other_breakpoint, but we also use set_breakpoint_at in set_reinsert_breakpoint to create breakpoint, so that we have to overwrite the breakpoint type like this, bp = set_breakpoint_at (stop_at, NULL); bp->type = reinsert_breakpoint; which looks not very good. This patch changes set_breakpoint_at to receive breakpoint type. Since set_breakpoint_at is used in many places, I rename it to set_breakpoint_type_at, and wrap it with set_breakpoint_at, and pass other_breakpoint. In this way, we can call set_breakpoint_type_at with reinsert_breakpoint in set_reinsert_breakpoint too, and code looks cleaner. gdb/gdbserver: 2016-07-21 Yao Qi * mem-break.c (set_breakpoint_at): Rename it to ... (set_breakpoint_type_at): ... it. (set_breakpoint_at): Call set_breakpoint_type_at. (set_reinsert_breakpoint): Call set_breakpoint_type_at. * mem-break.h (set_breakpoint_at): Update comments. commit bae62ee2087bb54fd06746c99de9b734cc58a721 Author: Yao Qi Date: Thu Jul 21 09:22:29 2016 +0100 Skip gdb.server/ tests if lack of XML support I recently see some gdb.server/*.exp fails in my native gdb testing, in which libexpat isn't available, so GDB isn't able to parse xml file. It causes gdb.server/ tests fails because GDB can't get registers correctly from GDBserver. (gdb) PASS: gdb.server/connect-without-multi-process.exp: multiprocess=off: break main target remote localhost:2352^M Remote debugging using localhost:2352^M warning: Can not parse XML target description; XML support was disabled at compile time^M Reading /lib/ld-linux-armhf.so.3 from remote target...^M warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.^M Reading /lib/ld-linux-armhf.so.3 from remote target...^M Reading symbols from target:/lib/ld-linux-armhf.so.3...Reading /lib/ld-2.17.so.debug from remote target...^M Reading /lib/.debug/ld-2.17.so.debug from remote target...^M (no debugging symbols found)...done.^M Remote 'g' packet reply is too long: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efffbe00000000808d0f4d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000^ 0x4d0f8d80 in _start () from target:/lib/ld-linux-armhf.so.3^M Without XML support in GDB, it can't parse xml sent by GDBserver, and has to fall back to the oldest arch. However, GDBserver doesn't know this (IMO, this is a defect in RSP), and still choose the right target description to create regcache and 'g' packet. If the port only has one target description or coincidentally two sides choose the same target description, there is no such issue. Otherwise, GDB is broken on read registers. This patch is to skip gdbserver tests if XML is not support and the target has multiple target descriptions. gdb/testsuite: 2016-07-21 Yao Qi * lib/gdbserver-support.exp (skip_gdbserver_tests): Return 1 if gdb_skip_xml_test is true on some targets. commit 0c66ea4c5e46372c7411f67b0ba21d7de5215958 Author: Nick Clifton Date: Thu Jul 21 09:23:16 2016 +0100 Fix typo fsqrt -> sqrtf. commit 7982a1dd2560ff2910c17ceff376980412b91d30 Author: Nick Clifton Date: Thu Jul 21 09:20:10 2016 +0100 oops - forgot to include binutils.texi in the previous delta. commit 0f118bc7a620f3e3ceff6f2fadca7b8d287a553b Author: Nick Clifton Date: Thu Jul 21 09:17:54 2016 +0100 Use fsqrt() to calculate float (rather than double) square root. * simulator.c (fsqrts): Use fsqrt rather than sqrt. commit b1b53fb3ef077bf4412da53f0057b9c0e9ed4f3e Author: Yao Qi Date: Thu Jul 21 09:15:21 2016 +0100 Fix fail in gdb.server/solib-list.exp If I run single test solib-list.exp, it is OK. If I run two, as below, there are fails, $ make check RUNTESTFLAGS="server-run.exp solib-list.exp" FAIL: gdb.server/solib-list.exp: non-stop 0: continue (the program exited) FAIL: gdb.server/solib-list.exp: non-stop 0: p libvar FAIL: gdb.server/solib-list.exp: non-stop 1: continue (the program exited) FAIL: gdb.server/solib-list.exp: non-stop 1: p libvar in gdb.log, /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/../../gdb/gdbserver/gdbserver --once :2347 /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/outputs/gdb.server/server-run/server-run /lib64/ld-linux-x86-64.so.2 /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/outputs/gdb.server/solib-list/solib-list server-run is spawned, which is wrong. If I only run solib-list.exp, ld-linux is spawned, which is right. /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/../../gdb/gdbserver/gdbserver --once :2346 /lib64/ld-linux-x86-64.so.2 /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/outputs/gdb.server/solib-list/solib-list in test, we spawn gdbserver this way, # Note we pass ${interp_system}, the program gdbserver spawns, as # argument here, instead of using gdb_load, because we don't want # to download the interpreter to the target (it's already there) # or to the test output directory. set res [gdbserver_spawn "${interp_system} ${remote_binfile}"] in gdbserver_spawn -> gdbserver_download_current_prog, if last_loaded_file is set (when you run multiple tests), it is returned. This patch is to unset last_loaded_file in solib-list.exp. gdb/testsuite: 2016-07-21 Yao Qi * gdb.server/solib-list.exp: Unset last_loaded_file. commit 982c6f2665bad6c8fec6ee75ffb3c5af60a285a6 Author: Alan Modra Date: Thu Jul 21 09:36:37 2016 +0930 Use variable args in run_ld_link_exec_tests If the last parameter of a tcl function is "args" then it can take zero or more arguments. Make use of this language feature in run_ld_link_exec_tests. * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Replace "targets_to_xfail" parameter with "args". * testsuite/ld-elf/compress.exp: Remove empty list of xfails on all calls to run_ld_link_exec_tests. * testsuite/ld-elf/dwarf.exp: Likewise. * testsuite/ld-elf/indirect.exp: Likewise. * testsuite/ld-elf/wrap.exp: Likewise. * testsuite/ld-i386/i386.exp: Likewise. * testsuite/ld-i386/no-plt.exp: Likewise. * testsuite/ld-i386/tls.exp: Likewise. * testsuite/ld-ifunc/ifunc.exp: Likewise. * testsuite/ld-pie/pie.exp: Likewise. * testsuite/ld-plugin/lto.exp: Likewise. * testsuite/ld-size/size.exp: Likewise. * testsuite/ld-x86-64/mpx.exp: Likewise. * testsuite/ld-x86-64/no-plt.exp: Likewise. * testsuite/ld-x86-64/tls.exp: Likewise. * testsuite/ld-x86-64/x86-64.exp: Likewise. * testsuite/ld-elf/elf.exp: Likewise. Reorder args when providing xfails and simplify lists. * testsuite/ld-elf/shared.exp: Likewise. commit 5df1bc570fcc5ef5257b7a044acdaeb6b95b9822 Author: Alan Modra Date: Wed Jul 20 15:06:49 2016 +0930 Fix implib test failures bfd/ * elf.c (_bfd_elf_filter_global_symbols): Skip local symbols. (swap_out_syms): Return an error when not finding ELF output section rather than asserting. * elflink.c (elf_output_implib): Call bfd_set_error on no symbols. ld/ * testsuite/lib/ld-lib.exp (run_ld_link_tests): Add optional parameter to pass list of xfails. * testsuite/ld-elf/elf.exp: Add xfails for implib tests. Tidy implib test formatting. Don't set .data start address. * testsuite/ld-elf/implib.s: Remove first .bss directive and replace second one with equivalent .section directive. * testsuite/ld-elf/empty-implib.out: Add expected final error. * testsuite/ld-elf/implib.rd: Update. commit c092a4d9154f09e6c67648efb723878d7a74f44f Author: GDB Administrator Date: Thu Jul 21 00:00:21 2016 +0000 Automatic date update in version.in commit dbaed3853474e7bd824a25bc454a8f2fdd71d2b3 Author: John Baldwin Date: Sat Jul 16 10:14:08 2016 -0700 Use a real vfork done event on FreeBSD when available. FreeBSD 12 recently added a new ptrace event to indicate when the vfork parent resumes after the child process stops sharing the address space. Use this event to report a proper TARGET_WAITKIND_VFORK_DONE rather than faking a vfork done event after a delay. gdb/ChangeLog: * fbsd-nat.c (fbsd_enable_proc_events): Enable "PTRACE_VFORK" events. (fbsd_pending_vfork_done): Only define if "PTRACE_VFORK" is not defined. (fbsd_add_vfork_done): Likewise. (fbsd_is_vfork_done_pending): Likewise. (fbsd_next_vfork_done): Likewise. (fbsd_resume): Only ignore pending vfork done events if "PTRACE_VFORK" is not defined. (fbsd_wait): Only look for pending vfork done events if "PTRACE_VFORK" is not defined. [PTRACE_VFORK]: Handle "PL_FLAG_VFORKED" and "PL_FLAG_VFORK_DONE" events. (fbsd_follow_fork): Only fake a vfork done event if "PTRACE_VFORK" is not defined. commit 5fa14c6b9789bad6f91dd21889f7b1a0eb75c6d0 Author: John Baldwin Date: Fri Jul 15 17:01:21 2016 -0700 Enable ptrace events on new child processes. New child processes on FreeBSD do not inherit optional ptrace events such as fork and LWP events from the parent process. Instead, explicitly enable events on new children when reporting a fork event. gdb/ChangeLog: * fbsd-nat.c (fbsd_wait): Use "fbsd_enable_proc_events" on new child processes. commit da95a26cc381c0f092f515ffe108075985c16d7f Author: John Baldwin Date: Fri Jul 15 14:03:10 2016 -0700 Consolidate code to enable optional FreeBSD native target event reporting. Add a new function to enable optional event reporting for FreeBSD native targets. Specifically, use this to enable fork and LWP events. The bodies of fbsd_enable_follow_fork and fbsd_enable_lwp_events have been subsumed into the new function. In addition, use the PT_GET_EVENT_MASK and PT_EVENT_SET_MASK requests added in FreeBSD 12 when present to enable these events. gdb/ChangeLog: * fbsd-nat.c (fbsd_enable_lwp_events): Remove function. (fbsd_enable_proc_events): New function. (fbsd_enable_follow_fork): Remove function. (fbsd_post_startup_inferior): Use "fbsd_enable_proc_events". (fbsd_post_attach): Likewise. commit 37fd5ef3ecc58caacd6abb4ace3d8b559e3db53d Author: Claudiu Zissulescu Date: Wed Jul 20 17:08:07 2016 +0100 Add support to the ARC disassembler for selecting instruction classes. gas * testsuite/gas/arc/dsp.d: New file. * testsuite/gas/arc/dsp.s: Likewise. * testsuite/gas/arc/fpu.d: Likewise. * testsuite/gas/arc/fpu.s: Likewise. * testsuite/gas/arc/ext2op.d: Add specific disassembler option. * testsuite/gas/arc/ext3op.d: Likewise. * testsuite/gas/arc/tdpfp.d: Likewise. * testsuite/gas/arc/tfpuda.d: Likewise. opcodes * arc-dis.c (skipclass): New structure. (decodelist): New variable. (is_compatible_p): New function. (new_element): Likewise. (skip_class_p): Likewise. (find_format_from_table): Use skip_class_p function. (find_format): Decode first the extension instructions. (print_insn_arc): Select either ARCEM or ARCHS based on elf e_flags. (parse_option): New function. (parse_disassembler_options): Likewise. (print_arc_disassembler_options): Likewise. (print_insn_arc): Use parse_disassembler_options function. Proper select ARCv2 cpu variant. * disassemble.c (disassembler_usage): Add ARC disassembler options. binutils* doc/binutils.texi (objdump): Add ARC disassembler options. * testsuite/binutils-all/arc/dsp.s: New file. * testsuite/binutils-all/arc/objdump.exp: Likewise. include * dis-asm.h: Declare print_arc_disassembler_options. commit 0064d22386b99c047bbff3bcc73b6bfce9c29b4c Author: John Baldwin Date: Mon Jul 4 19:19:48 2016 -0700 Handle version 1a of FreeBSD's NT_PRSINFO. Version 1a adds a pr_pid member containing the process ID of the terminating process. The presence of pr_pid is inferred from the note's size. bfd/ChangeLog: * elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size and handle pr_pid if present. commit 9ab8247228844bb6608d6b2c99b6d8732bab08c1 Author: H.J. Lu Date: Wed Jul 20 07:50:42 2016 -0700 Check p_paddr for program header space Issue an error if p_paddr becomes invalid when allocating space for program headers. PR ld/20376 * elf.c (assign_file_positions_for_load_sections): Also check p_paddr for program header space. commit 027d97f8b0193a8113ee60bafc686d45d0af59ee Author: Jan Kratochvil Date: Wed Jul 20 16:26:44 2016 +0200 testsuite: Fix gdb.gdb/selftest.exp for C++-O2-g-built GDB tested on Fedora 24 x86_64 after: ./configure; make That is: CFLAGS='-g -O2' CXXFLAGS='-g -O2' FAIL: gdb.gdb/selftest.exp: unknown source line FAIL: gdb.gdb/selftest.exp: step into xmalloc call gdb/testsuite/ChangeLog 2016-07-20 Jan Kratochvil * gdb.gdb/selftest.exp (do_steps_and_nexts): Add "next over TRY" and "step into captured_main (args)". commit 7674d381b47f9f2411c0ca1da0c152940dc0d7bd Author: Jan Kratochvil Date: Wed Jul 20 16:20:48 2016 +0200 testsuite: Fix gdb.btrace/tailcall-only.exp errors on x86_64-m32 $ runtest 'CC_FOR_TARGET=gcc -m32' gdb.btrace/tailcall-only.exp Running ./gdb.btrace/tailcall-only.exp ... gdb compile failed, tailcall-only.c: Assembler messages: tailcall-only.c:142: Error: cannot represent relocation type BFD_RELOC_64 [...] tailcall-only.c:425: Error: cannot represent relocation type BFD_RELOC_64 It works for the other x86 arch combinations: On Mon, 11 Apr 2016 08:44:23 +0200, Metzger, Markus T wrote: I'm setting the target triplet to "i686-unknown-linux" in my m32 configuration. Like this: set target_triplet "i686-unknown-linux" set_board_info cflags "-m32" set_board_info cppflags "-m32" On Wed, 20 Jul 2016 16:02:20 +0200, Pedro Alves wrote: There's no reason you should _not_ set it. But, multilib-style testing with --target_board=unix\{-m64,-m32\} etc. should work _too_, IMO. gdb/testsuite/ChangeLog 2016-07-20 Jan Kratochvil * gdb.btrace/tailcall-only.exp: Use is_lp64_target check. commit 72b5d09937fa2dac8ca7c801b9ddefe1b0176b6f Author: Jan Kratochvil Date: Wed Jul 20 16:17:04 2016 +0200 testsuite patch: Skip py-unwind.exp on x86_64 -m32 (gdb) source /home/jkratoch/redhat/gdb-clean/gdb/testsuite/outputs/gdb.python/py-unwind/py-unwind.py^M Python script imported^M Python Exception Bad register: ^M (gdb) FAIL: gdb.python/py-unwind.exp: import python scripts class TestUnwinder(Unwinder): AMD64_RBP = 6 AMD64_RSP = 7 AMD64_RIP = 16 On Tue, 19 Jul 2016 12:06:09 +0200, Yao Qi wrote: py-unwind.exp does nothing on arch specific thing, so py-unwind.exp shouldn't be aware of the arch difference, but py-unwind.py should. On Tue, 19 Jul 2016 20:04:33 +0200, Pedro Alves wrote: How about we handle this in the .exp file for now and leave something more complicated for when the test is first ported to some other arch. WDYT? gdb/testsuite/ChangeLog 2016-07-20 Jan Kratochvil * gdb.python/py-unwind.exp: Test also ![is_lp64_target]. commit 5caa2b07ebd1b4ab07c6f3ace0810d8e107a30d0 Author: Maciej W. Rozycki Date: Wed Jul 20 12:11:52 2016 +0100 MIPS/GAS: Remove erroneous ELF relocation references Remove R_MIPS_PC26_S2 and R_MIPS_PC21_S2 relocation references that went into `mips_force_relocation' with commit 9d862524f6ae ("MIPS: Verify the ISA mode and alignment of branch and jump targets") by mistake. Their BFD_RELOC_MIPS_26_PCREL_S2 and BFD_RELOC_MIPS_21_PCREL_S2 equivalents are already handled there. gas/ * config/tc-mips.c (mips_force_relocation): Remove R_MIPS_PC26_S2 and R_MIPS_PC21_S2. commit f2629855d950f42c6d6ed7132cf94dd70e308985 Author: Nick Clifton Date: Wed Jul 20 09:41:10 2016 +0100 Update documentation to reflect that the symbol localization options of objcopy do not affect unique symbols. * doc/binutils.texi (objcopy): Note that the localize symbol options do not affect unique symbols. commit bedbe19cc09fbb6e921872334bfcd371ac5b769d Author: Yan-Ting Lin Date: Wed Jul 20 09:06:39 2016 +0100 Enable the configuration of GDB for the NDS32 target. * configure.ac (nds32*-*-*): Remove entry to enable gdb. * configure: Regenerated. commit b751e639fcc69ba6e1d8ccc0fef2be1522802a33 Author: Alan Modra Date: Wed Jul 20 09:44:46 2016 +0930 Early expression evaluation Folding a constant expression early can lead to loss of tokens, eg. ABSOLUTE, that are significant in ld's horrible context sensitive expression evaluation. Also, MAXPAGESIZE and other "constants" may not have taken values specified on the command line, leading to the wrong value being cached. * ldexp.c (exp_unop, exp_binop, exp_trinop, exp_nameop): Don't fold expression. * testsuite/ld-elf/maxpage3b.d: Expect correct maxpagesize. commit 3ce512885ba76da53fae84cd1a555bc721fdd25e Author: Alan Modra Date: Wed Jul 20 10:33:14 2016 +0930 Mark some more powerpc relocs as not handled by generic linker * elf64-ppc.c (ppc64_elf_howto_raw ): Put ppc64_elf_unhandled_reloc for special_function. * elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs. commit 0806868fa0e7c4aa58859c1d6ec273a38787ab12 Author: GDB Administrator Date: Wed Jul 20 00:00:23 2016 +0000 Automatic date update in version.in ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 + bfd/ChangeLog | 281 + bfd/arc-got.h | 513 ++ bfd/archures.c | 2 +- bfd/bfd-in.h | 14 +- bfd/bfd-in2.h | 27 +- bfd/binary.c | 2 +- bfd/coffgen.c | 8 +- bfd/cofflink.c | 3 +- bfd/config.bfd | 5 + bfd/configure | 20 +- bfd/elf-bfd.h | 7 + bfd/elf.c | 87 +- bfd/elf32-arc.c | 977 +-- bfd/elf32-arm.c | 599 ++- bfd/elf32-ft32.c | 2 +- bfd/elf32-ppc.c | 144 +- bfd/elf32-ppc.h | 2 + bfd/elf32-sh.c | 215 - bfd/elf64-ppc.c | 4 +- bfd/elf64-x86-64.c | 11 + bfd/elflink.c | 110 + bfd/elfxx-mips.c | 172 +- bfd/elfxx-target.h | 8 +- bfd/libbfd-in.h | 9 - bfd/libbfd.h | 12 - bfd/plugin.c | 57 +- bfd/plugin.h | 3 +- bfd/po/sv.po | 132 +- bfd/reloc.c | 39 +- bfd/section.c | 4 +- bfd/targets.c | 27 +- bfd/version.h | 2 +- bfd/version.m4 | 2 +- binutils/BRANCHES | 6 +- binutils/ChangeLog | 164 + binutils/NEWS | 20 + binutils/ar.c | 2 +- binutils/bucomm.c | 321 +- binutils/configure | 20 +- binutils/doc/binutils.texi | 112 +- binutils/elfcomm.h | 7 - binutils/nm.c | 1 + binutils/objcopy.c | 103 +- binutils/objdump.c | 22 +- binutils/od-macho.c | 80 +- binutils/prdbg.c | 36 +- binutils/readelf.c | 8 +- binutils/resbin.c | 16 +- binutils/rescoff.c | 2 +- binutils/sysdep.h | 8 + binutils/testsuite/binutils-all/arc/dsp.s | 5 + binutils/testsuite/binutils-all/arc/objdump.exp | 55 + binutils/testsuite/binutils-all/data-sections.s | 17 + binutils/testsuite/binutils-all/objcopy.exp | 15 + binutils/testsuite/binutils-all/only-section-01.d | 9 + binutils/testsuite/binutils-all/remove-relocs-01.d | 16 + binutils/testsuite/binutils-all/remove-relocs-01.s | 19 + binutils/testsuite/binutils-all/remove-relocs-02.d | 6 + binutils/testsuite/binutils-all/remove-relocs-03.d | 6 + binutils/testsuite/binutils-all/remove-relocs-04.d | 11 + binutils/testsuite/binutils-all/remove-relocs-05.d | 17 + binutils/testsuite/binutils-all/remove-relocs-06.d | 11 + .../testsuite/binutils-all/remove-section-01.d | 8 + configure | 3 - configure.ac | 3 - gas/ChangeLog | 629 ++ gas/Makefile.am | 6 +- gas/Makefile.in | 6 +- gas/NEWS | 3 + gas/config/bfin-parse.y | 1 - gas/config/tc-aarch64.c | 94 +- gas/config/tc-arc.c | 177 +- gas/config/tc-arm.c | 10 + gas/config/tc-bfin.c | 1 - gas/config/tc-epiphany.c | 1 - gas/config/tc-frv.c | 1 - gas/config/tc-i386-intel.c | 4 + gas/config/tc-i386.c | 118 +- gas/config/tc-ip2k.c | 1 - gas/config/tc-iq2000.c | 1 - gas/config/tc-m32c.c | 1 - gas/config/tc-mep.c | 1 - gas/config/tc-metag.c | 7 +- gas/config/tc-mips.c | 663 ++- gas/config/tc-mips.h | 3 + gas/config/tc-mt.c | 1 - gas/config/tc-nds32.c | 94 +- gas/config/tc-nios2.c | 1 - gas/config/tc-rl78.c | 1 - gas/config/tc-rx.c | 1 - gas/config/tc-sparc.c | 45 +- gas/config/tc-xgate.c | 80 +- gas/config/tc-z8k.c | 11 +- gas/configure | 20 +- gas/macro.c | 2 +- gas/testsuite/gas/aarch64/illegal-nofp16.d | 2 + gas/testsuite/gas/aarch64/illegal-nofp16.l | 3 + gas/testsuite/gas/aarch64/illegal-nofp16.s | 7 + gas/testsuite/gas/aarch64/pr20364.d | 13 + gas/testsuite/gas/aarch64/pr20364.s | 28 + gas/testsuite/gas/arc/dsp.d | 96 + gas/testsuite/gas/arc/dsp.s | 90 + gas/testsuite/gas/arc/ext2op.d | 2 +- gas/testsuite/gas/arc/ext3op.d | 2 +- gas/testsuite/gas/arc/fpu.d | 29 + gas/testsuite/gas/arc/fpu.s | 24 + gas/testsuite/gas/arc/nps400-8.d | 71 + gas/testsuite/gas/arc/nps400-8.s | 92 + gas/testsuite/gas/arc/tdpfp.d | 2 +- gas/testsuite/gas/arc/tfpuda.d | 2 +- gas/testsuite/gas/arm/pr20429.d | 3 + gas/testsuite/gas/arm/pr20429.l | 11 + gas/testsuite/gas/arm/pr20429.s | 13 + gas/testsuite/gas/i386/i386.exp | 9 +- gas/testsuite/gas/i386/intel-movs.s | 18 + gas/testsuite/gas/i386/intel-movs32.d | 19 + gas/testsuite/gas/i386/intel-movs64.d | 22 + gas/testsuite/gas/i386/movz.s | 33 + gas/testsuite/gas/i386/movz32.d | 22 + gas/testsuite/gas/i386/movz64.d | 30 + gas/testsuite/gas/i386/mpx-inval-2.l | 145 + gas/testsuite/gas/i386/mpx-inval-2.s | 60 + gas/testsuite/gas/i386/suffix-bad.l | 15 + gas/testsuite/gas/i386/suffix-bad.s | 18 + gas/testsuite/gas/i386/x86-64-mpx-inval-2.l | 318 +- gas/testsuite/gas/i386/x86-64-mpx-inval-2.s | 16 + gas/testsuite/gas/i386/x86-64-suffix-bad.l | 4 + gas/testsuite/gas/i386/x86-64-suffix-bad.s | 5 + gas/testsuite/gas/mips/beq.d | 18 +- gas/testsuite/gas/mips/beq.s | 4 +- gas/testsuite/gas/mips/bge.d | 4 +- gas/testsuite/gas/mips/bgeu.d | 4 +- gas/testsuite/gas/mips/blt.d | 4 +- gas/testsuite/gas/mips/bltu.d | 4 +- .../gas/mips/branch-absolute-addend-n32.d | 25 + .../gas/mips/branch-absolute-addend-n64.d | 35 + gas/testsuite/gas/mips/branch-absolute-addend.d | 24 + gas/testsuite/gas/mips/branch-absolute-addend.s | 20 + gas/testsuite/gas/mips/branch-absolute-n32.d | 25 + gas/testsuite/gas/mips/branch-absolute-n64.d | 35 + gas/testsuite/gas/mips/branch-absolute.d | 24 + gas/testsuite/gas/mips/branch-absolute.s | 20 + gas/testsuite/gas/mips/branch-addend-n32.d | 23 + gas/testsuite/gas/mips/branch-addend-n64.d | 27 + gas/testsuite/gas/mips/branch-addend.d | 22 + gas/testsuite/gas/mips/branch-addend.s | 31 + gas/testsuite/gas/mips/branch-extern-2.d | 3 +- gas/testsuite/gas/mips/branch-extern-4.d | 3 +- gas/testsuite/gas/mips/branch-likely.d | 20 +- gas/testsuite/gas/mips/branch-local-2.l | 5 + gas/testsuite/gas/mips/branch-local-2.s | 33 + gas/testsuite/gas/mips/branch-local-3.l | 3 + gas/testsuite/gas/mips/branch-local-3.s | 30 + gas/testsuite/gas/mips/branch-local-4.d | 20 + gas/testsuite/gas/mips/branch-local-4.s | 27 + gas/testsuite/gas/mips/branch-local-n32-2.l | 5 + gas/testsuite/gas/mips/branch-local-n32-2.s | 33 + gas/testsuite/gas/mips/branch-local-n32-3.l | 3 + gas/testsuite/gas/mips/branch-local-n32-3.s | 30 + gas/testsuite/gas/mips/branch-local-n32-4.d | 20 + gas/testsuite/gas/mips/branch-local-n64-2.l | 5 + gas/testsuite/gas/mips/branch-local-n64-2.s | 33 + gas/testsuite/gas/mips/branch-local-n64-3.l | 3 + gas/testsuite/gas/mips/branch-local-n64-3.s | 30 + gas/testsuite/gas/mips/branch-local-n64-4.d | 22 + gas/testsuite/gas/mips/branch-misc-1.s | 6 + gas/testsuite/gas/mips/branch-misc-2-64.d | 17 +- gas/testsuite/gas/mips/branch-misc-2.d | 11 +- gas/testsuite/gas/mips/branch-misc-2.s | 9 +- gas/testsuite/gas/mips/branch-misc-2pic-64.d | 17 +- gas/testsuite/gas/mips/branch-misc-2pic.d | 11 +- gas/testsuite/gas/mips/branch-misc-5-64.d | 27 + gas/testsuite/gas/mips/branch-misc-5.d | 20 + gas/testsuite/gas/mips/branch-misc-5.s | 21 + gas/testsuite/gas/mips/branch-misc-5pic-64.d | 27 + gas/testsuite/gas/mips/branch-misc-5pic.d | 21 + gas/testsuite/gas/mips/branch-section-2.d | 6 +- gas/testsuite/gas/mips/branch-section-4.d | 3 +- gas/testsuite/gas/mips/branch-weak-2.d | 3 +- gas/testsuite/gas/mips/branch-weak-5.d | 3 +- gas/testsuite/gas/mips/ecoff@ld-forward.d | 5 - gas/testsuite/gas/mips/ecoff@ld-zero-3.d | 4 - gas/testsuite/gas/mips/ecoff@ld.d | 386 - gas/testsuite/gas/mips/ecoff@sd-forward.d | 5 - gas/testsuite/gas/mips/ecoff@sd.d | 386 - gas/testsuite/gas/mips/la.d | 320 +- gas/testsuite/gas/mips/lb.d | 312 +- gas/testsuite/gas/mips/lifloat.d | 12 +- gas/testsuite/gas/mips/micromips-b16.s | 6 + .../mips/micromips-branch-absolute-addend-n32.d | 23 + .../mips/micromips-branch-absolute-addend-n64.d | 33 + .../gas/mips/micromips-branch-absolute-addend.d | 22 + .../gas/mips/micromips-branch-absolute-addend.s | 22 + .../gas/mips/micromips-branch-absolute-n32.d | 23 + .../gas/mips/micromips-branch-absolute-n64.d | 33 + gas/testsuite/gas/mips/micromips-branch-absolute.d | 22 + gas/testsuite/gas/mips/micromips-branch-absolute.s | 22 + .../gas/mips/micromips-branch-relax-insn32-pic.d | 572 ++ .../gas/mips/micromips-branch-relax-insn32-pic.l | 47 + .../gas/mips/micromips-branch-relax-insn32.d | 433 ++ .../gas/mips/micromips-branch-relax-insn32.l | 45 + .../gas/mips/micromips-branch-relax-pic.l | 22 +- gas/testsuite/gas/mips/micromips-branch-relax.l | 20 +- gas/testsuite/gas/mips/micromips-branch-relax.s | 15 + gas/testsuite/gas/mips/micromips-compact.d | 7710 ++++++++++++++++++++ gas/testsuite/gas/mips/micromips-insn32.d | 6 +- gas/testsuite/gas/mips/micromips-noinsn32.d | 6 +- gas/testsuite/gas/mips/micromips-size-1.l | 14 +- gas/testsuite/gas/mips/micromips-size-1.s | 8 + gas/testsuite/gas/mips/micromips-trap.d | 6 +- gas/testsuite/gas/mips/micromips-warn.l | 52 +- gas/testsuite/gas/mips/micromips.d | 6 +- gas/testsuite/gas/mips/micromips.l | 212 +- gas/testsuite/gas/mips/micromips.s | 95 +- gas/testsuite/gas/mips/micromips@beq.d | 41 +- gas/testsuite/gas/mips/micromips@bge.d | 70 +- gas/testsuite/gas/mips/micromips@bgeu.d | 64 +- gas/testsuite/gas/mips/micromips@blt.d | 70 +- gas/testsuite/gas/mips/micromips@bltu.d | 64 +- .../gas/mips/micromips@branch-misc-2-64.d | 18 +- gas/testsuite/gas/mips/micromips@branch-misc-2.d | 12 +- .../gas/mips/micromips@branch-misc-2pic-64.d | 18 +- .../gas/mips/micromips@branch-misc-2pic.d | 12 +- .../gas/mips/micromips@branch-misc-4-64.d | 12 +- gas/testsuite/gas/mips/micromips@branch-misc-4.d | 12 +- .../gas/mips/micromips@branch-misc-5-64.d | 24 + gas/testsuite/gas/mips/micromips@branch-misc-5.d | 18 + .../gas/mips/micromips@branch-misc-5pic-64.d | 24 + .../gas/mips/micromips@branch-misc-5pic.d | 18 + .../gas/mips/micromips@jal-svr4pic-local-n32.d | 3 +- .../gas/mips/micromips@jal-svr4pic-local-n64.d | 3 +- .../gas/mips/micromips@jal-svr4pic-local.d | 3 +- gas/testsuite/gas/mips/micromips@loc-swap-dis.d | 6 +- gas/testsuite/gas/mips/micromips@loc-swap.d | 30 +- gas/testsuite/gas/mips/micromips@relax-at.d | 98 +- gas/testsuite/gas/mips/micromips@relax-swap3.d | 7 +- gas/testsuite/gas/mips/micromips@relax.d | 98 +- gas/testsuite/gas/mips/mips.exp | 125 +- gas/testsuite/gas/mips/mips16-64.d | 18 +- .../gas/mips/mips16-branch-absolute-addend-n32.d | 21 + .../gas/mips/mips16-branch-absolute-addend-n64.d | 31 + .../gas/mips/mips16-branch-absolute-addend.d | 20 + .../gas/mips/mips16-branch-absolute-addend.s | 22 + .../gas/mips/mips16-branch-absolute-n32.d | 21 + .../gas/mips/mips16-branch-absolute-n64.d | 31 + gas/testsuite/gas/mips/mips16-branch-absolute.d | 20 +- gas/testsuite/gas/mips/mips16-branch-absolute.s | 3 +- gas/testsuite/gas/mips/mips16-dwarf2.s | 4 +- gas/testsuite/gas/mips/mips16.d | 18 +- gas/testsuite/gas/mips/mips16.s | 26 +- gas/testsuite/gas/mips/mipsr6@beq.d | 22 +- gas/testsuite/gas/mips/mipsr6@bge.d | 32 +- gas/testsuite/gas/mips/mipsr6@bgeu.d | 26 +- gas/testsuite/gas/mips/mipsr6@blt.d | 32 +- gas/testsuite/gas/mips/mipsr6@bltu.d | 26 +- gas/testsuite/gas/mips/mipsr6@branch-misc-2-64.d | 17 +- .../gas/mips/mipsr6@branch-misc-2pic-64.d | 17 +- gas/testsuite/gas/mips/mipsr6@branch-misc-5-64.d | 27 + .../gas/mips/mipsr6@branch-misc-5pic-64.d | 27 + gas/testsuite/gas/mips/mipsr6@nal-1.d | 13 + gas/testsuite/gas/mips/mipsr6@nal-2.d | 13 + gas/testsuite/gas/mips/nal-1.d | 13 + gas/testsuite/gas/mips/nal-2.d | 13 + gas/testsuite/gas/mips/nal.s | 11 + gas/testsuite/gas/mips/relax-swap3.s | 1 + gas/testsuite/gas/mips/sb.d | 312 +- gas/testsuite/gas/mips/uld.d | 156 +- gas/testsuite/gas/mips/ulh.d | 156 +- gas/testsuite/gas/mips/ulw.d | 156 +- gas/testsuite/gas/mips/unaligned-branch-1.l | 37 + gas/testsuite/gas/mips/unaligned-branch-1.s | 137 + gas/testsuite/gas/mips/unaligned-branch-2.l | 19 + gas/testsuite/gas/mips/unaligned-branch-2.s | 139 + gas/testsuite/gas/mips/unaligned-branch-3.d | 181 + .../gas/mips/unaligned-branch-micromips-1.l | 49 + .../gas/mips/unaligned-branch-micromips-1.s | 201 + .../gas/mips/unaligned-branch-micromips-2.l | 21 + .../gas/mips/unaligned-branch-micromips-2.s | 203 + .../gas/mips/unaligned-branch-micromips-3.d | 277 + gas/testsuite/gas/mips/unaligned-branch-mips16-1.l | 23 + gas/testsuite/gas/mips/unaligned-branch-mips16-1.s | 105 + gas/testsuite/gas/mips/unaligned-branch-mips16-2.l | 9 + gas/testsuite/gas/mips/unaligned-branch-mips16-2.s | 107 + gas/testsuite/gas/mips/unaligned-branch-mips16-3.d | 133 + gas/testsuite/gas/mips/unaligned-branch-r6-1.l | 40 + gas/testsuite/gas/mips/unaligned-branch-r6-1.s | 139 + gas/testsuite/gas/mips/unaligned-branch-r6-2.l | 31 + gas/testsuite/gas/mips/unaligned-branch-r6-2.s | 139 + gas/testsuite/gas/mips/unaligned-branch-r6-3.l | 19 + gas/testsuite/gas/mips/unaligned-branch-r6-3.s | 141 + gas/testsuite/gas/mips/unaligned-branch-r6-4.l | 19 + gas/testsuite/gas/mips/unaligned-branch-r6-4.s | 141 + gas/testsuite/gas/mips/unaligned-branch-r6-5.d | 181 + gas/testsuite/gas/mips/unaligned-branch-r6-6.d | 181 + gas/testsuite/gas/mips/unaligned-jump-1.l | 37 + gas/testsuite/gas/mips/unaligned-jump-1.s | 137 + gas/testsuite/gas/mips/unaligned-jump-2.l | 19 + gas/testsuite/gas/mips/unaligned-jump-2.s | 139 + gas/testsuite/gas/mips/unaligned-jump-3.d | 181 + .../gas/mips/unaligned-jump-micromips-1.l | 44 + .../gas/mips/unaligned-jump-micromips-1.s | 169 + .../gas/mips/unaligned-jump-micromips-2.l | 19 + .../gas/mips/unaligned-jump-micromips-2.s | 171 + .../gas/mips/unaligned-jump-micromips-3.d | 229 + gas/testsuite/gas/mips/unaligned-jump-mips16-1.l | 24 + gas/testsuite/gas/mips/unaligned-jump-mips16-1.s | 105 + gas/testsuite/gas/mips/unaligned-jump-mips16-2.l | 13 + gas/testsuite/gas/mips/unaligned-jump-mips16-2.s | 107 + gas/testsuite/gas/mips/unaligned-jump-mips16-3.d | 133 + gas/testsuite/gas/mips/usd.d | 156 +- gas/testsuite/gas/mips/ush.d | 156 +- gas/testsuite/gas/mips/usw.d | 156 +- gas/testsuite/gas/sparc/ldtxa.d | 33 + gas/testsuite/gas/sparc/ldtxa.s | 26 + gas/testsuite/gas/sparc/save-args.d | 2 +- gas/testsuite/gas/sparc/sparc.exp | 88 +- gdb/ChangeLog | 645 ++- gdb/MAINTAINERS | 2 + gdb/Makefile.in | 2 +- gdb/NEWS | 34 +- gdb/aarch64-linux-nat.c | 50 +- gdb/aarch64-tdep.c | 3 +- gdb/ada-lang.c | 4 +- gdb/amd64-darwin-tdep.c | 1 - gdb/amd64-linux-nat.c | 10 +- gdb/amd64bsd-nat.c | 90 +- gdb/amd64bsd-nat.h | 38 - gdb/amd64fbsd-nat.c | 33 +- gdb/arch-utils.c | 3 +- gdb/arm-tdep.c | 7 +- gdb/break-catch-syscall.c | 103 +- gdb/breakpoint.c | 34 +- gdb/breakpoint.h | 3 + gdb/build-with-cxx.m4 | 2 +- gdb/common/signals.c | 8 + gdb/config/i386/fbsd.mh | 4 +- gdb/config/i386/fbsd64.mh | 2 +- gdb/config/i386/nbsd64.mh | 2 +- gdb/config/i386/nbsdelf.mh | 2 +- gdb/config/i386/obsd.mh | 2 +- gdb/config/i386/obsd64.mh | 2 +- gdb/configure | 61 +- gdb/configure.ac | 11 +- gdb/corefile.c | 2 +- gdb/cp-namespace.c | 7 +- gdb/ctf.c | 2 +- gdb/darwin-nat.c | 10 +- gdb/data-directory/Makefile.in | 25 +- gdb/defs.h | 19 + gdb/disasm.c | 4 +- gdb/doc/ChangeLog | 37 + gdb/doc/gdb.texinfo | 61 +- gdb/doc/python.texi | 114 +- gdb/dwarf2-frame.c | 2 - gdb/dwarf2loc.c | 121 +- gdb/dwarf2read.c | 30 +- gdb/elfread.c | 3 - gdb/event-top.h | 2 - gdb/f-valprint.c | 5 +- gdb/fbsd-nat.c | 327 +- gdb/findvar.c | 31 +- gdb/gdbserver/ChangeLog | 155 + gdb/gdbserver/configure | 5 +- gdb/gdbserver/gdbthread.h | 3 + gdb/gdbserver/inferiors.c | 14 +- gdb/gdbserver/inferiors.h | 2 +- gdb/gdbserver/linux-low.c | 292 +- gdb/gdbserver/linux-nios2-low.c | 4 +- gdb/gdbserver/linux-x86-low.c | 22 +- gdb/gdbserver/mem-break.c | 313 +- gdb/gdbserver/mem-break.h | 45 +- gdb/gdbserver/server.c | 17 +- gdb/gdbserver/thread-db.c | 9 - gdb/go32-nat.c | 2 +- gdb/h8300-tdep.c | 2 +- gdb/i386-darwin-tdep.c | 1 - gdb/i386bsd-nat.c | 95 +- gdb/i386bsd-nat.h | 15 - gdb/i386fbsd-nat.c | 18 +- gdb/inf-ptrace.c | 20 +- gdb/inf-ptrace.h | 4 + gdb/infcmd.c | 7 + gdb/inflow.c | 2 +- gdb/infrun.c | 2 + gdb/jit.c | 79 +- gdb/linespec.c | 3 +- gdb/linux-nat.c | 152 +- gdb/m2-valprint.c | 4 - gdb/m32c-tdep.c | 9 +- gdb/mdebugread.c | 18 +- gdb/microblaze-tdep.c | 4 +- gdb/mips-tdep.c | 13 +- gdb/nat/aarch64-linux-hw-point.c | 8 +- gdb/nat/aarch64-linux-hw-point.h | 2 + gdb/nat/amd64-linux-siginfo.c | 298 +- gdb/nat/linux-procfs.c | 86 +- gdb/nat/linux-ptrace.c | 22 +- gdb/nto-procfs.c | 11 +- gdb/proc-events.c | 3 + gdb/python/lib/gdb/command/unwinders.py | 2 + gdb/python/lib/gdb/unwinder.py | 1 + gdb/python/py-breakpoint.c | 77 +- gdb/python/py-events.h | 3 + gdb/python/py-evts.c | 11 + gdb/python/py-frame.c | 6 +- gdb/python/py-framefilter.c | 3 +- gdb/python/python.c | 19 +- gdb/record-btrace.c | 51 +- gdb/record-btrace.h | 28 + gdb/regcache.c | 15 +- gdb/regcache.h | 8 + gdb/remote-fileio.c | 3 +- gdb/remote.c | 80 +- gdb/rs6000-nat.c | 1 - gdb/rs6000-tdep.c | 1 - gdb/rust-exp.y | 14 +- gdb/rust-lang.c | 12 +- gdb/score-tdep.c | 8 +- gdb/ser-go32.c | 27 +- gdb/sh64-tdep.c | 29 +- gdb/stack.c | 16 +- gdb/symfile.c | 15 +- gdb/symtab.c | 2 +- gdb/symtab.h | 10 +- gdb/syscalls/aarch64-linux.xml | 318 +- .../{aarch64-linux.xml => aarch64-linux.xml.in} | 0 gdb/syscalls/amd64-linux.xml | 367 +- .../{amd64-linux.xml => amd64-linux.xml.in} | 0 gdb/syscalls/apply-defaults.xsl | 43 + gdb/syscalls/arm-linux.xml | 449 +- gdb/syscalls/{arm-linux.xml => arm-linux.xml.in} | 0 gdb/syscalls/{bfin-linux.xml => bfin-linux.xml.in} | 0 gdb/syscalls/gdb-syscalls.dtd | 3 +- gdb/syscalls/i386-linux.xml | 357 +- gdb/syscalls/{i386-linux.xml => i386-linux.xml.in} | 0 gdb/syscalls/linux-defaults.xml.in | 243 + gdb/syscalls/mips-n32-linux.xml | 381 +- .../{mips-n32-linux.xml => mips-n32-linux.xml.in} | 0 gdb/syscalls/mips-n64-linux.xml | 371 +- .../{mips-n64-linux.xml => mips-n64-linux.xml.in} | 0 gdb/syscalls/mips-o32-linux.xml | 405 +- .../{mips-o32-linux.xml => mips-o32-linux.xml.in} | 0 gdb/syscalls/ppc-linux.xml | 325 +- gdb/syscalls/{ppc-linux.xml => ppc-linux.xml.in} | 0 gdb/syscalls/ppc64-linux.xml | 295 +- .../{ppc64-linux.xml => ppc64-linux.xml.in} | 0 gdb/syscalls/s390-linux.xml | 409 +- gdb/syscalls/{s390-linux.xml => s390-linux.xml.in} | 0 gdb/syscalls/s390x-linux.xml | 383 +- .../{s390x-linux.xml => s390x-linux.xml.in} | 0 gdb/syscalls/sparc-linux.xml | 403 +- .../{sparc-linux.xml => sparc-linux.xml.in} | 0 gdb/syscalls/sparc64-linux.xml | 389 +- .../{sparc64-linux.xml => sparc64-linux.xml.in} | 0 gdb/target-delegates.c | 31 + gdb/target.c | 27 +- gdb/target.h | 11 + gdb/testsuite/ChangeLog | 223 +- gdb/testsuite/gdb.ada/arraydim.exp | 4 +- gdb/testsuite/gdb.ada/cond_lang.exp | 4 +- gdb/testsuite/gdb.ada/exec_changed.exp | 7 +- gdb/testsuite/gdb.ada/lang_switch.exp | 4 +- gdb/testsuite/gdb.base/catch-syscall.exp | 39 + gdb/testsuite/gdb.base/jit-reader.exp | 174 +- gdb/testsuite/gdb.base/jit-so.exp | 7 + gdb/testsuite/gdb.base/jithost.c | 24 +- gdb/testsuite/gdb.base/jitreader.c | 55 +- gdb/testsuite/gdb.base/maint.exp | 15 +- gdb/testsuite/gdb.base/new-ui.exp | 29 +- gdb/testsuite/gdb.btrace/reconnect.c | 25 + gdb/testsuite/gdb.btrace/reconnect.exp | 79 + gdb/testsuite/gdb.btrace/record_goto.exp | 10 +- gdb/testsuite/gdb.btrace/stepi.exp | 17 +- gdb/testsuite/gdb.btrace/tailcall-only.exp | 12 +- gdb/testsuite/gdb.btrace/tailcall.exp | 12 +- gdb/testsuite/gdb.cp/anon-struct.exp | 4 +- gdb/testsuite/gdb.cp/cpexprs.exp | 4 +- gdb/testsuite/gdb.cp/m-static.exp | 2 +- gdb/testsuite/gdb.dwarf2/atomic-type.exp | 10 +- gdb/testsuite/gdb.dwarf2/atomic.c | 2 +- .../gdb.dwarf2/dw2-bad-mips-linkage-name.c | 4 +- .../gdb.dwarf2/dw2-bad-mips-linkage-name.exp | 18 +- .../gdb.dwarf2/dw2-lexical-block-bare.exp | 14 +- gdb/testsuite/gdb.fortran/derived-type.exp | 35 +- gdb/testsuite/gdb.fortran/derived-type.f90 | 7 +- gdb/testsuite/gdb.gdb/selftest.exp | 116 +- gdb/testsuite/gdb.mi/mi-reverse.exp | 2 +- gdb/testsuite/gdb.multi/watchpoint-multi-exit.c | 66 + gdb/testsuite/gdb.multi/watchpoint-multi-exit.exp | 87 + gdb/testsuite/gdb.opt/inline-break.exp | 2 +- gdb/testsuite/gdb.opt/inline-bt.exp | 2 +- gdb/testsuite/gdb.opt/inline-cmds.exp | 2 +- gdb/testsuite/gdb.opt/inline-locals.exp | 2 +- gdb/testsuite/gdb.opt/inline-markers.c | 8 +- gdb/testsuite/gdb.python/py-breakpoint.exp | 52 + gdb/testsuite/gdb.python/py-frame-inline.exp | 4 + gdb/testsuite/gdb.python/py-unwind-maint.exp | 11 +- gdb/testsuite/gdb.python/py-unwind.exp | 2 +- gdb/testsuite/gdb.rust/simple.exp | 4 + gdb/testsuite/gdb.rust/simple.rs | 2 + gdb/testsuite/gdb.server/solib-list.exp | 5 + gdb/testsuite/gdb.stabs/weird.exp | 3 +- .../gdb.threads/process-dies-while-detaching.c | 116 + .../gdb.threads/process-dies-while-detaching.exp | 327 + gdb/testsuite/gdb.threads/tls.exp | 17 + gdb/testsuite/lib/ada.exp | 7 +- gdb/testsuite/lib/gdb.exp | 21 +- gdb/testsuite/lib/gdbserver-support.exp | 14 + gdb/testsuite/lib/selftest-support.exp | 5 + gdb/top.c | 40 +- gdb/top.h | 3 + gdb/tracefile.c | 7 +- gdb/tui/tui-io.c | 12 +- gdb/tui/tui-winsource.c | 6 +- gdb/value.h | 7 + gdb/varobj.c | 4 +- gdb/version.in | 2 +- gdb/warning.m4 | 2 +- gdb/windows-nat.c | 30 +- gdb/x86bsd-nat.c | 156 + gdb/x86bsd-nat.h | 31 + gdb/xml-syscall.c | 234 +- gdb/xml-syscall.h | 16 + gold/aarch64-reloc-property.cc | 46 +- gold/aarch64-reloc.def | 14 + gold/aarch64.cc | 51 + gold/testsuite/Makefile.am | 13 + gold/testsuite/Makefile.in | 19 +- gold/testsuite/aarch64_globals.s | 11 + gold/testsuite/aarch64_relocs.s | 45 + gold/testsuite/aarch64_relocs.sh | 110 + gprof/ChangeLog | 4 + gprof/configure | 20 +- include/ChangeLog | 46 + include/bfdlink.h | 6 + include/dis-asm.h | 1 + include/elf/arc-reloc.def | 4 +- include/elf/arm.h | 9 +- include/gdb/ChangeLog | 4 + include/gdb/signals.def | 4 +- include/libiberty.h | 11 + include/opcode/aarch64.h | 11 +- include/opcode/arc.h | 194 +- include/opcode/ppc.h | 3 + ld/ChangeLog | 427 ++- ld/Makefile.am | 14 +- ld/Makefile.in | 14 +- ld/NEWS | 9 + ld/configure | 20 +- ld/emulparams/aarch64elf.sh | 2 + ld/emulparams/aarch64elf32.sh | 2 + ld/emulparams/arcelf.sh | 2 +- ld/emulparams/shelf.sh | 3 + ld/emulparams/shelf32.sh | 3 + ld/emulparams/shelf_nto.sh | 3 + ld/emulparams/shelf_vxworks.sh | 4 + ld/emulparams/shlelf32_linux.sh | 4 +- ld/emulparams/shlelf_linux.sh | 3 + ld/emulparams/shlelf_nto.sh | 3 + ld/emultempl/armelf.em | 11 +- ld/emultempl/elf32.em | 14 + ld/emultempl/nds32elf.em | 1 - ld/emultempl/pe.em | 14 +- ld/emultempl/pep.em | 12 +- ld/emultempl/ppc32elf.em | 16 +- ld/emultempl/ppc64elf.em | 1 - ld/emultempl/sh64elf.em | 5 +- ld/emultempl/xtensaelf.em | 8 +- ld/ld.h | 3 + ld/ld.texinfo | 33 +- ld/ldbuildid.c | 45 +- ld/ldexp.c | 86 +- ld/ldlang.c | 13 +- ld/ldlex.h | 1 + ld/ldlex.l | 10 +- ld/lexsup.c | 5 + ld/plugin.c | 71 +- ld/scripttempl/ft32.sc | 13 +- ld/testplug.c | 41 + ld/testsuite/ld-arc/arc.exp | 10 + ld/testsuite/ld-arc/got-01.d | 7 + ld/testsuite/ld-arc/got-01.s | 5 + ld/testsuite/ld-arc/nps-1b.err | 1 + ld/testsuite/ld-arc/sda-relocs.dd | 23 + ld/testsuite/ld-arc/sda-relocs.ld | 20 + ld/testsuite/ld-arc/sda-relocs.rd | 15 + ld/testsuite/ld-arc/sda-relocs.s | 32 + ld/testsuite/ld-arm/arm-elf.exp | 47 +- ld/testsuite/ld-arm/arm_noread.ld | 32 - ld/testsuite/ld-arm/arm_purecode.ld | 32 + ld/testsuite/ld-arm/cmse-implib-errors.out | 7 + ld/testsuite/ld-arm/cmse-implib.rd | 13 + ld/testsuite/ld-arm/cmse-implib.s | 58 + .../ld-arm/cmse-veneers-no-gnu_sgstubs.out | 3 + .../ld-arm/cmse-veneers-wrong-entryfct.out | 19 + ld/testsuite/ld-arm/cmse-veneers.d | 21 + ld/testsuite/ld-arm/cmse-veneers.rd | 9 + ld/testsuite/ld-arm/cmse-veneers.s | 97 + ld/testsuite/ld-arm/cmse-veneers.sd | 7 + ld/testsuite/ld-arm/farcall-thumb2-purecode.d | 22 + ld/testsuite/ld-arm/farcall-thumb2-purecode.s | 19 + ld/testsuite/ld-arm/thumb2-bl.d | 2 +- ld/testsuite/ld-arm/thumb2-bl.s | 1 - ld/testsuite/ld-elf/compress.exp | 2 +- ld/testsuite/ld-elf/dwarf.exp | 2 +- ld/testsuite/ld-elf/elf.exp | 47 +- ld/testsuite/ld-elf/empty-implib.out | 3 + ld/testsuite/ld-elf/implib.rd | 11 + ld/testsuite/ld-elf/implib.s | 21 + ld/testsuite/ld-elf/indirect.exp | 2 +- ld/testsuite/ld-elf/maxpage3b.d | 3 +- ld/testsuite/ld-elf/sec64k.exp | 12 +- ld/testsuite/ld-elf/shared.exp | 8 +- ld/testsuite/ld-elf/wrap.exp | 2 +- ld/testsuite/ld-gc/personality.d | 3 +- ld/testsuite/ld-i386/i386.exp | 6 +- ld/testsuite/ld-i386/no-plt.exp | 4 +- ld/testsuite/ld-i386/tls.exp | 2 +- ld/testsuite/ld-ifunc/ifunc.exp | 6 +- ld/testsuite/ld-mips-elf/bal-jalx-addend-n32.d | 6 + ld/testsuite/ld-mips-elf/bal-jalx-addend-n64.d | 6 + ld/testsuite/ld-mips-elf/bal-jalx-addend.d | 22 + ld/testsuite/ld-mips-elf/bal-jalx-local-n32.d | 6 + ld/testsuite/ld-mips-elf/bal-jalx-local-n64.d | 6 + ld/testsuite/ld-mips-elf/bal-jalx-local.d | 20 + ld/testsuite/ld-mips-elf/bal-jalx-pic-n32.d | 6 + ld/testsuite/ld-mips-elf/bal-jalx-pic-n64.d | 6 + ld/testsuite/ld-mips-elf/bal-jalx-pic.d | 6 + .../ld-mips-elf/branch-absolute-addend-n32.d | 6 + .../ld-mips-elf/branch-absolute-addend-n64.d | 6 + ld/testsuite/ld-mips-elf/branch-absolute-addend.d | 21 + ld/testsuite/ld-mips-elf/branch-absolute-n32.d | 6 + ld/testsuite/ld-mips-elf/branch-absolute-n64.d | 6 + ld/testsuite/ld-mips-elf/branch-absolute.d | 21 + ld/testsuite/ld-mips-elf/branch-misc-2.d | 30 + .../ld-mips-elf/compressed-plt-1-o32-branch.od | 30 + .../ld-mips-elf/compressed-plt-1-o32-branch.rd | 44 + .../compressed-plt-1-o32-mips16-branch.od | 69 + .../compressed-plt-1-o32-mips16-branch.rd | 49 + .../compressed-plt-1-o32-mips16-bronly.od | 32 + .../compressed-plt-1-o32-mips16-bronly.rd | 43 + .../compressed-plt-1-o32-umips-branch.od | 69 + .../compressed-plt-1-o32-umips-branch.rd | 49 + .../compressed-plt-1-o32-umips-bronly.od | 33 + .../compressed-plt-1-o32-umips-bronly.rd | 43 + ld/testsuite/ld-mips-elf/compressed-plt-1.s | 28 +- ld/testsuite/ld-mips-elf/compressed-plt-1a.s | 12 +- ld/testsuite/ld-mips-elf/compressed-plt-1b.s | 8 +- .../micromips-branch-absolute-addend-n32.d | 6 + .../micromips-branch-absolute-addend-n64.d | 6 + .../ld-mips-elf/micromips-branch-absolute-addend.d | 19 + .../ld-mips-elf/micromips-branch-absolute-n32.d | 6 + .../ld-mips-elf/micromips-branch-absolute-n64.d | 6 + .../ld-mips-elf/micromips-branch-absolute.d | 19 + ld/testsuite/ld-mips-elf/mips-elf.exp | 107 +- .../mips16-branch-absolute-addend-n32.d | 6 + .../mips16-branch-absolute-addend-n64.d | 6 + .../ld-mips-elf/mips16-branch-absolute-addend.d | 17 + .../ld-mips-elf/mips16-branch-absolute-n32.d | 6 + .../ld-mips-elf/mips16-branch-absolute-n64.d | 6 + ld/testsuite/ld-mips-elf/mips16-branch-absolute.d | 17 + ld/testsuite/ld-mips-elf/unaligned-branch-2.d | 92 + .../ld-mips-elf/unaligned-branch-micromips.d | 156 + ld/testsuite/ld-mips-elf/unaligned-branch-mips16.d | 72 + ld/testsuite/ld-mips-elf/unaligned-branch-r6-1.d | 114 + ld/testsuite/ld-mips-elf/unaligned-branch-r6-2.d | 64 + ld/testsuite/ld-mips-elf/unaligned-jalx-1.d | 2 +- ld/testsuite/ld-mips-elf/unaligned-jalx-2.d | 7 + ld/testsuite/ld-mips-elf/unaligned-jalx-2.s | 12 + ld/testsuite/ld-mips-elf/unaligned-jalx-3.d | 7 + ld/testsuite/ld-mips-elf/unaligned-jalx-3.s | 11 + ld/testsuite/ld-mips-elf/unaligned-jalx-addend-1.d | 24 +- ld/testsuite/ld-mips-elf/unaligned-jalx-addend-2.d | 7 + ld/testsuite/ld-mips-elf/unaligned-jalx-addend-2.s | 14 + ld/testsuite/ld-mips-elf/unaligned-jalx-addend-3.d | 29 + ld/testsuite/ld-mips-elf/unaligned-jalx-addend-3.s | 22 + .../unaligned-jalx-addend-micromips-1.d | 24 +- .../ld-mips-elf/unaligned-jalx-addend-mips16-1.d | 24 +- .../ld-mips-elf/unaligned-jalx-micromips-1.d | 2 +- ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d | 2 +- .../ld-mips-elf/unaligned-jump-micromips.d | 118 + ld/testsuite/ld-mips-elf/unaligned-jump-mips16.d | 58 + ld/testsuite/ld-mips-elf/unaligned-jump.d | 96 + ld/testsuite/ld-mips-elf/undefweak-overflow.d | 21 +- ld/testsuite/ld-mips-elf/undefweak-overflow.s | 20 + ld/testsuite/ld-pie/pie.exp | 2 +- ld/testsuite/ld-plugin/lto.exp | 7 +- ld/testsuite/ld-plugin/plugin-30.d | 26 + ld/testsuite/ld-plugin/plugin.exp | 7 +- ld/testsuite/ld-plugin/pr20321.c | 4 + ld/testsuite/ld-powerpc/elfv2exe.d | 4 +- ld/testsuite/ld-size/size.exp | 2 +- ld/testsuite/ld-x86-64/mpx.exp | 2 +- ld/testsuite/ld-x86-64/no-plt.exp | 4 +- ld/testsuite/ld-x86-64/tls.exp | 2 +- ld/testsuite/ld-x86-64/x86-64.exp | 6 +- ld/testsuite/lib/ld-lib.exp | 14 +- libiberty/ChangeLog | 92 + libiberty/configure | 3 +- libiberty/cp-demangle.c | 213 +- libiberty/cplus-dem.c | 45 +- libiberty/make-relative-prefix.c | 11 +- libiberty/testsuite/demangle-expected | 166 + opcodes/ChangeLog | 103 + opcodes/arc-dis.c | 512 +- opcodes/arc-ext.c | 10 +- opcodes/arc-nps400-tbl.h | 110 +- opcodes/arc-opc.c | 131 +- opcodes/configure | 20 +- opcodes/disassemble.c | 3 + opcodes/ft32-opc.c | 4 +- opcodes/i386-opc.tbl | 107 +- opcodes/i386-tbl.h | 164 +- opcodes/micromips-opc.c | 22 +- opcodes/mips-opc.c | 2 +- opcodes/ppc-dis.c | 5 + opcodes/ppc-opc.c | 27 +- opcodes/sparc-opc.c | 34 + sim/ChangeLog | 7 + sim/aarch64/ChangeLog | 8 + sim/aarch64/memory.c | 1 - sim/aarch64/simulator.c | 2 +- sim/arm/ChangeLog | 6 + sim/arm/armemu.c | 6 +- sim/arm/armos.c | 5 +- sim/avr/interp.c | 3 +- sim/rl78/ChangeLog | 5 + sim/rl78/load.c | 5 +- sim/rx/ChangeLog | 5 + sim/rx/load.c | 5 +- 731 files changed, 34955 insertions(+), 9296 deletions(-) create mode 100644 bfd/arc-got.h create mode 100644 binutils/testsuite/binutils-all/arc/dsp.s create mode 100644 binutils/testsuite/binutils-all/arc/objdump.exp create mode 100644 binutils/testsuite/binutils-all/data-sections.s create mode 100644 binutils/testsuite/binutils-all/only-section-01.d create mode 100644 binutils/testsuite/binutils-all/remove-relocs-01.d create mode 100644 binutils/testsuite/binutils-all/remove-relocs-01.s create mode 100644 binutils/testsuite/binutils-all/remove-relocs-02.d create mode 100644 binutils/testsuite/binutils-all/remove-relocs-03.d create mode 100644 binutils/testsuite/binutils-all/remove-relocs-04.d create mode 100644 binutils/testsuite/binutils-all/remove-relocs-05.d create mode 100644 binutils/testsuite/binutils-all/remove-relocs-06.d create mode 100644 binutils/testsuite/binutils-all/remove-section-01.d create mode 100644 gas/testsuite/gas/aarch64/illegal-nofp16.d create mode 100644 gas/testsuite/gas/aarch64/illegal-nofp16.l create mode 100644 gas/testsuite/gas/aarch64/illegal-nofp16.s create mode 100644 gas/testsuite/gas/aarch64/pr20364.d create mode 100644 gas/testsuite/gas/aarch64/pr20364.s create mode 100644 gas/testsuite/gas/arc/dsp.d create mode 100644 gas/testsuite/gas/arc/dsp.s create mode 100644 gas/testsuite/gas/arc/fpu.d create mode 100644 gas/testsuite/gas/arc/fpu.s create mode 100644 gas/testsuite/gas/arc/nps400-8.d create mode 100644 gas/testsuite/gas/arc/nps400-8.s create mode 100644 gas/testsuite/gas/arm/pr20429.d create mode 100644 gas/testsuite/gas/arm/pr20429.l create mode 100644 gas/testsuite/gas/arm/pr20429.s create mode 100644 gas/testsuite/gas/i386/intel-movs.s create mode 100644 gas/testsuite/gas/i386/intel-movs32.d create mode 100644 gas/testsuite/gas/i386/intel-movs64.d create mode 100644 gas/testsuite/gas/i386/movz.s create mode 100644 gas/testsuite/gas/i386/movz32.d create mode 100644 gas/testsuite/gas/i386/movz64.d create mode 100644 gas/testsuite/gas/i386/mpx-inval-2.l create mode 100644 gas/testsuite/gas/i386/mpx-inval-2.s create mode 100644 gas/testsuite/gas/i386/suffix-bad.l create mode 100644 gas/testsuite/gas/i386/suffix-bad.s create mode 100644 gas/testsuite/gas/mips/branch-absolute-addend-n32.d create mode 100644 gas/testsuite/gas/mips/branch-absolute-addend-n64.d create mode 100644 gas/testsuite/gas/mips/branch-absolute-addend.d create mode 100644 gas/testsuite/gas/mips/branch-absolute-addend.s create mode 100644 gas/testsuite/gas/mips/branch-absolute-n32.d create mode 100644 gas/testsuite/gas/mips/branch-absolute-n64.d create mode 100644 gas/testsuite/gas/mips/branch-absolute.d create mode 100644 gas/testsuite/gas/mips/branch-absolute.s create mode 100644 gas/testsuite/gas/mips/branch-addend-n32.d create mode 100644 gas/testsuite/gas/mips/branch-addend-n64.d create mode 100644 gas/testsuite/gas/mips/branch-addend.d create mode 100644 gas/testsuite/gas/mips/branch-addend.s create mode 100644 gas/testsuite/gas/mips/branch-local-2.l create mode 100644 gas/testsuite/gas/mips/branch-local-2.s create mode 100644 gas/testsuite/gas/mips/branch-local-3.l create mode 100644 gas/testsuite/gas/mips/branch-local-3.s create mode 100644 gas/testsuite/gas/mips/branch-local-4.d create mode 100644 gas/testsuite/gas/mips/branch-local-4.s create mode 100644 gas/testsuite/gas/mips/branch-local-n32-2.l create mode 100644 gas/testsuite/gas/mips/branch-local-n32-2.s create mode 100644 gas/testsuite/gas/mips/branch-local-n32-3.l create mode 100644 gas/testsuite/gas/mips/branch-local-n32-3.s create mode 100644 gas/testsuite/gas/mips/branch-local-n32-4.d create mode 100644 gas/testsuite/gas/mips/branch-local-n64-2.l create mode 100644 gas/testsuite/gas/mips/branch-local-n64-2.s create mode 100644 gas/testsuite/gas/mips/branch-local-n64-3.l create mode 100644 gas/testsuite/gas/mips/branch-local-n64-3.s create mode 100644 gas/testsuite/gas/mips/branch-local-n64-4.d create mode 100644 gas/testsuite/gas/mips/branch-misc-5-64.d create mode 100644 gas/testsuite/gas/mips/branch-misc-5.d create mode 100644 gas/testsuite/gas/mips/branch-misc-5.s create mode 100644 gas/testsuite/gas/mips/branch-misc-5pic-64.d create mode 100644 gas/testsuite/gas/mips/branch-misc-5pic.d delete mode 100644 gas/testsuite/gas/mips/ecoff@ld-forward.d delete mode 100644 gas/testsuite/gas/mips/ecoff@ld-zero-3.d delete mode 100644 gas/testsuite/gas/mips/ecoff@ld.d delete mode 100644 gas/testsuite/gas/mips/ecoff@sd-forward.d delete mode 100644 gas/testsuite/gas/mips/ecoff@sd.d create mode 100644 gas/testsuite/gas/mips/micromips-branch-absolute-addend-n32.d create mode 100644 gas/testsuite/gas/mips/micromips-branch-absolute-addend-n64.d create mode 100644 gas/testsuite/gas/mips/micromips-branch-absolute-addend.d create mode 100644 gas/testsuite/gas/mips/micromips-branch-absolute-addend.s create mode 100644 gas/testsuite/gas/mips/micromips-branch-absolute-n32.d create mode 100644 gas/testsuite/gas/mips/micromips-branch-absolute-n64.d create mode 100644 gas/testsuite/gas/mips/micromips-branch-absolute.d create mode 100644 gas/testsuite/gas/mips/micromips-branch-absolute.s create mode 100644 gas/testsuite/gas/mips/micromips-branch-relax-insn32-pic.d create mode 100644 gas/testsuite/gas/mips/micromips-branch-relax-insn32-pic.l create mode 100644 gas/testsuite/gas/mips/micromips-branch-relax-insn32.d create mode 100644 gas/testsuite/gas/mips/micromips-branch-relax-insn32.l create mode 100644 gas/testsuite/gas/mips/micromips-compact.d create mode 100644 gas/testsuite/gas/mips/micromips@branch-misc-5-64.d create mode 100644 gas/testsuite/gas/mips/micromips@branch-misc-5.d create mode 100644 gas/testsuite/gas/mips/micromips@branch-misc-5pic-64.d create mode 100644 gas/testsuite/gas/mips/micromips@branch-misc-5pic.d create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-addend-n32.d create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-addend-n64.d create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-addend.d create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-addend.s create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-n32.d create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-n64.d create mode 100644 gas/testsuite/gas/mips/mipsr6@branch-misc-5-64.d create mode 100644 gas/testsuite/gas/mips/mipsr6@branch-misc-5pic-64.d create mode 100644 gas/testsuite/gas/mips/mipsr6@nal-1.d create mode 100644 gas/testsuite/gas/mips/mipsr6@nal-2.d create mode 100644 gas/testsuite/gas/mips/nal-1.d create mode 100644 gas/testsuite/gas/mips/nal-2.d create mode 100644 gas/testsuite/gas/mips/nal.s create mode 100644 gas/testsuite/gas/mips/unaligned-branch-1.l create mode 100644 gas/testsuite/gas/mips/unaligned-branch-1.s create mode 100644 gas/testsuite/gas/mips/unaligned-branch-2.l create mode 100644 gas/testsuite/gas/mips/unaligned-branch-2.s create mode 100644 gas/testsuite/gas/mips/unaligned-branch-3.d create mode 100644 gas/testsuite/gas/mips/unaligned-branch-micromips-1.l create mode 100644 gas/testsuite/gas/mips/unaligned-branch-micromips-1.s create mode 100644 gas/testsuite/gas/mips/unaligned-branch-micromips-2.l create mode 100644 gas/testsuite/gas/mips/unaligned-branch-micromips-2.s create mode 100644 gas/testsuite/gas/mips/unaligned-branch-micromips-3.d create mode 100644 gas/testsuite/gas/mips/unaligned-branch-mips16-1.l create mode 100644 gas/testsuite/gas/mips/unaligned-branch-mips16-1.s create mode 100644 gas/testsuite/gas/mips/unaligned-branch-mips16-2.l create mode 100644 gas/testsuite/gas/mips/unaligned-branch-mips16-2.s create mode 100644 gas/testsuite/gas/mips/unaligned-branch-mips16-3.d create mode 100644 gas/testsuite/gas/mips/unaligned-branch-r6-1.l create mode 100644 gas/testsuite/gas/mips/unaligned-branch-r6-1.s create mode 100644 gas/testsuite/gas/mips/unaligned-branch-r6-2.l create mode 100644 gas/testsuite/gas/mips/unaligned-branch-r6-2.s create mode 100644 gas/testsuite/gas/mips/unaligned-branch-r6-3.l create mode 100644 gas/testsuite/gas/mips/unaligned-branch-r6-3.s create mode 100644 gas/testsuite/gas/mips/unaligned-branch-r6-4.l create mode 100644 gas/testsuite/gas/mips/unaligned-branch-r6-4.s create mode 100644 gas/testsuite/gas/mips/unaligned-branch-r6-5.d create mode 100644 gas/testsuite/gas/mips/unaligned-branch-r6-6.d create mode 100644 gas/testsuite/gas/mips/unaligned-jump-1.l create mode 100644 gas/testsuite/gas/mips/unaligned-jump-1.s create mode 100644 gas/testsuite/gas/mips/unaligned-jump-2.l create mode 100644 gas/testsuite/gas/mips/unaligned-jump-2.s create mode 100644 gas/testsuite/gas/mips/unaligned-jump-3.d create mode 100644 gas/testsuite/gas/mips/unaligned-jump-micromips-1.l create mode 100644 gas/testsuite/gas/mips/unaligned-jump-micromips-1.s create mode 100644 gas/testsuite/gas/mips/unaligned-jump-micromips-2.l create mode 100644 gas/testsuite/gas/mips/unaligned-jump-micromips-2.s create mode 100644 gas/testsuite/gas/mips/unaligned-jump-micromips-3.d create mode 100644 gas/testsuite/gas/mips/unaligned-jump-mips16-1.l create mode 100644 gas/testsuite/gas/mips/unaligned-jump-mips16-1.s create mode 100644 gas/testsuite/gas/mips/unaligned-jump-mips16-2.l create mode 100644 gas/testsuite/gas/mips/unaligned-jump-mips16-2.s create mode 100644 gas/testsuite/gas/mips/unaligned-jump-mips16-3.d create mode 100644 gas/testsuite/gas/sparc/ldtxa.d create mode 100644 gas/testsuite/gas/sparc/ldtxa.s delete mode 100644 gdb/amd64bsd-nat.h create mode 100644 gdb/record-btrace.h copy gdb/syscalls/{aarch64-linux.xml => aarch64-linux.xml.in} (100%) copy gdb/syscalls/{amd64-linux.xml => amd64-linux.xml.in} (100%) create mode 100644 gdb/syscalls/apply-defaults.xsl copy gdb/syscalls/{arm-linux.xml => arm-linux.xml.in} (100%) rename gdb/syscalls/{bfin-linux.xml => bfin-linux.xml.in} (100%) copy gdb/syscalls/{i386-linux.xml => i386-linux.xml.in} (100%) create mode 100644 gdb/syscalls/linux-defaults.xml.in copy gdb/syscalls/{mips-n32-linux.xml => mips-n32-linux.xml.in} (100%) copy gdb/syscalls/{mips-n64-linux.xml => mips-n64-linux.xml.in} (100%) copy gdb/syscalls/{mips-o32-linux.xml => mips-o32-linux.xml.in} (100%) copy gdb/syscalls/{ppc-linux.xml => ppc-linux.xml.in} (100%) copy gdb/syscalls/{ppc64-linux.xml => ppc64-linux.xml.in} (100%) copy gdb/syscalls/{s390-linux.xml => s390-linux.xml.in} (100%) copy gdb/syscalls/{s390x-linux.xml => s390x-linux.xml.in} (100%) copy gdb/syscalls/{sparc-linux.xml => sparc-linux.xml.in} (100%) copy gdb/syscalls/{sparc64-linux.xml => sparc64-linux.xml.in} (100%) create mode 100644 gdb/testsuite/gdb.btrace/reconnect.c create mode 100644 gdb/testsuite/gdb.btrace/reconnect.exp create mode 100644 gdb/testsuite/gdb.multi/watchpoint-multi-exit.c create mode 100644 gdb/testsuite/gdb.multi/watchpoint-multi-exit.exp create mode 100644 gdb/testsuite/gdb.threads/process-dies-while-detaching.c create mode 100644 gdb/testsuite/gdb.threads/process-dies-while-detaching.exp create mode 100644 gdb/x86bsd-nat.c create mode 100644 gdb/x86bsd-nat.h create mode 100644 gold/testsuite/aarch64_globals.s create mode 100644 gold/testsuite/aarch64_relocs.s create mode 100755 gold/testsuite/aarch64_relocs.sh create mode 100644 ld/testsuite/ld-arc/got-01.d create mode 100644 ld/testsuite/ld-arc/got-01.s create mode 100644 ld/testsuite/ld-arc/sda-relocs.dd create mode 100644 ld/testsuite/ld-arc/sda-relocs.ld create mode 100644 ld/testsuite/ld-arc/sda-relocs.rd create mode 100644 ld/testsuite/ld-arc/sda-relocs.s delete mode 100644 ld/testsuite/ld-arm/arm_noread.ld create mode 100644 ld/testsuite/ld-arm/arm_purecode.ld create mode 100644 ld/testsuite/ld-arm/cmse-implib-errors.out create mode 100644 ld/testsuite/ld-arm/cmse-implib.rd create mode 100644 ld/testsuite/ld-arm/cmse-implib.s create mode 100644 ld/testsuite/ld-arm/cmse-veneers-no-gnu_sgstubs.out create mode 100644 ld/testsuite/ld-arm/cmse-veneers-wrong-entryfct.out create mode 100644 ld/testsuite/ld-arm/cmse-veneers.d create mode 100644 ld/testsuite/ld-arm/cmse-veneers.rd create mode 100644 ld/testsuite/ld-arm/cmse-veneers.s create mode 100644 ld/testsuite/ld-arm/cmse-veneers.sd create mode 100644 ld/testsuite/ld-arm/farcall-thumb2-purecode.d create mode 100644 ld/testsuite/ld-arm/farcall-thumb2-purecode.s create mode 100644 ld/testsuite/ld-elf/empty-implib.out create mode 100644 ld/testsuite/ld-elf/implib.rd create mode 100644 ld/testsuite/ld-elf/implib.s create mode 100644 ld/testsuite/ld-mips-elf/bal-jalx-addend-n32.d create mode 100644 ld/testsuite/ld-mips-elf/bal-jalx-addend-n64.d create mode 100644 ld/testsuite/ld-mips-elf/bal-jalx-addend.d create mode 100644 ld/testsuite/ld-mips-elf/bal-jalx-local-n32.d create mode 100644 ld/testsuite/ld-mips-elf/bal-jalx-local-n64.d create mode 100644 ld/testsuite/ld-mips-elf/bal-jalx-local.d create mode 100644 ld/testsuite/ld-mips-elf/bal-jalx-pic-n32.d create mode 100644 ld/testsuite/ld-mips-elf/bal-jalx-pic-n64.d create mode 100644 ld/testsuite/ld-mips-elf/bal-jalx-pic.d create mode 100644 ld/testsuite/ld-mips-elf/branch-absolute-addend-n32.d create mode 100644 ld/testsuite/ld-mips-elf/branch-absolute-addend-n64.d create mode 100644 ld/testsuite/ld-mips-elf/branch-absolute-addend.d create mode 100644 ld/testsuite/ld-mips-elf/branch-absolute-n32.d create mode 100644 ld/testsuite/ld-mips-elf/branch-absolute-n64.d create mode 100644 ld/testsuite/ld-mips-elf/branch-absolute.d create mode 100644 ld/testsuite/ld-mips-elf/branch-misc-2.d create mode 100644 ld/testsuite/ld-mips-elf/compressed-plt-1-o32-branch.od create mode 100644 ld/testsuite/ld-mips-elf/compressed-plt-1-o32-branch.rd create mode 100644 ld/testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-branch.od create mode 100644 ld/testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-branch.rd create mode 100644 ld/testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-bronly.od create mode 100644 ld/testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-bronly.rd create mode 100644 ld/testsuite/ld-mips-elf/compressed-plt-1-o32-umips-branch.od create mode 100644 ld/testsuite/ld-mips-elf/compressed-plt-1-o32-umips-branch.rd create mode 100644 ld/testsuite/ld-mips-elf/compressed-plt-1-o32-umips-bronly.od create mode 100644 ld/testsuite/ld-mips-elf/compressed-plt-1-o32-umips-bronly.rd create mode 100644 ld/testsuite/ld-mips-elf/micromips-branch-absolute-addend-n32.d create mode 100644 ld/testsuite/ld-mips-elf/micromips-branch-absolute-addend-n64.d create mode 100644 ld/testsuite/ld-mips-elf/micromips-branch-absolute-addend.d create mode 100644 ld/testsuite/ld-mips-elf/micromips-branch-absolute-n32.d create mode 100644 ld/testsuite/ld-mips-elf/micromips-branch-absolute-n64.d create mode 100644 ld/testsuite/ld-mips-elf/micromips-branch-absolute.d create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute-addend-n32.d create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute-addend-n64.d create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute-addend.d create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute-n32.d create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute-n64.d create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute.d create mode 100644 ld/testsuite/ld-mips-elf/unaligned-branch-2.d create mode 100644 ld/testsuite/ld-mips-elf/unaligned-branch-micromips.d create mode 100644 ld/testsuite/ld-mips-elf/unaligned-branch-mips16.d create mode 100644 ld/testsuite/ld-mips-elf/unaligned-branch-r6-1.d create mode 100644 ld/testsuite/ld-mips-elf/unaligned-branch-r6-2.d create mode 100644 ld/testsuite/ld-mips-elf/unaligned-jalx-2.d create mode 100644 ld/testsuite/ld-mips-elf/unaligned-jalx-2.s create mode 100644 ld/testsuite/ld-mips-elf/unaligned-jalx-3.d create mode 100644 ld/testsuite/ld-mips-elf/unaligned-jalx-3.s create mode 100644 ld/testsuite/ld-mips-elf/unaligned-jalx-addend-2.d create mode 100644 ld/testsuite/ld-mips-elf/unaligned-jalx-addend-2.s create mode 100644 ld/testsuite/ld-mips-elf/unaligned-jalx-addend-3.d create mode 100644 ld/testsuite/ld-mips-elf/unaligned-jalx-addend-3.s create mode 100644 ld/testsuite/ld-mips-elf/unaligned-jump-micromips.d create mode 100644 ld/testsuite/ld-mips-elf/unaligned-jump-mips16.d create mode 100644 ld/testsuite/ld-mips-elf/unaligned-jump.d create mode 100644 ld/testsuite/ld-plugin/plugin-30.d create mode 100644 ld/testsuite/ld-plugin/pr20321.c First 500 lines of diff: diff --git a/ChangeLog b/ChangeLog index 699c656..0453d97 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-07-20 Yan-Ting Lin + + * configure.ac (nds32*-*-*): Remove entry to enable gdb. + * configure: Regenerated. + 2016-06-28 Walter Lee * configure.ac (tilepro-*-*): Add gdb to noconfigdirs. diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 90e34ac..9c0f439 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,284 @@ +2016-08-04 Thomas Preud'homme + + * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter. + * bfd-in2.h: Regenerate. + * elf32-arm.c (struct elf32_arm_link_hash_table): Declare new + cmse_implib field. + (bfd_elf32_arm_set_target_relocs): Add new parameter to initialize + cmse_implib field in struct elf32_arm_link_hash_table. + (elf32_arm_filter_cmse_symbols): New function. + (elf32_arm_filter_implib_symbols): Likewise. + (elf_backend_filter_implib_symbols): Define to + elf32_arm_filter_implib_symbols. + +2016-08-04 Thomas Preud'homme + + * elf32-arm.c (CMSE_PREFIX): Define macro. + (elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence. + (cmse_branch_thumb_only): Declare stub. + (struct elf32_arm_link_hash_table): Define cmse_stub_sec field. + (elf32_arm_get_plt_info): Add globals parameter. Use it to return + FALSE if there is no PLT. + (arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature. + (elf32_arm_final_link_relocate): Likewise. + (elf32_arm_gc_sweep_hook): Likewise. + (elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M + secure entry functions. + (arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only. + (arm_dedicated_stub_output_section_required): Change to a switch case + and add a case for arm_stub_cmse_branch_thumb_only. + (arm_dedicated_stub_output_section_required_alignment): Likewise. + (arm_stub_dedicated_output_section_name): Likewise. + (arm_stub_dedicated_input_section_ptr): Likewise and remove + ATTRIBUTE_UNUSED for htab parameter. + (arm_stub_required_alignment): Likewise. + (arm_stub_sym_claimed): Likewise. + (arm_dedicated_stub_section_padding): Likewise. + (cmse_scan): New function. + (elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets. + Set stub_changed to TRUE if such veneers were created. + (elf32_arm_swap_symbol_in): Add detection code for CMSE special + symbols. + +2016-08-02 Alan Modra + + PR ld/20428 + * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group. + +2016-08-02 Nick Clifton + + PR ld/17739 + * elf32-sh.c (sh_elf_gc_sweep_hook): Delete. + (elf_backend_sweep_hook): Delete. + +2016-08-01 Andrew Jenner + Kwok Cheung Yeung + + * elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations. + (ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15. + (ppc_elf_vle_split16): Clear field before inserting. + +2016-08-01 Nick Clifton + + * po/sv.po: Updated Swedish translation. + +2016-07-27 Ozkan Sezer + Nick Clifton + + PR ld/20401 + * coffgen.c (fini_reloc_cookie_rels): Check for the extistence + of the coff_section_data before using it. + +2016-07-26 Maciej W. Rozycki + + * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches + in PLT compression selection. + (_bfd_mips_elf_check_relocs): Likewise. + +2016-07-22 Cupertino Miranda + + * arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the + case where there's no elf_link_hash_entry while processing + GOT_NORMAL got entries. + +2016-07-21 H.J. Lu + + * version.m4 (BFD_VERSION): Set to 2.27.51. + * configure: Regenerated. + +2016-07-21 Nick Clifton + + * elf.c (_bfd_elf_filter_global_symbols): Skip local symbols. + (swap_out_syms): Return an error when not finding ELF output + section rather than asserting. + +2016-07-21 Thomas Preud'homme + + * elflink.c (elf_output_implib): Call bfd_set_error on no symbols. + +2016-07-20 John Baldwin + + * elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size + and handle pr_pid if present. + +2016-07-20 H.J. Lu + + PR ld/20376 + * elf.c (assign_file_positions_for_load_sections): Also check + p_paddr for program header space. + +2016-07-20 Alan Modra + + * elf64-ppc.c (ppc64_elf_howto_raw ): Put + ppc64_elf_unhandled_reloc for special_function. + * elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs. + +2016-07-19 Maciej W. Rozycki + + * elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode + BAL to JALX. + (_bfd_mips_elf_relocate_section) : Add a + corresponding error message. + +2016-07-19 Maciej W. Rozycki + + * elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1, + R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1. + (branch_reloc_p): New function. + (mips_elf_calculate_relocation): Handle ISA mode determination + for relocations against section symbols, against absolute + symbols and absolute relocations. Also set `*cross_mode_jump_p' + for branches. + : Suppress alignment + checks for weak undefined symbols. Also check target alignment + within the same ISA mode. + : Handle cross-mode branches + in the alignment check. + : Add an alignment check. + : Likewise. + : Likewise. + (mips_elf_perform_relocation): Report a failure for unsupported + same-mode JALX instructions and cross-mode branches. + (_bfd_mips_elf_relocate_section) : Add + error messages for jumps to misaligned addresses. + +2016-07-16 Alan Modra + + * elflink.c: Include plugin-api.h. + * plugin.c (bfd_plugin_open_input): New function, extracted from.. + (try_claim): ..here. + * plugin.h: Don't include bfd.h. + (bfd_plugin_open_input): Declare. + +2016-07-16 Alan Modra + + * targets.c (bfd_seach_for_target): Rename to.. + (bfd_iterate_over_targets): ..this. Rewrite doc. + * bfd-in2.h: Regenerate. + +2016-07-16 Alan Modra + + * archures.c (bfd_default_set_arch_mach): Make available in bfd.h. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2016-07-16 Alan Modra + + * libbfd-in.h (BFD_ALIGN): Move to.. + * bfd-in.h: ..here. + * elf32-ppc.h (struct ppc_elf_params): Add pagesize. + * elf32-ppc.c (default_params): Adjust init. + (ppc_elf_link_params): Set pagesize_p2. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2016-07-15 Thomas Preud'homme + + * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook. + (_bfd_elf_filter_global_symbols): Declare. + * elf.c (_bfd_elf_filter_global_symbols): New function. + * elflink.c (elf_filter_global_symbols): Likewise. + (elf_output_implib): Likewise. + (bfd_elf_final_link): Call above function, failing if it does. + * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and + default it to NULL. + (elf_backend_copy_indirect_symbol): Fix spacing. + (elf_backend_hide_symbol): Likewise. + (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook. + +2016-07-15 Andrew Burgess + Nick Clifton + + * elf32-arc.c (PR_DEBUG): Delete. + Fix printing of debug information. Fix formatting of debug + statements. + (debug_arc_reloc): Handle symbols that are not from an input file. + (arc_do_relocation): Remove excessive exclamation points. + + * arc-got.h: Fix formatting. Fix printing of debug information. + (new_got_entry_to_list): Use xmalloc. + * config.bfd: use the big-endian arc vector as the default vector + for big-endian arc targets. + +2016-07-15 Alan Modra + + * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx + from marking sym_indices. + +2016-07-14 Maciej W. Rozycki + + * reloc.c (bfd_perform_relocation): Try the `howto' handler + first with relocations against absolute symbols. + (bfd_install_relocation): Likewise. + +2016-07-12 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align + .got/.got.plt sections to 8 bytes. + +2016-07-12 Nick Clifton + + * binary.c (binary_set_section_contents): Second grammar fix. + +2016-07-12 Douglas B Rupp + + * binary.c (binary_set_section_contents): Fix grammar in warning + message. + +2016-07-11 Cupertino Miranda + + * elf32-arc.c: made PR_DEBUG always defined. + +2016-07-11 Cupertino Miranda + + * arc-got.h: Moved got related structures from elf32-arc.c to + this file. More precisely, tls_type_e, tls_got_entries, got_entry. + * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list, + tls_type_for_reloc, symbol_has_entry_of_type, + get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc, + ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc, + relocate_fix_got_relocs_for_got_info, + create_got_dynrelocs_for_single_entry, + create_got_dynrelocs_for_got_info): Added to file. + * elf32-arc.c: Removed GOT & TLS related structs and functions to + arc-got.h. + +2016-07-08 James Bowman + + * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32. + +2016-07-05 Andre Vieria + + * elf32-arm.c (THUMB32_MOVT): New veneer macro. + (THUMB32_MOVW): Likewise. + (elf32_arm_stub_long_branch_thumb2_only_pure): New. + (DEF_STUBS): Define long_branch_thumb2_only_pure. + (arm_stub_is_thumb): Add new veneer stub. + (arm_type_of_stub): Use new veneer. + (arm_stub_required_alignment): Add new veneer. + +2016-07-05 Andre Vieria + + * bfd-in2.h (SEC_ELF_NOREAD): Rename to ... + (SEC_ELF_PURECODE): ... this. + * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD + to SEC_ELF_NOREAD. + (elf32_arm_fake_sections): Likewise. + (elf_32_arm_section_flags): Likewise. + (elf_32_arm_lookup_section_flags): Likewise. + * section.c (SEC_ELF_NOREAD): Rename to ... + (SEC_ELF_PURECODE): ... this. + +2016-07-01 Thomas Preud'homme + + * elf32-arm.c (using_thumb2_bl): New function. + (arm_type_of_stub): Declare thumb2 variable together and change type + to bfd_boolean. Use using_thumb2_bl () to determine whether + THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be + checked for BL range. + (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine + the bit size of BL offset. + 2016-06-29 Nick Clifton * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function. diff --git a/bfd/arc-got.h b/bfd/arc-got.h new file mode 100644 index 0000000..7c3cfd9 --- /dev/null +++ b/bfd/arc-got.h @@ -0,0 +1,513 @@ +/* ARC-specific support for 32-bit ELF + Copyright (C) 1994-2016 Free Software Foundation, Inc. + Contributed by Cupertino Miranda (cmiranda@synopsys.com). + + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +#ifndef ARC_GOT_H +#define ARC_GOT_H + +enum tls_type_e +{ + GOT_UNKNOWN = 0, + GOT_NORMAL, + GOT_TLS_GD, + GOT_TLS_IE, + GOT_TLS_LE +}; + +enum tls_got_entries +{ + TLS_GOT_NONE = 0, + TLS_GOT_MOD, + TLS_GOT_OFF, + TLS_GOT_MOD_AND_OFF +}; + +struct got_entry +{ + struct got_entry *next; + enum tls_type_e type; + bfd_vma offset; + bfd_boolean processed; + bfd_boolean created_dyn_relocation; + enum tls_got_entries existing_entries; +}; + +static struct got_entry ** +arc_get_local_got_ents (bfd * abfd) +{ + static struct got_entry **local_got_ents = NULL; + + if (local_got_ents == NULL) + { + size_t size; + Elf_Internal_Shdr *symtab_hdr = &((elf_tdata (abfd))->symtab_hdr); + + size = symtab_hdr->sh_info * sizeof (bfd_vma); + local_got_ents = (struct got_entry **) + bfd_alloc (abfd, sizeof (struct got_entry *) * size); + if (local_got_ents == NULL) + return FALSE; + + memset (local_got_ents, 0, sizeof (struct got_entry *) * size); + elf_local_got_ents (abfd) = local_got_ents; + } + + return local_got_ents; +} + +static struct got_entry * +got_entry_for_type (struct got_entry **list, + enum tls_type_e type) +{ + struct got_entry **p = list; + + while (*p != NULL) + { + if ((*p)->type == type) + return *p; + p = &((*p)->next); + } + return NULL; +} + +static void +new_got_entry_to_list (struct got_entry **list, + enum tls_type_e type, + bfd_vma offset, + enum tls_got_entries existing_entries) +{ + /* Find list end. Avoid having multiple entries of the same + type. */ + struct got_entry **p = list; + struct got_entry *entry; + + while (*p != NULL) + { + if ((*p)->type == type) + return; + p = &((*p)->next); + } + + entry = (struct got_entry *) xmalloc (sizeof (struct got_entry)); + + entry->type = type; + entry->offset = offset; + entry->next = NULL; + entry->processed = FALSE; + entry->created_dyn_relocation = FALSE; + entry->existing_entries = existing_entries; + + ARC_DEBUG ("New GOT got entry added to list: " + "type: %d, offset: %ld, existing_entries: %d\n", + type, (long) offset, existing_entries); + + /* Add the entry to the end of the list. */ + *p = entry; +} + +static enum tls_type_e +tls_type_for_reloc (reloc_howto_type *howto) +{ + enum tls_type_e ret = GOT_UNKNOWN; + + if (is_reloc_for_GOT (howto)) + return GOT_NORMAL; + + switch (howto->type) + { + case R_ARC_TLS_GD_GOT: + ret = GOT_TLS_GD; + break; + case R_ARC_TLS_IE_GOT: + ret = GOT_TLS_IE; + break; + case R_ARC_TLS_LE_32: + ret = GOT_TLS_LE; + break; + default: + ret = GOT_UNKNOWN; + break; + } + + return ret; +}; + +static struct got_entry ** +get_got_entry_list_for_symbol (bfd *abfd, + unsigned long r_symndx, + struct elf_link_hash_entry *h) +{ + if (h != NULL) + { + return &h->got.glist; + } + else + { + struct got_entry **local_got_ents + = arc_get_local_got_ents (abfd); + return &local_got_ents[r_symndx]; + } +} + + +static enum tls_type_e +arc_got_entry_type_for_reloc (reloc_howto_type *howto) +{ + enum tls_type_e type = GOT_UNKNOWN; + + if (is_reloc_for_GOT (howto)) + return GOT_NORMAL; + + if (is_reloc_for_TLS (howto)) + { + switch (howto->type) + { + case R_ARC_TLS_GD_GOT: + type = GOT_TLS_GD; + break; + case R_ARC_TLS_IE_GOT: + type = GOT_TLS_IE; + break; + default: + break; + } + } + return type; hooks/post-receive -- Repository for Project Archer.